OSQP: An Operator Splitting Solver for Quadratic Programs

Bartolomeo Stellato, Goran Banjac, Paul Goulart, Alberto Bemporad, Stephen Boyd

Research output: Chapter in Book/Report/Conference proceedingConference contribution

62 Scopus citations


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.

Original languageEnglish (US)
Title of host publication2018 UKACC 12th International Conference on Control, CONTROL 2018
PublisherInstitute of Electrical and Electronics Engineers Inc.
Number of pages1
ISBN (Electronic)9781538628645
StatePublished - Oct 31 2018
Externally publishedYes
EventUKACC 12th International Conference on Control, CONTROL 2018 - Sheffield, United Kingdom
Duration: Sep 5 2018Sep 7 2018

Publication series

Name2018 UKACC 12th International Conference on Control, CONTROL 2018


ConferenceUKACC 12th International Conference on Control, CONTROL 2018
Country/TerritoryUnited Kingdom

All Science Journal Classification (ASJC) codes

  • Control and Systems Engineering
  • Control and Optimization


Dive into the research topics of 'OSQP: An Operator Splitting Solver for Quadratic Programs'. Together they form a unique fingerprint.

Cite this