Interactive optimization lab
oximo + POUNCE
Explore optimization models, change their inputs, and solve them in your browser.
- 1 Pick a model
- 2 Adjust inputs
- 3 Solve locally
Solution
- Status
- Waiting for the Worker
Variables
| Name | Value | Unit |
|---|
Constraints
| Name | Value | Bounds |
|---|
Model details
Equations
oximo code
Solver log
Pounce output, captured in the Worker. Use Pounce options to control its detail.
The solver log will appear here.
About
All models on this page are compiled to wasm32-wasip1 and solved entirely in your browser. A minimal WASI worker instantiates site/static/oximo-wasm.wasm via WebAssembly.instantiateStreaming with a buffered fallback.
No model, parameter, solution or log is sent to a server. Curated models and any model built here are solved by Pounce. With the pounce-enzyme feature (nightly-2026-07-26, RUSTFLAGS="-Zautodiff=Enable", profile.enzyme fat-LTO) exact derivatives come from oximo-autodiff which differentiates the single tape interpreter eval_tape once with std::autodiff.
Autodiff: native builds use autodiff_reverse (grad) and forward-over-reverse for Hessian-vector products. On wasm32 the pinned Enzyme cannot lower the reverse-loop allocation ABI (rust#161110), so this build uses forward-over-forward Enzyme. Uploaded NL/LP/MPS and oximo-editor models also go through the same Tape::compile / NlpEvaluator path, so they benefit from exact derivatives as well.