Share to: share facebook share twitter share wa share telegram print page

Quadratic programming

Quadratic programming (QP) is the process of solving certain mathematical optimization problems involving quadratic functions. Specifically, one seeks to optimize (minimize or maximize) a multivariate quadratic function subject to linear constraints on the variables. Quadratic programming is a type of nonlinear programming.

"Programming" in this context refers to a formal procedure for solving mathematical problems. This usage dates to the 1940s and is not specifically tied to the more recent notion of "computer programming." To avoid confusion, some practitioners prefer the term "optimization" — e.g., "quadratic optimization."[1]

Problem formulation

The quadratic programming problem with n variables and m constraints can be formulated as follows.[2] Given:

  • a real-valued, n-dimensional vector c,
  • an n×n-dimensional real symmetric matrix Q,
  • an m×n-dimensional real matrix A, and
  • an m-dimensional real vector b,

the objective of quadratic programming is to find an n-dimensional vector x, that will

minimize
subject to

where xT denotes the vector transpose of x, and the notation Axb means that every entry of the vector Ax is less than or equal to the corresponding entry of the vector b (component-wise inequality).

Constrained least squares

As a special case when Q is symmetric positive-definite, the cost function reduces to least squares:

minimize
subject to

where Q = RTR follows from the Cholesky decomposition of Q and c = −RT d. Conversely, any such constrained least squares program can be equivalently framed as a quadratic programming problem, even for a generic non-square R matrix.

Generalizations

When minimizing a function f in the neighborhood of some reference point x0, Q is set to its Hessian matrix H(f(x0)) and c is set to its gradient f(x0). A related programming problem, quadratically constrained quadratic programming, can be posed by adding quadratic constraints on the variables.

Solution methods

For general problems a variety of methods are commonly used, including

In the case in which Q is positive definite, the problem is a special case of the more general field of convex optimization.

Equality constraints

Quadratic programming is particularly simple when Q is 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

is given by the linear system

where λ is a set of Lagrange multipliers which come out of the solution alongside x.

The easiest means of approaching this system is direct solution (for example, LU factorization), which for small problems is very practical. For large problems, the system poses some unusual difficulties, most notably that the problem is never positive definite (even if Q is), making it potentially very difficult to find a good numeric approach, and there are many approaches to choose from dependent on the problem.

If the constraints don't couple the variables too tightly, a relatively simple attack is to change the variables so that constraints are unconditionally satisfied. For example, suppose d = 0 (generalizing to nonzero is straightforward). Looking at the constraint equations:

introduce a new variable y defined by

where y has dimension of x minus the number of constraints. Then

and if Z is chosen so that EZ = 0 the constraint equation will be always satisfied. Finding such Z entails finding the null space of E, which is more or less simple depending on the structure of E. Substituting into the quadratic form gives an unconstrained minimization problem:

the solution of which is given by:

Under certain conditions on Q, the reduced matrix ZTQZ will be positive definite. It is possible to write a variation on the conjugate gradient method which avoids the explicit calculation of Z.[5]

Lagrangian duality

The Lagrangian dual of a quadratic programming problem is also a quadratic programming problem. To see this let us focus on the case where c = 0 and Q is positive definite. We write the Lagrangian function as

Defining the (Lagrangian) dual function g(λ) as , we find an infimum of L, using and positive-definiteness of Q:

Hence the dual function is

and so the Lagrangian dual of the quadratic programming problem is

Besides the Lagrangian duality theory, there are other duality pairings (e.g. Wolfe, etc.).

Run-time complexity

Convex quadratic programming

For positive definite Q, when the problem is convex, the ellipsoid method solves the problem in (weakly) polynomial time.[6]

Ye and Tse[7] present a polynomial-time algorithm, which extends Karmarkar's algorithm from linear programming to convex quadratic programming. On a system with n variables and L input bits, their algorithm requires O(L n) iterations, each of which can be done using O(L n3) arithmetic operations, for a total runtime complexity of O(L2 n4).

Kapoor and Vaidya[8] present another algorithm, which requires O(L * log L * n3.67 * log n) arithmetic operations.

Non-convex quadratic programming

If Q is indefinite, (so the problem is non-convex) then the problem is NP-hard.[9] A simple way to see this is to consider the non-convex quadratic constraint xi2 = xi. This constraint is equivalent to requiring that xi is in {0,1}, that is, xi is a binary integer variable. Therefore, such constraints can be used to model any integer program with binary variables, which is known to be NP-hard.

