pub enum Strategy {
BottomLeftFill,
NfpGuided,
GeneticAlgorithm,
Brkga,
SimulatedAnnealing,
ExtremePoint,
Gdrr,
Alns,
MilpExact,
HybridExact,
}Expand description
Optimization strategy.
Variants§
BottomLeftFill
Bottom-Left Fill (fast, lower quality).
NfpGuided
NFP-guided placement (balanced).
GeneticAlgorithm
Genetic Algorithm (slower, higher quality).
Brkga
Biased Random-Key Genetic Algorithm (balanced, robust).
SimulatedAnnealing
Simulated Annealing.
ExtremePoint
Extreme Point heuristic (3D only).
Gdrr
Goal-Driven Ruin and Recreate (GDRR).
Alns
Adaptive Large Neighborhood Search (ALNS).
MilpExact
MILP-based exact solver (small instances, optimal solution).
HybridExact
Hybrid: Try exact first, fallback to heuristic on timeout.
Implementations§
Source§impl Strategy
impl Strategy
Sourcepub fn parse(name: &str) -> Option<Strategy>
pub fn parse(name: &str) -> Option<Strategy>
Parses a strategy name (case-insensitive, whitespace-trimmed).
Returns None for unrecognized names so callers surface an explicit
error instead of silently falling back to a default strategy (which
hides typos from consumers). This is the single source of truth for
strategy-name parsing across all bindings (C FFI, Python, WASM).
Trait Implementations§
impl Copy for Strategy
impl Eq for Strategy
impl StructuralPartialEq for Strategy
Auto Trait Implementations§
impl Freeze for Strategy
impl RefUnwindSafe for Strategy
impl Send for Strategy
impl Sync for Strategy
impl Unpin for Strategy
impl UnsafeUnpin for Strategy
impl UnwindSafe for Strategy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.