pub enum TerminationStatus {
Optimal,
LocallyOptimal,
Infeasible,
Unbounded,
InfeasibleOrUnbounded,
IterationLimit,
TimeLimit,
NodeLimit,
Interrupted,
NumericError,
NotSolved,
Other(String),
}Expand description
Why a solver stopped, independent of whether a usable point was returned.
Variants§
Optimal
Proven globally optimal.
LocallyOptimal
A local optimum.
Infeasible
Proven infeasible.
Unbounded
Proven unbounded.
InfeasibleOrUnbounded
Infeasible or unbounded, the backend can’t differentiate.
IterationLimit
Stopped at an iteration limit.
TimeLimit
Stopped at a time limit.
NodeLimit
Stopped at a branch-and-bound node limit.
Interrupted
Stopped by an external interrupt or solver-specific user limit.
NumericError
The solver hit a numerical problem (singular basis, presolve error, …).
NotSolved
No solve has been attempted yet.
Other(String)
A backend status with no direct mapping. Carries the raw label.
Implementations§
Source§impl TerminationStatus
impl TerminationStatus
Sourcepub fn admits_primal(&self) -> bool
pub fn admits_primal(&self) -> bool
Whether a solver that stopped for this reason may still return a usable
primal point. true for optimality and for the various limits (which
keep the best incumbent found so far), false for infeasible/unbounded/
error/unsolved states.
Trait Implementations§
Source§impl Clone for TerminationStatus
impl Clone for TerminationStatus
Source§fn clone(&self) -> TerminationStatus
fn clone(&self) -> TerminationStatus
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TerminationStatus
impl Debug for TerminationStatus
impl Eq for TerminationStatus
Source§impl PartialEq for TerminationStatus
impl PartialEq for TerminationStatus
Source§fn eq(&self, other: &TerminationStatus) -> bool
fn eq(&self, other: &TerminationStatus) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for TerminationStatus
Auto Trait Implementations§
impl Freeze for TerminationStatus
impl RefUnwindSafe for TerminationStatus
impl Send for TerminationStatus
impl Sync for TerminationStatus
impl Unpin for TerminationStatus
impl UnsafeUnpin for TerminationStatus
impl UnwindSafe for TerminationStatus
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
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 more