Skip to main content

Problem

Trait Problem 

Source
pub trait Problem: Clone {
    type Value: Clone;

    const NAME: &'static str;

    // Required methods
    fn dims(&self) -> Vec<usize>;
    fn evaluate(&self, config: &[usize]) -> Self::Value;
    fn variant() -> Vec<(&'static str, &'static str)>;

    // Provided methods
    fn num_variables(&self) -> usize { ... }
    fn problem_type() -> ProblemType { ... }
}
Expand description

Minimal problem trait — a problem is a function from configuration to value.

This trait defines the interface for computational problems that can be solved by enumeration or reduction to other problems.

Required Associated Constants§

Source

const NAME: &'static str

Base name of this problem type (e.g., “MaximumIndependentSet”).

Required Associated Types§

Source

type Value: Clone

The evaluation value type.

Required Methods§

Source

fn dims(&self) -> Vec<usize>

Configuration space dimensions. Each entry is the cardinality of that variable.

Source

fn evaluate(&self, config: &[usize]) -> Self::Value

Evaluate the problem on a configuration.

Source

fn variant() -> Vec<(&'static str, &'static str)>

Returns variant attributes derived from type parameters.

Used for generating variant IDs in the reduction graph schema. Returns pairs like [("graph", "SimpleGraph"), ("weight", "i32")].

Provided Methods§

Source

fn num_variables(&self) -> usize

Number of variables (derived from dims).

Source

fn problem_type() -> ProblemType

Look up this problem’s catalog entry.

Returns the full [ProblemType] metadata from the catalog registry. The default implementation uses Self::NAME to perform the lookup.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Problem for AlgebraicEquationsOverGF2

Source§

const NAME: &'static str = "AlgebraicEquationsOverGF2"

Source§

type Value = Or

Source§

impl Problem for BMF

Source§

const NAME: &'static str = "BMF"

Source§

type Value = Min<i32>

Source§

impl Problem for ConsecutiveBlockMinimization

Source§

const NAME: &'static str = "ConsecutiveBlockMinimization"

Source§

type Value = Or

Source§

impl Problem for ConsecutiveOnesMatrixAugmentation

Source§

const NAME: &'static str = "ConsecutiveOnesMatrixAugmentation"

Source§

type Value = Or

Source§

impl Problem for ConsecutiveOnesSubmatrix

Source§

const NAME: &'static str = "ConsecutiveOnesSubmatrix"

Source§

type Value = Or

Source§

impl Problem for EquilibriumPoint

Source§

const NAME: &'static str = "EquilibriumPoint"

Source§

type Value = Or

Source§

impl Problem for FeasibleBasisExtension

Source§

const NAME: &'static str = "FeasibleBasisExtension"

Source§

type Value = Or

Source§

impl Problem for MinimumMatrixCover

Source§

const NAME: &'static str = "MinimumMatrixCover"

Source§

type Value = Min<i64>

Source§

impl Problem for MinimumMatrixDomination

Source§

const NAME: &'static str = "MinimumMatrixDomination"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumWeightDecoding

Source§

const NAME: &'static str = "MinimumWeightDecoding"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumWeightSolutionToLinearEquations

Source§

const NAME: &'static str = "MinimumWeightSolutionToLinearEquations"

Source§

type Value = Min<usize>

Source§

impl Problem for QuadraticAssignment

Source§

const NAME: &'static str = "QuadraticAssignment"

Source§

type Value = Min<i64>

Source§

impl Problem for QuadraticCongruences

Source§

const NAME: &'static str = "QuadraticCongruences"

Source§

type Value = Or

Source§

impl Problem for QuadraticDiophantineEquations

Source§

const NAME: &'static str = "QuadraticDiophantineEquations"

Source§

type Value = Or

Source§

impl Problem for SimultaneousIncongruences

Source§

const NAME: &'static str = "SimultaneousIncongruences"

Source§

type Value = Or

Source§

impl Problem for SparseMatrixCompression

Source§

const NAME: &'static str = "SparseMatrixCompression"

Source§

type Value = Or

Source§

impl Problem for CircuitSAT

Source§

const NAME: &'static str = "CircuitSAT"

Source§

type Value = Or

Source§

impl Problem for Maximum2Satisfiability

Source§

const NAME: &'static str = "Maximum2Satisfiability"

