oximo v0.1.0
oximo v0.1.0
First public release of the oximo: a Rust algebraic modeling library for LP and MILP optimization.
Future support for nonlinear programming (NLP) and mixed-integer nonlinear programming (MINLP) planned.
Crates
| Crate | Description |
|---|---|
oximo |
Umbrella crate with prelude and solver re-exports |
oximo-expr |
Arena-allocated expression tree |
oximo-core |
Model, Variable, Constraint, Objective, Set |
oximo-solver |
Solver trait, SolverResult, SolverStatus |
oximo-io |
MPS and LP file writers |
oximo-highs |
HiGHS backend (bundled, no install required) |
oximo-gurobi |
Gurobi backend (requires licensed install) |
oximo-gams |
GAMS solver bridge (requires GAMS on PATH) |
Highlights
- Builder API for variables and constraints using standard Rust operators (
+,-,*) - Index sets (
Set) with Cartesian products, filters, and rule-style constraint generation - Indexed variables with per-key bounds via
lb_by/ub_by - HiGHS solver bundled out of the box - no system install needed
- Gurobi and GAMS backends behind optional features
- MPS and LP export via the
iofeature (on by default) - Dual values and reduced costs in
SolverResult
Usage
[dependencies]
oximo = "0.1" # HiGHS + MPS/LP writers
oximo = { version = "0.1", features = ["gurobi"] } # add Gurobi
oximo = { version = "0.1", features = ["gams"] } # add GAMS backendFull Changelog: https://github.com/GermanHeim/oximo/commits/v0.1.0