blob: d114e6e349ded143bfb60c176cad70735b4840cd [file] [log] [blame]
Austin Schuh9049e202022-02-20 17:34:16 -08001.. _citing :
2
3Citing OSQP
4===========
5
6If you use OSQP for published work, we encourage you to put a star on `GitHub <https://github.com/osqp/osqp>`_ and cite the accompanying papers:
7
8
9.. glossary::
10
11 Main paper
12 Main algorithm description, derivation and benchmark available in this `paper <https://web.stanford.edu/~boyd/papers/pdf/osqp.pdf>`__.
13
14 .. code:: latex
15
16 @article{osqp,
17 author = {Stellato, B. and Banjac, G. and Goulart, P. and Bemporad, A. and Boyd, S.},
18 title = {{OSQP}: an operator splitting solver for quadratic programs},
19 journal = {Mathematical Programming Computation},
20 volume = {12},
21 number = {4},
22 pages = {637--672},
23 year = {2020},
24 doi = {10.1007/s12532-020-00179-2},
25 url = {https://doi.org/10.1007/s12532-020-00179-2},
26 }
27
28 Infeasibility detection
29 Infeasibility detection proofs using ADMM (also for general conic programs) in this `paper <https://stanford.edu/~boyd/papers/pdf/admm_infeas.pdf>`__.
30
31 .. code:: latex
32
33 @article{osqp-infeasibility,
34 author = {Banjac, G. and Goulart, P. and Stellato, B. and Boyd, S.},
35 title = {Infeasibility detection in the alternating direction method of multipliers for convex optimization},
36 journal = {Journal of Optimization Theory and Applications},
37 year = {2019},
38 volume = {183},
39 number = {2},
40 pages = {490--519},
41 doi = {10.1007/s10957-019-01575-y},
42 url = {https://doi.org/10.1007/s10957-019-01575-y},
43 }
44
45 GPU implementation
46 GPU implementation and PCG method for solving linear systems in this `paper <https://doi.org/10.1016/j.jpdc.2020.05.021>`__.
47
48 .. code:: latex
49
50 @article{osqp-gpu,
51 author = {Schubiger, M. and Banjac, G. and Lygeros, J.},
52 title = {{GPU} acceleration of {ADMM} for large-scale quadratic programming},
53 journal = {Journal of Parallel and Distributed Computing},
54 year = {2020},
55 volume = {144},
56 pages = {55--67},
57 doi = {10.1016/j.jpdc.2020.05.021},
58 url = {https://doi.org/10.1016/j.jpdc.2020.05.021},
59 }
60
61 Code generation
62 Code generation functionality and example in this `paper <https://stanford.edu/~boyd/papers/pdf/osqp_embedded.pdf>`__.
63
64 .. code:: latex
65
66 @inproceedings{osqp-codegen,
67 author = {Banjac, G. and Stellato, B. and Moehle, N. and Goulart, P. and Bemporad, A. and Boyd, S.},
68 title = {Embedded code generation using the {OSQP} solver},
69 booktitle = {IEEE Conference on Decision and Control (CDC)},
70 year = {2017},
71 doi = {10.1109/CDC.2017.8263928},
72 url = {https://doi.org/10.1109/CDC.2017.8263928},
73 }
74
75 Mixed-integer optimization
76 A branch-and-bound solver for mixed-integer quadratic optimization in this `paper <https://stellato.io/downloads/publications/2018/miosqp_ecc.pdf>`__.
77
78 .. code:: latex
79
80 @inproceedings{miosqp,
81 author = {Stellato, B. and Naik, V. V. and Bemporad, A. and Goulart, P. and Boyd, S.},
82 title = {Embedded mixed-integer quadratic optimization using the {OSQP} solver},
83 booktitle = {European Control Conference (ECC)},
84 year = {2018},
85 doi = {10.23919/ECC.2018.8550136},
86 url = {https://doi.org/10.23919/ECC.2018.8550136},
87 }