网页
综合
更新时间 2026-11-14 10:01:07
OSQP solver documentation — OSQP documentation
自动蜘蛛
osqp.org
正文约 2692 字
Visit our GitHub Discussions page for any questions related to the solver!
The OSQP (Operator Splitting Quadratic Program) solver is a numerical optimization package for solving convex quadratic programs in the form
where \(x \in \mathbf{R}^n\) is the optimization variable and \(P \in \mathbf{S}^{n}_{+}\) a positive semidefinite matrix.
Code available on GitHub.
If you are using OSQP for your work, we encourage you to
Cite the related papers
Put a star on GitHub
We are looking forward to hearing your success stories with OSQP! Please share them with us.
It uses a custom ADMM-based first-order method requiring only a single matrix factorization in the setup phase. All the other operations are extremely cheap. It also implements custom sparse linear algebra routines exploiting structures in the problem data.
The algorithm is absolutely division free after the setup and it requires no assumptions on problem data (the problem only needs to be convex). It just works!
When the problem is primal or dual infeasible, OSQP detects it. It is the first available QP solver based on first-order methods able to do so.
It has an easy interface to generate customized embeddable C code with no memory manager required.
It requires no external library to run.
It can be easily warm-started and the matrix factorization can be cached to solve parametrized problems extremely efficiently.
It provides interfaces to C, C++, Fortran, Julia, Matlab, Python, R, Ruby, and Rust.
OSQP is distributed under the Apache 2.0 License
The following people have been involved in the development of OSQP:
Bartolomeo Stellato (Princeton University): main development
Goran Banjac (ETH Zürich): main development
Nicholas Moehle (Stanford University): methods, maths, and code generation
Paul Goulart (University of Oxford): methods, maths, and Matlab interface
Alberto Bemporad (IMT Lucca): methods and maths
Stephen Boyd (Stanford University): methods and maths
Ian McInerney (Imperial College London): software engineering, code generation
Vineet Bansal (Princeton University): software engineering
Michel Schubiger (Schindler R&D): GPU implementation
John Lygeros (ETH Zurich): methods and maths
Amit Solomon (Princeton University): software engineering
Interfaces development
Nick Gould (Rutherford Appleton Laboratory): Fortran and CUTEst interfaces
Ed Barnard (University of Oxford): Rust interface
Bug reports and support
Please report any issues via the Github issue tracker. All types of issues are welcome including bug reports, documentation typos, feature requests and so on.
Numerical benchmarks
Numerical benchmarks against other solvers are available here.
© Copyright 2025, OSQP Developer Team.
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。