Embeddable
All numerical routines are written in Rust, making OpEn a strong fit for embedded targets where speed, determinism, and memory safety matter.
Optimization Engine | OpEn

Optimization Engine
Build high-performance optimizers for next-generation robotics, autonomous vehicles, and other cyber-physical systems without hand-writing solver infrastructure.
Core languageRust
Primary usesMPC, MHE, Robotics
InterfacesPython, MATLAB, C/C++, ROS, TCP
All numerical routines are written in Rust, making OpEn a strong fit for embedded targets where speed, determinism, and memory safety matter.
OpEn combines fast convergence with a practical problem formulation for nonconvex optimization, including augmented Lagrangian and penalty updates.
Benchmarks and applications show sub-millisecond performance in the right settings, enabling demanding control and estimation loops.
Easy code generation
Install OpEn in Python with pip, model your optimization problem with CasADi, and generate a solver that you can run through TCP, C/C++, ROS, or Rust.
The docs in Installation and Python Interface walk through the flow end to end.

Formulate your problem in Python or MATLAB, generate a Rust optimizer, and consume it over TCP, C/C++, ROS, or native Rust.
OpEn is built for real optimization workflows, from reproducible academic experiments to embedded deployments and hardware-in-the-loop tests.
The documentation covers installation, interfaces, optimal control tutorials, and end-to-end examples for robotics and autonomous systems.
Browse the DocsA short introduction to what OpEn does, how it works, and how to use it in practice.