Citing OSQP

If you use OSQP for published work, we encourage you to

  • Cite the accompanying papers
  • Put a star on GitHub

We are looking forward to hearing your success stories with OSQP! Please share them with us.

Papers

Main paper

Main algorithm description, derivation and benchmark available in this paper.

@article{osqp,
  author  = {Stellato, B. and Banjac, G. and Goulart, P. and Bemporad, A. and Boyd, S.},
  title   = {{OSQP}: an operator splitting solver for quadratic programs},
  journal = {Mathematical Programming Computation},
  year    = {2020},
  volume  = {12},
  number  = {4},
  pages   = {637--672},
  doi     = {10.1007/s12532-020-00179-2},
  url     = {https://doi.org/10.1007/s12532-020-00179-2},
}

Infeasibility detection

Infeasibility detection proofs using ADMM (also for general conic programs) in this paper.

@article{osqp-infeasibility,
  author  = {Banjac, G. and Goulart, P. and Stellato, B. and Boyd, S.},
  title   = {Infeasibility detection in the alternating direction method of multipliers for convex optimization},
  journal = {Journal of Optimization Theory and Applications},
  year    = {2019},
  volume  = {183},
  number  = {2},
  pages   = {490--519},
  doi     = {10.1007/s10957-019-01575-y},
  url     = {https://doi.org/10.1007/s10957-019-01575-y},
}

GPU implementation

GPU implementation and PCG method for solving linear systems in this paper.

@article{osqp-gpu,
  author  = {Schubiger, M. and Banjac, G. and Lygeros, J.},
  title   = {{GPU} acceleration of {ADMM} for large-scale quadratic programming},
  journal = {Journal of Parallel and Distributed Computing},
  year    = {2020},
  volume  = {144},
  pages   = {55--67},
  doi     = {10.1016/j.jpdc.2020.05.021},
  url     = {https://doi.org/10.1016/j.jpdc.2020.05.021},
}

Code generation

Code generation functionality and example in this paper.

@inproceedings{osqp-codegen,
  author    = {Banjac, G. and Stellato, B. and Moehle, N. and Goulart, P. and Bemporad, A. and Boyd, S.},
  title     = {Embedded code generation using the {OSQP} solver},
  booktitle = {IEEE Conference on Decision and Control (CDC)},
  year      = {2017},
  doi       = {10.1109/CDC.2017.8263928},
  url       = {https://doi.org/10.1109/CDC.2017.8263928},
}

Mixed-integer optimization

A branch-and-bound solver for mixed-integer quadratic optimization in this paper.

@inproceedings{miosqp,
  author    = {Stellato, B. and Naik, V. V. and Bemporad, A. and Goulart, P. and Boyd, S.},
  title     = {Embedded mixed-integer quadratic optimization using the {OSQP} solver},
  booktitle = {European Control Conference (ECC)},
  year      = {2018},
  doi       = {10.23919/ECC.2018.8550136},
  url       = {https://doi.org/10.23919/ECC.2018.8550136},
}