Source§

type Value = Max<usize>

Source§

impl Problem for NAESatisfiability

Source§

const NAME: &'static str = "NAESatisfiability"

Source§

type Value = Or

Source§

impl Problem for NonTautology

Source§

const NAME: &'static str = "NonTautology"

Source§

type Value = Or

Source§

impl Problem for OneInThreeSatisfiability

Source§

const NAME: &'static str = "OneInThreeSatisfiability"

Source§

type Value = Or

Source§

impl Problem for Planar3Satisfiability

Source§

const NAME: &'static str = "Planar3Satisfiability"

Source§

type Value = Or

Source§

impl Problem for QuantifiedBooleanFormulas

Source§

const NAME: &'static str = "QuantifiedBooleanFormulas"

Source§

type Value = Or

Source§

impl Problem for Satisfiability

Source§

const NAME: &'static str = "Satisfiability"

Source§

type Value = Or

Source§

impl Problem for BalancedCompleteBipartiteSubgraph

Source§

const NAME: &'static str = "BalancedCompleteBipartiteSubgraph"

Source§

type Value = Or

Source§

impl Problem for BicliqueCover

Source§

const NAME: &'static str = "BicliqueCover"

Source§

type Value = Min<i32>

Source§

impl Problem for BottleneckTravelingSalesman

Source§

const NAME: &'static str = "BottleneckTravelingSalesman"

Source§

type Value = Min<i32>

Source§

impl Problem for DirectedHamiltonianPath

Source§

const NAME: &'static str = "DirectedHamiltonianPath"

Source§

type Value = Or

Source§

impl Problem for DirectedTwoCommodityIntegralFlow

Source§

const NAME: &'static str = "DirectedTwoCommodityIntegralFlow"

Source§

type Value = Or

Source§

impl Problem for IntegralFlowBundles

Source§

const NAME: &'static str = "IntegralFlowBundles"

Source§

type Value = Or

Source§

impl Problem for IntegralFlowHomologousArcs

Source§

const NAME: &'static str = "IntegralFlowHomologousArcs"

Source§

type Value = Or

Source§

impl Problem for IntegralFlowWithMultipliers

Source§

const NAME: &'static str = "IntegralFlowWithMultipliers"

Source§

type Value = Or

Source§

impl Problem for Kernel

Source§

const NAME: &'static str = "Kernel"

Source§

type Value = Or

Source§

impl Problem for MinimumDummyActivitiesPert

Source§

const NAME: &'static str = "MinimumDummyActivitiesPert"

Source§

type Value = Min<i32>

Source§

impl Problem for MinimumEdgeCostFlow

Source§

const NAME: &'static str = "MinimumEdgeCostFlow"

Source§

type Value = Min<i64>

Source§

impl Problem for MinimumGeometricConnectedDominatingSet

Source§

const NAME: &'static str = "MinimumGeometricConnectedDominatingSet"

Source§

type Value = Min<usize>

Source§

impl Problem for MultipleCopyFileAllocation

Source§

const NAME: &'static str = "MultipleCopyFileAllocation"

Source§

type Value = Min<i64>

Source§

impl Problem for PathConstrainedNetworkFlow

Source§

const NAME: &'static str = "PathConstrainedNetworkFlow"

Source§

type Value = Or

Source§

impl Problem for SubgraphIsomorphism

Source§

const NAME: &'static str = "SubgraphIsomorphism"

Source§

type Value = Or

Source§

impl Problem for UndirectedFlowLowerBounds

Source§

const NAME: &'static str = "UndirectedFlowLowerBounds"

Source§

type Value = Or

Source§

impl Problem for UndirectedTwoCommodityIntegralFlow

Source§

const NAME: &'static str = "UndirectedTwoCommodityIntegralFlow"

Source§

type Value = Or

Source§

impl Problem for AdditionalKey

Source§

const NAME: &'static str = "AdditionalKey"

Source§

type Value = Or

Source§

impl Problem for Betweenness

Source§

const NAME: &'static str = "Betweenness"

Source§

type Value = Or

Source§

impl Problem for BoyceCoddNormalFormViolation

Source§

const NAME: &'static str = "BoyceCoddNormalFormViolation"

Source§

type Value = Or

Source§

impl Problem for CapacityAssignment

Source§