Moreover, these non-convex problems might have several stationary points and local minima. In fact, even if Q has only one negative eigenvalue, the problem is (strongly) NP-hard.[10]

Moreover, finding a KKT point of a non-convex quadratic program is CLS-hard.[11]

Mixed-integer quadratic programming

There are some situations where one or more elements of the vector x will need to take on integer values. This leads to the formulation of a mixed-integer quadratic programming (MIQP) problem.[12] Applications of MIQP include water resources[13] and the construction of index funds.[14]

Solvers and scripting (programming) languages

Name Brief info
AIMMS A software system for modeling and solving optimization and scheduling-type problems
ALGLIB Dual licensed (GPL/proprietary) numerical library (C++, .NET).
AMPL A popular modeling language for large-scale mathematical optimization.
APMonitor Modeling and optimization suite for LP, QP, NLP, MILP, MINLP, and DAE systems in MATLAB and Python.
Artelys Knitro An Integrated Package for Nonlinear Optimization
CGAL An open source computational geometry package which includes a quadratic programming solver.
CPLEX Popular solver with an API (C, C++, Java, .Net, Python, Matlab and R). Free for academics.
Excel Solver Function A nonlinear solver adjusted to spreadsheets in which function evaluations are based on the recalculating cells. Basic version available as a standard add-on for Excel.
GAMS A high-level modeling system for mathematical optimization
GNU Octave A free (its licence is GPLv3) general-purpose and matrix-oriented programming-language for numerical computing, similar to MATLAB. Quadratic programming in GNU Octave is available via its qp command
HiGHS Open-source software for solving linear programming (LP), mixed-integer programming (MIP), and convex quadratic programming (QP) models
IMSL A set of mathematical and statistical functions that programmers can embed into their software applications.
IPOPT IPOPT (Interior Point OPTimizer) is a software package for large-scale nonlinear optimization.
Julia A high-level programming language with notable solving package being JuMP
Maple General-purpose programming language for mathematics. Solving a quadratic problem in Maple is accomplished via its QPSolve command.
MATLAB A general-purpose and matrix-oriented programming-language for numerical computing. Quadratic programming in MATLAB requires the Optimization Toolbox in addition to the base MATLAB product
Mathematica A general-purpose programming-language for mathematics, including symbolic and numerical capabilities.
MOSEK A solver for large scale optimization with API for several languages (C++, Java, .Net, Matlab and Python).
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.
Python High-level programming language with bindings for most available solvers. Quadratic programming is available via the solve_qp function or by calling a specific solver directly.
R (Fortran) GPL licensed universal cross-platform statistical computation framework.
SAS/OR A suite of solvers for Linear, Integer, Nonlinear, Derivative-Free, Network, Combinatorial and Constraint Optimization; the Algebraic modeling language OPTMODEL; and a variety of vertical solutions aimed at specific problems/markets, all of which are fully integrated with the SAS System.
SuanShu an open-source suite of optimization algorithms to solve LP, QP, SOCP, SDP, SQP in Java
TK Solver Mathematical modeling and problem solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc..
TOMLAB Supports global optimization, integer programming, all types of least squares, linear, quadratic and unconstrained programming for MATLAB. TOMLAB supports solvers like CPLEX, SNOPT and KNITRO.
XPRESS Solver for large-scale linear programs, quadratic programs, general nonlinear and mixed-integer programs. Has API for several programming languages, also has a modelling language Mosel and works with AMPL, GAMS. Free for academic use.

Extensions

Polynomial optimization[15] is a more general framework, in which the constraints can be polynomial functions of any degree, not only 2.

See also

