A pure-Rust Interior Point solver for linear programs with equality and inequality constraints.
The algorithm is heavily based on the MOSEK solver (open-access link) , and the implementation thereof in SciPy.
Linear programs
A linear program is a mathematical optimization problem defined as (using '
as the dot product):
min_x c ' x
st A_eq ' x == b_eq
A_ub ' x <= b_ub
x >= 0
Example
use *;
use assert_abs_diff_eq;
use array;
let A_ub = array!;
let b_ub = array!;
let A_eq = array!;
let b_eq = array!;
let c = array!;
let res = target
.ub
.eq
.build
.unwrap;
let solver = default;
let solution = solver.solve;
assert_abs_diff_eq!;