pub struct PrimalSimplexSolver<'model> {
pub tolerance: f64,
pub max_iter: usize,
pub logging: bool,
/* private fields */
}Expand description
A simplex solver for linear programs (LPs).
§Examples
let mut model = Model::new();
let x = model.add_var().finish();
model += x.geq(0.0);
model += x.leq(10.0);
model.add_objective(Objective::maximize(x * 2.0).name("maximize_x"));
let mut solver = PrimalSimplexSolver::new(&model);
let solution = solver.solve().unwrap();
println!("Solution value: {}", solution.value(x));Fields§
§tolerance: f64The numerical tolerance used for feasibility and optimality checks.
max_iter: usizeThe maximum number of simplex iterations before terminating with an error.
logging: boolWhether to log iteration details during the simplex algorithm.
Trait Implementations§
Source§impl<'model> Solver<'model> for PrimalSimplexSolver<'model>
impl<'model> Solver<'model> for PrimalSimplexSolver<'model>
Source§fn get_objective_value(&self) -> f64
fn get_objective_value(&self) -> f64
Get the current objective value (if available).
Source§fn get_solution(&self) -> Vec<f64>
fn get_solution(&self) -> Vec<f64>
Return the current solution vector.
Auto Trait Implementations§
impl<'model> Freeze for PrimalSimplexSolver<'model>
impl<'model> RefUnwindSafe for PrimalSimplexSolver<'model>
impl<'model> Send for PrimalSimplexSolver<'model>
impl<'model> Sync for PrimalSimplexSolver<'model>
impl<'model> Unpin for PrimalSimplexSolver<'model>
impl<'model> UnsafeUnpin for PrimalSimplexSolver<'model>
impl<'model> UnwindSafe for PrimalSimplexSolver<'model>
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<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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.