References

  1. ^ Wright, Stephen J. (2015), "Continuous Optimization (Nonlinear and Linear Programming)", in Nicholas J. Higham; et al. (eds.), The Princeton Companion to Applied Mathematics, Princeton University Press, pp. 281–293
  2. ^ Nocedal, Jorge; Wright, Stephen J. (2006). Numerical Optimization (2nd ed.). Berlin, New York: Springer-Verlag. p. 449. ISBN 978-0-387-30303-1..
  3. ^ a b Murty, Katta G. (1988). Linear complementarity, linear and nonlinear programming. Sigma Series in Applied Mathematics. Vol. 3. Berlin: Heldermann Verlag. pp. xlviii+629 pp. ISBN 978-3-88538-403-8. MR 0949214. Archived from the original on 2010-04-01.
  4. ^ Delbos, F.; Gilbert, J.Ch. (2005). "Global linear convergence of an augmented Lagrangian algorithm for solving convex quadratic optimization problems" (PDF). Journal of Convex Analysis. 12: 45–69. Archived (PDF) from the original on 2022-10-09.
  5. ^ Gould, Nicholas I. M.; Hribar, Mary E.; Nocedal, Jorge (April 2001). "On the Solution of Equality Constrained Quadratic Programming Problems Arising in Optimization". SIAM J. Sci. Comput. 23 (4): 1376–1395. CiteSeerX 10.1.1.129.7555. doi:10.1137/S1064827598345667.
  6. ^ Kozlov, M. K.; S. P. Tarasov; Leonid G. Khachiyan (1979). "[Polynomial solvability of convex quadratic programming]". Doklady Akademii Nauk SSSR. 248: 1049–1051. Translated in: Soviet Mathematics - Doklady. 20: 1108–1111. {{cite journal}}: Missing or empty |title= (help)
  7. ^ Ye, Yinyu; Tse, Edison (1989-05-01). "An extension of Karmarkar's projective algorithm for convex quadratic programming". Mathematical Programming. 44 (1): 157–179. doi:10.1007/BF01587086. ISSN 1436-4646. S2CID 35753865.
  8. ^ Kapoor, S; Vaidya, P M (1986-11-01). "Fast algorithms for convex quadratic programming and multicommodity flows". Proceedings of the eighteenth annual ACM symposium on Theory of computing - STOC '86. New York, NY, USA: Association for Computing Machinery. pp. 147–159. doi:10.1145/12130.12145. ISBN 978-0-89791-193-1. S2CID 18108815.
  9. ^ Sahni, S. (1974). "Computationally related problems" (PDF). SIAM Journal on Computing. 3 (4): 262–279. CiteSeerX 10.1.1.145.8685. doi:10.1137/0203021.
  10. ^ Pardalos, Panos M.; Vavasis, Stephen A. (1991). "Quadratic programming with one negative eigenvalue is (strongly) NP-hard". Journal of Global Optimization. 1 (1): 15–22. doi:10.1007/bf00120662. S2CID 12602885.
  11. ^ Fearnley, John; Goldberg, Paul W.; Hollender, Alexandros; Savani, Rahul (2023). "The Complexity of Computing KKT Solutions of Quadratic Programs". arXiv:2311.13738 [cs.CC].
  12. ^ Lazimy, Rafael (1982-12-01). "Mixed-integer quadratic programming". Mathematical Programming. 22 (1): 332–349. doi:10.1007/BF01581047. ISSN 1436-4646. S2CID 8456219.
  13. ^ Propato Marco; Uber James G. (2004-07-01). "Booster System Design Using Mixed-Integer Quadratic Programming". Journal of Water Resources Planning and Management. 130 (4): 348–352. doi:10.1061/(ASCE)0733-9496(2004)130:4(348).
  14. ^ Cornuéjols, Gérard; Peña, Javier; Tütüncü, Reha (2018). Optimization Methods in Finance (2nd ed.). Cambridge, UK: Cambridge University Press. pp. 167–168. ISBN 9781107297340.
  15. ^ Tuy, Hoang (2016), Tuy, Hoang (ed.), "Polynomial Optimization", Convex Analysis and Global Optimization, Springer Optimization and Its Applications, vol. 110, Cham: Springer International Publishing, pp. 435–452, doi:10.1007/978-3-319-31484-6_12, ISBN 978-3-319-31484-6, retrieved 2023-12-16

Further reading

Read other articles:

В Википедии есть статьи о других людях с фамилией Чайлд. В Википедии есть статьи о других людях с фамилией Дойл. Эйлид Дойл Общая информация Полное имя Johan Cronje Дата и место рождения 20 февраля 1987(1987-02-20) (36 лет)Перт (Шотландия) Гражданство  Великобритания IAAF 14274691 Международн

