Skip to main content

constraint

Macro constraint 

Source
macro_rules! constraint {
    (($lhs:expr) <= $rhs:expr) => { ... };
    (($lhs:expr) >= $rhs:expr) => { ... };
    (($lhs:expr) == $rhs:expr) => { ... };
    ($lhs:ident <= $rhs:expr) => { ... };
    ($lhs:ident >= $rhs:expr) => { ... };
    ($lhs:ident == $rhs:expr) => { ... };
}
Expand description

Build a Constraint using inequality syntax: constraint!(x <= 5.0) for a single variable, constraint!((expr) <= rhs) for a parenthesised expression.

use otspot_model::{Model, constraint};
let mut model = Model::new("demo");
let x = model.add_var("x", 0.0, f64::INFINITY);
let y = model.add_var("y", 0.0, 10.0);
model.add_constraint(constraint!((2.0 * x + 3.0 * y) <= 12.0));
model.add_constraint(constraint!((x + y) >= 3.0));