OptimizationProblem

Trait OptimizationProblem 

Source
pub trait OptimizationProblem: Problem<Metric = SolutionSize<Self::Value>> {
    type Value: PartialOrd + Clone;

    // Required method
    fn direction(&self) -> Direction;
}
Expand description

Extension for problems with a numeric objective to optimize.

The supertrait bound guarantees Metric = SolutionSize<Self::Value>, so the solver can call metric.is_valid() and metric.is_better() directly — no per-problem customization needed.

Required Associated Types§

Source

type Value: PartialOrd + Clone

The inner objective value type (e.g., i32, f64).

Required Methods§

Source

fn direction(&self) -> Direction

Whether to maximize or minimize the metric.

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 OptimizationProblem for BMF

Source§

impl OptimizationProblem for BicliqueCover

Source§

impl OptimizationProblem for Factoring

Source§

impl OptimizationProblem for Knapsack

Source§

impl OptimizationProblem for PaintShop

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<W> OptimizationProblem for MinimumFeedbackVertexSet<W>

Source§

impl<W> OptimizationProblem for BinPacking<W>

Source§

impl<W> OptimizationProblem for MaximumSetPacking<W>

Source§

impl<W> OptimizationProblem for MinimumSetCovering<W>