प्रतिबंधित अनुकूलन: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Optimizing objective functions that have constrained variables}} गणितीय अनुकूलन में, प्रतिबंधित अ...")
 
No edit summary
Line 1: Line 1:
{{Short description|Optimizing objective functions that have constrained variables}}
{{Short description|Optimizing objective functions that have constrained variables}}
[[गणितीय अनुकूलन]] में, प्रतिबंधित अनुकूलन (कुछ संदर्भों में बाधा अनुकूलन कहा जाता है) उन चर पर [[बाधा (गणित)]] की उपस्थिति में कुछ [[चर (गणित)]] के संबंध में एक उद्देश्य फ़ंक्शन को अनुकूलित करने की प्रक्रिया है। उद्देश्य फ़ंक्शन या तो एक हानि फ़ंक्शन या [[ऊर्जा समारोह]] है, जिसे [[मैक्सिमा और मिनिमा]] होना है, या एक इनाम फ़ंक्शन या उपयोगिता फ़ंक्शन है, जिसे [[अधिकतम]] किया जाना है। बाधाएं या तो कठोर बाधाएं हो सकती हैं, जो संतुष्ट होने के लिए आवश्यक चर के लिए शर्तें निर्धारित करती हैं, या नरम बाधाएं, जिनमें कुछ परिवर्तनीय मान होते हैं जिन्हें उद्देश्य फ़ंक्शन में दंडित किया जाता है, और उस सीमा के आधार पर, चर पर स्थितियां संतुष्ट नहीं होती हैं।
[[गणितीय अनुकूलन]] में, प्रतिबंधित अनुकूलन (कुछ संदर्भों में बाधा अनुकूलन कहा जाता है) उन चर पर [[बाधा (गणित)]] की उपस्थिति में कुछ [[चर (गणित)]] के संबंध में उद्देश्य फ़ंक्शन को अनुकूलित करने की प्रक्रिया है। उद्देश्य फ़ंक्शन या तो हानि फ़ंक्शन या [[ऊर्जा समारोह]] है, जिसे [[मैक्सिमा और मिनिमा]] होना है, या इनाम फ़ंक्शन या उपयोगिता फ़ंक्शन है, जिसे [[अधिकतम]] किया जाना है। बाधाएं या तो कठोर बाधाएं हो सकती हैं, जो संतुष्ट होने के लिए आवश्यक चर के लिए शर्तें निर्धारित करती हैं, या नरम बाधाएं, जिनमें कुछ परिवर्तनीय मान होते हैं जिन्हें उद्देश्य फ़ंक्शन में दंडित किया जाता है, और उस सीमा के आधार पर, चर पर स्थितियां संतुष्ट नहीं होती हैं।


== [[बाधा-संतुष्टि समस्या]]ओं से संबंध ==
== [[बाधा-संतुष्टि समस्या]]ओं से संबंध ==


