द्विघात प्रोग्रामिंग

क्वाड्रैटिक प्रोग्रामिंग (क्यूपी) द्विघात फंक्शन से जुड़े कुछ गणितीय अनुकूलन अनुकूलन समस्या को हल करने की प्रक्रिया है। विशेष रूप से, एक चर पर रैखिक विवश अनुकूलन के अधीन एक बहुभिन्नरूपी द्विघात फ़ंक्शन को अनुकूलित (न्यूनतम या अधिकतम) करना चाहता है। द्विघात प्रोग्रामिंग एक प्रकार की अरैखिक प्रोग्रामिंग है।

इस संदर्भ में प्रोग्रामिंग गणितीय समस्याओं को हल करने के लिए औपचारिक प्रक्रिया को संदर्भित करता है। यह उपयोग 1940 के दशक का है और विशेष रूप से कंप्यूटर प्रोग्रामिंग की हालिया धारणा से जुड़ा नहीं है। भ्रम से बचने के लिए, कुछ व्यवसायी अनुकूलन शब्द पसंद करते हैं - उदाहरण के लिए, द्विघात अनुकूलन।

समस्या निर्माण
के साथ द्विघात प्रोग्रामिंग समस्या $n$ चर और $m$ बाधाओं को निम्नानुसार तैयार किया जा सकता है। दिया गया: द्विघात प्रोग्रामिंग का उद्देश्य एक खोजना है $n$-आयामी वेक्टर $c$, वो होगा
 * एक वास्तविक संख्या-मूल्यवान, $Q$-आयामी वेक्टर $n×n$,
 * एक $m×n$-आयामी वास्तविक सममित मैट्रिक्स $A$,
 * एक $b$आयामी वास्तविक मैट्रिक्स (गणित) $m$, और
 * एक $n$-आयामी असली वेक्टर $x$,


 * {| cellspacing="10"

कहाँ $x^{T}$ के वेक्टर स्थानान्तरण को दर्शाता है $x$, और अंकन $Ax ⪯ b$ इसका मतलब है कि वेक्टर की हर प्रविष्टि $Ax$ सदिश की संबंधित प्रविष्टि से कम या उसके बराबर है $b$ (घटक-वार असमानता)।
 * न्यूनतम
 * $$\tfrac{1}{2} \mathbf{x}^\mathrm{T} Q\mathbf{x} + \mathbf{c}^\mathrm{T} \mathbf{x}$$
 * विषय को
 * $$A \mathbf{x} \preceq \mathbf{b},$$
 * }
 * $$A \mathbf{x} \preceq \mathbf{b},$$
 * }

कम से कम वर्ग
एक विशेष मामले के रूप में जब क्यू सकारात्मक निश्चित मैट्रिक्स | सममित सकारात्मक-निश्चित है, तो लागत फ़ंक्शन कम से कम वर्गों में घट जाती है:
 * {| cellspacing="10"

कहाँ $Q = R^{T}R$ के चोल्स्की अपघटन से अनुसरण करता है $Q$ और $c = −R^{T} d$. इसके विपरीत, इस तरह के किसी भी कम से कम वर्ग कार्यक्रम को सामान्य गैर-स्क्वायर के लिए भी QP के रूप में समान रूप से तैयार किया जा सकता है $R$ आव्यूह।
 * न्यूनतम
 * $$\tfrac{1}{2} \| R \mathbf{x} - \mathbf{d}\|^2 $$
 * विषय को
 * $$A \mathbf{x} \preceq \mathbf{b},$$
 * }
 * $$A \mathbf{x} \preceq \mathbf{b},$$
 * }

सामान्यीकरण
किसी फ़ंक्शन को कम करते समय $f$ किसी संदर्भ बिंदु के पड़ोस में $x_{0}$, $Q$ इसके हेसियन मैट्रिक्स पर सेट है $H(f(x_{0}))$ और $c$ इसकी ग्रेडियेंट पर सेट है $∇f(x_{0})$. एक संबंधित प्रोग्रामिंग समस्या, द्विघात रूप से विवश द्विघात प्रोग्रामिंग, चर पर द्विघात बाधाओं को जोड़कर उत्पन्न की जा सकती है।