const NAME: &'static str = "CapacityAssignment"

Source§

type Value = Min<u128>

Source§

impl Problem for Clustering

Source§

const NAME: &'static str = "Clustering"

Source§

type Value = Or

Source§

impl Problem for ConjunctiveBooleanQuery

Source§

const NAME: &'static str = "ConjunctiveBooleanQuery"

Source§

type Value = Or

Source§

impl Problem for ConjunctiveQueryFoldability

Source§

const NAME: &'static str = "ConjunctiveQueryFoldability"

Source§

type Value = Or

Source§

impl Problem for ConsistencyOfDatabaseFrequencyTables

Source§

const NAME: &'static str = "ConsistencyOfDatabaseFrequencyTables"

Source§

type Value = Or

Source§

impl Problem for CosineProductIntegration

Source§

const NAME: &'static str = "CosineProductIntegration"

Source§

type Value = Or

Source§

impl Problem for CyclicOrdering

Source§

const NAME: &'static str = "CyclicOrdering"

Source§

type Value = Or

Source§

impl Problem for DynamicStorageAllocation

Source§

const NAME: &'static str = "DynamicStorageAllocation"

Source§

type Value = Or

Source§

impl Problem for EnsembleComputation

Source§

const NAME: &'static str = "EnsembleComputation"

Source§

type Value = Min<usize>

Source§

impl Problem for ExpectedRetrievalCost

Source§

const NAME: &'static str = "ExpectedRetrievalCost"

Source§

type Value = Min<f64>

Source§

impl Problem for Factoring

Source§

const NAME: &'static str = "Factoring"

Source§

type Value = Min<i32>

Source§

impl Problem for FeasibleRegisterAssignment

Source§

const NAME: &'static str = "FeasibleRegisterAssignment"

Source§

type Value = Or

Source§

impl Problem for FlowShopScheduling

Source§

const NAME: &'static str = "FlowShopScheduling"

Source§

type Value = Or

Source§

impl Problem for GroupingBySwapping

Source§

const NAME: &'static str = "GroupingBySwapping"

Source§

type Value = Or

Source§

impl Problem for IntegerExpressionMembership

Source§

const NAME: &'static str = "IntegerExpressionMembership"

Source§

type Value = Or

Source§

impl Problem for JobShopScheduling

Source§

const NAME: &'static str = "JobShopScheduling"

Source§

type Value = Min<u64>

Source§

impl Problem for Knapsack

Source§

const NAME: &'static str = "Knapsack"

Source§

type Value = Max<i64>

Source§

impl Problem for KthLargestMTuple

Source§

const NAME: &'static str = "KthLargestMTuple"

Source§

type Value = Sum<u64>

Source§

impl Problem for LongestCommonSubsequence

Source§

const NAME: &'static str = "LongestCommonSubsequence"

Source§

type Value = Max<usize>

Source§

impl Problem for MaximumLikelihoodRanking

Source§

const NAME: &'static str = "MaximumLikelihoodRanking"

Source§

type Value = Min<i64>

Source§

impl Problem for MinimumAxiomSet

Source§

const NAME: &'static str = "MinimumAxiomSet"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumCodeGenerationOneRegister

Source§

const NAME: &'static str = "MinimumCodeGenerationOneRegister"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumCodeGenerationParallelAssignments

Source§

const NAME: &'static str = "MinimumCodeGenerationParallelAssignments"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumCodeGenerationUnlimitedRegisters

Source§

const NAME: &'static str = "MinimumCodeGenerationUnlimitedRegisters"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumDecisionTree

Source§

const NAME: &'static str = "MinimumDecisionTree"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumDisjunctiveNormalForm

Source§

const NAME: &'static str = "MinimumDisjunctiveNormalForm"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumExternalMacroDataCompression

Source§

const NAME: &'static str = "MinimumExternalMacroDataCompression"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumFaultDetectionTestSet

Source§

const NAME: &'static str = "MinimumFaultDetectionTestSet"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumInternalMacroDataCompression

Source§

const NAME: &'static str = "MinimumInternalMacroDataCompression"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumRegisterSufficiencyForLoops

Source§

const NAME: &'static str = "MinimumRegisterSufficiencyForLoops"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumTardinessSequencing<i32>

Source§

const NAME: &'static str = "MinimumTardinessSequencing"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumTardinessSequencing<One>

