OSQP: An Operator Splitting Solver for Quadratic Programs. We present a general purpose solver for quadratic programs based on the alternating direction method of multipliers, employing a novel operator splitting technique that requires the solution of a quasi-definite linear system with the same coefficient matrix in each iteration. Our algorithm is very robust, placing no requirements on the problem data such as positive definiteness of the objective function or linear independence of the constraint functions. It is division-free once an initial matrix factorization is carried out, making it suitable for real-time applications in embedded systems. In addition, our technique is the first operator splitting method for quadratic programs able to reliably detect primal and dual infeasible problems from the algorithm iterates. The method also supports factorization caching and warm starting, making it particularly efficient when solving parametrized problems arising in finance, control, and machine learning. Our open-source C implementation OSQP has a small footprint, is library-free, and has been extensively tested on many problem instances from a wide variety of application areas. It is typically ten times faster than competing interior point methods, and sometimes much more when factorization caching or warm start is used.

References in zbMATH (referenced in 13 articles , 1 standard article )

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

  1. Bartels, Sören; Wachsmuth, Gerd: Numerical approximation of optimal convex shapes (2020)
  2. Budninskiy, Max; Abdelaziz, Ameera; Tong, Yiying; Desbrun, Mathieu: Laplacian-optimized diffusion for semi-supervised learning (2020)
  3. Fu, Anqi; Zhang, Junzi; Boyd, Stephen: Anderson accelerated Douglas-Rachford splitting (2020)
  4. Liao-McPherson, Dominic; Kolmanovsky, Ilya: FBstab: a proximally stabilized semismooth algorithm for convex quadratic programming (2020)
  5. Stellato, Bartolomeo; Banjac, Goran; Goulart, Paul; Bemporad, Alberto; Boyd, Stephen: OSQP: an operator splitting solver for quadratic programs (2020)
  6. Yue Jiang, Wolfgang Stuerzlinger, Matthias Zwicker, Christof Lutteroth: ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints (2020) arXiv
  7. Banjac, Goran; Goulart, Paul; Stellato, Bartolomeo; Boyd, Stephen: Infeasibility detection in the alternating direction method of multipliers for convex optimization (2019)
  8. Busseti, Enzo; Moursi, Walaa M.; Boyd, Stephen: Solution refinement at regular points of conic problems (2019)
  9. Cimini, Gionata; Bemporad, Alberto: Complexity and convergence certification of a block principal pivoting method for box-constrained quadratic programs (2019)
  10. Francesco Farina, Andrea Camisa, Andrea Testa, Ivano Notarnicola, Giuseppe Notarstefano: DISROPT: a Python Framework for Distributed Optimization (2019) arXiv
  11. Robin Verschueren, Gianluca Frison, Dimitris Kouzoupis, Niels van Duijkeren, Andrea Zanelli, Branimir Novoselnik, Jonathan Frey, Thivaharan Albin, Rien Quirynen, Moritz Diehl: acados: a modular open-source framework for fast embedded optimal control (2019) arXiv
  12. Ryu, Ernest K.; Liu, Yanli; Yin, Wotao: Douglas-Rachford splitting and ADMM for pathological convex optimization (2019)
  13. Kouzoupis, Dimitris; Frison, Gianluca; Zanelli, Andrea; Diehl, Moritz: Recent advances in quadratic programming algorithms for nonlinear model predictive control (2018)