CVXGEN: a code generator for embedded convex optimization
By Jacob Mattingley, Stephen P. Boyd. 2011
880 citations recorded by the source corpus.
Subfields: Electrical and Electronic Engineering, Hardware and Architecture, Numerical Analysis
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Electrical and Electronic Engineering
- Martin Greiner
- Alberto Bemporad
- Neal Parikh
- Panagiotis Patrinos
- J. Christian Gerdes
- Stephen M. Erlien
- Zico Kolter
- Eric King-Wah Chu
In Hardware and Architecture
- Alberto Bemporad
- Panagiotis Patrinos
- Neal Parikh
- J. Christian Gerdes
- Stephen M. Erlien
- Eric King-Wah Chu
- Aude Gemma Billard
- Nadia Figueroa
In Numerical Analysis
- Brendan O'Donoghue
- Stephen P. Boyd
- Alberto Bemporad
- Steven Diamond
- Francesco Borrelli
- Shane T. Barratt
- J. Kolter
- Moritz Diehl
Citations in the corpus
- OptNet: Differentiable Optimization as a Layer in Neural Networks (2017, background): “…applications is beyond our scope (Boyd & Van-denberghe, 2004) but these methods have bound applicability in control frameworks (Morari & Lee, 1999; Sastry & Bodson, 2011); numerous statistical and mathematical formalisms (Sra et al., 2012), and physical simulation problems like rigid body…”
- ECOS: An SOCP solver for embedded systems (2013, methodology): “To ensure the factorization exists, and to enhance numerical stability, we use dynamic regularization and iterative refinement, as is done in CVXGEN [13].”
- The Symbolic Interior Point Method (2016, background): “Convex QPs are commonly solved by numerical solvers (Mattingley and Boyd 2012; Grant and Boyd 2008).”
- Trajectory Planning for Quadrotor Swarms (2018, methodology): “For these problems, we use the CVXGEN package [38] to generate C code optimized for the exact quadratic program specification (10).”
- A unified framework for coordinated multi-arm motion planning (2018, methodology): “The third approach uses a solver specifically designed for constrained convex problems; the solver which we use is called CVXGEN, introduced in (Mattingley and Boyd 2012), which generates C codes, tailored for the specific formulation of (17).”
- Predictive Control for Linear and Hybrid Systems (2017, background): “A good starting point for details on this topic are the references [284, 246, 98, 201, 110, 171, 170].”
- Min-max approximate dynamic programming (2011, background): “Much progress has been made in solving structured convex programs efficiently (see, e.g., [17], [18], [19], [20]).”
- Safe driving envelopes for path tracking in autonomous vehicles (2017, background): “CVXGEN, developed by Mattingley and Boyd [20], generates a solver that is implemented on a single core of an i7 processor.”
- Shared Steering Control Using Safe Envelopes for Obstacle Avoidance and Vehicle Stability (2016, methodology): “The l1 norm provides the best convex approximation to this objective because the value at large deviations is as small as possible while still being convex as discussed by Boyd and Vandenberghe [19].”
- acados—a modular open-source framework for fast embedded optimal control (2019, background): “, CVXGEN [67], OOQP [38], both primal-dual interior-point solvers, or OSQP [87], a first-order method.”
- A Splitting Method for Optimal Control (2013, neutral): “The first step in the splitting algorithm can be expressed as a linearly constrained quadratic minimization problem minimize (1/2)wT Ew + f Tw subject to Gw = h over variable w ∈ R(T +1)(n+m), where w = ⎡ ⎢⎢⎢⎢⎢⎣ x0 u0 ... xT uT ⎤ ⎥⎥⎥⎥⎥⎦ , f = ⎡ ⎢⎢⎢⎢⎢⎣ q0 − ρ(x̃ k0 + zk0)) r0 − ρ(ũk0 + yk0 ) ... qT…”
- End-to-End Differentiable Physics for Learning and Control (2018, methodology): “Then we can rewrite the LCP above as the system below, which can be solved with only slight adaptations to the primal-dual interior point method by [Mattingley and Boyd, 2012].”
- Proximal Algorithms (2013, methodology): “4) is a standard algorithm, called iterative refinement, for solving Ax = b using only the regularized inverse (A + ǫI)−1 [96, 141, 137].”
- CVXPY: A Python-Embedded Modeling Language for Convex Optimization (2016, background): “ to specify the problem in a natural way that follows the math; this specification is then automatically converted into the standard form required by generic solvers. CVX [GB14], YALMIP [L¨04], CVXGEN [MB12], QCML [CPDB13], PICOS [Sag15], and Convex.jl [UMZ+14] are examples of such DSLs for convex op”
- Constrained Exploration and Recovery from Experience Shaping (2018, background): “…onto the environment, as the neural network has no explicit safety guarantee, it is first corrected by solving the following quadratic program (QP) (Mattingley and Boyd 2012): with G and h linear constraint matrices of respective size n in × n act and n in × 1 describing the range of possible…”