Source§

const NAME: &'static str = "MinimumTardinessSequencing"

Source§

type Value = Min<usize>

Source§

impl Problem for MinimumWeightAndOrGraph

Source§

const NAME: &'static str = "MinimumWeightAndOrGraph"

Source§

type Value = Min<i32>

Source§

impl Problem for MultiprocessorScheduling

Source§

const NAME: &'static str = "MultiprocessorScheduling"

Source§

type Value = Or

Source§

impl Problem for NonLivenessFreePetriNet

Source§

const NAME: &'static str = "NonLivenessFreePetriNet"

Source§

type Value = Or

Source§

impl Problem for Numerical3DimensionalMatching

Source§

const NAME: &'static str = "Numerical3DimensionalMatching"

Source§

type Value = Or

Source§

impl Problem for NumericalMatchingWithTargetSums

Source§

const NAME: &'static str = "NumericalMatchingWithTargetSums"

Source§

type Value = Or

Source§

impl Problem for OpenShopScheduling

Source§

const NAME: &'static str = "OpenShopScheduling"

Source§

type Value = Min<usize>

Source§

impl Problem for OptimumCommunicationSpanningTree

Source§

const NAME: &'static str = "OptimumCommunicationSpanningTree"

Source§

type Value = Min<i64>

Source§

impl Problem for PaintShop

Source§

const NAME: &'static str = "PaintShop"

Source§

type Value = Min<i32>

Source§

impl Problem for PartiallyOrderedKnapsack

Source§

const NAME: &'static str = "PartiallyOrderedKnapsack"

Source§

type Value = Max<i64>

Source§

impl Problem for Partition

Source§

const NAME: &'static str = "Partition"

Source§

type Value = Or

Source§

impl Problem for PrecedenceConstrainedScheduling

Source§

const NAME: &'static str = "PrecedenceConstrainedScheduling"

Source§

type Value = Or

Source§

impl Problem for PreemptiveScheduling

Source§

const NAME: &'static str = "PreemptiveScheduling"

Source§

type Value = Min<usize>

Source§

impl Problem for ProductionPlanning

Source§

const NAME: &'static str = "ProductionPlanning"

Source§

type Value = Or

Source§

impl Problem for RectilinearPictureCompression

Source§

const NAME: &'static str = "RectilinearPictureCompression"

Source§

type Value = Or

Source§

impl Problem for RegisterSufficiency

Source§

const NAME: &'static str = "RegisterSufficiency"

Source§

type Value = Or

Source§

impl Problem for ResourceConstrainedScheduling

Source§

const NAME: &'static str = "ResourceConstrainedScheduling"

Source§

type Value = Or

Source§

impl Problem for SchedulingToMinimizeWeightedCompletionTime

Source§

const NAME: &'static str = "SchedulingToMinimizeWeightedCompletionTime"

Source§

type Value = Min<u64>

Source§

impl Problem for SchedulingWithIndividualDeadlines

Source§

const NAME: &'static str = "SchedulingWithIndividualDeadlines"

Source§

type Value = Or

Source§

impl Problem for SequencingToMinimizeMaximumCumulativeCost

Source§

const NAME: &'static str = "SequencingToMinimizeMaximumCumulativeCost"

Source§

type Value = Min<i64>

Source§

impl Problem for SequencingToMinimizeTardyTaskWeight

Source§

const NAME: &'static str = "SequencingToMinimizeTardyTaskWeight"

Source§

type Value = Min<u64>

Source§

impl Problem for SequencingToMinimizeWeightedCompletionTime

Source§

const NAME: &'static str = "SequencingToMinimizeWeightedCompletionTime"

Source§

type Value = Min<u64>

Source§

impl Problem for SequencingToMinimizeWeightedTardiness

Source§

const NAME: &'static str = "SequencingToMinimizeWeightedTardiness"

Source§

type Value = Or

Source§

impl Problem for SequencingWithDeadlinesAndSetUpTimes

Source§

const NAME: &'static str = "SequencingWithDeadlinesAndSetUpTimes"

Source§

type Value = Or

Source§

impl Problem for SequencingWithReleaseTimesAndDeadlines

Source§

const NAME: &'static str = "SequencingWithReleaseTimesAndDeadlines"

Source§

type Value = Or

