सेमिडेफिनिट प्रोग्रामिंग: Difference between revisions
(Created page with "सेमीडेफिनिट प्रोग्रामिंग (एसडीपी) [[उत्तल अनुकूलन]] का एक उपक्षेत...") |
(TEXT) |
||
Line 1: | Line 1: | ||
अर्धनिश्चित क्रमादेशन (SDP) उत्तल [[अनुकूलन]] का एक उपक्षेत्र है जो एक रैखिक उद्देश्य फलन (एक उपयोगकर्ता-निर्दिष्ट फलन जिसे उपयोगकर्ता कम या अधिकतम करना चाहता है) के अनुकूलन से संबंधित है। | |||
एक सजातीय स्थान के साथ सकारात्मक अर्ध-निश्चित आव्यूह के शंकु के प्रतिच्छेदन पर, i.e, एक स्पेक्ट्राहेड्रॉन। | |||
सभी [[रैखिक प्रोग्रामिंग]] और (उत्तल) [[द्विघात प्रोग्रामिंग]] को | |||
अर्धनिश्चित क्रमादेशन अनुकूलन का एक अपेक्षाकृत नया क्षेत्र है जो कई कारणों से बढ़ती रुचि का है। संचालन अनुसंधान और संयोजी अनुकूलन में कई व्यावहारिक समस्याओं को अर्ध-निश्चित क्रमादेशन समस्याओं के रूप में प्रतिरूपित या अनुमानित किया जा सकता है। स्वत: नियंत्रण सिद्धांत में, SDP का उपयोग [[रैखिक मैट्रिक्स असमानता|रैखिक आव्यूह असमानता]] के संदर्भ में किया जाता है। SDP असल में [[शंकु अनुकूलन]] की एक विशेष स्तिथि है और इसे आंतरिक बिंदु विधियों द्वारा कुशलता से हल किया जा सकता है। | |||
सभी [[रैखिक प्रोग्रामिंग|रैखिक क्रमादेशन]] और (उत्तल) [[द्विघात प्रोग्रामिंग|द्विघात क्रमादेशन]] को SDP के रूप में व्यक्त किया जा सकता है, और SDP के पदानुक्रम के माध्यम से बहुपद अनुकूलन समस्याओं के समाधान का अनुमान लगाया जा सकता है। जटिल प्रणालियों के अनुकूलन में अर्ध निश्चित क्रमादेशन का उपयोग किया गया है। हाल के वर्षों में, कुछ परिमाण परिप्रश्न उपद्रवता समस्याओं को अर्ध-निश्चित कार्यक्रमों के संदर्भ में तैयार किया गया है। | |||
== प्रेरणा और परिभाषा == | == प्रेरणा और परिभाषा == | ||
Line 9: | Line 11: | ||
=== प्रारंभिक प्रेरणा === | === प्रारंभिक प्रेरणा === | ||
एक रैखिक | एक रैखिक क्रमादेशन समस्या वह है जिसमें हम एक [[polytope|बहुतलीय]] पर वास्तविक चर के रैखिक उद्देश्य फलन को अधिकतम या कम करना चाहते हैं। अर्ध-निश्चित क्रमादेशन में, हम इसके स्थान पर वास्तविक-मूल्य वाले सदिश का उपयोग करते हैं और सदिश के बिन्दु उत्पाद लेने की अनुमति देते हैं; LP (रैखिक क्रमादेशन) में वास्तविक चर पर गैर-नकारात्मकता बाधाओं को SDP (अर्ध-परिमित क्रमादेशन) में आव्यूह चर पर अर्ध-निश्चितता बाधाओं द्वारा प्रतिस्थापित किया जाता है। विशेष रूप से, एक सामान्य अर्ध निश्चित क्रमादेशन समस्या को प्रपत्र की किसी भी गणितीय क्रमादेशन समस्या के रूप में परिभाषित किया जा सकता है | ||
:<math> | :<math> | ||
Line 17: | Line 19: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
जहां <math>c_{i,j}, a_{i,j,k}</math>, और | जहां <math>c_{i,j}, a_{i,j,k}</math>, और <math> b_k </math> यह वास्तविक संख्याएँ हैं और <math>x^i \cdot x^j</math> का [[डॉट उत्पाद]] <math>x^i</math> और <math>x^j</math> है। | ||
=== समतुल्य | === समतुल्य सूत्रीकरण === | ||
एक <math>n \times n</math> आव्यूह <math>M</math> | एक <math>n \times n</math> आव्यूह <math>M</math> सकारात्मक-अर्द्धपरिमित कहा जाता है यदि यह कुछ सदिशों का ग्राम आव्यूह है। यदि ऐसा है, तो हम इसे <math>M \succeq 0</math> इस रूप में निरूपित करते हैं। ध्यान दें कि सकारात्मक अर्ध-निश्चित होने की कई अन्य समकक्ष परिभाषाएं हैं, उदाहरण के लिए, सकारात्मक अर्ध-निश्चित आव्यूह स्व-संलग्न आव्यूह हैं जिनके पास केवल गैर-नकारात्मक आइगेनवैल्यू और आइगेनवेक्टर हैं। | ||
सभी <math>n \times n</math> वास्तविक सममित आव्यूह का स्थान <math>\mathbb{S}^n</math> द्वारा निरूपित करें। दिकस्थान [[आंतरिक उत्पाद स्थान|आंतरिक उत्पाद]] से सुसज्जित है (जहाँ <math>{\rm tr}</math> [[ट्रेस (रैखिक बीजगणित)|अनुरेख (रैखिक बीजगणित)]] को दर्शाता है) | |||
<math> | <math> | ||
\langle A,B\rangle_{\mathbb{S}^n} = {\rm tr}(A^T B) = \sum_{i=1,j=1}^n | \langle A,B\rangle_{\mathbb{S}^n} = {\rm tr}(A^T B) = \sum_{i=1,j=1}^n | ||
A_{ij}B_{ij}. | A_{ij}B_{ij}. | ||
</math> | </math> | ||
हम पिछले भाग में दिए गए गणितीय | |||
हम पिछले भाग में दिए गए गणितीय क्रमादेश को समतुल्य रूप में फिर से लिख सकते हैं | |||
:<math> | :<math> | ||
Line 37: | Line 41: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
जहां | जहां <math>C</math> में प्रवेश <math>i,j</math> पिछले खंड से <math>\frac{c_{i,j} + c_{j,i}}{2}</math> द्वारा दिया गया है। और <math>A_k</math> एक सममित <math>n \times n</math> पिछले खंड से <math>i,j</math> आव्यूह <math>\frac{a_{i,j,k}+a_{j,i,k}}{2}</math> है। इस प्रकार, आव्यूह <math>C</math> और <math>A_k</math> सममित हैं और उपरोक्त आंतरिक उत्पाद अच्छी तरह से परिभाषित हैं। | ||
ध्यान दें कि यदि हम उचित रूप से [[सुस्त चर]] जोड़ते हैं, तो इस SDP को किसी एक रूप में परिवर्तित किया जा सकता है | ध्यान दें कि यदि हम उचित रूप से [[सुस्त चर]] जोड़ते हैं, तो इस SDP को किसी एक रूप में परिवर्तित किया जा सकता है | ||
Line 48: | Line 52: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
सुविधा के लिए, एक SDP को थोड़े अलग, लेकिन समतुल्य रूप में निर्दिष्ट किया जा सकता है। उदाहरण के लिए, गैर-नकारात्मक | सुविधा के लिए, एक SDP को थोड़े अलग, लेकिन समतुल्य रूप में निर्दिष्ट किया जा सकता है। उदाहरण के लिए, गैर-नकारात्मक अदिश (गणित) चर वाले रैखिक भावों को क्रमादेश विनिर्देश में जोड़ा जा सकता है। यह एक SDP बना रहता है क्योंकि प्रत्येक चर को <math>X</math> विकर्ण प्रविष्टि के रूप में (<math>X_{ii}</math> कुछ के लिए <math>i</math>) आव्यूह में सम्मिलित किया जा सकता है। यह सुनिश्चित करने के लिए <math>X_{ii} \geq 0</math>, प्रतिबंध <math>X_{ij} = 0</math> सभी के लिए <math>j \neq i</math> जोड़ा जा सकता है। एक अन्य उदाहरण के रूप में, ध्यान दें कि किसी भी सकारात्मक अर्ध निश्चित आव्यूह के लिए <math>X</math>, सदिश का एक सम्मुच्चय <math>\{ v_i \}</math> उपस्थित है ऐसा कि <math>X</math> का <math>i</math>, <math>j</math> प्रवेश <math>X_{ij} = (v_i, v_j)</math> <math>v_i</math> और <math>v_j</math> का डॉट उत्पाद है। इसलिए, SDPs को प्रायः सदिशों के अदिश गुणनफलों पर रेखीय व्यंजकों के रूप में तैयार किया जाता है। मानक रूप में SDP के समाधान को देखते हुए, सदिश <math>\{ v_i \}</math> <math>O(n^3)</math> समय में पुनराप्त किया जा सकता है (उदाहरण के लिए, X के अपूर्ण चोलस्की अपघटन का उपयोग करके)। | ||
== द्वैत सिद्धांत == | == द्वैत सिद्धांत == | ||
Line 54: | Line 58: | ||
=== परिभाषाएँ === | === परिभाषाएँ === | ||
समान रूप से | समान रूप से रैखीय क्रमादेशन के लिए, प्रारूप का एक सामान्य SDP दिया गया | ||
:<math> | :<math> | ||
Line 63: | Line 67: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
( | (आद्यसमस्या या P-SDP), हम [[दोहरी समस्या|द्वैध समस्या]] अर्धनिश्चित क्रमादेश (D-SDP) को इस रूप में परिभाषित करते हैं | ||
:<math> | :<math> | ||
\begin{array}{rl} | \begin{array}{rl} | ||
Line 70: | Line 74: | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
जहां किसी भी दो | जहां किसी भी दो आव्यूह के लिए <math>P</math> और <math>Q</math>, <math>P \succeq Q</math> साधन <math>P-Q \succeq 0</math>. | ||
=== [[कमजोर द्वैत]] === | === [[कमजोर द्वैत|शक्तिहीन द्वैत]] === | ||
शक्तिहीन द्वैत प्रमेय कहता है कि मौलिक SDP का मूल्य कम से कम दोहरी SDP का मूल्य है। इसलिए, दोहरे SDP के लिए कोई भी व्यवहार्य समाधान प्राथमिक SDP मूल्य को कम करता है, और इसके विपरीत, प्राथमिक SDP के लिए कोई भी संभव समाधान दोहरी SDP मूल्य को ऊपरी सीमा में रखता है। यह है क्योंकि | |||
:<math> | :<math> | ||
\langle C, X \rangle - \langle b, y \rangle | \langle C, X \rangle - \langle b, y \rangle | ||
Line 82: | Line 86: | ||
\geq 0, | \geq 0, | ||
</math> | </math> | ||
जहां अंतिम असमानता है क्योंकि दोनों | जहां अंतिम असमानता है क्योंकि दोनों आव्यूह सकारात्मक अर्ध निश्चित हैं, और इस फलन के परिणाम को कभी-कभी द्वैत अंतराल के रूप में संदर्भित किया जाता है। | ||
=== प्रबल द्वैत === | === प्रबल द्वैत === | ||
जब मूल और द्वैत SDPs का मान समान होता है, तो SDP को प्रबल द्वैत गुण को संतुष्ट करने वाला कहा जाता है। रेखीय | जब मूल और द्वैत SDPs का मान समान होता है, तो SDP को प्रबल द्वैत गुण को संतुष्ट करने वाला कहा जाता है। रेखीय क्रमादेशन के विपरीत, जहां प्रत्येक दोहरे रेखीय कार्यक्रम का इष्टतम उद्देश्य प्राथमिक उद्देश्य के बराबर होता है, प्रत्येक SDP [[मजबूत द्वैत|प्रबल द्वैत]] को संतुष्ट नहीं करता है; सामान्य तौर पर, दोहरी SDP का मूल्य मूल के मूल्य से अनुशासनपूर्वक नीचे हो सकता है, और P-SDP और D-SPD निम्नलिखित गुणों को पूरा करते हैं: | ||
(i) मान लीजिए कि मूल समस्या (P-SDP) नीचे और | (i) मान लीजिए कि मूल समस्या (P-SDP) नीचे और दृढता से बंधी हुई है (यानी, <math>X_0\in\mathbb{S}^n, X_0\succ 0</math> ऐसे उपस्थित है कि <math>\langle | ||
A_i,X_0\rangle_{\mathbb{S}^n} = b_i</math>, <math>i=1,\ldots,m</math>)। तब एक इष्टतम समाधान <math>y^*</math> (D-SDP) और <math>\langle C,X^*\rangle_{\mathbb{S}^n} = \langle b,y^*\rangle_{\R^m}</math>होता है। | |||
<math>X_0\in\mathbb{S}^n, X_0\succ 0</math> | : | ||
A_i,X_0\rangle_{\mathbb{S}^n} = b_i</math>, <math>i=1,\ldots,m</math>) | (ii) मान लीजिए कि दोहरी समस्या (D-SDP) ऊपर और दृढता से संभाव्य है (यानी, | ||
तब एक इष्टतम समाधान | |||
(ii) मान लीजिए कि दोहरी समस्या ( | |||
<math>\sum_{i=1}^m (y_0)_i A_i | <math>\sum_{i=1}^m (y_0)_i A_i | ||
\prec C</math> कुछ | \prec C</math> कुछ <math>y_0\in\R^m</math> के लिए)। तब एक इष्टतम समाधान <math>X^*</math>(P-SDP) होता है और (i) से समानता धारण करती है। | ||
तब एक इष्टतम समाधान | |||
(i) से समानता | |||
एक | एक SDP समस्या (और सामान्य तौर पर, किसी भी उत्तल अनुकूलन समस्या के लिए) के लिए मजबूत द्वैत के लिए एक पर्याप्त स्थिति स्लेटर की स्थिति है। रमन द्वारा प्रस्तावित विस्तारित द्वैध समस्या का उपयोग करके अतिरिक्त नियमितता शर्तों के बिना SDP के लिए मजबूत द्वैत प्राप्त करना भी संभव है।<ref>{{Cite journal |last=Ramana |first=Motakuri V. |date=1997 |title=An exact duality theory for semidefinite programming and its complexity implications |url=http://link.springer.com/10.1007/BF02614433 |journal=Mathematical Programming |language=en |volume=77 |issue=1 |pages=129–162 |doi=10.1007/BF02614433 |s2cid=12886462 |issn=0025-5610}}</ref><ref>{{Cite journal |last1=Vandenberghe |first1=Lieven |last2=Boyd |first2=Stephen |date=1996 |title=Semidefinite Programming |url=http://epubs.siam.org/doi/10.1137/1038003 |journal=SIAM Review |language=en |volume=38 |issue=1 |pages=49–95 |doi=10.1137/1038003 |issn=0036-1445}}</ref> | ||
Line 106: | Line 104: | ||
=== उदाहरण 1 === | === उदाहरण 1 === | ||
तीन यादृच्छिक | तीन यादृच्छिक चर <math>A</math>, <math>B</math>, और <math>C</math> पर विचार करें। परिभाषा के अनुसार, उनका सहसंबंध <math>\rho_{AB}, \ \rho_{AC}, \rho_{BC} </math> मान्य हैं यदि और केवल यदि | ||
:<math>\begin{pmatrix} | :<math>\begin{pmatrix} | ||
Line 113: | Line 111: | ||
\rho_{AC} & \rho_{BC} & 1 | \rho_{AC} & \rho_{BC} & 1 | ||
\end{pmatrix} \succeq 0,</math> | \end{pmatrix} \succeq 0,</math> | ||
इस | इस स्तिथि में इस आव्यूह को सहसंबंध आव्यूह कहा जाता है। मान लीजिए कि हम कुछ पूर्व ज्ञान (उदाहरण के लिए एक प्रयोग के अनुभवजन्य परिणाम) से जानते हैं कि <math>-0.2 \leq \rho_{AB} \leq -0.1</math> और <math>0.4 \leq \rho_{BC} \leq 0.5</math>. सबसे छोटे और सबसे बड़े मूल्यों को निर्धारित करने की समस्या <math>\rho_{AC} \ </math>ले सकते हैं, निम्न द्वारा दिया गया है: | ||
:<math>\begin{array}{rl} | :<math>\begin{array}{rl} | ||
Line 125: | Line 123: | ||
\end{pmatrix} \succeq 0 | \end{pmatrix} \succeq 0 | ||
\end{array}</math> | \end{array}</math> | ||
हम <math>\rho_{AB} = x_{12}, \ \rho_{AC} = x_{13}, \ \rho_{BC} = x_{23} </math> को उत्तर प्राप्त करने के लिए व्यवस्थित करते हैं। यह एक SDP द्वारा तैयार किया जा सकता है। उदाहरण के लिए, चर आव्यूह को बढ़ाकर और सुस्त चरों को प्रस्तुत करके हम असमानता की बाधाओं को संभालते हैं | |||
<math>\mathrm{tr}\left(\left(\begin{array}{cccccc} | <math>\mathrm{tr}\left(\left(\begin{array}{cccccc} | ||
Line 140: | Line 138: | ||
0 & 0 & 0 & 0 & s_{2} & 0\\ | 0 & 0 & 0 & 0 & s_{2} & 0\\ | ||
0 & 0 & 0 & 0 & 0 & s_{3}\end{array}\right)\right)=x_{12} + s_{1}=-0.1</math> | 0 & 0 & 0 & 0 & 0 & s_{3}\end{array}\right)\right)=x_{12} + s_{1}=-0.1</math> | ||
इस SDP को हल करने पर, | |||
इस SDP को हल करने पर, <math>\rho_{AC} = x_{13} \ </math>का न्यूनतम और अधिकतम मान <math>-0.978</math> और <math> 0.872 </math> क्रमशः प्राप्त होता है। | |||
=== उदाहरण 2 === | === उदाहरण 2 === | ||
समस्या पर विचार करें | '''समस्या पर विचार करें''' | ||
: छोटा करना <math>\frac{(c^T x)^2}{d^Tx} </math> | : '''छोटा करना <math>\frac{(c^T x)^2}{d^Tx} </math>''' | ||
: का विषय है <math>Ax +b\geq 0</math> | : '''का विषय है <math>Ax +b\geq 0</math>''' | ||
जहां हम मानते हैं <math>d^Tx>0</math> जब कभी भी <math>Ax+b\geq 0</math>. | '''जहां हम मानते हैं <math>d^Tx>0</math> जब कभी भी <math>Ax+b\geq 0</math>.''' | ||
एक सहायक चर का परिचय <math>t</math> समस्या का सुधार किया जा सकता है: | '''एक सहायक चर का''' परिचय <math>t</math> समस्या का सुधार किया जा सकता है: | ||
: छोटा करना <math>t</math> | : छोटा करना <math>t</math> | ||
Line 159: | Line 158: | ||
: <math>\textbf{diag}(Ax+b)\geq 0</math> | : <math>\textbf{diag}(Ax+b)\geq 0</math> | ||
जहां | जहां आव्यूह <math>\textbf{diag}(Ax+b)</math> विकर्ण में मान के साथ वर्ग आव्यूह बराबर है | ||
वेक्टर के तत्वों के लिए <math>Ax+b</math>. | वेक्टर के तत्वों के लिए <math>Ax+b</math>. | ||
Line 173: | Line 172: | ||
(बॉयड और वैंडेनबर्ग, 1996) | (बॉयड और वैंडेनबर्ग, 1996) | ||
इस समस्या से जुड़ा | इस समस्या से जुड़ा अर्धनिश्चित प्रोग्राम है | ||
: छोटा करना <math>t</math> | : छोटा करना <math>t</math> | ||
Line 182: | Line 181: | ||
<!-- this section is linked to from [[Randomized_rounding]], please update that link there if you change the section title here --nealeyoung May 31, 2010 --> | <!-- this section is linked to from [[Randomized_rounding]], please update that link there if you change the section title here --nealeyoung May 31, 2010 --> | ||
एनपी-हार्ड अधिकतमकरण समस्याओं के लिए सन्निकटन एल्गोरिदम विकसित करने के लिए अर्ध-निश्चित कार्यक्रम महत्वपूर्ण उपकरण हैं। | एनपी-हार्ड अधिकतमकरण समस्याओं के लिए सन्निकटन एल्गोरिदम विकसित करने के लिए अर्ध-निश्चित कार्यक्रम महत्वपूर्ण उपकरण हैं। SDP पर आधारित पहला सन्निकटन एल्गोरिथम [[माइकल गोमैन्स]] और डेविड पी. विलियमसन (जेएसीएम, 1995) के कारण है। उन्होंने [[अधिकतम कट]] का अध्ययन किया: एक [[ग्राफ (असतत गणित)]] G = (V, E) दिया गया है, वर्टिकल V के एक सम्मुच्चय का एक विभाजन आउटपुट करें ताकि एक तरफ से दूसरी तरफ जाने वाले किनारों की संख्या को अधिकतम किया जा सके। इस समस्या को द्विघात क्रमादेशन के रूप में व्यक्त किया जा सकता है: | ||
: अधिकतम करें <math>\sum_{(i,j) \in E} \frac{1-v_{i} v_{j}}{2},</math> ऐसा है कि प्रत्येक <math>v_i\in\{1,-1\}</math>. | : अधिकतम करें <math>\sum_{(i,j) \in E} \frac{1-v_{i} v_{j}}{2},</math> ऐसा है कि प्रत्येक <math>v_i\in\{1,-1\}</math>. | ||
जब तक पी = एनपी, हम इस अधिकतमकरण समस्या को कुशलतापूर्वक हल नहीं कर सकते। हालाँकि, गोमेन्स और विलियमसन ने इस तरह की समस्या पर हमला करने के लिए एक सामान्य तीन-चरणीय प्रक्रिया देखी: | जब तक पी = एनपी, हम इस अधिकतमकरण समस्या को कुशलतापूर्वक हल नहीं कर सकते। हालाँकि, गोमेन्स और विलियमसन ने इस तरह की समस्या पर हमला करने के लिए एक सामान्य तीन-चरणीय प्रक्रिया देखी: | ||
# एक | # एक SDP में पूर्णांक द्विघात कार्यक्रम को आराम दें। | ||
# | # SDP को हल करें (मनमाने ढंग से छोटी योजक त्रुटि के भीतर <math>\epsilon</math>). | ||
# मूल पूर्णांक द्विघात कार्यक्रम का अनुमानित समाधान प्राप्त करने के लिए SDP समाधान को गोल करें। | # मूल पूर्णांक द्विघात कार्यक्रम का अनुमानित समाधान प्राप्त करने के लिए SDP समाधान को गोल करें। | ||
अधिकतम कटौती के लिए, सबसे स्वाभाविक विश्राम है | अधिकतम कटौती के लिए, सबसे स्वाभाविक विश्राम है | ||
:<math>\max \sum_{(i,j) \in E} \frac{1-\langle v_{i}, v_{j}\rangle}{2},</math> ऐसा है कि <math>\lVert v_i\rVert^2 = 1</math>, जहां अधिकतम सदिशों पर है <math>\{v_i\}</math> पूर्णांक स्केलर्स के | :<math>\max \sum_{(i,j) \in E} \frac{1-\langle v_{i}, v_{j}\rangle}{2},</math> ऐसा है कि <math>\lVert v_i\rVert^2 = 1</math>, जहां अधिकतम सदिशों पर है <math>\{v_i\}</math> पूर्णांक स्केलर्स के स्थान पर। | ||
यह एक | यह एक SDP है क्योंकि उद्देश्य फलन और बाधाएं वेक्टर आंतरिक उत्पादों के सभी रैखिक कार्य हैं। SDP को हल करने से यूनिट सदिश का एक सम्मुच्चय मिलता है <math>\mathbf{R^n}</math>; चूँकि सदिशों को समरेख होने की आवश्यकता नहीं है, इस शिथिल कार्यक्रम का मान केवल मूल द्विघात पूर्णांक कार्यक्रम के मान से अधिक हो सकता है। अंत में, विभाजन प्राप्त करने के लिए एक राउंडिंग प्रक्रिया की आवश्यकता होती है। Goemans और विलियमसन बस मूल के माध्यम से एक समान रूप से यादृच्छिक हाइपरप्लेन चुनते हैं और हाइपरप्लेन के किस तरफ संबंधित सदिश झूठ बोलते हैं, इसके अनुसार कोने को विभाजित करते हैं। सरल विश्लेषण से पता चलता है कि यह कार्यविधि 0.87856 - ε के अपेक्षित सन्निकटन अनुपात (प्रदर्शन गारंटी) को प्राप्त करती है। (कटे जाने का अपेक्षित मूल्य किनारे के कटने की प्रायिकता का योग है, जो कोण के समानुपाती है <math>\cos^{-1}\langle v_{i}, v_{j}\rangle</math> किनारों के अंत बिंदुओं पर सदिश के बीच <math>\pi</math>. इस संभावना की तुलना <math>(1-\langle v_{i}, v_{j}\rangle)/{2}</math>, उम्मीद में अनुपात हमेशा कम से कम 0.87856 होता है।) अद्वितीय गेम अनुमान मानते हुए, यह दिखाया जा सकता है कि यह सन्निकटन अनुपात अनिवार्य रूप से इष्टतम है। | ||
Goemans और विलियमसन के मूल पेपर के बाद से, SDPs को कई सन्निकटन एल्गोरिदम विकसित करने के लिए लागू किया गया है। हाल ही में, प्रसाद राघवेंद्र ने अद्वितीय गेम अनुमान के आधार पर बाधा संतुष्टि समस्याओं के लिए एक सामान्य रूपरेखा विकसित की है।<ref>{{Cite book|chapter-url=http://doi.acm.org/10.1145/1374376.1374414|doi=10.1145/1374376.1374414|chapter=Optimal algorithms and inapproximability results for every CSP?|title=Proceedings of the fortieth annual ACM symposium on Theory of computing|year=2008|last1=Raghavendra|first1=Prasad|pages=245–254|isbn=9781605580470|s2cid=15075197}}</ref> | Goemans और विलियमसन के मूल पेपर के बाद से, SDPs को कई सन्निकटन एल्गोरिदम विकसित करने के लिए लागू किया गया है। हाल ही में, प्रसाद राघवेंद्र ने अद्वितीय गेम अनुमान के आधार पर बाधा संतुष्टि समस्याओं के लिए एक सामान्य रूपरेखा विकसित की है।<ref>{{Cite book|chapter-url=http://doi.acm.org/10.1145/1374376.1374414|doi=10.1145/1374376.1374414|chapter=Optimal algorithms and inapproximability results for every CSP?|title=Proceedings of the fortieth annual ACM symposium on Theory of computing|year=2008|last1=Raghavendra|first1=Prasad|pages=245–254|isbn=9781605580470|s2cid=15075197}}</ref> | ||
Line 198: | Line 197: | ||
== एल्गोरिदम == | == एल्गोरिदम == | ||
SDP को हल करने के लिए कई प्रकार के एल्गोरिदम हैं। ये एल्गोरिदम SDP के मूल्य को एक योगात्मक त्रुटि तक आउटपुट करते हैं <math>\epsilon</math> उस समय में जो प्रोग्राम विवरण आकार में बहुपद है और <math>\log (1/\epsilon)</math>. | |||
फेशियल रिडक्शन एल्गोरिदम भी हैं जिनका उपयोग समस्या की बाधाओं का निरीक्षण करके | फेशियल रिडक्शन एल्गोरिदम भी हैं जिनका उपयोग समस्या की बाधाओं का निरीक्षण करके SDP समस्याओं को प्रीप्रोसेस करने के लिए किया जा सकता है। इनका उपयोग सख्त व्यवहार्यता की कमी का पता लगाने, अनावश्यक पंक्तियों और स्तंभों को हटाने और चर आव्यूह के आकार को कम करने के लिए भी किया जा सकता है।<ref>{{citation|last1=Zhu|first1=Yuzixuan|last2=Pataki|first2=Gábor|last3=Tran-Dinh|first3=Quoc|date=2019|title=Sieve-SDP: a simple facial reduction algorithm to preprocess semidefinite programs|url=http://link.springer.com/10.1007/s12532-019-00164-4|journal=Mathematical Programming Computation|language=en|volume=11|issue=3|pages=503–586|doi=10.1007/s12532-019-00164-4|issn=1867-2949|arxiv=1710.08954|s2cid=53645581}}</ref> | ||
=== आंतरिक बिंदु तरीके === | === आंतरिक बिंदु तरीके === | ||
अधिकांश कोड आंतरिक बिंदु विधियों (CSDP, [[MOSEK]], SeDuMi, [https://www.math.cmu.edu/~reha/sdpt3.html SDPT3], DSDP, SDPA) पर आधारित होते हैं। सामान्य रेखीय | अधिकांश कोड आंतरिक बिंदु विधियों (CSDP, [[MOSEK]], SeDuMi, [https://www.math.cmu.edu/~reha/sdpt3.html SDPT3], DSDP, SDPA) पर आधारित होते हैं। सामान्य रेखीय SDP समस्याओं के लिए मजबूत और कुशल। इस तथ्य से प्रतिबंधित है कि एल्गोरिदम दूसरे क्रम के तरीके हैं और एक बड़े (और प्रायः घने) आव्यूह को स्टोर और फ़ैक्टराइज़ करने की आवश्यकता होती है। सैद्धांतिक रूप से, अत्याधुनिक उच्च सटीकता SDP एल्गोरिदम<ref>{{Cite journal |last1=Jiang |first1=Haotian |last2=Kathuria |first2=Tarun |last3=Lee |first3=Yin Tat |last4=Padmanabhan |first4=Swati |last5=Song |first5=Zhao |date=November 2020 |title=A Faster Interior Point Method for Semidefinite Programming |url=https://ieeexplore.ieee.org/document/9317892 |journal=2020 IEEE 61st Annual Symposium on Foundations of Computer Science (FOCS) |location=Durham, NC, USA |publisher=IEEE |pages=910–918 |doi=10.1109/FOCS46700.2020.00089 |arxiv=2009.10217 |isbn=978-1-7281-9621-3|s2cid=221836388 }}</ref><ref>{{Cite arXiv |last1=Huang |first1=Baihe |last2=Jiang |first2=Shunhua |last3=Song |first3=Zhao |last4=Tao |first4=Runzhou |last5=Zhang |first5=Ruizhe |date=2021-11-18 |title=Solving SDP Faster: A Robust IPM Framework and Efficient Implementation |class=math.OC |eprint=2101.08208}}</ref> इस दृष्टिकोण पर आधारित हैं। | ||
=== पहले क्रम के तरीके === | === पहले क्रम के तरीके === | ||
शांकव अनुकूलन के लिए प्रथम-क्रम के तरीके एक बड़े हेसियन | शांकव अनुकूलन के लिए प्रथम-क्रम के तरीके एक बड़े हेसियन आव्यूह की गणना, भंडारण और गुणनखंडन से बचते हैं और आंतरिक बिंदु विधियों की तुलना में सटीकता में कुछ लागत पर बहुत बड़ी समस्याओं को मापते हैं। स्प्लिटिंग कोन सॉल्वर (SCS) में एक प्रथम-क्रम विधि लागू की गई है।<ref>Brendan O'Donoghue, Eric Chu, | ||
Neal Parikh, Stephen Boyd, "Conic Optimization via Operator Splitting and | Neal Parikh, Stephen Boyd, "Conic Optimization via Operator Splitting and | ||
Homogeneous Self-Dual Embedding", | Homogeneous Self-Dual Embedding", | ||
Line 214: | Line 213: | ||
pp 1042--1068, | pp 1042--1068, | ||
https://web.stanford.edu/~boyd/papers/pdf/scs.pdf. | https://web.stanford.edu/~boyd/papers/pdf/scs.pdf. | ||
</ref> एक अन्य प्रथम-क्रम विधि गुणक (एडीएमएम) की वैकल्पिक दिशा विधि है।<ref>Wen, Zaiwen, Donald Goldfarb, and Wotao Yin. "Alternating direction augmented Lagrangian methods for semidefinite programming." Mathematical Programming Computation 2.3-4 (2010): 203-230.</ref> इस विधि के लिए प्रत्येक चरण में अर्ध-निश्चित | </ref> एक अन्य प्रथम-क्रम विधि गुणक (एडीएमएम) की वैकल्पिक दिशा विधि है।<ref>Wen, Zaiwen, Donald Goldfarb, and Wotao Yin. "Alternating direction augmented Lagrangian methods for semidefinite programming." Mathematical Programming Computation 2.3-4 (2010): 203-230.</ref> इस विधि के लिए प्रत्येक चरण में अर्ध-निश्चित आव्यूह के शंकु पर प्रक्षेपण की आवश्यकता होती है। | ||
=== बंडल विधि === | === बंडल विधि === | ||
कोड कॉनिकबंडल | कोड कॉनिकबंडल SDP समस्या को एक [[गैर-चिकनी अनुकूलन]] समस्या के रूप में तैयार करता है और इसे गैर-चिकनी अनुकूलन के स्पेक्ट्रल बंडल विधि द्वारा हल करता है। रैखिक SDP समस्याओं के एक विशेष वर्ग के लिए यह दृष्टिकोण बहुत कुशल है। | ||
=== अन्य हल करने के तरीके === | === अन्य हल करने के तरीके === | ||
[[संवर्धित Lagrangian विधि]] (PENSDP) पर आधारित एल्गोरिदम व्यवहार में आंतरिक बिंदु विधियों के समान हैं और कुछ बहुत बड़े पैमाने की समस्याओं के लिए विशिष्ट हो सकते हैं। अन्य एल्गोरिदम एक गैर-रैखिक | [[संवर्धित Lagrangian विधि]] (PENSDP) पर आधारित एल्गोरिदम व्यवहार में आंतरिक बिंदु विधियों के समान हैं और कुछ बहुत बड़े पैमाने की समस्याओं के लिए विशिष्ट हो सकते हैं। अन्य एल्गोरिदम एक गैर-रैखिक क्रमादेशन समस्या (SDPएलआर) के रूप में SDP के निम्न-श्रेणी की जानकारी और सुधार का उपयोग करते हैं।<ref>{{citation|last2=Monteiro|first2=Renato D. C.|last1=Burer|first1=Samuel|date=2003|title=A nonlinear programming algorithm for solving semidefinite programs via low-rank factorization|journal=Mathematical Programming|language=en|volume=95|issue=2|pages=329–357|doi=10.1007/s10107-002-0352-8|issn=1436-4646|citeseerx=10.1.1.682.1520|s2cid=7691228}}</ref> | ||
=== अनुमानित तरीके === | === अनुमानित तरीके === | ||
SDP को लगभग हल करने वाले एल्गोरिद्म भी प्रस्तावित किए गए हैं। ऐसे तरीकों का मुख्य लक्ष्य उन अनुप्रयोगों में कम जटिलता प्राप्त करना है जहां अनुमानित समाधान पर्याप्त हैं और जटिलता न्यूनतम होनी चाहिए। मल्टीपल-इनपुट मल्टीपल-आउटपुट (MIMO) वायरलेस सिस्टम में डेटा का पता लगाने के लिए इस्तेमाल की जाने वाली एक प्रमुख विधि त्रिकोणीय अनुमानित SEmidefinite रिलैक्सेशन (TASER) है।<ref>{{Cite journal|last1=Castañeda|first1=O.|last2=Goldstein|first2=T.|last3=Studer|first3=C.|date=December 2016|title=Data Detection in Large Multi-Antenna Wireless Systems via Approximate Semidefinite Relaxation|journal=IEEE Transactions on Circuits and Systems I: Regular Papers|volume=63|issue=12|pages=2334–2346|doi=10.1109/TCSI.2016.2607198|arxiv=1609.01797|hdl=20.500.11850/448631|issn=1558-0806|doi-access=free}}</ref> जो अर्ध-निश्चित आव्यूह के स्थान पर अर्ध-निश्चित आव्यूह के चोल्स्की अपघटन कारकों पर संचालित होता है। यह विधि अधिकतम-कट-जैसी समस्या के लिए अनुमानित समाधानों की गणना करती है जो प्रायः सटीक सॉल्वरों के समाधानों के बराबर होती हैं लेकिन केवल 10-20 एल्गोरिथम पुनरावृत्तियों में। | |||
== अनुप्रयोग == | == अनुप्रयोग == | ||
कॉम्बीनेटरियल ऑप्टिमाइज़ेशन समस्याओं के अनुमानित समाधान खोजने के लिए | कॉम्बीनेटरियल ऑप्टिमाइज़ेशन समस्याओं के अनुमानित समाधान खोजने के लिए अर्धनिश्चित क्रमादेशन को लागू किया गया है, जैसे अधिकतम कट समस्या का समाधान 0.87856 के अनुमानित अनुपात के साथ। SDP का उपयोग ज्योमेट्री में टेंग्रिटी ग्राफ निर्धारित करने के लिए भी किया जाता है, और रैखिक आव्यूह असमानता के रूप में नियंत्रण सिद्धांत में उत्पन्न होता है, और उलटा अण्डाकार गुणांक समस्याओं में उत्तल, गैर-रैखिक, अर्ध-निश्चितता बाधाओं के रूप में होता है।<ref>{{citation|last1=Harrach|first1=Bastian|date=2021|title=Solving an inverse elliptic coefficient problem by convex non-linear semidefinite programming|journal=Optimization Letters|volume=16 |issue=5 |pages=1599–1609 |language=en|doi=10.1007/s11590-021-01802-4|arxiv=2105.11440|s2cid=235166806}}</ref> [[अनुरूप बूटस्ट्रैप]] के साथ [[अनुरूप क्षेत्र सिद्धांत]] को विवश करने के लिए भौतिकी में भी इसका व्यापक रूप से उपयोग किया जाता है।<ref>{{cite arXiv |last=Simmons-Duffin |first=David |date=2015-02-06 |title=A Semidefinite Program Solver for the Conformal Bootstrap |class=hep-th |eprint=1502.02033 }}</ref> | ||
Revision as of 02:55, 16 February 2023
अर्धनिश्चित क्रमादेशन (SDP) उत्तल अनुकूलन का एक उपक्षेत्र है जो एक रैखिक उद्देश्य फलन (एक उपयोगकर्ता-निर्दिष्ट फलन जिसे उपयोगकर्ता कम या अधिकतम करना चाहता है) के अनुकूलन से संबंधित है।
एक सजातीय स्थान के साथ सकारात्मक अर्ध-निश्चित आव्यूह के शंकु के प्रतिच्छेदन पर, i.e, एक स्पेक्ट्राहेड्रॉन।
अर्धनिश्चित क्रमादेशन अनुकूलन का एक अपेक्षाकृत नया क्षेत्र है जो कई कारणों से बढ़ती रुचि का है। संचालन अनुसंधान और संयोजी अनुकूलन में कई व्यावहारिक समस्याओं को अर्ध-निश्चित क्रमादेशन समस्याओं के रूप में प्रतिरूपित या अनुमानित किया जा सकता है। स्वत: नियंत्रण सिद्धांत में, SDP का उपयोग रैखिक आव्यूह असमानता के संदर्भ में किया जाता है। SDP असल में शंकु अनुकूलन की एक विशेष स्तिथि है और इसे आंतरिक बिंदु विधियों द्वारा कुशलता से हल किया जा सकता है।
सभी रैखिक क्रमादेशन और (उत्तल) द्विघात क्रमादेशन को SDP के रूप में व्यक्त किया जा सकता है, और SDP के पदानुक्रम के माध्यम से बहुपद अनुकूलन समस्याओं के समाधान का अनुमान लगाया जा सकता है। जटिल प्रणालियों के अनुकूलन में अर्ध निश्चित क्रमादेशन का उपयोग किया गया है। हाल के वर्षों में, कुछ परिमाण परिप्रश्न उपद्रवता समस्याओं को अर्ध-निश्चित कार्यक्रमों के संदर्भ में तैयार किया गया है।
प्रेरणा और परिभाषा
प्रारंभिक प्रेरणा
एक रैखिक क्रमादेशन समस्या वह है जिसमें हम एक बहुतलीय पर वास्तविक चर के रैखिक उद्देश्य फलन को अधिकतम या कम करना चाहते हैं। अर्ध-निश्चित क्रमादेशन में, हम इसके स्थान पर वास्तविक-मूल्य वाले सदिश का उपयोग करते हैं और सदिश के बिन्दु उत्पाद लेने की अनुमति देते हैं; LP (रैखिक क्रमादेशन) में वास्तविक चर पर गैर-नकारात्मकता बाधाओं को SDP (अर्ध-परिमित क्रमादेशन) में आव्यूह चर पर अर्ध-निश्चितता बाधाओं द्वारा प्रतिस्थापित किया जाता है। विशेष रूप से, एक सामान्य अर्ध निश्चित क्रमादेशन समस्या को प्रपत्र की किसी भी गणितीय क्रमादेशन समस्या के रूप में परिभाषित किया जा सकता है
जहां , और यह वास्तविक संख्याएँ हैं और का डॉट उत्पाद और है।
समतुल्य सूत्रीकरण
एक आव्यूह सकारात्मक-अर्द्धपरिमित कहा जाता है यदि यह कुछ सदिशों का ग्राम आव्यूह है। यदि ऐसा है, तो हम इसे इस रूप में निरूपित करते हैं। ध्यान दें कि सकारात्मक अर्ध-निश्चित होने की कई अन्य समकक्ष परिभाषाएं हैं, उदाहरण के लिए, सकारात्मक अर्ध-निश्चित आव्यूह स्व-संलग्न आव्यूह हैं जिनके पास केवल गैर-नकारात्मक आइगेनवैल्यू और आइगेनवेक्टर हैं।
सभी वास्तविक सममित आव्यूह का स्थान द्वारा निरूपित करें। दिकस्थान आंतरिक उत्पाद से सुसज्जित है (जहाँ अनुरेख (रैखिक बीजगणित) को दर्शाता है)
हम पिछले भाग में दिए गए गणितीय क्रमादेश को समतुल्य रूप में फिर से लिख सकते हैं
जहां में प्रवेश पिछले खंड से द्वारा दिया गया है। और एक सममित पिछले खंड से आव्यूह है। इस प्रकार, आव्यूह और सममित हैं और उपरोक्त आंतरिक उत्पाद अच्छी तरह से परिभाषित हैं।
ध्यान दें कि यदि हम उचित रूप से सुस्त चर जोड़ते हैं, तो इस SDP को किसी एक रूप में परिवर्तित किया जा सकता है
सुविधा के लिए, एक SDP को थोड़े अलग, लेकिन समतुल्य रूप में निर्दिष्ट किया जा सकता है। उदाहरण के लिए, गैर-नकारात्मक अदिश (गणित) चर वाले रैखिक भावों को क्रमादेश विनिर्देश में जोड़ा जा सकता है। यह एक SDP बना रहता है क्योंकि प्रत्येक चर को विकर्ण प्रविष्टि के रूप में ( कुछ के लिए ) आव्यूह में सम्मिलित किया जा सकता है। यह सुनिश्चित करने के लिए , प्रतिबंध सभी के लिए जोड़ा जा सकता है। एक अन्य उदाहरण के रूप में, ध्यान दें कि किसी भी सकारात्मक अर्ध निश्चित आव्यूह के लिए , सदिश का एक सम्मुच्चय उपस्थित है ऐसा कि का , प्रवेश और का डॉट उत्पाद है। इसलिए, SDPs को प्रायः सदिशों के अदिश गुणनफलों पर रेखीय व्यंजकों के रूप में तैयार किया जाता है। मानक रूप में SDP के समाधान को देखते हुए, सदिश समय में पुनराप्त किया जा सकता है (उदाहरण के लिए, X के अपूर्ण चोलस्की अपघटन का उपयोग करके)।
द्वैत सिद्धांत
परिभाषाएँ
समान रूप से रैखीय क्रमादेशन के लिए, प्रारूप का एक सामान्य SDP दिया गया
(आद्यसमस्या या P-SDP), हम द्वैध समस्या अर्धनिश्चित क्रमादेश (D-SDP) को इस रूप में परिभाषित करते हैं
जहां किसी भी दो आव्यूह के लिए और , साधन .
शक्तिहीन द्वैत
शक्तिहीन द्वैत प्रमेय कहता है कि मौलिक SDP का मूल्य कम से कम दोहरी SDP का मूल्य है। इसलिए, दोहरे SDP के लिए कोई भी व्यवहार्य समाधान प्राथमिक SDP मूल्य को कम करता है, और इसके विपरीत, प्राथमिक SDP के लिए कोई भी संभव समाधान दोहरी SDP मूल्य को ऊपरी सीमा में रखता है। यह है क्योंकि
जहां अंतिम असमानता है क्योंकि दोनों आव्यूह सकारात्मक अर्ध निश्चित हैं, और इस फलन के परिणाम को कभी-कभी द्वैत अंतराल के रूप में संदर्भित किया जाता है।
प्रबल द्वैत
जब मूल और द्वैत SDPs का मान समान होता है, तो SDP को प्रबल द्वैत गुण को संतुष्ट करने वाला कहा जाता है। रेखीय क्रमादेशन के विपरीत, जहां प्रत्येक दोहरे रेखीय कार्यक्रम का इष्टतम उद्देश्य प्राथमिक उद्देश्य के बराबर होता है, प्रत्येक SDP प्रबल द्वैत को संतुष्ट नहीं करता है; सामान्य तौर पर, दोहरी SDP का मूल्य मूल के मूल्य से अनुशासनपूर्वक नीचे हो सकता है, और P-SDP और D-SPD निम्नलिखित गुणों को पूरा करते हैं:
(i) मान लीजिए कि मूल समस्या (P-SDP) नीचे और दृढता से बंधी हुई है (यानी, ऐसे उपस्थित है कि , )। तब एक इष्टतम समाधान (D-SDP) और होता है।
(ii) मान लीजिए कि दोहरी समस्या (D-SDP) ऊपर और दृढता से संभाव्य है (यानी, कुछ के लिए)। तब एक इष्टतम समाधान (P-SDP) होता है और (i) से समानता धारण करती है।
एक SDP समस्या (और सामान्य तौर पर, किसी भी उत्तल अनुकूलन समस्या के लिए) के लिए मजबूत द्वैत के लिए एक पर्याप्त स्थिति स्लेटर की स्थिति है। रमन द्वारा प्रस्तावित विस्तारित द्वैध समस्या का उपयोग करके अतिरिक्त नियमितता शर्तों के बिना SDP के लिए मजबूत द्वैत प्राप्त करना भी संभव है।[1][2]
उदाहरण
उदाहरण 1
तीन यादृच्छिक चर , , और पर विचार करें। परिभाषा के अनुसार, उनका सहसंबंध मान्य हैं यदि और केवल यदि
इस स्तिथि में इस आव्यूह को सहसंबंध आव्यूह कहा जाता है। मान लीजिए कि हम कुछ पूर्व ज्ञान (उदाहरण के लिए एक प्रयोग के अनुभवजन्य परिणाम) से जानते हैं कि और . सबसे छोटे और सबसे बड़े मूल्यों को निर्धारित करने की समस्या ले सकते हैं, निम्न द्वारा दिया गया है:
हम को उत्तर प्राप्त करने के लिए व्यवस्थित करते हैं। यह एक SDP द्वारा तैयार किया जा सकता है। उदाहरण के लिए, चर आव्यूह को बढ़ाकर और सुस्त चरों को प्रस्तुत करके हम असमानता की बाधाओं को संभालते हैं
इस SDP को हल करने पर, का न्यूनतम और अधिकतम मान और क्रमशः प्राप्त होता है।
उदाहरण 2
समस्या पर विचार करें
- छोटा करना
- का विषय है
जहां हम मानते हैं जब कभी भी .
एक सहायक चर का परिचय समस्या का सुधार किया जा सकता है:
- छोटा करना
- का विषय है
इस सूत्रीकरण में, उद्देश्य चरों का एक रैखिक कार्य है .
पहले प्रतिबंध के रूप में लिखा जा सकता है
जहां आव्यूह विकर्ण में मान के साथ वर्ग आव्यूह बराबर है वेक्टर के तत्वों के लिए .
दूसरे प्रतिबंध के रूप में लिखा जा सकता है
परिभाषित निम्नलिखित नुसार
इसे देखने के लिए हम शूर कॉम्प्लिमेंट्स के सिद्धांत का उपयोग कर सकते हैं
(बॉयड और वैंडेनबर्ग, 1996)
इस समस्या से जुड़ा अर्धनिश्चित प्रोग्राम है
- छोटा करना
- का विषय है
उदाहरण 3 (गोमैन्स-विलियमसन मैक्स कट सन्निकटन एल्गोरिथम)
एनपी-हार्ड अधिकतमकरण समस्याओं के लिए सन्निकटन एल्गोरिदम विकसित करने के लिए अर्ध-निश्चित कार्यक्रम महत्वपूर्ण उपकरण हैं। SDP पर आधारित पहला सन्निकटन एल्गोरिथम माइकल गोमैन्स और डेविड पी. विलियमसन (जेएसीएम, 1995) के कारण है। उन्होंने अधिकतम कट का अध्ययन किया: एक ग्राफ (असतत गणित) G = (V, E) दिया गया है, वर्टिकल V के एक सम्मुच्चय का एक विभाजन आउटपुट करें ताकि एक तरफ से दूसरी तरफ जाने वाले किनारों की संख्या को अधिकतम किया जा सके। इस समस्या को द्विघात क्रमादेशन के रूप में व्यक्त किया जा सकता है:
- अधिकतम करें ऐसा है कि प्रत्येक .
जब तक पी = एनपी, हम इस अधिकतमकरण समस्या को कुशलतापूर्वक हल नहीं कर सकते। हालाँकि, गोमेन्स और विलियमसन ने इस तरह की समस्या पर हमला करने के लिए एक सामान्य तीन-चरणीय प्रक्रिया देखी:
- एक SDP में पूर्णांक द्विघात कार्यक्रम को आराम दें।
- SDP को हल करें (मनमाने ढंग से छोटी योजक त्रुटि के भीतर ).
- मूल पूर्णांक द्विघात कार्यक्रम का अनुमानित समाधान प्राप्त करने के लिए SDP समाधान को गोल करें।
अधिकतम कटौती के लिए, सबसे स्वाभाविक विश्राम है
- ऐसा है कि , जहां अधिकतम सदिशों पर है पूर्णांक स्केलर्स के स्थान पर।
यह एक SDP है क्योंकि उद्देश्य फलन और बाधाएं वेक्टर आंतरिक उत्पादों के सभी रैखिक कार्य हैं। SDP को हल करने से यूनिट सदिश का एक सम्मुच्चय मिलता है ; चूँकि सदिशों को समरेख होने की आवश्यकता नहीं है, इस शिथिल कार्यक्रम का मान केवल मूल द्विघात पूर्णांक कार्यक्रम के मान से अधिक हो सकता है। अंत में, विभाजन प्राप्त करने के लिए एक राउंडिंग प्रक्रिया की आवश्यकता होती है। Goemans और विलियमसन बस मूल के माध्यम से एक समान रूप से यादृच्छिक हाइपरप्लेन चुनते हैं और हाइपरप्लेन के किस तरफ संबंधित सदिश झूठ बोलते हैं, इसके अनुसार कोने को विभाजित करते हैं। सरल विश्लेषण से पता चलता है कि यह कार्यविधि 0.87856 - ε के अपेक्षित सन्निकटन अनुपात (प्रदर्शन गारंटी) को प्राप्त करती है। (कटे जाने का अपेक्षित मूल्य किनारे के कटने की प्रायिकता का योग है, जो कोण के समानुपाती है किनारों के अंत बिंदुओं पर सदिश के बीच . इस संभावना की तुलना , उम्मीद में अनुपात हमेशा कम से कम 0.87856 होता है।) अद्वितीय गेम अनुमान मानते हुए, यह दिखाया जा सकता है कि यह सन्निकटन अनुपात अनिवार्य रूप से इष्टतम है।
Goemans और विलियमसन के मूल पेपर के बाद से, SDPs को कई सन्निकटन एल्गोरिदम विकसित करने के लिए लागू किया गया है। हाल ही में, प्रसाद राघवेंद्र ने अद्वितीय गेम अनुमान के आधार पर बाधा संतुष्टि समस्याओं के लिए एक सामान्य रूपरेखा विकसित की है।[3]
एल्गोरिदम
SDP को हल करने के लिए कई प्रकार के एल्गोरिदम हैं। ये एल्गोरिदम SDP के मूल्य को एक योगात्मक त्रुटि तक आउटपुट करते हैं उस समय में जो प्रोग्राम विवरण आकार में बहुपद है और .
फेशियल रिडक्शन एल्गोरिदम भी हैं जिनका उपयोग समस्या की बाधाओं का निरीक्षण करके SDP समस्याओं को प्रीप्रोसेस करने के लिए किया जा सकता है। इनका उपयोग सख्त व्यवहार्यता की कमी का पता लगाने, अनावश्यक पंक्तियों और स्तंभों को हटाने और चर आव्यूह के आकार को कम करने के लिए भी किया जा सकता है।[4]
आंतरिक बिंदु तरीके
अधिकांश कोड आंतरिक बिंदु विधियों (CSDP, MOSEK, SeDuMi, SDPT3, DSDP, SDPA) पर आधारित होते हैं। सामान्य रेखीय SDP समस्याओं के लिए मजबूत और कुशल। इस तथ्य से प्रतिबंधित है कि एल्गोरिदम दूसरे क्रम के तरीके हैं और एक बड़े (और प्रायः घने) आव्यूह को स्टोर और फ़ैक्टराइज़ करने की आवश्यकता होती है। सैद्धांतिक रूप से, अत्याधुनिक उच्च सटीकता SDP एल्गोरिदम[5][6] इस दृष्टिकोण पर आधारित हैं।
पहले क्रम के तरीके
शांकव अनुकूलन के लिए प्रथम-क्रम के तरीके एक बड़े हेसियन आव्यूह की गणना, भंडारण और गुणनखंडन से बचते हैं और आंतरिक बिंदु विधियों की तुलना में सटीकता में कुछ लागत पर बहुत बड़ी समस्याओं को मापते हैं। स्प्लिटिंग कोन सॉल्वर (SCS) में एक प्रथम-क्रम विधि लागू की गई है।[7] एक अन्य प्रथम-क्रम विधि गुणक (एडीएमएम) की वैकल्पिक दिशा विधि है।[8] इस विधि के लिए प्रत्येक चरण में अर्ध-निश्चित आव्यूह के शंकु पर प्रक्षेपण की आवश्यकता होती है।
बंडल विधि
कोड कॉनिकबंडल SDP समस्या को एक गैर-चिकनी अनुकूलन समस्या के रूप में तैयार करता है और इसे गैर-चिकनी अनुकूलन के स्पेक्ट्रल बंडल विधि द्वारा हल करता है। रैखिक SDP समस्याओं के एक विशेष वर्ग के लिए यह दृष्टिकोण बहुत कुशल है।
अन्य हल करने के तरीके
संवर्धित Lagrangian विधि (PENSDP) पर आधारित एल्गोरिदम व्यवहार में आंतरिक बिंदु विधियों के समान हैं और कुछ बहुत बड़े पैमाने की समस्याओं के लिए विशिष्ट हो सकते हैं। अन्य एल्गोरिदम एक गैर-रैखिक क्रमादेशन समस्या (SDPएलआर) के रूप में SDP के निम्न-श्रेणी की जानकारी और सुधार का उपयोग करते हैं।[9]
अनुमानित तरीके
SDP को लगभग हल करने वाले एल्गोरिद्म भी प्रस्तावित किए गए हैं। ऐसे तरीकों का मुख्य लक्ष्य उन अनुप्रयोगों में कम जटिलता प्राप्त करना है जहां अनुमानित समाधान पर्याप्त हैं और जटिलता न्यूनतम होनी चाहिए। मल्टीपल-इनपुट मल्टीपल-आउटपुट (MIMO) वायरलेस सिस्टम में डेटा का पता लगाने के लिए इस्तेमाल की जाने वाली एक प्रमुख विधि त्रिकोणीय अनुमानित SEmidefinite रिलैक्सेशन (TASER) है।[10] जो अर्ध-निश्चित आव्यूह के स्थान पर अर्ध-निश्चित आव्यूह के चोल्स्की अपघटन कारकों पर संचालित होता है। यह विधि अधिकतम-कट-जैसी समस्या के लिए अनुमानित समाधानों की गणना करती है जो प्रायः सटीक सॉल्वरों के समाधानों के बराबर होती हैं लेकिन केवल 10-20 एल्गोरिथम पुनरावृत्तियों में।
अनुप्रयोग
कॉम्बीनेटरियल ऑप्टिमाइज़ेशन समस्याओं के अनुमानित समाधान खोजने के लिए अर्धनिश्चित क्रमादेशन को लागू किया गया है, जैसे अधिकतम कट समस्या का समाधान 0.87856 के अनुमानित अनुपात के साथ। SDP का उपयोग ज्योमेट्री में टेंग्रिटी ग्राफ निर्धारित करने के लिए भी किया जाता है, और रैखिक आव्यूह असमानता के रूप में नियंत्रण सिद्धांत में उत्पन्न होता है, और उलटा अण्डाकार गुणांक समस्याओं में उत्तल, गैर-रैखिक, अर्ध-निश्चितता बाधाओं के रूप में होता है।[11] अनुरूप बूटस्ट्रैप के साथ अनुरूप क्षेत्र सिद्धांत को विवश करने के लिए भौतिकी में भी इसका व्यापक रूप से उपयोग किया जाता है।[12]
संदर्भ
- ↑ Ramana, Motakuri V. (1997). "An exact duality theory for semidefinite programming and its complexity implications". Mathematical Programming (in English). 77 (1): 129–162. doi:10.1007/BF02614433. ISSN 0025-5610. S2CID 12886462.
- ↑ Vandenberghe, Lieven; Boyd, Stephen (1996). "Semidefinite Programming". SIAM Review (in English). 38 (1): 49–95. doi:10.1137/1038003. ISSN 0036-1445.
- ↑ Raghavendra, Prasad (2008). "Optimal algorithms and inapproximability results for every CSP?". Proceedings of the fortieth annual ACM symposium on Theory of computing. pp. 245–254. doi:10.1145/1374376.1374414. ISBN 9781605580470. S2CID 15075197.
- ↑ Zhu, Yuzixuan; Pataki, Gábor; Tran-Dinh, Quoc (2019), "Sieve-SDP: a simple facial reduction algorithm to preprocess semidefinite programs", Mathematical Programming Computation (in English), 11 (3): 503–586, arXiv:1710.08954, doi:10.1007/s12532-019-00164-4, ISSN 1867-2949, S2CID 53645581
- ↑ Jiang, Haotian; Kathuria, Tarun; Lee, Yin Tat; Padmanabhan, Swati; Song, Zhao (November 2020). "A Faster Interior Point Method for Semidefinite Programming". 2020 IEEE 61st Annual Symposium on Foundations of Computer Science (FOCS). Durham, NC, USA: IEEE: 910–918. arXiv:2009.10217. doi:10.1109/FOCS46700.2020.00089. ISBN 978-1-7281-9621-3. S2CID 221836388.
- ↑ Huang, Baihe; Jiang, Shunhua; Song, Zhao; Tao, Runzhou; Zhang, Ruizhe (2021-11-18). "Solving SDP Faster: A Robust IPM Framework and Efficient Implementation". arXiv:2101.08208 [math.OC].
- ↑ Brendan O'Donoghue, Eric Chu, Neal Parikh, Stephen Boyd, "Conic Optimization via Operator Splitting and Homogeneous Self-Dual Embedding", Journal of Optimization Theory and Applications, 2016, pp 1042--1068, https://web.stanford.edu/~boyd/papers/pdf/scs.pdf.
- ↑ Wen, Zaiwen, Donald Goldfarb, and Wotao Yin. "Alternating direction augmented Lagrangian methods for semidefinite programming." Mathematical Programming Computation 2.3-4 (2010): 203-230.
- ↑ Burer, Samuel; Monteiro, Renato D. C. (2003), "A nonlinear programming algorithm for solving semidefinite programs via low-rank factorization", Mathematical Programming (in English), 95 (2): 329–357, CiteSeerX 10.1.1.682.1520, doi:10.1007/s10107-002-0352-8, ISSN 1436-4646, S2CID 7691228
- ↑ Castañeda, O.; Goldstein, T.; Studer, C. (December 2016). "Data Detection in Large Multi-Antenna Wireless Systems via Approximate Semidefinite Relaxation". IEEE Transactions on Circuits and Systems I: Regular Papers. 63 (12): 2334–2346. arXiv:1609.01797. doi:10.1109/TCSI.2016.2607198. hdl:20.500.11850/448631. ISSN 1558-0806.
- ↑ Harrach, Bastian (2021), "Solving an inverse elliptic coefficient problem by convex non-linear semidefinite programming", Optimization Letters (in English), 16 (5): 1599–1609, arXiv:2105.11440, doi:10.1007/s11590-021-01802-4, S2CID 235166806
- ↑ Simmons-Duffin, David (2015-02-06). "A Semidefinite Program Solver for the Conformal Bootstrap". arXiv:1502.02033 [hep-th].
- Lieven Vandenberghe, Stephen Boyd, "Semidefinite Programming", SIAM Review 38, March 1996, pp. 49–95. pdf
- Monique Laurent, Franz Rendl, "Semidefinite Programming and Integer Programming", Report PNA-R0210, CWI, Amsterdam, April 2002. optimization-online
- E. de Klerk, "Aspects of Semidefinite Programming: Interior Point Algorithms and Selected Applications", Kluwer Academic Publishers, March 2002, ISBN 1-4020-0547-4.
- Robert M. Freund, "Introduction to Semidefinite Programming (SDP), SDP-Introduction
बाहरी संबंध
- Links to introductions and events in the field
- Lecture notes from László Lovász on Semidefinite Programming
| group5 = Metaheuristics | abbr5 = heuristic | list5 =
| below =
}} | group5 =Metaheuuristic |abbr5 = heuristic | list5 =*विकासवादी एल्गोरिथ्म
| below =* सॉफ्टवेयर
}}