विवश-अनुकूलन समस्या (सीओपी) क्लासिक बाधा-संतुष्टि समस्या (सीएसपी) मॉडल का एक महत्वपूर्ण सामान्यीकरण है।<ref>{{Citation|last1=Rossi|first1=Francesca|title=Chapter 1 – Introduction|date=2006-01-01|url=http://www.sciencedirect.com/science/article/pii/S1574652606800052|work=Foundations of Artificial Intelligence|volume=2|pages=3–12|editor-last=Rossi|editor-first=Francesca|series=Handbook of Constraint Programming|publisher=Elsevier|doi=10.1016/s1574-6526(06)80005-2|access-date=2019-10-04|last2=van Beek|first2=Peter|last3=Walsh|first3=Toby|editor2-last=van Beek|editor2-first=Peter|editor3-last=Walsh|editor3-first=Toby}}</ref> सीओपी एक सीएसपी है जिसमें अनुकूलित किया जाने वाला एक उद्देश्य फ़ंक्शन शामिल है। अनुकूलन भाग को संभालने के लिए कई एल्गोरिदम का उपयोग किया जाता है।
विवश-अनुकूलन समस्या (सीओपी) क्लासिक बाधा-संतुष्टि समस्या (सीएसपी) मॉडल का महत्वपूर्ण सामान्यीकरण है।<ref>{{Citation|last1=Rossi|first1=Francesca|title=Chapter 1 – Introduction|date=2006-01-01|url=http://www.sciencedirect.com/science/article/pii/S1574652606800052|work=Foundations of Artificial Intelligence|volume=2|pages=3–12|editor-last=Rossi|editor-first=Francesca|series=Handbook of Constraint Programming|publisher=Elsevier|doi=10.1016/s1574-6526(06)80005-2|access-date=2019-10-04|last2=van Beek|first2=Peter|last3=Walsh|first3=Toby|editor2-last=van Beek|editor2-first=Peter|editor3-last=Walsh|editor3-first=Toby}}</ref> सीओपी सीएसपी है जिसमें अनुकूलित किया जाने वाला उद्देश्य फ़ंक्शन शामिल है। अनुकूलन भाग को संभालने के लिए कई एल्गोरिदम का उपयोग किया जाता है।


==सामान्य प्रपत्र==
==सामान्य प्रपत्र==
Line 18: Line 18:
कहाँ <math> g_i(\mathbf{x}) = c_i ~\mathrm{for~} i=1,\ldots,n </math> और <math> h_j(\mathbf{x}) \ge d_j ~\mathrm{for~} j=1,\ldots,m  </math> वे बाधाएं हैं जिन्हें संतुष्ट करना आवश्यक है (इन्हें बाधा (गणित)#कठोर और नरम बाधाएं कहा जाता है), और <math>f(\mathbf{x})</math> वस्तुनिष्ठ कार्य है जिसे बाधाओं के अधीन अनुकूलित करने की आवश्यकता है।
कहाँ <math> g_i(\mathbf{x}) = c_i ~\mathrm{for~} i=1,\ldots,n </math> और <math> h_j(\mathbf{x}) \ge d_j ~\mathrm{for~} j=1,\ldots,m  </math> वे बाधाएं हैं जिन्हें संतुष्ट करना आवश्यक है (इन्हें बाधा (गणित)#कठोर और नरम बाधाएं कहा जाता है), और <math>f(\mathbf{x})</math> वस्तुनिष्ठ कार्य है जिसे बाधाओं के अधीन अनुकूलित करने की आवश्यकता है।


कुछ समस्याओं में, जिन्हें अक्सर बाधा अनुकूलन समस्याएं कहा जाता है, उद्देश्य फ़ंक्शन वास्तव में लागत कार्यों का योग होता है, जिनमें से प्रत्येक उस सीमा (यदि कोई हो) को दंडित करता है, जिसके लिए एक बाधा (गणित) # हार्ड और सॉफ्ट बाधाएं (एक बाधा जिसे प्राथमिकता दी जाती है लेकिन संतुष्ट होने की आवश्यकता नहीं होती है) का उल्लंघन किया जाता है।
कुछ समस्याओं में, जिन्हें अक्सर बाधा अनुकूलन समस्याएं कहा जाता है, उद्देश्य फ़ंक्शन वास्तव में लागत कार्यों का योग होता है, जिनमें से प्रत्येक उस सीमा (यदि कोई हो) को दंडित करता है, जिसके लिए बाधा (गणित) # हार्ड और सॉफ्ट बाधाएं (एक बाधा जिसे प्राथमिकता दी जाती है लेकिन संतुष्ट होने की आवश्यकता नहीं होती है) का उल्लंघन किया जाता है।


==समाधान के तरीके==
==समाधान के तरीके==
Line 29: Line 29:
====प्रतिस्थापन विधि====
====प्रतिस्थापन विधि====


बहुत ही सरल समस्याओं के लिए, मान लें कि एकल समानता बाधा के अधीन दो चर का एक फ़ंक्शन, प्रतिस्थापन की विधि को लागू करना सबसे व्यावहारिक है।<ref>{{cite book |first=Mike |last=Prosser |title=अर्थशास्त्रियों के लिए बुनियादी गणित|location=New York |publisher=Routledge |year=1993 |isbn=0-415-08424-5 |chapter=Constrained Optimization by Substitution |pages=338–346 }}</ref> विचार एक फ़ंक्शन संरचना बनाने के लिए उद्देश्य फ़ंक्शन में बाधा को प्रतिस्थापित करने का है जो बाधा के प्रभाव को शामिल करता है। उदाहरण के लिए, मान लें कि उद्देश्य अधिकतम करना है <math>f(x,y) = x \cdot y</math> का विषय है <math>x + y = 10</math>. बाधा का तात्पर्य है <math>y = 10 - x</math>, जिसे बनाने के उद्देश्य फ़ंक्शन में प्रतिस्थापित किया जा सकता है <math>p(x) = x (10 - x) = 10x - x^{2}</math>. प्रथम-क्रम आवश्यक शर्त देता है <math>\frac{\partial p}{\partial x} = 10 - 2x = 0</math>, जिसका समाधान किया जा सकता है <math>x=5</math> और इसके परिणामस्वरूप, <math>y = 10 - 5 = 5</math>.
बहुत ही सरल समस्याओं के लिए, मान लें कि एकल समानता बाधा के अधीन दो चर का फ़ंक्शन, प्रतिस्थापन की विधि को लागू करना सबसे व्यावहारिक है।<ref>{{cite book |first=Mike |last=Prosser |title=अर्थशास्त्रियों के लिए बुनियादी गणित|location=New York |publisher=Routledge |year=1993 |isbn=0-415-08424-5 |chapter=Constrained Optimization by Substitution |pages=338–346 }}</ref> विचार फ़ंक्शन संरचना बनाने के लिए उद्देश्य फ़ंक्शन में बाधा को प्रतिस्थापित करने का है जो बाधा के प्रभाव को शामिल करता है। उदाहरण के लिए, मान लें कि उद्देश्य अधिकतम करना है <math>f(x,y) = x \cdot y</math> का विषय है <math>x + y = 10</math>. बाधा का तात्पर्य है <math>y = 10 - x</math>, जिसे बनाने के उद्देश्य फ़ंक्शन में प्रतिस्थापित किया जा सकता है <math>p(x) = x (10 - x) = 10x - x^{2}</math>. प्रथम-क्रम आवश्यक शर्त देता है <math>\frac{\partial p}{\partial x} = 10 - 2x = 0</math>, जिसका समाधान किया जा सकता है <math>x=5</math> और इसके परिणामस्वरूप, <math>y = 10 - 5 = 5</math>.


====लैग्रेंज गुणक====
====लैग्रेंज गुणक====
{{main|Lagrange multipliers}}
{{main|Lagrange multipliers}}
यदि बाधित समस्या में केवल समानता की बाधाएं हैं, तो [[लैग्रेंज गुणक]] की विधि का उपयोग इसे एक अप्रतिबंधित समस्या में बदलने के लिए किया जा सकता है, जिसके चर की संख्या चर की मूल संख्या और समानता बाधाओं की मूल संख्या है। वैकल्पिक रूप से, यदि बाधाएं सभी समानता बाधाएं हैं और सभी रैखिक हैं, तो उन्हें कुछ चर के लिए दूसरों के संदर्भ में हल किया जा सकता है, और पूर्व को उद्देश्य फ़ंक्शन से प्रतिस्थापित किया जा सकता है, जिससे कम संख्या में चर में एक अप्रतिबंधित समस्या रह जाती है।
यदि बाधित समस्या में केवल समानता की बाधाएं हैं, तो [[लैग्रेंज गुणक]] की विधि का उपयोग इसे अप्रतिबंधित समस्या में बदलने के लिए किया जा सकता है, जिसके चर की संख्या चर की मूल संख्या और समानता बाधाओं की मूल संख्या है। वैकल्पिक रूप से, यदि बाधाएं सभी समानता बाधाएं हैं और सभी रैखिक हैं, तो उन्हें कुछ चर के लिए दूसरों के संदर्भ में हल किया जा सकता है, और पूर्व को उद्देश्य फ़ंक्शन से प्रतिस्थापित किया जा सकता है, जिससे कम संख्या में चर में अप्रतिबंधित समस्या रह जाती है।


===असमानता बाधाएं===
===असमानता बाधाएं===
Line 41: Line 41:
====[[रैखिक प्रोग्रामिंग]]====
====[[रैखिक प्रोग्रामिंग]]====


यदि उद्देश्य फ़ंक्शन और सभी कठिन बाधाएं रैखिक हैं और कुछ कठिन बाधाएं असमानताएं हैं, तो समस्या एक रैखिक प्रोग्रामिंग समस्या है। इसे सिंप्लेक्स विधि द्वारा हल किया जा सकता है, जो आमतौर पर समस्या के आकार में बहुपद समय में काम करता है लेकिन इसकी गारंटी नहीं है, या [[आंतरिक बिंदु विधि]]यों द्वारा जो बहुपद समय में काम करने की गारंटी देता है।
यदि उद्देश्य फ़ंक्शन और सभी कठिन बाधाएं रैखिक हैं और कुछ कठिन बाधाएं असमानताएं हैं, तो समस्या रैखिक प्रोग्रामिंग समस्या है। इसे सिंप्लेक्स विधि द्वारा हल किया जा सकता है, जो आमतौर पर समस्या के आकार में बहुपद समय में काम करता है लेकिन इसकी गारंटी नहीं है, या [[आंतरिक बिंदु विधि]]यों द्वारा जो बहुपद समय में काम करने की गारंटी देता है।


====[[अरेखीय प्रोग्रामिंग]]====
====[[अरेखीय प्रोग्रामिंग]]====


यदि उद्देश्य फ़ंक्शन या कुछ बाधाएँ अरेखीय हैं, और कुछ बाधाएँ असमानताएँ हैं, तो समस्या एक अरेखीय प्रोग्रामिंग समस्या है।
यदि उद्देश्य फ़ंक्शन या कुछ बाधाएँ अरेखीय हैं, और कुछ बाधाएँ असमानताएँ हैं, तो समस्या अरेखीय प्रोग्रामिंग समस्या है।


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


यदि सभी कठिन बाधाएं रैखिक हैं और कुछ असमानताएं हैं, लेकिन उद्देश्य फ़ंक्शन द्विघात है, तो समस्या एक द्विघात प्रोग्रामिंग समस्या है। यह एक प्रकार की नॉनलाइनियर प्रोग्रामिंग है। यदि उद्देश्य फलन उत्तल फलन है तो इसे अभी भी दीर्घवृत्त विधि द्वारा बहुपद समय में हल किया जा सकता है; अन्यथा समस्या [[एनपी कठिन]] हो सकती है।
यदि सभी कठिन बाधाएं रैखिक हैं और कुछ असमानताएं हैं, लेकिन उद्देश्य फ़ंक्शन द्विघात है, तो समस्या द्विघात प्रोग्रामिंग समस्या है। यह प्रकार की नॉनलाइनियर प्रोग्रामिंग है। यदि उद्देश्य फलन उत्तल फलन है तो इसे अभी भी दीर्घवृत्त विधि द्वारा बहुपद समय में हल किया जा सकता है; अन्यथा समस्या [[एनपी कठिन]] हो सकती है।


====केकेटी शर्तें====
====केकेटी शर्तें====
Line 63: Line 63:
दूसरी ओर, यह अनुमानित लागत उस प्रभावी लागत से कम नहीं हो सकती है जो समाधान का विस्तार करके प्राप्त की जा सकती है, अन्यथा एल्गोरिदम पीछे हट सकता है जबकि अब तक पाए गए सर्वोत्तम समाधान से बेहतर समाधान मौजूद है। परिणामस्वरूप, एल्गोरिदम को लागत पर ऊपरी सीमा की आवश्यकता होती है जो आंशिक समाधान का विस्तार करके प्राप्त की जा सकती है, और यह ऊपरी सीमा यथासंभव छोटी होनी चाहिए।
दूसरी ओर, यह अनुमानित लागत उस प्रभावी लागत से कम नहीं हो सकती है जो समाधान का विस्तार करके प्राप्त की जा सकती है, अन्यथा एल्गोरिदम पीछे हट सकता है जबकि अब तक पाए गए सर्वोत्तम समाधान से बेहतर समाधान मौजूद है। परिणामस्वरूप, एल्गोरिदम को लागत पर ऊपरी सीमा की आवश्यकता होती है जो आंशिक समाधान का विस्तार करके प्राप्त की जा सकती है, और यह ऊपरी सीमा यथासंभव छोटी होनी चाहिए।


इस दृष्टिकोण का एक रूपांतर जिसे हेन्सन विधि कहा जाता है, अंतराल अंकगणित#इतिहास का उपयोग करता है।<ref>{{cite book |last=Leader|first=Jeffery J. | title=संख्यात्मक विश्लेषण और वैज्ञानिक संगणना|year=2004|publisher=Addison Wesley |isbn= 0-201-73499-0 }}</ref> यह स्वाभाविक रूप से आयताकार बाधाओं को लागू करता है।
इस दृष्टिकोण का रूपांतर जिसे हेन्सन विधि कहा जाता है, अंतराल अंकगणित#इतिहास का उपयोग करता है।<ref>{{cite book |last=Leader|first=Jeffery J. | title=संख्यात्मक विश्लेषण और वैज्ञानिक संगणना|year=2004|publisher=Addison Wesley |isbn= 0-201-73499-0 }}</ref> यह स्वाभाविक रूप से आयताकार बाधाओं को लागू करता है।


====पहली पसंद बाउंडिंग फ़ंक्शन====
====पहली पसंद बाउंडिंग फ़ंक्शन====


आंशिक समाधान के लिए इस ऊपरी सीमा का मूल्यांकन करने का एक तरीका प्रत्येक नरम बाधा पर अलग से विचार करना है। प्रत्येक सॉफ्ट बाधा के लिए, अनअसाइन्ड वेरिएबल्स के किसी भी असाइनमेंट के लिए अधिकतम संभव मान माना जाता है। इन मूल्यों का योग एक ऊपरी सीमा है क्योंकि नरम बाधाएं उच्च मूल्य नहीं मान सकती हैं। यह सटीक है क्योंकि नरम बाधाओं के अधिकतम मूल्य विभिन्न मूल्यांकनों से प्राप्त हो सकते हैं: एक नरम बाधा अधिकतम हो सकती है <math>x=a</math> जबकि एक अन्य बाधा अधिकतम है <math>x=b</math>.
आंशिक समाधान के लिए इस ऊपरी सीमा का मूल्यांकन करने का तरीका प्रत्येक नरम बाधा पर अलग से विचार करना है। प्रत्येक सॉफ्ट बाधा के लिए, अनअसाइन्ड वेरिएबल्स के किसी भी असाइनमेंट के लिए अधिकतम संभव मान माना जाता है। इन मूल्यों का योग ऊपरी सीमा है क्योंकि नरम बाधाएं उच्च मूल्य नहीं मान सकती हैं। यह सटीक है क्योंकि नरम बाधाओं के अधिकतम मूल्य विभिन्न मूल्यांकनों से प्राप्त हो सकते हैं: नरम बाधा अधिकतम हो सकती है <math>x=a</math> जबकि अन्य बाधा अधिकतम है <math>x=b</math>.


=====रूसी गुड़िया खोज=====
=====रूसी गुड़िया खोज=====


यह विधि<ref>Verfaillie, Gérard, Michel Lemaître, and Thomas Schiex. "[https://web.archive.org/web/20180616030142/https://pdfs.semanticscholar.org/c83b/19ca9cc73aefb1a9e7b4780ba161b2149a03.pdf Russian doll search for solving constraint optimization problems]." AAAI/IAAI, Vol. 1. 1996.</ref> एक ब्रांच-एंड-बाउंड एल्गोरिदम चलाता है <math>n</math> समस्याएं, कहां <math>n</math> चरों की संख्या है. ऐसी प्रत्येक समस्या चरों के अनुक्रम को छोड़ने से प्राप्त उपसमस्या है <math>x_1,\ldots,x_i</math> मूल समस्या से, साथ ही उनमें मौजूद बाधाओं से। चर पर समस्या के बाद <math>x_{i+1},\ldots,x_n</math> हल हो जाने पर, इसकी इष्टतम लागत को अन्य समस्याओं को हल करते समय ऊपरी सीमा के रूप में उपयोग किया जा सकता है,
यह विधि<ref>Verfaillie, Gérard, Michel Lemaître, and Thomas Schiex. "[https://web.archive.org/web/20180616030142/https://pdfs.semanticscholar.org/c83b/19ca9cc73aefb1a9e7b4780ba161b2149a03.pdf Russian doll search for solving constraint optimization problems]." AAAI/IAAI, Vol. 1. 1996.</ref> ब्रांच-एंड-बाउंड एल्गोरिदम चलाता है <math>n</math> समस्याएं, कहां <math>n</math> चरों की संख्या है. ऐसी प्रत्येक समस्या चरों के अनुक्रम को छोड़ने से प्राप्त उपसमस्या है <math>x_1,\ldots,x_i</math> मूल समस्या से, साथ ही उनमें मौजूद बाधाओं से। चर पर समस्या के बाद <math>x_{i+1},\ldots,x_n</math> हल हो जाने पर, इसकी इष्टतम लागत को अन्य समस्याओं को हल करते समय ऊपरी सीमा के रूप में उपयोग किया जा सकता है,


विशेष रूप से, किसी समाधान की लागत का अनुमान <math>x_{i+1},\ldots,x_n</math> चूंकि असाइन किए गए चर को उस लागत में जोड़ा जाता है जो मूल्यांकन किए गए चर से प्राप्त होती है। वस्तुतः, यह मूल्यांकन किए गए चरों को अनदेखा करने और असाइन न किए गए चरों पर समस्या को हल करने के अनुरूप है, सिवाय इसके कि बाद वाली समस्या पहले ही हल हो चुकी है। अधिक सटीक रूप से, असाइन किए गए और अनअसाइन किए गए दोनों चर वाले नरम बाधाओं की लागत का अनुमान ऊपर दिया गया है (या एक मनमाने ढंग से अन्य विधि का उपयोग करके); इसके बजाय केवल अनिर्धारित चर वाले नरम बाधाओं की लागत का अनुमान संबंधित समस्या के इष्टतम समाधान का उपयोग करके लगाया जाता है, जो इस बिंदु पर पहले से ही ज्ञात है।
विशेष रूप से, किसी समाधान की लागत का अनुमान <math>x_{i+1},\ldots,x_n</math> चूंकि असाइन किए गए चर को उस लागत में जोड़ा जाता है जो मूल्यांकन किए गए चर से प्राप्त होती है। वस्तुतः, यह मूल्यांकन किए गए चरों को अनदेखा करने और असाइन न किए गए चरों पर समस्या को हल करने के अनुरूप है, सिवाय इसके कि बाद वाली समस्या पहले ही हल हो चुकी है। अधिक सटीक रूप से, असाइन किए गए और अनअसाइन किए गए दोनों चर वाले नरम बाधाओं की लागत का अनुमान ऊपर दिया गया है (या मनमाने ढंग से अन्य विधि का उपयोग करके); इसके बजाय केवल अनिर्धारित चर वाले नरम बाधाओं की लागत का अनुमान संबंधित समस्या के इष्टतम समाधान का उपयोग करके लगाया जाता है, जो इस बिंदु पर पहले से ही ज्ञात है।


रूसी गुड़िया खोज पद्धति और [[गतिशील प्रोग्रामिंग]] के बीच समानता है। गतिशील प्रोग्रामिंग की तरह, रूसी गुड़िया खोज पूरी समस्या को हल करने के लिए उप-समस्याओं को हल करती है। लेकिन, जबकि डायनामिक प्रोग्रामिंग
रूसी गुड़िया खोज पद्धति और [[गतिशील प्रोग्रामिंग]] के बीच समानता है। गतिशील प्रोग्रामिंग की तरह, रूसी गुड़िया खोज पूरी समस्या को हल करने के लिए उप-समस्याओं को हल करती है। लेकिन, जबकि डायनामिक प्रोग्रामिंग
Line 80: Line 80:
====[[बाल्टी उन्मूलन]]====
====[[बाल्टी उन्मूलन]]====


बकेट एलिमिनेशन एल्गोरिदम को बाधा अनुकूलन के लिए अनुकूलित किया जा सकता है। किसी दिए गए वेरिएबल को वास्तव में सभी नरम बाधाओं को एक नए नरम बाधा के साथ प्रतिस्थापित करके समस्या से हटाया जा सकता है। इस नई बाधा की लागत की गणना हटाए गए चर के प्रत्येक मान के लिए अधिकतम मान मानकर की जाती है। औपचारिक रूप से, यदि <math>x</math> क्या वेरिएबल को हटाया जाना है, <math>C_1,\ldots,C_n</math> इसमें शामिल नरम बाधाएं हैं, और <math>y_1,\ldots,y_m</math> सिवाय उनके चर हैं <math>x</math>, नई नरम बाधा द्वारा परिभाषित किया गया है:
बकेट एलिमिनेशन एल्गोरिदम को बाधा अनुकूलन के लिए अनुकूलित किया जा सकता है। किसी दिए गए वेरिएबल को वास्तव में सभी नरम बाधाओं को नए नरम बाधा के साथ प्रतिस्थापित करके समस्या से हटाया जा सकता है। इस नई बाधा की लागत की गणना हटाए गए चर के प्रत्येक मान के लिए अधिकतम मान मानकर की जाती है। औपचारिक रूप से, यदि <math>x</math> क्या वेरिएबल को हटाया जाना है, <math>C_1,\ldots,C_n</math> इसमें शामिल नरम बाधाएं हैं, और <math>y_1,\ldots,y_m</math> सिवाय उनके चर हैं <math>x</math>, नई नरम बाधा द्वारा परिभाषित किया गया है:
<!-- not exactly the correct notation, but clear enough -->
<!-- not exactly the correct notation, but clear enough -->
:<math>C(y_1=a_1,\ldots,y_n=a_n) = \max_a \sum_i C_i(x=a,y_1=a_1,\ldots,y_n=a_n).</math>
:<math>C(y_1=a_1,\ldots,y_n=a_n) = \max_a \sum_i C_i(x=a,y_1=a_1,\ldots,y_n=a_n).</math>
बकेट एलिमिनेशन वेरिएबल्स के (मनमाने) क्रम के साथ काम करता है। प्रत्येक चर बाधाओं की एक श्रृंखला से जुड़ा होता है; एक वेरिएबल की बकेट में वे सभी बाधाएं होती हैं जिनमें वेरिएबल का क्रम सबसे ऊंचा होता है। बकेट एलिमिनेशन अंतिम वेरिएबल से पहले तक आगे बढ़ता है। प्रत्येक वेरिएबल के लिए, वेरिएबल को हटाने के लिए बकेट की सभी बाधाओं को ऊपर बताए अनुसार बदल दिया जाता है। परिणामी बाधा को फिर उपयुक्त बाल्टी में रखा जाता है।
बकेट एलिमिनेशन वेरिएबल्स के (मनमाने) क्रम के साथ काम करता है। प्रत्येक चर बाधाओं की श्रृंखला से जुड़ा होता है; वेरिएबल की बकेट में वे सभी बाधाएं होती हैं जिनमें वेरिएबल का क्रम सबसे ऊंचा होता है। बकेट एलिमिनेशन अंतिम वेरिएबल से पहले तक आगे बढ़ता है। प्रत्येक वेरिएबल के लिए, वेरिएबल को हटाने के लिए बकेट की सभी बाधाओं को ऊपर बताए अनुसार बदल दिया जाता है। परिणामी बाधा को फिर उपयुक्त बाल्टी में रखा जाता है।


==यह भी देखें==
==यह भी देखें==

Revision as of 21:56, 4 August 2023

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

बाधा-संतुष्टि समस्याओं से संबंध

विवश-अनुकूलन समस्या (सीओपी) क्लासिक बाधा-संतुष्टि समस्या (सीएसपी) मॉडल का महत्वपूर्ण सामान्यीकरण है।[1] सीओपी सीएसपी है जिसमें अनुकूलित किया जाने वाला उद्देश्य फ़ंक्शन शामिल है। अनुकूलन भाग को संभालने के लिए कई एल्गोरिदम का उपयोग किया जाता है।

सामान्य प्रपत्र

एक सामान्य विवश न्यूनतमकरण समस्या इस प्रकार लिखी जा सकती है:[2]

कहाँ और वे बाधाएं हैं जिन्हें संतुष्ट करना आवश्यक है (इन्हें बाधा (गणित)#कठोर और नरम बाधाएं कहा जाता है), और वस्तुनिष्ठ कार्य है जिसे बाधाओं के अधीन अनुकूलित करने की आवश्यकता है।

कुछ समस्याओं में, जिन्हें अक्सर बाधा अनुकूलन समस्याएं कहा जाता है, उद्देश्य फ़ंक्शन वास्तव में लागत कार्यों का योग होता है, जिनमें से प्रत्येक उस सीमा (यदि कोई हो) को दंडित करता है, जिसके लिए बाधा (गणित) # हार्ड और सॉफ्ट बाधाएं (एक बाधा जिसे प्राथमिकता दी जाती है लेकिन संतुष्ट होने की आवश्यकता नहीं होती है) का उल्लंघन किया जाता है।

समाधान के तरीके

कई प्रतिबंधित अनुकूलन एल्गोरिदम को अक्सर दंड पद्धति के उपयोग के माध्यम से, अप्रतिबंधित मामले में अनुकूलित किया जा सकता है। हालाँकि, अप्रतिबंधित विधि द्वारा उठाए गए खोज कदम बाधित समस्या के लिए अस्वीकार्य हो सकते हैं, जिससे अभिसरण की कमी हो सकती है। इसे मराटोस प्रभाव कहा जाता है।[3]


समानता की बाधाएं

प्रतिस्थापन विधि

बहुत ही सरल समस्याओं के लिए, मान लें कि एकल समानता बाधा के अधीन दो चर का फ़ंक्शन, प्रतिस्थापन की विधि को लागू करना सबसे व्यावहारिक है।[4] विचार फ़ंक्शन संरचना बनाने के लिए उद्देश्य फ़ंक्शन में बाधा को प्रतिस्थापित करने का है जो बाधा के प्रभाव को शामिल करता है। उदाहरण के लिए, मान लें कि उद्देश्य अधिकतम करना है का विषय है . बाधा का तात्पर्य है , जिसे बनाने के उद्देश्य फ़ंक्शन में प्रतिस्थापित किया जा सकता है . प्रथम-क्रम आवश्यक शर्त देता है , जिसका समाधान किया जा सकता है और इसके परिणामस्वरूप, .

लैग्रेंज गुणक

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

असमानता बाधाएं

असमानता की बाधाओं के साथ, समस्या को ज्यामितीय इष्टतमता स्थितियों, फ्रिट्ज़ जॉन स्थितियों और करुश-कुह्न-टकर स्थितियों के संदर्भ में वर्णित किया जा सकता है, जिसके तहत सरल समस्याएं हल हो सकती हैं।

रैखिक प्रोग्रामिंग

यदि उद्देश्य फ़ंक्शन और सभी कठिन बाधाएं रैखिक हैं और कुछ कठिन बाधाएं असमानताएं हैं, तो समस्या रैखिक प्रोग्रामिंग समस्या है। इसे सिंप्लेक्स विधि द्वारा हल किया जा सकता है, जो आमतौर पर समस्या के आकार में बहुपद समय में काम करता है लेकिन इसकी गारंटी नहीं है, या आंतरिक बिंदु विधियों द्वारा जो बहुपद समय में काम करने की गारंटी देता है।

अरेखीय प्रोग्रामिंग

यदि उद्देश्य फ़ंक्शन या कुछ बाधाएँ अरेखीय हैं, और कुछ बाधाएँ असमानताएँ हैं, तो समस्या अरेखीय प्रोग्रामिंग समस्या है।

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

यदि सभी कठिन बाधाएं रैखिक हैं और कुछ असमानताएं हैं, लेकिन उद्देश्य फ़ंक्शन द्विघात है, तो समस्या द्विघात प्रोग्रामिंग समस्या है। यह प्रकार की नॉनलाइनियर प्रोग्रामिंग है। यदि उद्देश्य फलन उत्तल फलन है तो इसे अभी भी दीर्घवृत्त विधि द्वारा बहुपद समय में हल किया जा सकता है; अन्यथा समस्या एनपी कठिन हो सकती है।

केकेटी शर्तें

असमानता की बाधाओं को दूर करते हुए, गैर-रेखीय प्रोग्रामिंग के लिए करुश-कुह्न-टकर स्थितियाँ स्थिति लैग्रेंज मल्टीप्लायरों की विधि को सामान्य बनाती है। इसे भिन्नता और उत्तलता के तहत लागू किया जा सकता है।

शाखा और सीमा

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

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

दूसरी ओर, यह अनुमानित लागत उस प्रभावी लागत से कम नहीं हो सकती है जो समाधान का विस्तार करके प्राप्त की जा सकती है, अन्यथा एल्गोरिदम पीछे हट सकता है जबकि अब तक पाए गए सर्वोत्तम समाधान से बेहतर समाधान मौजूद है। परिणामस्वरूप, एल्गोरिदम को लागत पर ऊपरी सीमा की आवश्यकता होती है जो आंशिक समाधान का विस्तार करके प्राप्त की जा सकती है, और यह ऊपरी सीमा यथासंभव छोटी होनी चाहिए।

इस दृष्टिकोण का रूपांतर जिसे हेन्सन विधि कहा जाता है, अंतराल अंकगणित#इतिहास का उपयोग करता है।[5] यह स्वाभाविक रूप से आयताकार बाधाओं को लागू करता है।

पहली पसंद बाउंडिंग फ़ंक्शन

आंशिक समाधान के लिए इस ऊपरी सीमा का मूल्यांकन करने का तरीका प्रत्येक नरम बाधा पर अलग से विचार करना है। प्रत्येक सॉफ्ट बाधा के लिए, अनअसाइन्ड वेरिएबल्स के किसी भी असाइनमेंट के लिए अधिकतम संभव मान माना जाता है। इन मूल्यों का योग ऊपरी सीमा है क्योंकि नरम बाधाएं उच्च मूल्य नहीं मान सकती हैं। यह सटीक है क्योंकि नरम बाधाओं के अधिकतम मूल्य विभिन्न मूल्यांकनों से प्राप्त हो सकते हैं: नरम बाधा अधिकतम हो सकती है जबकि अन्य बाधा अधिकतम है .

रूसी गुड़िया खोज

यह विधि[6] ब्रांच-एंड-बाउंड एल्गोरिदम चलाता है समस्याएं, कहां चरों की संख्या है. ऐसी प्रत्येक समस्या चरों के अनुक्रम को छोड़ने से प्राप्त उपसमस्या है मूल समस्या से, साथ ही उनमें मौजूद बाधाओं से। चर पर समस्या के बाद हल हो जाने पर, इसकी इष्टतम लागत को अन्य समस्याओं को हल करते समय ऊपरी सीमा के रूप में उपयोग किया जा सकता है,

विशेष रूप से, किसी समाधान की लागत का अनुमान चूंकि असाइन किए गए चर को उस लागत में जोड़ा जाता है जो मूल्यांकन किए गए चर से प्राप्त होती है। वस्तुतः, यह मूल्यांकन किए गए चरों को अनदेखा करने और असाइन न किए गए चरों पर समस्या को हल करने के अनुरूप है, सिवाय इसके कि बाद वाली समस्या पहले ही हल हो चुकी है। अधिक सटीक रूप से, असाइन किए गए और अनअसाइन किए गए दोनों चर वाले नरम बाधाओं की लागत का अनुमान ऊपर दिया गया है (या मनमाने ढंग से अन्य विधि का उपयोग करके); इसके बजाय केवल अनिर्धारित चर वाले नरम बाधाओं की लागत का अनुमान संबंधित समस्या के इष्टतम समाधान का उपयोग करके लगाया जाता है, जो इस बिंदु पर पहले से ही ज्ञात है।

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

बाल्टी उन्मूलन

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

बकेट एलिमिनेशन वेरिएबल्स के (मनमाने) क्रम के साथ काम करता है। प्रत्येक चर बाधाओं की श्रृंखला से जुड़ा होता है; वेरिएबल की बकेट में वे सभी बाधाएं होती हैं जिनमें वेरिएबल का क्रम सबसे ऊंचा होता है। बकेट एलिमिनेशन अंतिम वेरिएबल से पहले तक आगे बढ़ता है। प्रत्येक वेरिएबल के लिए, वेरिएबल को हटाने के लिए बकेट की सभी बाधाओं को ऊपर बताए अनुसार बदल दिया जाता है। परिणामी बाधा को फिर उपयुक्त बाल्टी में रखा जाता है।

यह भी देखें

संदर्भ

  1. Rossi, Francesca; van Beek, Peter; Walsh, Toby (2006-01-01), Rossi, Francesca; van Beek, Peter; Walsh, Toby (eds.), "Chapter 1 – Introduction", Foundations of Artificial Intelligence, Handbook of Constraint Programming, Elsevier, vol. 2, pp. 3–12, doi:10.1016/s1574-6526(06)80005-2, retrieved 2019-10-04
  2. Martins, J. R. R. A.; Ning, A. (2021). इंजीनियरिंग डिज़ाइन अनुकूलन (in English). Cambridge University Press. ISBN 978-1108833417.
  3. Wenyu Sun; Ya-Xiang Yuan (2010). Optimization Theory and Methods: Nonlinear Programming, Springer, ISBN 978-1441937650. p. 541
  4. Prosser, Mike (1993). "Constrained Optimization by Substitution". अर्थशास्त्रियों के लिए बुनियादी गणित. New York: Routledge. pp. 338–346. ISBN 0-415-08424-5.
  5. Leader, Jeffery J. (2004). संख्यात्मक विश्लेषण और वैज्ञानिक संगणना. Addison Wesley. ISBN 0-201-73499-0.
  6. Verfaillie, Gérard, Michel Lemaître, and Thomas Schiex. "Russian doll search for solving constraint optimization problems." AAAI/IAAI, Vol. 1. 1996.


अग्रिम पठन

| group5 = Metaheuristics | abbr5 = heuristic | list5 =

| below =

}} | group5 =Metaheuuristic |abbr5 = heuristic | list5 =*विकासवादी एल्गोरिथ्म

| below =* सॉफ्टवेयर

}}