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

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

इस संदर्भ में प्रोग्रामिंग गणितीय समस्याओं को हल करने के लिए औपचारिक प्रक्रिया को संदर्भित करता है। यह उपयोग 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$. इसके विपरीत, इस प्रकार के किसी भी कम से कम वर्ग कार्यक्रम को सामान्य गैर-स्क्वायर के लिए भी क्यूपी के रूप में समान रूप से तैयार किया जा सकता है $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})$. एक संबंधित प्रोग्रामिंग समस्या, द्विघात रूप से विवश द्विघात प्रोग्रामिंग, चर पर द्विघात बाधाओं को जोड़कर उत्पन्न की जा सकती है।

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


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

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

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


 * $$\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$.

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

(लाग्रंगियन) दोहरे कार्य को परिभाषित करना $g(λ)$ जैसा $$g(\lambda) = \inf_{x} L(x,\lambda) $$, हम का एक इंफिनियम पाते हैं $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,$$

और इसलिए क्यूपी का लाग्रंगियन दोहरा है


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

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

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

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

यह भी देखें

 * अनुक्रमिक द्विघात प्रोग्रामिंग


 * रैखिक प्रोग्रामिंग
 * क्रिटिकल लाइन विधि

अग्रिम पठन

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

बाहरी संबंध

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