CVXGEN - Code Generation For Convex Optimization
CVXGEN - Code Generation For Convex Optimization
Introduction
CVXGEN generates fast custom code for small, QP-representable
convex optimization problems, using an online interface with no
software installation. With minimal effort, turn a mathematical problem
description into a high speed solver.
Using CVXGEN
Describe your LP or convex QP
Describe your small, quadratic program (QP) representable
problem with a simple, powerful language.
Automatically generate a custom solver
CVXGEN automatically creates library-free C code for a custom,
high-speed solver. This can be downloaded and used immediately,
and requires nothing but a C compiler. CVXGEN also supplies a
Matlab function that, with one command, downloads and builds a
custom Matlab mex solver.
Solve your problems up to 10,000 times faster
CVXGEN performs most transformations and optimizations offline,
to make online solution as fast as possible. Code generation takes
a few seconds or minutes, producing solvers that work in
microseconds or milliseconds. Compared with CVX, solution times
are typically at least 20 times faster, with the smallest problems
showing speedup as large as 10,000×.
Limitations
CVXGEN is for convex, QP-representable problems only. It works best
for small problems, where the final system has around 2000 total
coefficients in the constraints and objective. CVXGEN does not work
well for larger problems.
Authors
Jacob Mattingley, a Ph.D. candidate at Stanford University
(primary author)
Stephen Boyd, a professor at Stanford University (advisor)
Papers
https://cvxgen.com/docs/index.html 1/2
9/24/2020 CVXGEN: Code Generation for Convex Optimization
https://cvxgen.com/docs/index.html 2/2