OpEn: Code Generation for Embedded Nonconvex Optimization

Pantelis Sopasakis, Emil Fresk, Panagiotis Patrinos

Research output: Contribution to journalArticlepeer-review

47 Citations (Scopus)
91 Downloads (Pure)


We present Optimization Engine (OpEn): an open-source code generation framework 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++, ROS or over a TCP socket.
Original languageEnglish
Pages (from-to)6548-6554
Issue number2
Publication statusPublished - 14 Apr 2021


Dive into the research topics of 'OpEn: Code Generation for Embedded Nonconvex Optimization'. Together they form a unique fingerprint.

Cite this