Source§

impl Problem for SequencingWithinIntervals

Source§

const NAME: &'static str = "SequencingWithinIntervals"

Source§

type Value = Or

Source§

impl Problem for ShortestCommonSupersequence

Source§

const NAME: &'static str = "ShortestCommonSupersequence"

Source§

type Value = Min<usize>

Source§

impl Problem for SquareTiling

Source§

const NAME: &'static str = "SquareTiling"

Source§

type Value = Or

Source§

impl Problem for StackerCrane

Source§

const NAME: &'static str = "StackerCrane"

Source§

type Value = Min<i32>

Source§

impl Problem for StaffScheduling

Source§

const NAME: &'static str = "StaffScheduling"

Source§

type Value = Or

Source§

impl Problem for StringToStringCorrection

Source§

const NAME: &'static str = "StringToStringCorrection"

Source§

type Value = Or

Source§

impl Problem for SubsetProduct

Source§

const NAME: &'static str = "SubsetProduct"

Source§

type Value = Or

Source§

impl Problem for SubsetSum

Source§

const NAME: &'static str = "SubsetSum"

Source§

type Value = Or

Source§

impl Problem for SumOfSquaresPartition

Source§

const NAME: &'static str = "SumOfSquaresPartition"

Source§

type Value = Min<i64>

Source§

impl Problem for ThreePartition

Source§

const NAME: &'static str = "ThreePartition"

Source§

type Value = Or

Source§

impl Problem for TimetableDesign

Source§

const NAME: &'static str = "TimetableDesign"

Source§

type Value = Or

Source§

impl Problem for ConsecutiveSets

Source§

const NAME: &'static str = "ConsecutiveSets"

Source§

type Value = Or

Source§

impl Problem for ExactCoverBy3Sets

Source§

const NAME: &'static str = "ExactCoverBy3Sets"

Source§

type Value = Or

Source§

impl Problem for IntegerKnapsack

Source§

const NAME: &'static str = "IntegerKnapsack"

Source§

type Value = Max<i64>

Source§

impl Problem for MinimumCardinalityKey

Source§

const NAME: &'static str = "MinimumCardinalityKey"

Source§

type Value = Min<i64>

Source§

impl Problem for MinimumHittingSet

Source§

const NAME: &'static str = "MinimumHittingSet"

Source§

type Value = Min<usize>

Source§

impl Problem for PrimeAttributeName

Source§

const NAME: &'static str = "PrimeAttributeName"

Source§

type Value = Or

Source§

impl Problem for RootedTreeStorageAssignment

Source§

const NAME: &'static str = "RootedTreeStorageAssignment"

Source§

type Value = Or

Source§

impl Problem for SetBasis

Source§

const NAME: &'static str = "SetBasis"

Source§

type Value = Or

Source§

impl Problem for SetSplitting

Source§

const NAME: &'static str = "SetSplitting"

Source§

type Value = Or

Source§

impl Problem for ThreeDimensionalMatching

Source§

const NAME: &'static str = "ThreeDimensionalMatching"

Source§

type Value = Or

Source§

impl Problem for ThreeMatroidIntersection

Source§

const NAME: &'static str = "ThreeMatroidIntersection"

Source§

type Value = Or

Source§

impl Problem for TwoDimensionalConsecutiveSets

Source§

const NAME: &'static str = "TwoDimensionalConsecutiveSets"

Source§

type Value = Or

Source§

impl<G> Problem for DegreeConstrainedSpanningTree<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "DegreeConstrainedSpanningTree"

Source§

type Value = Or

Source§

impl<G> Problem for DisjointConnectingPaths<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "DisjointConnectingPaths"

Source§

type Value = Or

Source§

impl<G> Problem for GeneralizedHex<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "GeneralizedHex"

Source§

type Value = Or

Source§

impl<G> Problem for GraphPartitioning<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "GraphPartitioning"

Source§

type Value = Min<i32>

Source§

impl<G> Problem for HamiltonianCircuit<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "HamiltonianCircuit"

Source§

type Value = Or

Source§

impl<G> Problem for HamiltonianPath<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "HamiltonianPath"

Source§

type Value = Or

Source§

impl<G> Problem for HamiltonianPathBetweenTwoVertices<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "HamiltonianPathBetweenTwoVertices"

Source§

