pub struct Model { /* private fields */ }
Expand description
A CBC MILP model.
Their methods are a direct translation from the C API. For documentation, see the official API documentation.
Implementations
sourceimpl Model
impl Model
pub fn new() -> Self
pub fn version() -> &'static str
pub fn load_problem(
&mut self,
numcols: usize,
numrows: usize,
start: &[c_int],
index: &[c_int],
value: &[f64],
collb: Option<&[f64]>,
colub: Option<&[f64]>,
obj: Option<&[f64]>,
rowlb: Option<&[f64]>,
rowub: Option<&[f64]>
)
pub fn read_mps(&mut self, filename: &CStr)
pub fn write_mps(&self, filename: &CStr)
pub fn set_initial_solution(&mut self, sol: &[f64])
pub fn num_elements(&self) -> usize
pub fn vector_starts(&self) -> &[c_int]
pub fn indices(&self) -> &[c_int]
pub fn elements(&self) -> &[f64]
pub fn max_name_length(&self) -> usize
pub fn num_rows(&self) -> usize
pub fn num_cols(&self) -> usize
pub fn set_obj_sense(&mut self, sense: Sense)
pub fn obj_sense(&self) -> Sense
pub fn row_lower(&self) -> &[f64]
pub fn set_row_lower(&mut self, i: usize, value: f64)
pub fn row_upper(&self) -> &[f64]
pub fn set_row_upper(&mut self, i: usize, value: f64)
pub fn obj_coefficients(&self) -> &[f64]
pub fn set_obj_coeff(&mut self, i: usize, value: f64)
pub fn col_lower(&self) -> &[f64]
pub fn set_col_lower(&mut self, i: usize, value: f64)
pub fn col_upper(&self) -> &[f64]
pub fn set_col_upper(&mut self, i: usize, value: f64)
pub fn is_integer(&self, i: usize) -> bool
pub fn set_continuous(&mut self, i: usize)
pub fn set_integer(&mut self, i: usize)
sourcepub fn add_sos(
&mut self,
row_starts: &[c_int],
col_indices: &[c_int],
weights: &[f64],
sos_type: SOSConstraintType
)
pub fn add_sos(
&mut self,
row_starts: &[c_int],
col_indices: &[c_int],
weights: &[f64],
sos_type: SOSConstraintType
)
Adds multiple SOS constraints num_rows: the number of SOS constraints to add row_starts: The indices at which each new constraint starts in the col_indices array, plus one last element that indicates the size of col_indices array. col_indices: The index of each variable to include in the constraints. You create this array by concatenating the indices of the columns in each constraint.
pub fn print_model(&self, arg_prefix: &CStr)
pub fn set_parameter(&mut self, name: &CStr, value: &CStr)
pub fn solve(&mut self) -> c_int
pub fn sum_primal_infeasibilities(&self) -> f64
pub fn number_primal_infeasibilities(&self) -> c_int
pub fn check_solution(&mut self)
pub fn iteration_count(&self) -> c_int
pub fn is_abandoned(&self) -> bool
pub fn is_proven_optimal(&self) -> bool
pub fn is_proven_infeasible(&self) -> bool
pub fn is_continuous_unbounded(&self) -> bool
pub fn is_node_limit_reached(&self) -> bool
pub fn is_seconds_limit_reached(&self) -> bool
pub fn is_solution_limit_reached(&self) -> bool
pub fn is_initial_solve_abandoned(&self) -> bool
pub fn is_initial_solve_proven_optimal(&self) -> bool
pub fn is_initial_solve_proven_primal_infeasible(&self) -> bool
sourcepub fn row_activity(&self) -> &[f64]
Available on crate feature cbc-310
only.
pub fn row_activity(&self) -> &[f64]
cbc-310
only.Primal row solution This function is not available on libcbc < 3.10
sourcepub fn col_solution(&self) -> &[f64]
pub fn col_solution(&self) -> &[f64]
Primal column solution
sourcepub fn reduced_cost(&self) -> &[f64]
Available on crate feature cbc-310
only.
pub fn reduced_cost(&self) -> &[f64]
cbc-310
only.Dual column solution. This function is not available on libcbc < 3.10.
pub fn obj_value(&self) -> f64
pub fn best_possible_value(&self) -> f64
pub fn print_solution(&self)
pub fn status(&self) -> Status
pub fn secondary_status(&self) -> SecondaryStatus
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Model
impl !Send for Model
impl !Sync for Model
impl Unpin for Model
impl UnwindSafe for Model
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more