Skip to main content

problemreductions/models/
mod.rs

1//! Problem model implementations.
2//!
3//! Each sub-module groups related problem types by input structure.
4
5pub mod algebraic;
6pub mod decision;
7pub mod formula;
8pub mod graph;
9pub mod misc;
10pub mod set;
11
12// Re-export commonly used types
13pub use algebraic::{
14    AlgebraicEquationsOverGF2, ClosestVectorProblem, ConsecutiveBlockMinimization,
15    ConsecutiveOnesMatrixAugmentation, ConsecutiveOnesSubmatrix, EquilibriumPoint,
16    FeasibleBasisExtension, MinimumMatrixCover, MinimumMatrixDomination, MinimumWeightDecoding,
17    MinimumWeightSolutionToLinearEquations, QuadraticAssignment, QuadraticCongruences,
18    QuadraticDiophantineEquations, SimultaneousIncongruences, SparseMatrixCompression, BMF, ILP,
19    QUBO,
20};
21pub use decision::Decision;
22pub use formula::{
23    CNFClause, CircuitSAT, KSatisfiability, Maximum2Satisfiability, NAESatisfiability,
24    NonTautology, OneInThreeSatisfiability, Planar3Satisfiability, QuantifiedBooleanFormulas,
25    Quantifier, Satisfiability,
26};
27pub use graph::{
28    AcyclicPartition, BalancedCompleteBipartiteSubgraph, BicliqueCover, BiconnectivityAugmentation,
29    BottleneckTravelingSalesman, BoundedComponentSpanningForest, BoundedDiameterSpanningTree,
30    DegreeConstrainedSpanningTree, DirectedHamiltonianPath, DirectedTwoCommodityIntegralFlow,
31    DisjointConnectingPaths, GeneralizedHex, GraphPartitioning, HamiltonianCircuit,
32    HamiltonianPath, HamiltonianPathBetweenTwoVertices, IntegralFlowBundles,
33    IntegralFlowHomologousArcs, IntegralFlowWithMultipliers, IsomorphicSpanningTree, KClique,
34    KColoring, Kernel, KthBestSpanningTree, LengthBoundedDisjointPaths, LongestCircuit,
35    LongestPath, MaxCut, MaximalIS, MaximumAchromaticNumber, MaximumClique, MaximumDomaticNumber,
36    MaximumIndependentSet, MaximumLeafSpanningTree, MaximumMatching, MinMaxMulticenter,
37    MinimumCoveringByCliques, MinimumCutIntoBoundedSets, MinimumDominatingSet,
38    MinimumDummyActivitiesPert, MinimumEdgeCostFlow, MinimumFeedbackArcSet,
39    MinimumFeedbackVertexSet, MinimumGeometricConnectedDominatingSet, MinimumGraphBandwidth,
40    MinimumIntersectionGraphBasis, MinimumMaximalMatching, MinimumMultiwayCut,
41    MinimumSumMulticenter, MinimumVertexCover, MixedChinesePostman, MonochromaticTriangle,
42    MultipleChoiceBranching, MultipleCopyFileAllocation, OptimalLinearArrangement,
43    PartialFeedbackEdgeSet, PartitionIntoCliques, PartitionIntoForests,
44    PartitionIntoPathsOfLength2, PartitionIntoPerfectMatchings, PartitionIntoTriangles,
45    PathConstrainedNetworkFlow, RootedTreeArrangement, RuralPostman, ShortestWeightConstrainedPath,
46    SpinGlass, SteinerTree, SteinerTreeInGraphs, StrongConnectivityAugmentation,
47    SubgraphIsomorphism, TravelingSalesman, UndirectedFlowLowerBounds,
48    UndirectedTwoCommodityIntegralFlow,
49};
50pub use misc::PartiallyOrderedKnapsack;
51pub use misc::{
52    AdditionalKey, Betweenness, BinPacking, CapacityAssignment, CbqRelation, Clustering,
53    ConjunctiveBooleanQuery, ConjunctiveQueryFoldability, ConsistencyOfDatabaseFrequencyTables,
54    CosineProductIntegration, CyclicOrdering, DynamicStorageAllocation, EnsembleComputation,
55    ExpectedRetrievalCost, Factoring, FeasibleRegisterAssignment, FlowShopScheduling,
56    GroupingBySwapping, IntExpr, IntegerExpressionMembership, JobShopScheduling, Knapsack,
57    KthLargestMTuple, LongestCommonSubsequence, MaximumLikelihoodRanking, MinimumAxiomSet,
58    MinimumCodeGenerationOneRegister, MinimumCodeGenerationParallelAssignments,
59    MinimumCodeGenerationUnlimitedRegisters, MinimumDecisionTree, MinimumDisjunctiveNormalForm,
60    MinimumExternalMacroDataCompression, MinimumFaultDetectionTestSet,
61    MinimumInternalMacroDataCompression, MinimumRegisterSufficiencyForLoops,
62    MinimumTardinessSequencing, MinimumWeightAndOrGraph, MultiprocessorScheduling,
63    NonLivenessFreePetriNet, Numerical3DimensionalMatching, NumericalMatchingWithTargetSums,
64    OpenShopScheduling, OptimumCommunicationSpanningTree, PaintShop, Partition,
65    PrecedenceConstrainedScheduling, PreemptiveScheduling, ProductionPlanning, QueryArg,
66    RectilinearPictureCompression, RegisterSufficiency, ResourceConstrainedScheduling,
67    SchedulingToMinimizeWeightedCompletionTime, SchedulingWithIndividualDeadlines,
68    SequencingToMinimizeMaximumCumulativeCost, SequencingToMinimizeTardyTaskWeight,
69    SequencingToMinimizeWeightedCompletionTime, SequencingToMinimizeWeightedTardiness,
70    SequencingWithDeadlinesAndSetUpTimes, SequencingWithReleaseTimesAndDeadlines,
71    SequencingWithinIntervals, ShortestCommonSupersequence, SquareTiling, StackerCrane,
72    StaffScheduling, StringToStringCorrection, SubsetProduct, SubsetSum, SumOfSquaresPartition,
73    Term, ThreePartition, TimetableDesign,
74};
75pub use set::{
76    ComparativeContainment, ConsecutiveSets, ExactCoverBy3Sets, IntegerKnapsack, MaximumSetPacking,
77    MinimumCardinalityKey, MinimumHittingSet, MinimumSetCovering, PrimeAttributeName,
78    RootedTreeStorageAssignment, SetBasis, SetSplitting, ThreeDimensionalMatching,
79    ThreeMatroidIntersection, TwoDimensionalConsecutiveSets,
80};