type Value = Or

Source§

impl<G> Problem for IsomorphicSpanningTree<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "IsomorphicSpanningTree"

Source§

type Value = Or

Source§

impl<G> Problem for KClique<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "KClique"

Source§

type Value = Or

Source§

impl<G> Problem for LengthBoundedDisjointPaths<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "LengthBoundedDisjointPaths"

Source§

type Value = Max<usize>

Source§

impl<G> Problem for MaximumAchromaticNumber<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MaximumAchromaticNumber"

Source§

type Value = Max<usize>

Source§

impl<G> Problem for MaximumDomaticNumber<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MaximumDomaticNumber"

Source§

type Value = Max<usize>

Source§

impl<G> Problem for MaximumLeafSpanningTree<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MaximumLeafSpanningTree"

Source§

type Value = Max<usize>

Source§

impl<G> Problem for MinimumCoveringByCliques<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MinimumCoveringByCliques"

Source§

type Value = Min<usize>

Source§

impl<G> Problem for MinimumGraphBandwidth<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MinimumGraphBandwidth"

Source§

type Value = Min<usize>

Source§

impl<G> Problem for MinimumIntersectionGraphBasis<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MinimumIntersectionGraphBasis"

Source§

type Value = Min<usize>

Source§

impl<G> Problem for MinimumMaximalMatching<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MinimumMaximalMatching"

Source§

type Value = Min<usize>

Source§

impl<G> Problem for MinimumMetricDimension<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MinimumMetricDimension"

Source§

type Value = Min<usize>

Source§

impl<G> Problem for MonochromaticTriangle<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "MonochromaticTriangle"

Source§

type Value = Or

Source§

impl<G> Problem for OptimalLinearArrangement<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "OptimalLinearArrangement"

Source§

type Value = Min<usize>

Source§

impl<G> Problem for PartialFeedbackEdgeSet<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "PartialFeedbackEdgeSet"

Source§

type Value = Or

Source§

impl<G> Problem for PartitionIntoCliques<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "PartitionIntoCliques"

Source§

type Value = Or

Source§

impl<G> Problem for PartitionIntoForests<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "PartitionIntoForests"

Source§

type Value = Or

Source§

impl<G> Problem for PartitionIntoPathsOfLength2<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "PartitionIntoPathsOfLength2"

Source§

type Value = Or

Source§

impl<G> Problem for PartitionIntoPerfectMatchings<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "PartitionIntoPerfectMatchings"

Source§

type Value = Or

Source§

impl<G> Problem for PartitionIntoTriangles<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "PartitionIntoTriangles"

Source§

type Value = Or

Source§

impl<G> Problem for RootedTreeArrangement<G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "RootedTreeArrangement"

Source§

type Value = Or

Source§

impl<G, N> Problem for ShortestWeightConstrainedPath<G, N>

Source§

const NAME: &'static str = "ShortestWeightConstrainedPath"

Source§

type Value = Min<<N as WeightElement>::Sum>

Source§

impl<G, W> Problem for BiconnectivityAugmentation<G, W>

Source§

const NAME: &'static str = "BiconnectivityAugmentation"

Source§

type Value = Or

Source§

impl<G, W> Problem for BoundedComponentSpanningForest<G, W>

Source§

const NAME: &'static str = "BoundedComponentSpanningForest"

Source§

type Value = Or

Source§

impl<G, W> Problem for BoundedDiameterSpanningTree<G, W>

Source§

const NAME: &'static str = "BoundedDiameterSpanningTree"

Source§

type Value = Or

Source§

impl<G, W> Problem for LongestCircuit<G, W>

Source§

const NAME: &'static str = "LongestCircuit"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for LongestPath<G, W>

Source§

const NAME: &'static str = "LongestPath"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MaxCut<G, W>

Source§

const NAME: &'static str = "MaxCut"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MaximalIS<G, W>

Source§

const NAME: &'static str = "MaximalIS"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MaximumClique<G, W>

Source§

const NAME: &'static str = "MaximumClique"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MaximumIndependentSet<G, W>

Source§

const NAME: &'static str = "MaximumIndependentSet"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MaximumMatching<G, W>

Source§

const NAME: &'static str = "MaximumMatching"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MinMaxMulticenter<G, W>

Source§

