Quadratic programming: Difference between revisions

Content deleted Content added
Add ProxSuite reference as software package + reference to the main paper
Tag: Reverted
Restored revision 1121176284 by Dr Greg (talk)
Line 48:
:*[[interior point method|interior point]],
:*[[active set]],<ref name="ioe.engin.umich">{{cite book|last=Murty|first=Katta G.|title=Linear complementarity, linear and nonlinear programming|series=Sigma Series in Applied Mathematics|volume=3|publisher=Heldermann Verlag|___location=Berlin|year=1988|pages=xlviii+629 pp|isbn=978-3-88538-403-8|url=http://ioe.engin.umich.edu/people/fac/books/murty/linear_complementarity_webbook/|mr=949214|url-status=dead|archive-url=https://web.archive.org/web/20100401043940/http://ioe.engin.umich.edu/people/fac/books/murty/linear_complementarity_webbook/|archive-date=2010-04-01}}</ref>
:*[[Augmented Lagrangian method|augmented Lagrangian]],<ref>{{cite journal | first1 = F. | last1 = Delbos | first2 = J.Ch. | last2 = Gilbert | year = 2005 | title = Global linear convergence of an augmented Lagrangian algorithm for solving convex quadratic optimization problems | journal = Journal of Convex Analysis | volume = 12 | pages = 45–69 |url=http://www.heldermann-verlag.de/jca/jca12/jca1203_b.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.heldermann-verlag.de/jca/jca12/jca1203_b.pdf |archive-date=2022-10-09 |url-status=live}}</ref><ref>{{cite journal | first1 = A. | last1 = Bambade | first2 = S.| last2 = El-Kazdadi | first3 = A. | last3 = Taylor | first4 = J.| last4 = Carpentier | year = 2022 | title = PROX-QP: Yet another Quadratic Programming Solver for Robotics and beyond | journal = Proceedings of Robotics: Science and Systems |url=http://www.roboticsproceedings.org/rss18/p040.pdf |archive-url=https://ghostarchive.org/archive/replay/w/id-249e6fc31c3b/mp_/http://www.roboticsproceedings.org/rss18/p040.pdf |archive-date=2022-11-26 |url-status=live}}</ref>
:*[[Conjugate gradient method|conjugate gradient]],
:*[[Gradient projection method|gradient projection]],
Line 57:
===Equality constraints===
 
Quadratic programming is particularly simple when {{mvar|Q}} is [[positive definite matrix|positive definite]] and there are only equality constraints; specifically, the solution process is linear. By using [[Lagrange multipliers]] and seeking the extremum of the Lagrangian, it may be readily shown that the solution to the equality- constrained problem
 
:<math>\text{Minimize} \quad \tfrac{1}{2} \mathbf{x}^\mathrm{T} Q\mathbf{x} + \mathbf{c}^\mathrm{T} \mathbf{x}</math>
Line 167:
|-
|[[NAG Numerical Library]]|| A collection of mathematical and statistical routines developed by the [[Numerical Algorithms Group]] for multiple programming languages (C, C++, Fortran, Visual Basic, Java and C#) and packages (MATLAB, Excel, R, LabVIEW). The Optimization chapter of the NAG Library includes routines for quadratic programming problems with both sparse and non-sparse linear constraint matrices, together with routines for the optimization of linear, nonlinear, sums of squares of linear or nonlinear functions with nonlinear, bounded or no constraints. The NAG Library has routines for both local and global optimization, and for continuous or integer problems.
|-
| [https://github.com/Simple-Robotics/proxsuite ProxSuite] || Collection of open-source, numerically robust, precise and efficient numerical solvers (e.g., LPs, QPs, etc.) rooted in revisited primal-dual proximal algorithms, written in C++ and coming with Python and Julia interfaces.
|-
|[[Python (programming language)|Python]]||High-level programming language with bindings for most available solvers. Quadratic programming is available via the [https://pypi.org/project/qpsolvers/ solve_qp] function or by calling a specific solver directly.