OSQP is an optimization solver for Quadratic Programs (QPs) that uses the Alternating Direction Method of Multipliers (ADMM). It is written in pure C, is Apache-2.0 licensed, and can be compiled into a library-free embedded solver for control and robotics applications. Interfaces to high-level languages like Python, Julia, Matlab and R are also available, and OSQP can be used from modelling languages such as CVXPY, JuMP, and YALMIP.
Visit the documentation to learn how to use OSQP.
Visit our GitHub Discussions page for any questions related to the solver!
If you use OSQP in an academic work, please cite the relevant papers.
For more information, please see the OSQP website.
The OSQP C code can be found in the main OSQP repository, and build instructions can be found in the documentation.
OSQP is available through PyPI by doing:
pip install osqp
OSQP is also available from Conda forge by doing:
conda install -c conda-forge osqp
OSQP is available in the general registry by running:
pkg> add OSQP
OSQP is available in CRAN by running:
install.packages("osqp")