समाधान के तरीके
सामान्य समस्याओं के लिए विभिन्न तरीकों का आमतौर पर उपयोग किया जाता है, जिनमें शामिल हैं


 * * आंतरिक बिंदु विधि,
 * * सक्रिय सेट,
 * *संवर्धित Lagrangian विधि,
 * * संयुग्मी ढाल विधि,
 * ग्रेडिएंट प्रोजेक्शन विधि,
 * * सिंप्लेक्स एल्गोरिदम का विस्तार।

जिस मामले में $Q$ सकारात्मक निश्चित मैट्रिक्स है, समस्या उत्तल अनुकूलन के अधिक सामान्य क्षेत्र का एक विशेष मामला है।

समानता की कमी
द्विघात प्रोग्रामिंग विशेष रूप से सरल होती है जब $Q$ सकारात्मक निश्चित मैट्रिक्स है और केवल समानता की बाधाएं हैं; विशेष रूप से, समाधान प्रक्रिया रैखिक है। Lagrange गुणकों का उपयोग करके और Lagrangian के चरम की तलाश करके, यह आसानी से दिखाया जा सकता है कि समानता की समस्या का समाधान


 * $$\text{Minimize} \quad \tfrac{1}{2} \mathbf{x}^\mathrm{T} Q\mathbf{x} + \mathbf{c}^\mathrm{T} \mathbf{x}$$
 * $$\text{subject to} \quad E\mathbf{x} =\mathbf{d}$$

रैखिक प्रणाली द्वारा दिया गया है



\begin{bmatrix} Q & E^\top \\ E & 0 \end{bmatrix} \begin{bmatrix} \mathbf x \\ \lambda \end{bmatrix} = \begin{bmatrix} -\mathbf c \\ \mathbf d \end{bmatrix} $$ कहाँ $λ$ लैग्रेंज मल्टीप्लायरों का एक सेट है जो साथ में समाधान से निकलता है $x$.

इस प्रणाली तक पहुँचने का सबसे आसान साधन प्रत्यक्ष समाधान है (उदाहरण के लिए, LU गुणन), जो छोटी समस्याओं के लिए बहुत ही व्यावहारिक है। बड़ी समस्याओं के लिए, प्रणाली कुछ असामान्य कठिनाइयाँ उत्पन्न करती है, विशेष रूप से यह कि समस्या कभी भी सकारात्मक निश्चित नहीं होती है (भले ही $Q$ is), एक अच्छा संख्यात्मक दृष्टिकोण खोजने के लिए इसे संभावित रूप से बहुत कठिन बना देता है, और समस्या पर निर्भर रहने के लिए कई दृष्टिकोण हैं।

यदि बाधाएँ चरों को बहुत कसकर नहीं जोड़ती हैं, तो चरों को बदलने के लिए एक अपेक्षाकृत सरल हमला है ताकि बाधाएँ बिना शर्त संतुष्ट हों। उदाहरण के लिए मान लीजिए $d = 0$ (अशून्य के लिए सामान्यीकरण सीधा है)। बाधा समीकरणों को देखते हुए:


 * $$E\mathbf{x} = 0$$

एक नया चर पेश करें $y$ द्वारा परिभाषित


 * $$Z \mathbf{y} = \mathbf x$$

कहाँ $y$ का आयाम है $x$ बाधाओं की संख्या घटाएं। तब


 * $$E Z \mathbf{y} = \mathbf 0$$

और अगर $Z$ इसलिए चुना जाता है $EZ = 0$ बाधा समीकरण हमेशा संतुष्ट रहेगा। ऐसे खोज रहे हैं $Z$ की शून्य जगह खोजने पर जोर देता है $E$, जो की संरचना के आधार पर कमोबेश सरल है $E$. द्विघात रूप में प्रतिस्थापन एक अप्रतिबंधित न्यूनीकरण समस्या देता है:


 * $$\tfrac{1}{2} \mathbf{x}^\top Q\mathbf{x} + \mathbf{c}^\top \mathbf{x} \quad \implies \quad

