  We present Optimization Engine (OpEn): an open-source code generation tool
for real-time embedded nonconvex optimization, which implements a novel
numerical method. OpEn combines the proximal averaged Newton-type method for
optimal control (PANOC) with the penalty and augmented Lagrangian methods to
compute approximate stationary points of nonconvex problems. The proposed
method involves very simple algebraic operations such as vector products, has a
low memory footprint and exhibits very good convergence properties that allow
the solution of nonconvex problems on embedded devices. OpEn's core solver is
written is Rust - a modern, high-performance, memory-safe and thread-safe
systems programming language - while users can call it from Python, MATLAB, C,
C++ or over a TCP socket.