Den här artikeln behöver källhänvisningar för att kunna verifieras. Motivering: Källor saknas (2016-06) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. Kristianstad–Älmhults järnvägAllmäntPlatsSmålandSkåneSträckaÄlmhult-KristianstadAnslutande linjerSödra stambananBlekinge kustbanaSkånebananÅhusbananOrganisationInvigd1884Nedlagd1969 (p…

Gotthilf-Vöhringer-Schule Schulform Fachschule Land Baden-Württemberg Staat Deutschland Koordinaten 47° 51′ 54″ N, 9° 25′ 34″ O47.8650222222229.4259861111111Koordinaten: 47° 51′ 54″ N, 9° 25′ 34″ O Träger Diakonisches Institut für Soziale Berufe gemeinnützige GmbH Website www.diakonisches-institut.de Gotthilf-Vöhringer-Schule Wilhelmsdorf Die ehemaligen Schulen der Gotthilf-Vöhringer-Schule (kurz GVS) gehören…

21545 Койрала (21545 Koirala) — астероїд головного поясу, відкритий 17 серпня 1998 року. Маніша Койрала (англ. Manisha Koirala, неп. मनिषा कोइराला, нар. 16 серпня 1970, Катманду, Непал) — непальська і індійська кіноакторка, продюсер, танцівниця. Матріка Прасад Койрала (неп. मात्रिका प्र

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (février 2015). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » En pratique : Quelles sources sont attendues ? Comm…

نادي سرقسطة لكرة السلة شعار نادي سرقسطة لكرة السلةشعار نادي سرقسطة لكرة السلة معلومات النادي البلد إسبانيا  تأسس عام 1981  الموقع سرقسطة، منطقة أرغون ألوان الفريق أحمر، أبيض     الموقع الرسمي الموقع الرسمي البطولات البطولات 2 أطقم الفريق     الطقم الأساسي    …

Cyclone season in the Southwest Indian Ocean This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: 1960–61 South-West Indian Ocean cyclone season – news · newspapers · books · scholar · JSTOR (June 2022) 1960–61 South-West Indian Ocean cyclone seasonSeason summary mapSeasonal boundariesFirst system form…

Cửa khẩu Hạ LangCửa khẩu Hạ Lang (Việt Nam) Cửa khẩu Hạ Lang hay cửa khẩu Thị Hoa, cửa khẩu Bí Hà, là cửa khẩu tại vùng đất xã Thị Hoa, huyện Hạ Lang, tỉnh Cao Bằng, Việt Nam [1][2][3][note 1]. Cửa khẩu Hạ Lang thông thương với cửa khẩu Khoa Giáp (科甲口岸) ở huyện Long Châu tỉnh Quảng Tây, Trung Quốc [4]. Cửa khẩu Hạ Lang cách thành phố Cao Bằng 90 km. Năm…

Representative in Prince Edward Island of the Canadian monarch Lieutenant Governor of Prince Edward IslandEmblem of the lieutenant governorFlag of the lieutenant governor of Prince Edward IslandIncumbentAntoinette PerryOPEIsince 20 October 2017ViceroyStyleHer Honour the HonourableResidenceGovernment House, CharlottetownAppointerGovernor general of Canada on the advice of the prime ministerTerm lengthAt the governor general's pleasureFormation1 July 1873First holderSir William Cleaver Franci…

NósPaís EspañaSede Lugo, La Coruña y Santiago de CompostelaFundación 30 de octubre de 1920Idioma gallego[editar datos en Wikidata] Nós fue una revista publicada en gallego entre 1920 y 1936 con contenidos literarios, lingüísticos, artísticos, etnográficos, filosóficos y de pensamiento político. Nós fue impulsada y dirigida por Vicente Risco, quien buscó insistentemente colaboraciones de fuera de Galicia para darle a la revista una dimensión europea. El primer número apa…

Europese Unie Dit artikel handelt over het recht van de Europese Unie. De Europese Unie is uniek vergeleken met andere internationale organisaties in zoverre dat er een uiterst complex en hoog ontwikkeld systeem van intern recht bestaat dat supranationale werking en directe werking heeft binnen de autonome rechtsorde van de lidstaten (communautaire rechtsorde). Een verschil met de Verenigde Staten is dat het Europese recht wel derogeert aan het nationale recht van de lidstaten. Dat heeft het Hof…

Serbian basketball player Raško KatićKatić with Oostende in 2016Personal informationBorn (1980-12-08) 8 December 1980 (age 42)Kragujevac, SR Serbia, SFR YugoslaviaNationalitySerbianListed height2.08 m (6 ft 10 in)Listed weight114 kg (251 lb)Career informationNBA draft2002: undraftedPlaying career2002–presentPositionCenterCareer history2002–2004Zastava2004–2005Crvena zvezda2005İTÜ2005Ergonom2005–2009Walter Tigers Tübingen2009–2010Hemofarm2010–2012Pa…

Wilhelm von Reiser, der vierte Bischof von Rottenburg Wilhelm Reiser, ab 1881 von Reiser (* 13. Mai 1835 in Egesheim; † 11. Mai 1898 in Ellwangen), war ein katholischer Theologe, Priester und Bischof von Rottenburg. Inhaltsverzeichnis 1 Leben und Werk 2 Ehrungen 3 Einzelnachweise 4 Literatur 5 Weblinks Leben und Werk Bischofswappen aus der Zeit als Weihbischof Wilhelm Reiser wurde als Sohn des Schultheißen und Webers Leonhard Reiser in Egesheim in Württemberg geboren. Nach dem Studium der Ph…

  لمعانٍ أخرى، طالع خيال الظل (توضيح). نموذج حديث لخيال الظل خيال الظل ويعرف أيضاً بـ شخوص الخيال، ظل الخيال، طيف الخيال، خيال الستار وذي الخيال هو فن شعبي انتقل إلى العالم الإسلامي من الصين أو الهند عن طريق بلاد فارس واشتهر به العصر المملوكي على وجه الخصوص. تم إدراج خيال …

City in New South Wales, AustraliaGraftonNew South Wales(From left to right)Grafton Bridge from North BankGrafton Court House, Grafton GaolClarence River, Grafton Post OfficeMarket Square, Christ Church CathedralGraftonCoordinates29°41′0″S 152°56′0″E / 29.68333°S 152.93333°E / -29.68333; 152.93333Population19,255 (2021)[1]Established1851Postcode(s)2460Elevation5 m (16 ft)Location 640 km (398 mi) N of Sydney 345 km (214…

Italian footballer Daniel Ciofani Ciofani with Frosinone in 2014Personal informationFull name Daniel Ciofani[1]Date of birth (1985-07-31) 31 July 1985 (age 38)Place of birth Avezzano, ItalyHeight 1.91 m (6 ft 3 in)Position(s) ForwardTeam informationCurrent team CremoneseNumber 9Youth career PescaraSenior career*Years Team Apps (Gls)2005–2008 Pescara 12 (1)2006–2007 → Celano (loan) 29 (7)2008 → Gela (loan) 15 (7)2008–2011 Cisco/Atletico Roma 98 (54)2011–201…

ألعاب بارالمبية صيفية 1980 آرنم، هولندا الدول المشاركة 23 الرياضيون المشاركون 1973 المسابقات 489، في 12 رياضة انطلاق الألعاب 21 يونيو المفتتح الرسمي مارغريت الملعب ناشونال سبورتس سينتر بابندال الاختتام 30 يونيو الموقع الرسمي الموقع الرسمي  تعديل مصدري - تعديل   الألعاب البارال…

Portretminiatuur van Johan François graaf van Hogendorp (1766) Johan François van Hogendorp (1700-14 januari 1779) was heer van Sint Janssteen en Glossenberghe, en heer van Steenhuysen. Hij was ontvanger-generaal van de Unie (1740-1779).[1] Johan François was een zoon van Gijsbert van Hogendorp die net als hem ontvanger-generaal van de Unie was. Hij trouwde in 1726 met Johanna Maria de la Palma de San Fuentes, en na haar overlijden in 1740 met Sara Johanna van Campen. Johan François …

Ship of the line of the French Navy For other ships with the same name, see French ship Saint Louis. History France NameSaint Louis OrderedJune 1692 BuilderLe Havre Laid downJune 1692 Launched10 December 1692 CommissionedFebruary 1693 FateSold to be taken to pieces in 1712 General characteristics Tonnage1,000 Length136 French feet[a] Beam37.5 French feet Draught20 French feet Depth of hold17 French feet Complement380 men (300 in peacetime), + 7/9 officers Armament64 guns Saint Louis was …

A transatlantic convoy approaching Brest on 1 November 1918. Photograph taken from aboard USS Rambler. vteAtlantic naval operations of World War I Blockade U-boat operations Convoys Northern Patrol Attacks Kaiser Wilhelm der Grosse Cap Trafalgar Gulflight Lusitania Baralong Carolina Actions Falkland Islands 16 January 1916 10 March 1917 15 October 1917 17 November 1917 21 July 1918 14 October 1918 vteMediterranean Operations 1914–1918 Goeben and Breslau Dardanelles U-boat Campaign Convoy …

Kembali kehalaman sebelumnya

Lokasi Pengunjung: 3.141.45.83