CVXGEN

CVXGEN: a code generator for embedded convex optimization. CVXGEN is a software tool that takes a high level description of a convex optimization problem family, and automatically generates custom C code that compiles into a reliable, high speed solver for the problem family. The current implementation targets problem families that can be transformed, using disciplined convex programming techniques, to convex quadratic programs of modest size. CVXGEN generates simple, flat, library-free code suitable for embedding in real-time applications. The generated code is almost branch free, and so has highly predictable run-time behavior. The combination of regularization (both static and dynamic) and iterative refinement in the search direction computation yields reliable performance, even with poor quality data. In this paper we describe how CVXGEN is implemented, and give some results on the speed and reliability of the automatically generated solvers.


References in zbMATH (referenced in 15 articles , 2 standard articles )

Showing results 1 to 15 of 15.
Sorted by year (citations)

  1. Ahmadi, Amir Ali; Majumdar, Anirudha: Some applications of polynomial optimization in operations research and real-time decision making (2016)
  2. Borwein, Jonathan M.; Luke, D.Russell: Duality and convex programming (2015)
  3. Frasch, Janick V.; Sager, Sebastian; Diehl, Moritz: A parallel quadratic programming method for dynamic optimization problems (2015)
  4. Giselsson, Pontus; Boyd, Stephen: Metric selection in fast dual forward-backward splitting (2015)
  5. Kufoalor, D.K.M.; Aaker, V.; Johansen, T.A.; Imsland, L.; Eikrem, G.O.: Automatically generated embedded model predictive control: moving an industrial PC-based MPC to an embedded platform (2015)
  6. Quirynen, Rien; Vukov, Milan; Diehl, Moritz: Multiple shooting in a microsecond (2015)
  7. Harris, Matthew W.; Açıkmeşe, Behçet: Lossless convexification of non-convex optimal control problems for state constrained linear systems (2014)
  8. Harris, Matthew W.; Açıkmeşe, Behçet: Maximum divert for planetary landing using convex optimization (2014)
  9. Sun, Ju; Zhang, Yuqian; Wright, John: Efficient point-to-subspace query in $\ell^1$ with application to robust object instance recognition (2014)
  10. Huyck, Bart; Ferreau, Hans Joachim; Diehl, Moritz; De Brabanter, Jos; Van Impe, Jan F.M.; De Moor, Bart; Logist, Filip: Towards online model predictive control on a programmable logic controller: practical considerations (2012)
  11. Mattingley, Jacob; Boyd, Stephen: CVXGEN: a code generator for embedded convex optimization (2012)
  12. Ruben, Shalom D.; Tsao, Tsu-Chin: Real-time optimal commutation for minimizing thermally induced inaccuracy in multi-motor driven stages (2012)
  13. Houska, Boris; Ferreau, Hans Joachim; Diehl, Moritz: An auto-generated real-time iteration algorithm for nonlinear MPC in the microsecond range (2011)
  14. Wang, Yang; Boyd, Stephen: Performance bounds and suboptimal policies for linear stochastic control via LMIs (2011)
  15. Mattingley, Jacob; Boyd, Stephen: Automatic code generation for real-time convex optimization (2010)