pub enum ModelKind {
LP,
MILP,
QP,
MIQP,
QCP,
MIQCP,
SOCP,
MISOCP,
NLP,
MINLP,
}Expand description
The kind of mathematical program a Model represents.
This is inferred from the variables and expressions in the model, not set
explicitly by the user. See Model::kind for the exact decision ladder.
The MI* variant of each class is picked when any variable has an integer
domain. The continuous classes are, from most to least general:
NLP: some expression is nonlinear (degree > 2, transcendental, division)QCP: some constraint is quadratic and not recognized as a second-order coneSOCP: second-order cone constraints are present (explicitcrate::SocConstraints or SOC-shaped quadratic constraints recognized bycrate::detect_soc); the objective may be linear or quadraticQP: quadratic objective, linear constraintsLP: everything linear
Variants§
Trait Implementations§
impl Copy for ModelKind
impl Eq for ModelKind
impl StructuralPartialEq for ModelKind
Auto Trait Implementations§
impl Freeze for ModelKind
impl RefUnwindSafe for ModelKind
impl Send for ModelKind
impl Sync for ModelKind
impl Unpin for ModelKind
impl UnsafeUnpin for ModelKind
impl UnwindSafe for ModelKind
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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