const NAME: &'static str = "MinMaxMulticenter"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MinimumCapacitatedSpanningTree<G, W>

Source§

const NAME: &'static str = "MinimumCapacitatedSpanningTree"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MinimumCutIntoBoundedSets<G, W>

Source§

const NAME: &'static str = "MinimumCutIntoBoundedSets"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MinimumDominatingSet<G, W>

Source§

const NAME: &'static str = "MinimumDominatingSet"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MinimumMultiwayCut<G, W>

Source§

const NAME: &'static str = "MinimumMultiwayCut"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MinimumSumMulticenter<G, W>

Source§

const NAME: &'static str = "MinimumSumMulticenter"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for MinimumVertexCover<G, W>

Source§

const NAME: &'static str = "MinimumVertexCover"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for RuralPostman<G, W>

Source§

const NAME: &'static str = "RuralPostman"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for SpinGlass<G, W>

Source§

const NAME: &'static str = "SpinGlass"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for SteinerTree<G, W>

Source§

const NAME: &'static str = "SteinerTree"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for SteinerTreeInGraphs<G, W>

Source§

const NAME: &'static str = "SteinerTreeInGraphs"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<G, W> Problem for TravelingSalesman<G, W>

Source§

const NAME: &'static str = "TravelingSalesman"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<K: KValue> Problem for KSatisfiability<K>

Source§

const NAME: &'static str = "KSatisfiability"

Source§

type Value = Or

Source§

impl<K: KValue, G> Problem for KColoring<K, G>
where G: Graph + VariantParam,

Source§

const NAME: &'static str = "KColoring"

Source§

type Value = Or

Source§

impl<P> Problem for Decision<P>

Source§

const NAME: &'static str = P::DECISION_NAME

Source§

type Value = Or

Source§

impl<T> Problem for ClosestVectorProblem<T>
where T: Clone + Into<f64> + VariantParam + Serialize + for<'de> Deserialize<'de> + Debug + 'static,

Source§

const NAME: &'static str = "ClosestVectorProblem"

Source§

type Value = Min<f64>

Source§

impl<V: VariableDomain> Problem for ILP<V>

Source§

const NAME: &'static str = "ILP"

Source§

type Value = Extremum<f64>

Source§

impl<W> Problem for QUBO<W>
where W: WeightElement + VariantParam + PartialOrd + Num + Zero + Bounded + AddAssign + Mul<Output = W>,

Source§

const NAME: &'static str = "QUBO"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<W> Problem for AcyclicPartition<W>

Source§

const NAME: &'static str = "AcyclicPartition"

Source§

type Value = Or

Source§

impl<W> Problem for KthBestSpanningTree<W>

Source§

const NAME: &'static str = "KthBestSpanningTree"

Source§

type Value = Or

Source§

impl<W> Problem for MinimumFeedbackArcSet<W>

Source§

const NAME: &'static str = "MinimumFeedbackArcSet"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<W> Problem for MinimumFeedbackVertexSet<W>

Source§

const NAME: &'static str = "MinimumFeedbackVertexSet"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<W> Problem for MixedChinesePostman<W>
where W: WeightElement<Sum = i32> + VariantParam,

Source§

const NAME: &'static str = "MixedChinesePostman"

Source§

type Value = Min<<W as WeightElement>::Sum>

Source§

impl<W> Problem for MultipleChoiceBranching<W>

Source§

const NAME: &'static str = "MultipleChoiceBranching"

Source§

type Value = Or

Source§

impl<W> Problem for StrongConnectivityAugmentation<W>

Source§

const NAME: &'static str = "StrongConnectivityAugmentation"

Source§

type Value = Or

Source§

impl<W> Problem for BinPacking<W>

Source§

const NAME: &'static str = "BinPacking"

Source§

type Value = Min<i32>

Source§

impl<W> Problem for ComparativeContainment<W>

Source§

const NAME: &'static str = "ComparativeContainment"

Source§

type Value = Or

Source§

impl<W> Problem for MaximumSetPacking<W>

Source§

const NAME: &'static str = "MaximumSetPacking"

Source§

type Value = Max<<W as WeightElement>::Sum>

Source§

impl<W> Problem for MinimumSetCovering<W>

Source§

const NAME: &'static str = "MinimumSetCovering"

Source§

type Value = Min<<W as WeightElement>::Sum>