Abstract
We introduce CVXPYgen, a tool for generating custom C code, suitable for embedded applications, that solves a parameterized class of convex optimization problems. CVXPYgen is based on CVXPY, a Python-embedded domain-specific language that supports a natural syntax (that follows the mathematical description) for specifying convex optimization problems. Along with the C implementation of a custom solver, CVXPYgen creates a Python wrapper for prototyping and desktop (non-embedded) applications. We give two examples, position control of a quadcopter and back-testing a portfolio optimization model. CVXPYgen outperforms a state-of-the-art code generation tool in terms of problem size it can handle, binary code size, and solve times. CVXPYgen and the generated solvers are open-source.
| Original language | English (US) |
|---|---|
| Pages (from-to) | 2653-2658 |
| Number of pages | 6 |
| Journal | IEEE Control Systems Letters |
| Volume | 6 |
| DOIs | |
| State | Published - 2022 |
All Science Journal Classification (ASJC) codes
- Control and Systems Engineering
- Control and Optimization
Keywords
- Computational methods
- Embedded systems
- Optimization
Fingerprint
Dive into the research topics of 'Embedded Code Generation With CVXPY'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver