pub struct LiftProjectConfig {
pub max_cuts: usize,
pub variable_selection: VariableSelectionStrategy,
pub cut_violation_tol: f64,
pub ls_strengthening: bool,
pub int_tol: f64,
pub max_rows_per_var: usize,
}Expand description
Configuration for the lift-and-project cut generator.
Fields§
§max_cuts: usizeMaximum total number of cuts to generate in one call to generate_cuts.
Default: 50.
variable_selection: VariableSelectionStrategyStrategy for choosing which fractional variable to lift on.
cut_violation_tol: f64Minimum cut violation threshold. A cut with violation ≤ this value is discarded as numerically insignificant. Default: 1e-6.
ls_strengthening: boolWhether to apply Lovász-Schrijver SDP-based strengthening to generated cuts. Produces stronger cuts at higher computational cost. Default: false (pure LP-based lift-and-project only).
int_tol: f64Tolerance for considering a variable value integral. Variables with |x_j - round(x_j)| ≤ int_tol are treated as integer. Default: 1e-8.
max_rows_per_var: usizeMaximum number of constraint rows to consider per fractional variable (before bound augmentation). Default: 1000 (effectively unlimited for most problems).
Trait Implementations§
Source§impl Clone for LiftProjectConfig
impl Clone for LiftProjectConfig
Source§fn clone(&self) -> LiftProjectConfig
fn clone(&self) -> LiftProjectConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LiftProjectConfig
impl Debug for LiftProjectConfig
Auto Trait Implementations§
impl Freeze for LiftProjectConfig
impl RefUnwindSafe for LiftProjectConfig
impl Send for LiftProjectConfig
impl Sync for LiftProjectConfig
impl Unpin for LiftProjectConfig
impl UnsafeUnpin for LiftProjectConfig
impl UnwindSafe for LiftProjectConfig
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 moreSource§impl<T> Pointable for T
impl<T> Pointable 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.