\tfrac{1}{2} \mathbf{y}^\top Z^\top Q Z \mathbf{y} + \left(Z^\top \mathbf{c}\right)^\top \mathbf{y}$$ जिसका समाधान इसके द्वारा दिया गया है:


 * $$Z^\top Q Z \mathbf{y} = -Z^\top \mathbf{c}$$

कुछ शर्तों के तहत $Q$, कम मैट्रिक्स $Z^{T}QZ$ सकारात्मक निश्चित रहेगा। संयुग्मी प्रवणता पद्धति पर भिन्नता लिखना संभव है जो की स्पष्ट गणना से बचा जाता है $Z$.

लग्रंगियन द्वैत
किसी QP की Lagrangian Dual समस्या भी एक QP है। इसे देखने के लिए आइए हम उस मामले पर ध्यान दें जहां $c = 0$ और $Q$ सकारात्मक निश्चित है। लैग्रेंज गुणक फलन को हम इस प्रकार लिखते हैं
 * $$L(x,\lambda) = \tfrac{1}{2} x^\top Qx + \lambda^\top (Ax-b). $$

(Lagrangian) दोहरे कार्य को परिभाषित करना $g(λ)$ जैसा $$g(\lambda) = \inf_{x} L(x,\lambda) $$, हम का एक infinum पाते हैं $L$, का उपयोग कर $$\nabla_{x} L(x,\lambda)=0$$ और सकारात्मक-निश्चितता $Q$:


 * $$x^* = -Q^{-1} A^\top \lambda.$$

इसलिए दोहरा कार्य है
 * $$g(\lambda) = -\tfrac{1}{2} \lambda^\top AQ^{-1}A^\top \lambda - \lambda^\top b,$$

और इसलिए QP का Lagrangian दोहरा है


 * $$\text{maximize}_{\lambda\geq 0} \quad -\tfrac{1}{2} \lambda^\top AQ^{-1} A^\top \lambda - \lambda^\top b$$

Lagrangian द्वैत सिद्धांत के अलावा, अन्य द्वैत युग्म हैं (जैसे वोल्फ द्वैत, आदि)।

जटिलता
सकारात्मक-निश्चित मैट्रिक्स के लिए $Q$दीर्घवृत्ताभ विधि (कमजोर) बहुपद समय में समस्या को हल करती है। यदि, दूसरी ओर, $Q$ अनिश्चित है, तो समस्या एनपी कठिन है। इन गैर-उत्तल समस्याओं के लिए कई स्थिर बिंदु और स्थानीय न्यूनतम हो सकते हैं। वास्तव में, भले ही $Q$ केवल एक नकारात्मक eigenvalue है, समस्या (दृढ़ता से) एनपी-हार्ड है।

पूर्णांक बाधाएँ
कुछ स्थितियाँ ऐसी होती हैं जहाँ सदिश के एक या अधिक अवयव होते हैं $x$ पूर्णांक मान लेने की आवश्यकता होगी। इससे मिश्रित-पूर्णांक द्विघात प्रोग्रामिंग (MIQP) समस्या का निर्माण होता है। MIQP के अनुप्रयोगों में जल संसाधन शामिल हैं और ट्रैकिंग त्रुटि # इंडेक्स फंड निर्माण।

यह भी देखें

 * अनुक्रमिक द्विघात प्रोग्रामिंग
 * रैखिक प्रोग्रामिंग
 * क्रिटिकल लाइन विधि

अग्रिम पठन

 * A6: MP2, pg.245.
 * A6: MP2, pg.245.

बाहरी संबंध

 * A page about QP
 * NEOS Optimization Guide: Quadratic Programming
 * Quadratic Programming