This is a living document that sketches the direction of the project, and items can move, merge, or drop as priorities shift. If something here matters to you, or you want to help build it, open an issue on GitHub.
Status labels: Planned is on the near-term list, Exploring is under active design, and Considering is an idea we like but have not committed to.
🔗Solvers
- IIS for HiGHS. Provide Irreducible Infeasibility System for the HiGHS backend. See highs#47. (Planned)
-
SCIP backend. Currently blocked by the fact that
russcipdoes not yet support non-linear constraints. See russcip#280, oximo#8. (Planned) -
IPOPT backend. Planned but waiting on support for Windows and a new release of
ipopt-rs. (Planned) -
CPLEX backend. Planned but waiting on more basic features in
cplex-rslike QP/MIQP support and duals. See cplex-rs#7. (Planned) -
Support other versions of MOSEK. Currently
oximo-mosekonly supports MOSEK 11.2. Support for other versions is planned. (Planned)
🔗Modeling
- Indicator and SOS constraints. Ergonomic macros for indicator constraints and special-ordered sets. (Planned)
🔗I/O
-
Model readers. oximo writes MPS, LP, and NL today (see I/O).
Add parsers so those formats can be read back into a
Model, which enables round-tripping and importing models built elsewhere oximo#42. (Exploring)
🔗Ecosystem
- More worked examples. Additional end-to-end case studies. (Planned)
- Generalized Disjunctive Programming (GDP). Create models with disjunctive constraints and provide automatic reformulations oximo#20. (Exploring)
- Unit-based models. Create models with unit-based variables and constraints. (Considering)