Skip to main content

Crate otspot_model

Crate otspot_model 

Source
Expand description

Algebraic modeling API for otspot.

Provides Model, Variable, Expression, Constraint, the constraint! macro, and associated error/result types.

§Example

use otspot_model::{Model, constraint};

let mut model = Model::new("example");
let x = model.add_var("x", 0.0, 10.0);
let y = model.add_var("y", 0.0, 10.0);
model.add_constraint(constraint!((x + y) <= 8.0));
model.minimize(2.0 * x + y);
let result = model.solve().unwrap();
assert!((result[x] + result[y]).abs() < 1e-4);

Re-exports§

pub use constraint::Constraint;
pub use constraint::ConstraintSense;
pub use expression::Expression;
pub use quad_expr::QuadExpr;
pub use variable::VarKind;
pub use variable::Variable;

Modules§

constraint
Constraint types and the constraint! macro
expression
Expression type and operator overloads for the modeling API
quad_expr
Quadratic expression type for QP objectives.
variable
Variable type for the modeling API

Macros§

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

Structs§

Model
A linear programming model built using the algebraic modeling API.
ModelResult
The result of a successful solve.

Enums§

ModelError
Errors that can occur when building or solving a Model.
SolutionProof
What kind of optimality proof backs a successful ModelResult.
SolveError
Solver termination status for QP/LP solve operations.