पूर्णांक प्रोग्रामिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|A mathematical optimization problem restricted to integers}}
{{Short description|A mathematical optimization problem restricted to integers}}
एक [[पूर्णांक]] प्रोग्रामिंग समस्या एक [[गणितीय अनुकूलन]] या बाधा संतुष्टि समस्या कार्यक्रम है जिसमें कुछ या सभी चर पूर्णांकों तक सीमित हैं। कई सेटिंग्स में शब्द पूर्णांक [[रैखिक प्रोग्रामिंग]] (आईएलपी) को संदर्भित करता है, जिसमें उद्देश्य फ़ंक्शन और बाधाएं (पूर्णांक बाधाओं के अलावा) रैखिक फ़ंक्शन (कलन) हैं।
'''[[पूर्णांक]] प्रोग्रामिंग''' समस्या एक [[गणितीय अनुकूलन]] या बाधा संतुष्टि समस्या कार्यक्रम है जिसमें कुछ या सभी चर पूर्णांकों तक सीमित हैं। कई सेटिंग्स में शब्द पूर्णांक [[रैखिक प्रोग्रामिंग]] (आईएलपी) को संदर्भित करता है, जिसमें उद्देश्य फ़ंक्शन और बाधाएं (पूर्णांक बाधाओं के अतिरिक्त) रैखिक फ़ंक्शन (कलन) हैं।


पूर्णांक प्रोग्रामिंग एनपी-पूर्ण है। विशेष रूप से, 0-1 पूर्णांक रैखिक प्रोग्रामिंग का विशेष मामला, जिसमें अज्ञात बाइनरी हैं, और केवल प्रतिबंधों को संतुष्ट होना चाहिए, कार्प की 21 एनपी-पूर्ण समस्याओं में से एक है।
पूर्णांक प्रोग्रामिंग एनपी-पूर्ण है। विशेष रूप से, 0-1 पूर्णांक रैखिक प्रोग्रामिंग का विशेष स्थिति, जिसमें अज्ञात बाइनरी हैं, और एकमात्र प्रतिबंधों को संतुष्ट होना चाहिए, कार्प की 21 एनपी-पूर्ण समस्याओं में से एक है।


यदि कुछ निर्णय चर असतत नहीं हैं, तो समस्या को मिश्रित-पूर्णांक प्रोग्रामिंग समस्या के रूप में जाना जाता है।<ref>{{cite web |url=http://macc.mcmaster.ca/maccfiles/chachuatnotes/07-MILP-I_handout.pdf |title=Mixed-Integer Linear Programming (MILP): Model Formulation |access-date=16 April 2018}}</ref>
यदि कुछ निर्णय चर असतत नहीं हैं, तो समस्या को मिश्रित-पूर्णांक प्रोग्रामिंग समस्या के रूप में जाना जाता है।<ref>{{cite web |url=http://macc.mcmaster.ca/maccfiles/chachuatnotes/07-MILP-I_handout.pdf |title=Mixed-Integer Linear Programming (MILP): Model Formulation |access-date=16 April 2018}}</ref>
== आईएलपी के लिए प्रामाणिक और मानक रूप ==
== आईएलपी के लिए प्रामाणिक और मानक रूप ==


Line 16: Line 14:
& \text{and} && \mathbf{x} \in \mathbb{Z}^n,
& \text{and} && \mathbf{x} \in \mathbb{Z}^n,
\end{align} </math>
\end{align} </math>
और आईएलपी को मानक रूप में व्यक्त किया जाता है
और आई. एल. पी. को मानक रूप में व्यक्त किया जाता है


:<math> \begin{align}
:<math> \begin{align}
Line 25: Line 23:
& \text{and} && \mathbf{x} \in \mathbb{Z}^n,
& \text{and} && \mathbf{x} \in \mathbb{Z}^n,
\end{align} </math>
\end{align} </math>
कहाँ <math>\mathbf{c}\in \mathbb{R}^n, \mathbf{b} \in \mathbb{R}^m</math> वेक्टर और हैं <math>A \in \mathbb{R}^{m \times n}</math> एक मैट्रिक्स है। जैसा कि रैखिक कार्यक्रमों के साथ होता है, आईएलपी जो मानक रूप में नहीं हैं, असमानताओं को समाप्त करके, सुस्त चरों को प्रस्तुत करके सरल एल्गोरिथम  मानक रूप हो सकते हैं (<math>\mathbf{s}</math>) और वेरिएबल्स को बदलना जो साइन-बाधित नहीं हैं, दो साइन-बाधित चर के अंतर के साथ
जहाँ <math>\mathbf{c}\in \mathbb{R}^n, \mathbf{b} \in \mathbb{R}^m</math> वेक्टर और हैं <math>A \in \mathbb{R}^{m \times n}</math> एक मैट्रिक्स है। जैसा कि रैखिक कार्यक्रमों के साथ होता है, आईएलपी जो मानक रूप में नहीं हैं, असमानताओं को समाप्त करके, सुस्त चरों (<math>\mathbf{s}</math>) को प्रस्तुत करके सरल एल्गोरिथम  मानक रूप हो सकते हैं और वेरिएबल्स को बदलना जो साइन-बाधित नहीं हैं, दो साइन-बाधित चर के अंतर के साथ


== उदाहरण ==
== उदाहरण ==
Line 39: Line 37:
     \end{align}
     \end{align}
</math>
</math>
व्यवहार्य पूर्णांक बिंदुओं को लाल रंग में दिखाया गया है, और लाल धराशायी रेखाएँ उनके उत्तल पतवार को दर्शाती हैं, जो कि सबसे छोटा उत्तल पॉलीहेड्रॉन है जिसमें ये सभी बिंदु सम्मलित हैं। समन्वय अक्षों के साथ नीली रेखाएं एलपी छूट के पॉलीहेड्रॉन को परिभाषित करती हैं, जो असमानताओं द्वारा अभिन्नता बाधा के बिना दी जाती है। ऑप्टिमाइज़ेशन का लक्ष्य काली धराशायी रेखा को पॉलीहेड्रॉन को छूते हुए ऊपर की ओर ले जाना है। पूर्णांक समस्या का इष्टतम समाधान बिंदु हैं <math>(1,2)</math> और <math>(2,2)</math> जिसका दोनों का उद्देश्य मान 2 है। विश्राम का अद्वितीय इष्टतम है <math>(1.8,2.8)</math> 2.8 के उद्देश्य मूल्य के साथ। यदि छूट का समाधान निकटतम पूर्णांकों तक किया जाता है, तो यह आईएलपी के लिए संभव नहीं है।
व्यवहार्य पूर्णांक बिंदुओं को लाल रंग में दिखाया गया है, और लाल धराशायी रेखाएँ उनके उत्तल पतवार को दर्शाती हैं, जो कि सबसे छोटा उत्तल पॉलीहेड्रॉन है जिसमें ये सभी बिंदु सम्मलित हैं। समन्वय अक्षों के साथ नीली रेखाएं एलपी छूट के पॉलीहेड्रॉन को परिभाषित करती हैं, जो असमानताओं के माध्यम से अभिन्नता बाधा के बिना दी जाती है। ऑप्टिमाइज़ेशन का लक्ष्य काली धराशायी रेखा को पॉलीहेड्रॉन को छूते हुए ऊपर की ओर ले जाना है। पूर्णांक समस्या का इष्टतम समाधान बिंदु हैं <math>(1,2)</math> और <math>(2,2)</math> जिसका दोनों का उद्देश्य मान 2 है। विश्राम का अद्वितीय इष्टतम है <math>(1.8,2.8)</math> 2.8 के उद्देश्य मूल्य के साथ है। यदि छूट का समाधान निकटतम पूर्णांकों तक किया जाता है, तो यह आईएलपी के लिए संभव नहीं है।


== एनपी-कठोरता का प्रमाण ==
== एनपी-कठोरता का प्रमाण ==
Line 45: Line 43:
निम्नलिखित न्यूनतम [[वर्टेक्स कवर]] से पूर्णांक प्रोग्रामिंग में कमी है जो एनपी-कठोरता के प्रमाण के रूप में काम करेगा।
निम्नलिखित न्यूनतम [[वर्टेक्स कवर]] से पूर्णांक प्रोग्रामिंग में कमी है जो एनपी-कठोरता के प्रमाण के रूप में काम करेगा।


होने देना <math>G = (V,E)</math> एक अप्रत्यक्ष ग्राफ बनें। एक रेखीय कार्यक्रम को निम्नानुसार परिभाषित करें:
मान लीजिए  <math>G = (V,E)</math> एक अप्रत्यक्ष ग्राफ बनें। एक रेखीय कार्यक्रम को निम्नानुसार परिभाषित करें:


:<math> \begin{align}
:<math> \begin{align}
Line 53: Line 51:
       y_v & \in \mathbb{Z} && \forall v \in V
       y_v & \in \mathbb{Z} && \forall v \in V
\end{align}</math>
\end{align}</math>
यह देखते हुए कि बाधाओं की सीमा <math>y_v</math> या तो 0 या 1 के लिए, पूर्णांक प्रोग्राम का कोई भी व्यवहार्य समाधान वर्टिकल का एक सबसेट है। पहली बाधा का तात्पर्य है कि इस उपसमुच्चय में प्रत्येक किनारे का कम से कम एक अंत बिंदु सम्मलित है। इसलिए, समाधान शीर्ष आवरण का वर्णन करता है। इसके अतिरिक्त कुछ वर्टेक्स कवर C दिया गया है, <math>y_v</math> किसी के लिए 1 पर सेट किया जा सकता है <math>v\in C</math> और किसी के लिए 0 <math>v\not\in C</math> इस प्रकार हमें पूर्णांक कार्यक्रम के लिए एक व्यवहार्य समाधान प्रदान करता है। इस प्रकार हम यह निष्कर्ष निकाल सकते हैं कि यदि हम योग को कम करते हैं <math>y_v</math> हमने न्यूनतम वर्टेक्स कवर भी पाया है।<ref>{{cite web|last1=Erickson|first1=J.|title=Integer Programming Reduction|url=https://courses.engr.illinois.edu/cs498dl1/sp2015/solutions/hw10sol.pdf|year=2015|archive-url=https://web.archive.org/web/20150518072946/https://courses.engr.illinois.edu/cs498dl1/sp2015/solutions/hw10sol.pdf|archive-date=18 May 2015|url-status=dead}}</ref>
यह देखते हुए कि बाधाओं की सीमा <math>y_v</math> से या तो 0 या 1 तक, पूर्णांक प्रोग्राम का कोई भी व्यवहार्य समाधान वर्टिकल का एक सबसेट है। पहली बाधा का तात्पर्य है कि इस उपसमुच्चय में प्रत्येक किनारे का कम से कम एक अंत बिंदु सम्मलित है। इसलिए, समाधान शीर्ष आवरण का वर्णन करता है। इसके अतिरिक्त कुछ वर्टेक्स कवर C दिया गया है, <math>y_v</math> किसी के लिए 1 पर सेट किया जा सकता है <math>v\in C</math> और किसी के लिए 0 <math>v\not\in C</math> इस प्रकार हमें पूर्णांक कार्यक्रम के लिए एक व्यवहार्य समाधान प्रदान करता है। इस प्रकार हम यह निष्कर्ष निकाल सकते हैं कि यदि हम योग को कम करते हैं <math>y_v</math> हमने न्यूनतम वर्टेक्स कवर भी पाया है।<ref>{{cite web|last1=Erickson|first1=J.|title=Integer Programming Reduction|url=https://courses.engr.illinois.edu/cs498dl1/sp2015/solutions/hw10sol.pdf|year=2015|archive-url=https://web.archive.org/web/20150518072946/https://courses.engr.illinois.edu/cs498dl1/sp2015/solutions/hw10sol.pdf|archive-date=18 May 2015|url-status=dead}}</ref>
 
 
== वेरिएंट ==
== वेरिएंट ==
मिश्रित-पूर्णांक रैखिक प्रोग्रामिंग (एमआईएलपी ) में ऐसी समस्याएँ सम्मलित हैं जिनमें केवल कुछ चर, <math>x_i</math>, पूर्णांक होने के लिए विवश हैं, जबकि अन्य चरों को गैर-पूर्णांक होने की अनुमति है।
मिश्रित-पूर्णांक रैखिक प्रोग्रामिंग (एमआईएलपी ) में ऐसी समस्याएँ सम्मलित हैं जिनमें एकमात्र कुछ चर, <math>x_i</math>, पूर्णांक होने के लिए विवश हैं, चूंकि अन्य चरों को गैर-पूर्णांक होने की अनुमति है।


शून्य-एक रैखिक प्रोग्रामिंग (या बाइनरी पूर्णांक प्रोग्रामिंग) में ऐसी समस्याएं सम्मलित हैं जिनमें चर 0 या 1 तक सीमित हैं। किसी भी परिबद्ध पूर्णांक चर को [[बाइनरी डेटा]] के संयोजन के रूप में व्यक्त किया जा सकता है।<ref>{{cite book|last=Williams|first=H.P.|title=Logic and integer programming|series=International Series in Operations Research & Management Science|year=2009|volume=130|isbn= 978-0-387-92280-5}}</ref> उदाहरण के लिए, एक पूर्णांक चर दिया गया है, <math>0\le x\le U</math>, चर का उपयोग करके व्यक्त किया जा सकता है <math>\lfloor \log_2U\rfloor+1</math> द्विआधारी चर:
शून्य-एक रैखिक प्रोग्रामिंग (या बाइनरी पूर्णांक प्रोग्रामिंग) में ऐसी समस्याएं सम्मलित हैं जिनमें चर 0 या 1 तक सीमित हैं। किसी भी परिबद्ध पूर्णांक चर को [[बाइनरी डेटा]] के संयोजन के रूप में व्यक्त किया जा सकता है।<ref>{{cite book|last=Williams|first=H.P.|title=Logic and integer programming|series=International Series in Operations Research & Management Science|year=2009|volume=130|isbn= 978-0-387-92280-5}}</ref> उदाहरण के लिए, एक पूर्णांक चर दिया गया है, <math>0\le x\le U</math>, चर का उपयोग करके व्यक्त किया जा सकता है <math>\lfloor \log_2U\rfloor+1</math> द्विआधारी चर:
Line 63: Line 59:
x = x_1+2x_2+4x_3+\cdots+2^{\lfloor \log_2U\rfloor}x_{\lfloor \log_2U\rfloor+1}.
x = x_1+2x_2+4x_3+\cdots+2^{\lfloor \log_2U\rfloor}x_{\lfloor \log_2U\rfloor+1}.
</math>
</math>
== अनुप्रयोग ==
== अनुप्रयोग ==


एक रेखीय कार्यक्रम के रूप में समस्याओं को मॉडलिंग करते समय पूर्णांक चर का उपयोग करने के दो मुख्य कारण हैं:
एक रेखीय कार्यक्रम के रूप में समस्याओं को मॉडलिंग करते समय पूर्णांक चर का उपयोग करने के दो मुख्य कारण हैं:
# पूर्णांक चर उन मात्राओं का प्रतिनिधित्व करते हैं जो केवल पूर्णांक हो सकती हैं। उदाहरण के लिए, 3.7 कारों का निर्माण संभव नहीं है।
# पूर्णांक चर उन मात्राओं का प्रतिनिधित्व करते हैं जो एकमात्र पूर्णांक हो सकती हैं। उदाहरण के लिए, 3.7 कारों का निर्माण संभव नहीं है।
# पूर्णांक चर निर्णयों का प्रतिनिधित्व करते हैं (उदाहरण के लिए एक [[ग्राफ (असतत गणित)]] में किनारे को सम्मलित करना है या नहीं) और इसलिए केवल 0 या 1 मान लेना चाहिए।
# पूर्णांक चर निर्णयों का प्रतिनिधित्व करते हैं (उदाहरण के लिए एक [[ग्राफ (असतत गणित)]] में किनारे को सम्मलित करना है या नहीं) और इसलिए एकमात्र 0 या 1 मान लेना चाहिए।
ये विचार व्यवहार में अक्सर होते हैं और इसलिए कई अनुप्रयोग क्षेत्रों में पूर्णांक रैखिक प्रोग्रामिंग का उपयोग किया जा सकता है, जिनमें से कुछ का संक्षेप में नीचे वर्णन किया गया है।
ये विचार व्यवहार में अधिकांशतः होते हैं और इसलिए कई अनुप्रयोग क्षेत्रों में पूर्णांक रैखिक प्रोग्रामिंग का उपयोग किया जा सकता है, जिनमें से कुछ का संक्षेप में नीचे वर्णन किया गया है।


=== [[उत्पादन योजना]] ===
=== उत्पादन योजना ===
मिश्रित-पूर्णांक प्रोग्रामिंग में जॉब-शॉप मॉडलिंग सहित औद्योगिक प्रस्तुतियों में कई अनुप्रयोग हैं। कृषि उत्पादन योजना में एक महत्वपूर्ण उदाहरण कई फसलों के लिए उत्पादन उपज का निर्धारण करना सम्मलित है जो संसाधनों (जैसे भूमि, श्रम, पूंजी, बीज, उर्वरक, आदि) को साझा कर सकते हैं। एक संभावित उद्देश्य उपलब्ध संसाधनों से अधिक के बिना, कुल उत्पादन को अधिकतम करना है। कुछ मामलों में, यह एक रेखीय कार्यक्रम के संदर्भ में व्यक्त किया जा सकता है, लेकिन चर पूर्णांक होने के लिए विवश होना चाहिए।
मिश्रित-पूर्णांक प्रोग्रामिंग में जॉब-शॉप मॉडलिंग सहित औद्योगिक प्रस्तुतियों में कई अनुप्रयोग हैं। कृषि उत्पादन योजना में एक महत्वपूर्ण उदाहरण कई फसलों के लिए उत्पादन उपज का निर्धारण करना सम्मलित है जो संसाधनों (जैसे भूमि, श्रम, पूंजी, बीज, उर्वरक, आदि) को साझा कर सकते हैं। एक संभावित उद्देश्य उपलब्ध संसाधनों से अधिक के बिना, कुल उत्पादन को अधिकतम करना है। कुछ स्थितियों में, यह एक रेखीय कार्यक्रम के संदर्भ में व्यक्त किया जा सकता है, किन्तु चर पूर्णांक होने के लिए विवश होना चाहिए।


=== निर्धारण ===
=== निर्धारण ===


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


=== प्रादेशिक विभाजन ===
=== प्रादेशिक विभाजन ===
Line 85: Line 79:
=== दूरसंचार नेटवर्क ===
=== दूरसंचार नेटवर्क ===


इन समस्याओं का लक्ष्य स्थापित करने के लिए लाइनों का एक नेटवर्क डिजाइन करना है ताकि संचार आवश्यकताओं का एक पूर्वनिर्धारित सेट पूरा हो और नेटवर्क की कुल लागत न्यूनतम हो।<ref>{{cite web|last1=Borndörfer|first1=R.|last2=Grötschel|first2=M.|author2-link= Martin Grötschel |title=Designing telecommunication networks by integer programming|url=http://www.zib.de/groetschel/teaching/SS2012/120503Vorlesung-DesigningTelcomNetworks-reduced.pdf|year=2012}}</ref> इसके लिए विभिन्न लाइनों की क्षमता को सेट करने के साथ-साथ नेटवर्क की दोनों टोपोलॉजी को अनुकूलित करने की आवश्यकता होती है। कई मामलों में, क्षमताएं पूर्णांक मात्राओं के लिए विवश होती हैं। सामान्यतः पर उपयोग की जाने वाली तकनीक के आधार पर, अतिरिक्त प्रतिबंध होते हैं जिन्हें पूर्णांक या बाइनरी चर के साथ रैखिक असमानताओं के रूप में तैयार किया जा सकता है।
इन समस्याओं का लक्ष्य स्थापित करने के लिए लाइनों का एक नेटवर्क डिजाइन करना है जिससे संचार आवश्यकताओं का एक पूर्वनिर्धारित सेट पूरा हो और नेटवर्क की कुल लागत न्यूनतम हो।<ref>{{cite web|last1=Borndörfer|first1=R.|last2=Grötschel|first2=M.|author2-link= Martin Grötschel |title=Designing telecommunication networks by integer programming|url=http://www.zib.de/groetschel/teaching/SS2012/120503Vorlesung-DesigningTelcomNetworks-reduced.pdf|year=2012}}</ref> इसके लिए विभिन्न लाइनों की क्षमता को सेट करने के साथ-साथ नेटवर्क की दोनों टोपोलॉजी को अनुकूलित करने की आवश्यकता होती है। कई स्थितियों में, क्षमताएं पूर्णांक मात्राओं के लिए विवश होती हैं। सामान्यतः पर उपयोग की जाने वाली तकनीक के आधार पर, अतिरिक्त प्रतिबंध होते हैं जिन्हें पूर्णांक या बाइनरी चर के साथ रैखिक असमानताओं के रूप में तैयार किया जा सकता है।


=== सेलुलर नेटवर्क ===
=== सेलुलर नेटवर्क ===
[[GSM]] मोबाइल नेटवर्क में फ़्रीक्वेंसी प्लानिंग के कार्य में एंटेना में उपलब्ध फ़्रीक्वेंसी को वितरित करना सम्मलित है ताकि उपयोगकर्ताओं को सेवा दी जा सके और एंटेना के बीच हस्तक्षेप कम से कम हो।<ref>{{cite web|last=Sharma|first=Deepak|title=Frequency Planning|url=http://www.slideshare.net/deepakecrbs/gsm-frequency-planning|year= 2010}}</ref> इस समस्या को एक पूर्णांक रेखीय कार्यक्रम के रूप में तैयार किया जा सकता है जिसमें द्विआधारी चर इंगित करते हैं कि एक आवृत्ति एक ऐन्टेना को सौंपी गई है या नहीं।
मोबाइल संचार के लिए वैश्विक प्रणाली(जीएसएम) मोबाइल नेटवर्क में आवृत्ति प्लानिंग के कार्य में एंटेना में उपलब्ध आवृत्ति को वितरित करना सम्मलित है जिससे उपयोगकर्ताओं को सेवा दी जा सके और एंटेना के बीच हस्तक्षेप कम से कम हो।<ref>{{cite web|last=Sharma|first=Deepak|title=Frequency Planning|url=http://www.slideshare.net/deepakecrbs/gsm-frequency-planning|year= 2010}}</ref> इस समस्या को एक पूर्णांक रेखीय कार्यक्रम के रूप में तैयार किया जा सकता है जिसमें द्विआधारी चर इंगित करते हैं कि एक आवृत्ति एक ऐन्टेना को सौंपी गई है या नहीं।


=== अन्य अनुप्रयोग ===
=== अन्य अनुप्रयोग ===


* [[कैशफ्लो मिलान]]
* कैशफ्लो मिलान
* [[ऊर्जा प्रणाली]] अनुकूलन<ref>{{Cite journal|last1=Morais|first1=Hugo|last2=Kádár|first2=Péter|last3=Faria|first3=Pedro|last4=Vale|first4=Zita A.|last5=Khodr|first5=H. M.|date=2010-01-01|title=Optimal scheduling of a renewable micro-grid in an isolated load area using mixed-integer linear programming|url=http://www.sciencedirect.com/science/article/pii/S0960148109001001|journal=Renewable Energy|language=en|volume=35|issue=1|pages=151–156|doi=10.1016/j.renene.2009.02.031|issn=0960-1481|hdl=10400.22/1585|hdl-access=free}}</ref><ref>{{Cite journal|last1=Omu|first1=Akomeno|last2=Choudhary|first2=Ruchi|last3=Boies|first3=Adam|date=2013-10-01|title=Distributed energy resource system optimisation using mixed integer linear programming|url=http://www.sciencedirect.com/science/article/pii/S0301421513003418|journal=Energy Policy|language=en|volume=61|pages=249–266|doi=10.1016/j.enpol.2013.05.009|issn=0301-4215}}</ref>
* [[ऊर्जा प्रणाली]] अनुकूलन<ref>{{Cite journal|last1=Morais|first1=Hugo|last2=Kádár|first2=Péter|last3=Faria|first3=Pedro|last4=Vale|first4=Zita A.|last5=Khodr|first5=H. M.|date=2010-01-01|title=Optimal scheduling of a renewable micro-grid in an isolated load area using mixed-integer linear programming|url=http://www.sciencedirect.com/science/article/pii/S0960148109001001|journal=Renewable Energy|language=en|volume=35|issue=1|pages=151–156|doi=10.1016/j.renene.2009.02.031|issn=0960-1481|hdl=10400.22/1585|hdl-access=free}}</ref><ref>{{Cite journal|last1=Omu|first1=Akomeno|last2=Choudhary|first2=Ruchi|last3=Boies|first3=Adam|date=2013-10-01|title=Distributed energy resource system optimisation using mixed integer linear programming|url=http://www.sciencedirect.com/science/article/pii/S0301421513003418|journal=Energy Policy|language=en|volume=61|pages=249–266|doi=10.1016/j.enpol.2013.05.009|issn=0301-4215}}</ref>
* [[मानव रहित हवाई वाहन]] [[मार्गदर्शन प्रणाली]]<ref>{{Cite journal|last1=Schouwenaars|first1=T.|last2=Valenti|first2=M.|last3=Feron|first3=E.|last4=How|first4=J.|date=2005|title=Implementation and Flight Test Results of MILP-based UAV Guidance|journal=2005 IEEE Aerospace Conference|pages=1–13|doi=10.1109/AERO.2005.1559600|isbn=0-7803-8870-4|s2cid=13447718}}</ref><ref>{{Cite journal|last1=Radmanesh|first1=Mohammadreza|last2=Kumar|first2=Manish|date=2016-03-01|title=Flight formation of UAVs in presence of moving obstacles using fast-dynamic mixed integer linear programming|journal=Aerospace Science and Technology|language=en|volume=50|pages=149–160|doi=10.1016/j.ast.2015.12.021|issn=1270-9638|doi-access=free}}</ref>
* मानव रहित हवाई वाहन मार्गदर्शन प्रणाली<ref>{{Cite journal|last1=Schouwenaars|first1=T.|last2=Valenti|first2=M.|last3=Feron|first3=E.|last4=How|first4=J.|date=2005|title=Implementation and Flight Test Results of MILP-based UAV Guidance|journal=2005 IEEE Aerospace Conference|pages=1–13|doi=10.1109/AERO.2005.1559600|isbn=0-7803-8870-4|s2cid=13447718}}</ref><ref>{{Cite journal|last1=Radmanesh|first1=Mohammadreza|last2=Kumar|first2=Manish|date=2016-03-01|title=Flight formation of UAVs in presence of moving obstacles using fast-dynamic mixed integer linear programming|journal=Aerospace Science and Technology|language=en|volume=50|pages=149–160|doi=10.1016/j.ast.2015.12.021|issn=1270-9638|doi-access=free}}</ref>
 
 
== एल्गोरिदम ==
== एल्गोरिदम ==


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


=== कुल एकरूपता का उपयोग ===
=== कुल एकरूपता का उपयोग ===


जबकि सामान्य तौर पर LP छूट का समाधान अभिन्न होने की गारंटी नहीं होगी, यदि आईएलपी का रूप है <math>\max\mathbf{c}^\mathrm{T} \mathbf{x}</math> ऐसा है कि <math>A\mathbf{x} = \mathbf{b}</math> कहाँ <math>A</math> और <math>\mathbf{b}</math> सभी पूर्णांक प्रविष्टियाँ हैं और <math>A</math> एकरूप मैट्रिक्स # कुल एकरूपता है, तो हर बुनियादी व्यवहार्य समाधान अभिन्न है। नतीजतन, [[सिंप्लेक्स एल्गोरिदम]] द्वारा लौटाया गया समाधान अभिन्न होने की गारंटी है। यह दर्शाने के लिए कि प्रत्येक मूल साध्य हल समाकल है, मान लीजिए <math>\mathbf{x}</math> एक मनमाना बुनियादी व्यवहार्य समाधान बनें। तब से <math>\mathbf{x}</math> व्यवहार्य है,
चूंकि सामान्यतः LP छूट का समाधान अभिन्न होने की गारंटी नहीं होगी, यदि आईएलपी का रूप है <math>\max\mathbf{c}^\mathrm{T} \mathbf{x}</math> ऐसा है कि <math>A\mathbf{x} = \mathbf{b}</math> जहाँ <math>A</math> और <math>\mathbf{b}</math> सभी पूर्णांक प्रविष्टियाँ हैं और <math>A</math> एकरूप मैट्रिक्स कुल एकरूपता है, तो हर बुनियादी व्यवहार्य समाधान अभिन्न है। परिणाम स्वरुप, सिंप्लेक्स एल्गोरिदम के माध्यम से लौटाया गया समाधान अभिन्न होने की गारंटी है। यह दर्शाने के लिए कि प्रत्येक मूल साध्य हल समाकल है, मान लीजिए <math>\mathbf{x}</math> एक इच्छानुसार बुनियादी व्यवहार्य समाधान बनें। तब से <math>\mathbf{x}</math> व्यवहार्य है,
हम वह जानते हैं <math>A\mathbf{x}=\mathbf{b}</math>. होने देना <math>\mathbf{x}_0=[x_{n_1},x_{n_2},\cdots,x_{n_j}]</math> मूल समाधान के लिए आधार स्तंभों के अनुरूप तत्व बनें <math>\mathbf{x}</math>. एक आधार की परिभाषा के अनुसार, कुछ वर्ग सबमैट्रिक्स होता है <math>B</math> का
 
<math>A</math> रैखिक रूप से स्वतंत्र स्तंभों के साथ <math>B\mathbf{x}_0=\mathbf{b}</math>.
हम वह जानते हैं <math>A\mathbf{x}=\mathbf{b}</math>. होने देना <math>\mathbf{x}_0=[x_{n_1},x_{n_2},\cdots,x_{n_j}]</math> मूल समाधान के लिए आधार स्तंभों के अनुरूप तत्व बनें <math>\mathbf{x}</math>. एक आधार की परिभाषा के अनुसार, कुछ वर्ग सबमैट्रिक्स होता है <math>B</math> का <math>A</math> रैखिक रूप से स्वतंत्र स्तंभों के साथ <math>B\mathbf{x}_0=\mathbf{b}</math>.


चूंकि के कॉलम <math>B</math> रैखिक रूप से स्वतंत्र हैं और <math>B</math> चौकोर है, <math>B</math> विलक्षण है,
चूंकि के कॉलम <math>B</math> रैखिक रूप से स्वतंत्र हैं और <math>B</math> चौकोर है, <math>B</math> विलक्षण भी है और इसलिए धारणा से, <math>B</math> यूनिमॉड्यूलर मैट्रिक्स है और इसलिए <math>\det(B)=\pm1</math>. इसके अतिरिक्त, चूंकि <math>B</math> निरर्थक है, यह उलटा है और इसलिए <math>\mathbf{x}_0=B^{-1}\mathbf{b}</math>. परिभाषा से, <math>B^{-1}=\frac{B^\mathrm{adj}}{\det(B)}=\pm B^\mathrm{adj}</math>. यहाँ <math>B^\mathrm{adj}</math> के अदजुगेट मैट्रिक्स को दर्शाता है <math>B</math> और अभिन्न है क्योंकि <math>B</math> अभिन्न है। इसलिए,
और इसलिए धारणा से, <math>B</math> [[यूनिमॉड्यूलर मैट्रिक्स]] है और इसलिए <math>\det(B)=\pm1</math>. इसके अलावा, चूंकि <math>B</math> निरर्थक है, यह उलटा है और इसलिए <math>\mathbf{x}_0=B^{-1}\mathbf{b}</math>. परिभाषा से, <math>B^{-1}=\frac{B^\mathrm{adj}}{\det(B)}=\pm B^\mathrm{adj}</math>. यहाँ <math>B^\mathrm{adj}</math> के Adjugate मैट्रिक्स को दर्शाता है <math>B</math> और अभिन्न है क्योंकि <math>B</math> अभिन्न है। इसलिए,
:<math>
:<math>
\begin{align}
\begin{align}
Line 116: Line 107:
\end{align}
\end{align}
</math>
</math>
इस प्रकार, यदि मैट्रिक्स <math>A</math> एक आईएलपी पूरी तरह से एकरूप है, एक आईएलपी एल्गोरिदम का उपयोग करने के अतिरिक्त, एलपी विश्राम को हल करने के लिए सिंप्लेक्स विधि का उपयोग किया जा सकता है और समाधान पूर्णांक होगा।
इस प्रकार, यदि मैट्रिक्स <math>A</math> एक आईएलपी पूरी प्रकार से एकरूप है, एक आईएलपी एल्गोरिदम का उपयोग करने के अतिरिक्त, एलपी विश्राम को हल करने के लिए सिंप्लेक्स विधि का उपयोग किया जा सकता है और समाधान पूर्णांक होगा।
 
=== त्रुटिहीन एल्गोरिदम ===
जब मैट्रिक्स <math>A</math> पूरी प्रकार से एकरूप नहीं है, ऐसे कई प्रकार के एल्गोरिदम हैं जिनका उपयोग पूर्णांक रैखिक कार्यक्रमों को त्रुटिहीन रूप से हल करने के लिए किया जा सकता है। एल्गोरिदम का एक वर्ग [[कटिंग-प्लेन विधि]] है जो एलपी छूट को हल करके काम करता है और फिर रैखिक बाधाओं को जोड़ता है जो किसी भी पूर्णांक व्यवहार्य बिंदुओं को छोड़कर समाधान को पूर्णांक होने की ओर ले जाता है।


=== सटीक एल्गोरिदम ===
एल्गोरिथम का एक अन्य वर्ग शाखा और बाउंड विधि के वेरिएंट हैं। उदाहरण के लिए, [[शाखा और कट]] मेथड, जो [[शाखा और बंधन]] और कटिंग प्लेन दोनों तरीकों को जोड़ती है। शाखा और बाउंड एल्गोरिदम के एल्गोरिदम पर कई फायदे हैं जो एकमात्र विमानों को काटने का उपयोग करते हैं। एक फायदा यह है कि एल्गोरिदम को जल्दी समाप्त किया जा सकता है और जब तक कम से कम एक अभिन्न समाधान मिल जाता है, एक व्यवहार्य, चूंकि आवश्यक रूप से इष्टतम नहीं है, समाधान वापस किया जा सकता है। इसके अतिरिक्त, एलपी छूट के समाधान का उपयोग सबसे खराब स्थिति का अनुमान लगाने के लिए किया जा सकता है कि लौटाया गया समाधान इष्टतमता से कितना दूर है। अंत में, कई इष्टतम समाधानों को वापस करने के लिए शाखा और बाध्य विधियों का उपयोग किया जा सकता है।
जब मैट्रिक्स <math>A</math> पूरी तरह से एकरूप नहीं है, ऐसे कई प्रकार के एल्गोरिदम हैं जिनका उपयोग पूर्णांक रैखिक कार्यक्रमों को सटीक रूप से हल करने के लिए किया जा सकता है। एल्गोरिदम का एक वर्ग [[कटिंग-प्लेन विधि]] है जो एलपी छूट को हल करके काम करता है और फिर रैखिक बाधाओं को जोड़ता है जो किसी भी पूर्णांक व्यवहार्य बिंदुओं को छोड़कर समाधान को पूर्णांक होने की ओर ले जाता है।


एल्गोरिथम का एक अन्य वर्ग शाखा और बाउंड विधि के वेरिएंट हैं। उदाहरण के लिए, [[शाखा और कट]] मेथड, जो [[शाखा और बंधन]] और कटिंग प्लेन दोनों तरीकों को जोड़ती है। शाखा और बाउंड एल्गोरिदम के एल्गोरिदम पर कई फायदे हैं जो केवल विमानों को काटने का उपयोग करते हैं। एक फायदा यह है कि एल्गोरिदम को जल्दी समाप्त किया जा सकता है और जब तक कम से कम एक अभिन्न समाधान मिल जाता है, एक व्यवहार्य, हालांकि आवश्यक रूप से इष्टतम नहीं है, समाधान वापस किया जा सकता है। इसके अलावा, एलपी छूट के समाधान का उपयोग सबसे खराब स्थिति का अनुमान लगाने के लिए किया जा सकता है कि लौटाया गया समाधान इष्टतमता से कितना दूर है। अंत में, कई इष्टतम समाधानों को वापस करने के लिए शाखा और बाध्य विधियों का उपयोग किया जा सकता है।
=== चरों की एक छोटी संख्या के लिए त्रुटिहीन एल्गोरिदम ===
कल्पना करना <math>A</math> एक एम-बाय-एन पूर्णांक मैट्रिक्स है और <math>\mathbf{b}</math> एक m-by-1 पूर्णांक वेक्टर है। हम व्यवहार्यता समस्या पर ध्यान केंद्रित करते हैं, जो यह तय करना है कि एन-बाय-1 वेक्टर सम्मलित है या नहीं <math>\mathbf{x}</math> संतुष्टि देने वाला <math> A \mathbf{x} \le \mathbf{b} </math>.


=== चरों की एक छोटी संख्या के लिए सटीक एल्गोरिदम{{Anchor|Lenstra}} ===
V में गुणांकों का अधिकतम निरपेक्ष मान होने दें <math>A</math> और <math>\mathbf{b}</math>. यदि n (चरों की संख्या) एक निश्चित स्थिरांक है, तो व्यवहार्यता समस्या को m और लॉग V में समय बहुपद में हल किया जा सकता है। यह स्थिति n=1 के लिए तुच्छ है। स्थितियोंn = 2 को 1981 में [[हर्बर्ट स्कार्फ]]  के माध्यम से हल किया गया था।<ref>{{Cite journal|last=Scarf|first=Herbert E.|date=1981|title=Production Sets with Indivisibilities, Part I: Generalities|url=https://www.jstor.org/stable/1911124|journal=Econometrica|volume=49|issue=1|pages=1–32|doi=10.2307/1911124|jstor=1911124|issn=0012-9682}}</ref> सामान्य स्थिति 1983 में [[हेनरी लेनस्ट्रा]]  के माध्यम से हल किया गया था, लेज़्लो लोवाज़ और [[पीटर वैन एम्डे बोस]] के विचारों को मिलाकर।<ref name=":0">{{Cite journal|last=Lenstra|first=H. W.|date=1983-11-01|title=Integer Programming with a Fixed Number of Variables|url=https://pubsonline.informs.org/doi/abs/10.1287/moor.8.4.538|journal=Mathematics of Operations Research|volume=8|issue=4|pages=538–548|doi=10.1287/moor.8.4.538|issn=0364-765X|citeseerx=10.1.1.431.5444}}</ref>
कल्पना करना <math>A</math> एक एम-बाय-एन पूर्णांक मैट्रिक्स है और <math>\mathbf{b}</math> एक m-by-1 पूर्णांक वेक्टर है। हम व्यवहार्यता समस्या पर ध्यान केंद्रित करते हैं, जो यह तय करना है कि एन-बाय-1 वेक्टर मौजूद है या नहीं <math>\mathbf{x}</math> संतुष्टि देने वाला <math> A \mathbf{x} \le \mathbf{b} </math>.


V में गुणांकों का अधिकतम निरपेक्ष मान होने दें <math>A</math> और <math>\mathbf{b}</math>. यदि n (चरों की संख्या) एक निश्चित स्थिरांक है, तो व्यवहार्यता समस्या को m और log V में समय बहुपद में हल किया जा सकता है। यह स्थिति n=1 के लिए तुच्छ है। मामले n = 2 को 1981 में [[हर्बर्ट स्कार्फ]] द्वारा हल किया गया था।<ref>{{Cite journal|last=Scarf|first=Herbert E.|date=1981|title=Production Sets with Indivisibilities, Part I: Generalities|url=https://www.jstor.org/stable/1911124|journal=Econometrica|volume=49|issue=1|pages=1–32|doi=10.2307/1911124|jstor=1911124|issn=0012-9682}}</ref> सामान्य मामला 1983 में [[हेनरी लेनस्ट्रा]] द्वारा हल किया गया था, लेज़्लो लोवाज़ और [[पीटर वैन एम्डे बोस]] के विचारों को मिलाकर।<ref name=":0">{{Cite journal|last=Lenstra|first=H. W.|date=1983-11-01|title=Integer Programming with a Fixed Number of Variables|url=https://pubsonline.informs.org/doi/abs/10.1287/moor.8.4.538|journal=Mathematics of Operations Research|volume=8|issue=4|pages=538–548|doi=10.1287/moor.8.4.538|issn=0364-765X|citeseerx=10.1.1.431.5444}}</ref>
0-1 आईएलपी के विशेष स्थितियोंमें, लेनस्ट्रा का एल्गोरिथ्म पूर्ण गणना के बराबर है: सभी संभावित समाधानों की संख्या निश्चित है (2<sup>n</sup>), और प्रत्येक समाधान की व्यवहार्यता की जाँच टाइम पॉली (m, लॉग V) में की जा सकती है। सामान्य स्थिति में, जहां प्रत्येक चर एक इच्छानुसार पूर्णांक हो सकता है, पूर्ण गणना असंभव है। यहाँ, लेनस्ट्रा का एल्गोरिथ्म [[संख्याओं की ज्यामिति]] से विचारों का उपयोग करता है। यह मूल समस्या को निम्नलिखित गुण के साथ समकक्ष समस्या में बदल देता है: या तो समाधान का अस्तित्व <math>\mathbf{x}</math> स्पष्ट है, या का मूल्य <math>x_n</math> (एन-वें चर) एक अंतराल से संबंधित है जिसकी लंबाई एन के एक समारोह से बंधी है। बाद के स्थितियोंमें, समस्या कम-आयामी समस्याओं की एक सीमित संख्या में कम हो जाती है। एल्गोरिथम की रन-टाइम जटिलता को कई चरणों में सुधारा गया है:
0-1 आईएलपी के विशेष मामले में, लेनस्ट्रा का एल्गोरिथ्म पूर्ण गणना के बराबर है: सभी संभावित समाधानों की संख्या निश्चित है (2<sup>n</sup>), और प्रत्येक समाधान की व्यवहार्यता की जाँच टाइम पॉली (m, log V) में की जा सकती है। सामान्य स्थिति में, जहां प्रत्येक चर एक मनमाना पूर्णांक हो सकता है, पूर्ण गणना असंभव है। यहाँ, लेनस्ट्रा का एल्गोरिथ्म [[संख्याओं की ज्यामिति]] से विचारों का उपयोग करता है। यह मूल समस्या को निम्नलिखित गुण के साथ समकक्ष समस्या में बदल देता है: या तो समाधान का अस्तित्व <math>\mathbf{x}</math> स्पष्ट है, या का मूल्य <math>x_n</math> (एन-वें चर) एक अंतराल से संबंधित है जिसकी लंबाई एन के एक समारोह से बंधी है। बाद के मामले में, समस्या कम-आयामी समस्याओं की एक सीमित संख्या में कम हो जाती है। एल्गोरिथम की रन-टाइम जटिलता को कई चरणों में सुधारा गया है:


* लेनस्ट्रा का मूल एल्गोरिदम<ref name=":0" />रन-टाइम था <math>2^{O(n^3)}\cdot (m\cdot \log V)^{O(1)}</math>.
* लेनस्ट्रा का मूल एल्गोरिदम<ref name=":0" />रन-टाइम था <math>2^{O(n^3)}\cdot (m\cdot \log V)^{O(1)}</math>.
* कन्नन<ref>{{Cite journal|last=Kannan|first=Ravi|date=1987-08-01|title=Minkowski's Convex Body Theorem and Integer Programming|url=https://pubsonline.informs.org/doi/abs/10.1287/moor.12.3.415|journal=Mathematics of Operations Research|volume=12|issue=3|pages=415–440|doi=10.1287/moor.12.3.415|issn=0364-765X}}</ref> रन-टाइम के साथ एक अधिक अच्छा एल्गोरिथ्म प्रस्तुत किया <math>n^{O(n)}\cdot (m\cdot \log V)^{O(1)}</math>.<ref>{{Cite journal|last1=Goemans|first1=Michel X.|last2=Rothvoss|first2=Thomas|date=2020-11-07|title=Polynomiality for Bin Packing with a Constant Number of Item Types|journal=Journal of the ACM|volume=67|issue=6|pages=38:1–38:21|doi=10.1145/3421750|hdl=1721.1/92865 |s2cid=227154747 |issn=0004-5411|doi-access=free}}</ref>
* कन्नन<ref>{{Cite journal|last=Kannan|first=Ravi|date=1987-08-01|title=Minkowski's Convex Body Theorem and Integer Programming|url=https://pubsonline.informs.org/doi/abs/10.1287/moor.12.3.415|journal=Mathematics of Operations Research|volume=12|issue=3|pages=415–440|doi=10.1287/moor.12.3.415|issn=0364-765X}}</ref> रन-टाइम के साथ एक अधिक अच्छा एल्गोरिथ्म प्रस्तुत किया <math>n^{O(n)}\cdot (m\cdot \log V)^{O(1)}</math>.<ref>{{Cite journal|last1=Goemans|first1=Michel X.|last2=Rothvoss|first2=Thomas|date=2020-11-07|title=Polynomiality for Bin Packing with a Constant Number of Item Types|journal=Journal of the ACM|volume=67|issue=6|pages=38:1–38:21|doi=10.1145/3421750|hdl=1721.1/92865 |s2cid=227154747 |issn=0004-5411|doi-access=free}}</ref>
* फ्रैंक और टार्डोस<ref>{{Cite journal|last1=Frank|first1=András|last2=Tardos|first2=Éva|date=1987-03-01|title=An application of simultaneous diophantine approximation in combinatorial optimization|url=https://doi.org/10.1007/BF02579200|journal=Combinatorica|language=en|volume=7|issue=1|pages=49–65|doi=10.1007/BF02579200|s2cid=45585308|issn=1439-6912}}</ref> एक अलग अधिक अच्छा एल्गोरिदम प्रस्तुत किया। अधिक अच्छा रनटाइम है  <math>n^{2.5 n} \cdot \ell</math> ,  कहाँ <math>\ell</math> इनपुट बिट्स की संख्या है,<ref>{{Cite journal|last1=Bliem|first1=Bernhard|last2=Bredereck|first2=Robert|last3=Niedermeier|first3=Rolf|author3-link=Rolf Niedermeier|date=2016-07-09|title=Complexity of efficient and envy-free resource allocation: few agents, resources, or utility levels|url=https://dl.acm.org/doi/abs/10.5555/3060621.3060636|journal=Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence|series=IJCAI'16|location=New York, New York, USA|publisher=AAAI Press|pages=102–108|isbn=978-1-57735-770-4}}</ref> जो इसमें है <math>\text{poly}(m, \log{V})</math>.<ref>{{Cite journal|last1=Bredereck|first1=Robert|last2=Kaczmarczyk|first2=Andrzej|last3=Knop|first3=Dušan|last4=Niedermeier|first4=Rolf|date=2019-06-17|title=High-Multiplicity Fair Allocation: Lenstra Empowered by N-fold Integer Programming|url=https://doi.org/10.1145/3328526.3329649|journal=Proceedings of the 2019 ACM Conference on Economics and Computation|series=EC '19|location=Phoenix, AZ, USA|publisher=Association for Computing Machinery|pages=505–523|doi=10.1145/3328526.3329649|isbn=978-1-4503-6792-9|s2cid=195298520}}</ref>{{Rp|Prop.8}}
* फ्रैंक और टार्डोस<ref>{{Cite journal|last1=Frank|first1=András|last2=Tardos|first2=Éva|date=1987-03-01|title=An application of simultaneous diophantine approximation in combinatorial optimization|url=https://doi.org/10.1007/BF02579200|journal=Combinatorica|language=en|volume=7|issue=1|pages=49–65|doi=10.1007/BF02579200|s2cid=45585308|issn=1439-6912}}</ref> एक अलग अधिक अच्छा एल्गोरिदम प्रस्तुत किया। अधिक अच्छा रनटाइम है  <math>n^{2.5 n} \cdot \ell</math>,  जहाँ <math>\ell</math> इनपुट बिट्स की संख्या है,<ref>{{Cite journal|last1=Bliem|first1=Bernhard|last2=Bredereck|first2=Robert|last3=Niedermeier|first3=Rolf|author3-link=Rolf Niedermeier|date=2016-07-09|title=Complexity of efficient and envy-free resource allocation: few agents, resources, or utility levels|url=https://dl.acm.org/doi/abs/10.5555/3060621.3060636|journal=Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence|series=IJCAI'16|location=New York, New York, USA|publisher=AAAI Press|pages=102–108|isbn=978-1-57735-770-4}}</ref> जो इसमें है <math>\text{poly}(m, \log{V})</math>.<ref>{{Cite journal|last1=Bredereck|first1=Robert|last2=Kaczmarczyk|first2=Andrzej|last3=Knop|first3=Dušan|last4=Niedermeier|first4=Rolf|date=2019-06-17|title=High-Multiplicity Fair Allocation: Lenstra Empowered by N-fold Integer Programming|url=https://doi.org/10.1145/3328526.3329649|journal=Proceedings of the 2019 ACM Conference on Economics and Computation|series=EC '19|location=Phoenix, AZ, USA|publisher=Association for Computing Machinery|pages=505–523|doi=10.1145/3328526.3329649|isbn=978-1-4503-6792-9|s2cid=195298520}}</ref>{{Rp|Prop.8}}




=== अनुमानी तरीके ===
=== अनुमानी तरीके ===
चूंकि पूर्णांक रैखिक प्रोग्रामिंग [[एनपी कठिन]] है, कई समस्या उदाहरण अट्रैक्टिव हैं और इसलिए इसके अतिरिक्त अनुमानी तरीकों का उपयोग किया जाना चाहिए। उदाहरण के लिए, आईएलपी के समाधान खोजने के लिए टैबू खोज का उपयोग किया जा सकता है।<ref>{{cite journal|last=Glover|first=F.|author-link=Fred W. Glover|title=Tabu search-Part II|journal=ORSA Journal on Computing|year=1989|volume=1|issue=3|pages=4–32|doi= 10.1287/ijoc.2.1.4 |s2cid=207225435|url=https://semanticscholar.org/paper/9a3203a26112ec33d34233ba8b38e5509490f2a0}}</ref> आईएलपी को हल करने के लिए टैबू खोज का उपयोग करने के लिए, अन्य सभी पूर्णांक-बाधित चरों को स्थिर रखते हुए चालों को व्यवहार्य समाधान के एक पूर्णांक विवश चर को बढ़ाने या घटाने के रूप में परिभाषित किया जा सकता है। अप्रतिबंधित चर तब के लिए हल किए जाते हैं। अल्पकालिक स्मृति में पहले से आजमाए गए समाधान सम्मलित हो सकते हैं, जबकि मध्यम अवधि की स्मृति में पूर्णांक विवश चर के मान सम्मलित हो सकते हैं, जिसके परिणामस्वरूप उच्च उद्देश्य मान होते हैं (आईएलपी एक अधिकतम समस्या है)। अंत में, दीर्घकालिक स्मृति खोज को उन पूर्णांक मानों की ओर निर्देशित कर सकती है जिन्हें पहले आज़माया नहीं गया है।
चूंकि पूर्णांक रैखिक प्रोग्रामिंग [[एनपी कठिन]] है, कई समस्या उदाहरण अट्रैक्टिव हैं और इसलिए इसके अतिरिक्त अनुमानी तरीकों का उपयोग किया जाना चाहिए। उदाहरण के लिए, आईएलपी के समाधान खोजने के लिए टैबू खोज का उपयोग किया जा सकता है।<ref>{{cite journal|last=Glover|first=F.|author-link=Fred W. Glover|title=Tabu search-Part II|journal=ORSA Journal on Computing|year=1989|volume=1|issue=3|pages=4–32|doi= 10.1287/ijoc.2.1.4 |s2cid=207225435|url=https://semanticscholar.org/paper/9a3203a26112ec33d34233ba8b38e5509490f2a0}}</ref> आईएलपी को हल करने के लिए टैबू खोज का उपयोग करने के लिए, अन्य सभी पूर्णांक-बाधित चरों को स्थिर रखते हुए चालों को व्यवहार्य समाधान के एक पूर्णांक विवश चर को बढ़ाने या घटाने के रूप में परिभाषित किया जा सकता है। अप्रतिबंधित चर तब के लिए हल किए जाते हैं। अल्पकालिक स्मृति में पहले से आजमाए गए समाधान सम्मलित हो सकते हैं, चूंकि मध्यम अवधि की स्मृति में पूर्णांक विवश चर के मान सम्मलित हो सकते हैं, जिसके परिणामस्वरूप उच्च उद्देश्य मान होते हैं (आईएलपी एक अधिकतम समस्या है)। अंत में, दीर्घकालिक स्मृति खोज को उन पूर्णांक मानों की ओर निर्देशित कर सकती है जिन्हें पहले आज़माया नहीं गया है।


आईएलपी पर लागू किए जा सकने वाले अन्य अनुमानी तरीकों में सम्मलित हैं
आईएलपी पर लागू किए जा सकने वाले अन्य अनुमानी तरीकों में सम्मलित हैं
Line 144: Line 136:
* [[हॉपफील्ड नेटवर्क]]
* [[हॉपफील्ड नेटवर्क]]


कई अन्य समस्या-विशिष्ट अनुमान भी हैं, जैसे कि ट्रैवलिंग सेल्समैन समस्या  इटरेटिव इम्प्रूवमेंट|के-ऑप्ट ह्यूरिस्टिक फॉर द ट्रैवलिंग सेल्समैन समस्या। हेयुरिस्टिक विधियों का एक नुकसान यह है कि यदि वे समाधान खोजने में विफल रहते हैं, तो यह निर्धारित नहीं किया जा सकता है कि क्या ऐसा इसलिए है क्योंकि कोई व्यवहार्य समाधान नहीं है या एल्गोरिथम केवल एक को खोजने में असमर्थ था। इसके अलावा, सामान्यतः पर यह निर्धारित करना असंभव है कि इन विधियों द्वारा दिए गए इष्टतम समाधान के कितने करीब हैं।
कई अन्य समस्या-विशिष्ट अनुमान भी हैं, जैसे कि ट्रैवलिंग सेल्समैन समस्या  इटरेटिव इम्प्रूवमेंट|के-ऑप्ट ह्यूरिस्टिक फॉर द ट्रैवलिंग सेल्समैन समस्या। हेयुरिस्टिक विधियों का एक हानि यह है कि यदि वे समाधान खोजने में विफल रहते हैं, तो यह निर्धारित नहीं किया जा सकता है कि क्या ऐसा इसलिए है क्योंकि कोई व्यवहार्य समाधान नहीं है या एल्गोरिथम एकमात्र एक को खोजने में असमर्थ था। इसके अतिरिक्त, सामान्यतः पर यह निर्धारित करना असंभव है कि इन विधियों के माध्यम से दिए गए इष्टतम समाधान के कितने करीब हैं।


== विरल पूर्णांक प्रोग्रामिंग ==
== विरल पूर्णांक प्रोग्रामिंग ==
अक्सर ऐसा होता है कि मैट्रिक्स <math>A</math> जो परिभाषित करता है पूर्णांक कार्यक्रम विरल है। विशेष रूप से, यह तब होता है जब मैट्रिक्स में ब्लॉक संरचना होती है, जो कई अनुप्रयोगों में होती है। मैट्रिक्स की विरलता को निम्नानुसार मापा जा सकता है। का ग्राफ <math>A</math> के स्तंभों के संगत शीर्ष हैं <math>A</math>, और दो स्तंभ एक किनारा बनाते हैं यदि <math>A</math> एक पंक्ति है जहाँ दोनों स्तंभों में गैर-शून्य प्रविष्टियाँ हैं। समतुल्य रूप से, शीर्ष चर के अनुरूप होते हैं, और दो चर एक किनारे बनाते हैं यदि वे एक असमानता साझा करते हैं। विरलता माप <math>d</math> का <math>A</math> के ग्राफ की वृक्ष-गहराई के बीच न्यूनतम है <math>A</math> और के स्थानान्तरण के ग्राफ की वृक्ष-गहराई <math>A</math>. होने देना <math>a</math> का संख्यात्मक माप हो <math>A</math> की किसी भी प्रविष्टि के अधिकतम निरपेक्ष मान के रूप में परिभाषित किया गया है <math>A</math>. होने देना <math>n</math> पूर्णांक कार्यक्रम के चर की संख्या हो। फिर इसे 2018 में दिखाया गया<ref>{{Cite journal|last1=Koutecký|first1=Martin|last2=Levin|first2=Asaf|last3=Onn|first3=Shmuel|date=2018|others=Michael Wagner|title=A Parameterized Strongly Polynomial Algorithm for Block Structured Integer Programs|url=http://drops.dagstuhl.de/opus/volltexte/2018/9089/|language=en|pages=14 pages|doi=10.4230/LIPICS.ICALP.2018.85|arxiv=1802.05859|s2cid=3336201}}</ref> कि पूर्णांक प्रोग्रामिंग को दृढ़ता से बहुपद और [[फिक्स्ड-पैरामीटर ट्रैक्टेबल]] समय द्वारा पैरामीटरित करके हल किया जा सकता है <math>a</math> और <math>d</math>. यानी कुछ कम्प्यूटेशनल फंक्शन के लिए <math>f</math> और कुछ स्थिर <math>k</math>, पूर्णांक प्रोग्रामिंग को समय पर हल किया जा सकता है <math>f(a,d)n^k</math>. विशेष रूप से, समय दाहिनी ओर से स्वतंत्र है <math>b</math> और उद्देश्य समारोह <math>c</math>. इसके अलावा, लेनस्ट्रा के शास्त्रीय परिणाम के विपरीत, जहां संख्या <math>n</math> चर का एक पैरामीटर है, यहाँ संख्या है <math>n</math> चर का इनपुट का एक परिवर्तनशील हिस्सा है।
अधिकांशतः ऐसा होता है कि मैट्रिक्स <math>A</math> जो परिभाषित करता है पूर्णांक कार्यक्रम विरल है। विशेष रूप से, यह तब होता है जब मैट्रिक्स में ब्लॉक संरचना होती है, जो कई अनुप्रयोगों में होती है। मैट्रिक्स की विरलता को निम्नानुसार मापा जा सकता है। का ग्राफ <math>A</math> के स्तंभों के संगत शीर्ष हैं <math>A</math>, और दो स्तंभ एक किनारा बनाते हैं यदि <math>A</math> एक पंक्ति है जहाँ दोनों स्तंभों में गैर-शून्य प्रविष्टियाँ हैं। समतुल्य रूप से, शीर्ष चर के अनुरूप होते हैं, और दो चर एक किनारे बनाते हैं यदि वे एक असमानता साझा करते हैं। विरलता माप <math>d</math> का <math>A</math> के ग्राफ की वृक्ष-गहराई के बीच न्यूनतम है <math>A</math> और के स्थानान्तरण के ग्राफ की वृक्ष-गहराई <math>A</math>. होने देना <math>a</math> का संख्यात्मक माप हो <math>A</math> की किसी भी प्रविष्टि के अधिकतम निरपेक्ष मान के रूप में परिभाषित किया गया है <math>A</math>. होने देना <math>n</math> पूर्णांक कार्यक्रम के चर की संख्या हो। फिर इसे 2018 में दिखाया गया<ref>{{Cite journal|last1=Koutecký|first1=Martin|last2=Levin|first2=Asaf|last3=Onn|first3=Shmuel|date=2018|others=Michael Wagner|title=A Parameterized Strongly Polynomial Algorithm for Block Structured Integer Programs|url=http://drops.dagstuhl.de/opus/volltexte/2018/9089/|language=en|pages=14 pages|doi=10.4230/LIPICS.ICALP.2018.85|arxiv=1802.05859|s2cid=3336201}}</ref> कि पूर्णांक प्रोग्रामिंग को दृढ़ता से बहुपद और [[फिक्स्ड-पैरामीटर ट्रैक्टेबल]] समय के माध्यम से पैरामीटरित करके हल किया जा सकता है <math>a</math> और <math>d</math>. अर्थात कुछ कम्प्यूटेशनल फंक्शन के लिए <math>f</math> और कुछ स्थिर <math>k</math>, पूर्णांक प्रोग्रामिंग को समय पर हल किया जा सकता है <math>f(a,d)n^k</math>. विशेष रूप से, समय दाहिनी ओर से स्वतंत्र है <math>b</math> और उद्देश्य समारोह <math>c</math>. इसके अतिरिक्त, लेनस्ट्रा के मौलिक परिणाम के विपरीत, जहां संख्या <math>n</math> चर का एक पैरामीटर है, यहाँ संख्या है <math>n</math> चर का इनपुट का एक परिवर्तनशील भाग है।


== यह भी देखें ==
== यह भी देखें ==
Line 173: Line 165:
* [http://www.iasi.cnr.it/aussois The Aussois Combinatorial Optimization Workshop]
* [http://www.iasi.cnr.it/aussois The Aussois Combinatorial Optimization Workshop]
{{Optimization algorithms|combinatorial|state=expanded}}
{{Optimization algorithms|combinatorial|state=expanded}}
[[Category: संयुक्त अनुकूलन]]


[[Category: Machine Translated Page]]
[[Category:CS1 English-language sources (en)]]
[[Category:CS1 errors]]
[[Category:Collapse templates]]
[[Category:Created On 13/02/2023]]
[[Category:Created On 13/02/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages using duplicate arguments in template calls]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Translated in Hindi]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:संयुक्त अनुकूलन]]

Latest revision as of 15:35, 20 October 2023

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

पूर्णांक प्रोग्रामिंग एनपी-पूर्ण है। विशेष रूप से, 0-1 पूर्णांक रैखिक प्रोग्रामिंग का विशेष स्थिति, जिसमें अज्ञात बाइनरी हैं, और एकमात्र प्रतिबंधों को संतुष्ट होना चाहिए, कार्प की 21 एनपी-पूर्ण समस्याओं में से एक है।

यदि कुछ निर्णय चर असतत नहीं हैं, तो समस्या को मिश्रित-पूर्णांक प्रोग्रामिंग समस्या के रूप में जाना जाता है।[1]

आईएलपी के लिए प्रामाणिक और मानक रूप

पूर्णांक रैखिक प्रोग्रामिंग में, विहित रूप मानक रूप से भिन्न होता है। विहित रूप में एक पूर्णांक रैखिक कार्यक्रम इस प्रकार व्यक्त किया जाता है (ध्यान दें कि यह है वेक्टर जो तय किया जाना है):[2]

और आई. एल. पी. को मानक रूप में व्यक्त किया जाता है

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

उदाहरण

एलपी छूट के साथ आईपी पॉलीटॉप

दाईं ओर का प्लॉट निम्नलिखित समस्या दिखाता है।

व्यवहार्य पूर्णांक बिंदुओं को लाल रंग में दिखाया गया है, और लाल धराशायी रेखाएँ उनके उत्तल पतवार को दर्शाती हैं, जो कि सबसे छोटा उत्तल पॉलीहेड्रॉन है जिसमें ये सभी बिंदु सम्मलित हैं। समन्वय अक्षों के साथ नीली रेखाएं एलपी छूट के पॉलीहेड्रॉन को परिभाषित करती हैं, जो असमानताओं के माध्यम से अभिन्नता बाधा के बिना दी जाती है। ऑप्टिमाइज़ेशन का लक्ष्य काली धराशायी रेखा को पॉलीहेड्रॉन को छूते हुए ऊपर की ओर ले जाना है। पूर्णांक समस्या का इष्टतम समाधान बिंदु हैं और जिसका दोनों का उद्देश्य मान 2 है। विश्राम का अद्वितीय इष्टतम है 2.8 के उद्देश्य मूल्य के साथ है। यदि छूट का समाधान निकटतम पूर्णांकों तक किया जाता है, तो यह आईएलपी के लिए संभव नहीं है।

एनपी-कठोरता का प्रमाण

निम्नलिखित न्यूनतम वर्टेक्स कवर से पूर्णांक प्रोग्रामिंग में कमी है जो एनपी-कठोरता के प्रमाण के रूप में काम करेगा।

मान लीजिए एक अप्रत्यक्ष ग्राफ बनें। एक रेखीय कार्यक्रम को निम्नानुसार परिभाषित करें:

यह देखते हुए कि बाधाओं की सीमा से या तो 0 या 1 तक, पूर्णांक प्रोग्राम का कोई भी व्यवहार्य समाधान वर्टिकल का एक सबसेट है। पहली बाधा का तात्पर्य है कि इस उपसमुच्चय में प्रत्येक किनारे का कम से कम एक अंत बिंदु सम्मलित है। इसलिए, समाधान शीर्ष आवरण का वर्णन करता है। इसके अतिरिक्त कुछ वर्टेक्स कवर C दिया गया है, किसी के लिए 1 पर सेट किया जा सकता है और किसी के लिए 0 इस प्रकार हमें पूर्णांक कार्यक्रम के लिए एक व्यवहार्य समाधान प्रदान करता है। इस प्रकार हम यह निष्कर्ष निकाल सकते हैं कि यदि हम योग को कम करते हैं हमने न्यूनतम वर्टेक्स कवर भी पाया है।[3]

वेरिएंट

मिश्रित-पूर्णांक रैखिक प्रोग्रामिंग (एमआईएलपी ) में ऐसी समस्याएँ सम्मलित हैं जिनमें एकमात्र कुछ चर, , पूर्णांक होने के लिए विवश हैं, चूंकि अन्य चरों को गैर-पूर्णांक होने की अनुमति है।

शून्य-एक रैखिक प्रोग्रामिंग (या बाइनरी पूर्णांक प्रोग्रामिंग) में ऐसी समस्याएं सम्मलित हैं जिनमें चर 0 या 1 तक सीमित हैं। किसी भी परिबद्ध पूर्णांक चर को बाइनरी डेटा के संयोजन के रूप में व्यक्त किया जा सकता है।[4] उदाहरण के लिए, एक पूर्णांक चर दिया गया है, , चर का उपयोग करके व्यक्त किया जा सकता है द्विआधारी चर:

अनुप्रयोग

एक रेखीय कार्यक्रम के रूप में समस्याओं को मॉडलिंग करते समय पूर्णांक चर का उपयोग करने के दो मुख्य कारण हैं:

  1. पूर्णांक चर उन मात्राओं का प्रतिनिधित्व करते हैं जो एकमात्र पूर्णांक हो सकती हैं। उदाहरण के लिए, 3.7 कारों का निर्माण संभव नहीं है।
  2. पूर्णांक चर निर्णयों का प्रतिनिधित्व करते हैं (उदाहरण के लिए एक ग्राफ (असतत गणित) में किनारे को सम्मलित करना है या नहीं) और इसलिए एकमात्र 0 या 1 मान लेना चाहिए।

ये विचार व्यवहार में अधिकांशतः होते हैं और इसलिए कई अनुप्रयोग क्षेत्रों में पूर्णांक रैखिक प्रोग्रामिंग का उपयोग किया जा सकता है, जिनमें से कुछ का संक्षेप में नीचे वर्णन किया गया है।

उत्पादन योजना

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

निर्धारण

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

प्रादेशिक विभाजन

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

दूरसंचार नेटवर्क

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

सेलुलर नेटवर्क

मोबाइल संचार के लिए वैश्विक प्रणाली(जीएसएम) मोबाइल नेटवर्क में आवृत्ति प्लानिंग के कार्य में एंटेना में उपलब्ध आवृत्ति को वितरित करना सम्मलित है जिससे उपयोगकर्ताओं को सेवा दी जा सके और एंटेना के बीच हस्तक्षेप कम से कम हो।[6] इस समस्या को एक पूर्णांक रेखीय कार्यक्रम के रूप में तैयार किया जा सकता है जिसमें द्विआधारी चर इंगित करते हैं कि एक आवृत्ति एक ऐन्टेना को सौंपी गई है या नहीं।

अन्य अनुप्रयोग

एल्गोरिदम

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

कुल एकरूपता का उपयोग

चूंकि सामान्यतः LP छूट का समाधान अभिन्न होने की गारंटी नहीं होगी, यदि आईएलपी का रूप है ऐसा है कि जहाँ और सभी पूर्णांक प्रविष्टियाँ हैं और एकरूप मैट्रिक्स कुल एकरूपता है, तो हर बुनियादी व्यवहार्य समाधान अभिन्न है। परिणाम स्वरुप, सिंप्लेक्स एल्गोरिदम के माध्यम से लौटाया गया समाधान अभिन्न होने की गारंटी है। यह दर्शाने के लिए कि प्रत्येक मूल साध्य हल समाकल है, मान लीजिए एक इच्छानुसार बुनियादी व्यवहार्य समाधान बनें। तब से व्यवहार्य है,

हम वह जानते हैं . होने देना मूल समाधान के लिए आधार स्तंभों के अनुरूप तत्व बनें . एक आधार की परिभाषा के अनुसार, कुछ वर्ग सबमैट्रिक्स होता है का रैखिक रूप से स्वतंत्र स्तंभों के साथ .

चूंकि के कॉलम रैखिक रूप से स्वतंत्र हैं और चौकोर है, विलक्षण भी है और इसलिए धारणा से, यूनिमॉड्यूलर मैट्रिक्स है और इसलिए . इसके अतिरिक्त, चूंकि निरर्थक है, यह उलटा है और इसलिए . परिभाषा से, . यहाँ के अदजुगेट मैट्रिक्स को दर्शाता है और अभिन्न है क्योंकि अभिन्न है। इसलिए,

इस प्रकार, यदि मैट्रिक्स एक आईएलपी पूरी प्रकार से एकरूप है, एक आईएलपी एल्गोरिदम का उपयोग करने के अतिरिक्त, एलपी विश्राम को हल करने के लिए सिंप्लेक्स विधि का उपयोग किया जा सकता है और समाधान पूर्णांक होगा।

त्रुटिहीन एल्गोरिदम

जब मैट्रिक्स पूरी प्रकार से एकरूप नहीं है, ऐसे कई प्रकार के एल्गोरिदम हैं जिनका उपयोग पूर्णांक रैखिक कार्यक्रमों को त्रुटिहीन रूप से हल करने के लिए किया जा सकता है। एल्गोरिदम का एक वर्ग कटिंग-प्लेन विधि है जो एलपी छूट को हल करके काम करता है और फिर रैखिक बाधाओं को जोड़ता है जो किसी भी पूर्णांक व्यवहार्य बिंदुओं को छोड़कर समाधान को पूर्णांक होने की ओर ले जाता है।

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

चरों की एक छोटी संख्या के लिए त्रुटिहीन एल्गोरिदम

कल्पना करना एक एम-बाय-एन पूर्णांक मैट्रिक्स है और एक m-by-1 पूर्णांक वेक्टर है। हम व्यवहार्यता समस्या पर ध्यान केंद्रित करते हैं, जो यह तय करना है कि एन-बाय-1 वेक्टर सम्मलित है या नहीं संतुष्टि देने वाला .

V में गुणांकों का अधिकतम निरपेक्ष मान होने दें और . यदि n (चरों की संख्या) एक निश्चित स्थिरांक है, तो व्यवहार्यता समस्या को m और लॉग V में समय बहुपद में हल किया जा सकता है। यह स्थिति n=1 के लिए तुच्छ है। स्थितियोंn = 2 को 1981 में हर्बर्ट स्कार्फ के माध्यम से हल किया गया था।[11] सामान्य स्थिति 1983 में हेनरी लेनस्ट्रा के माध्यम से हल किया गया था, लेज़्लो लोवाज़ और पीटर वैन एम्डे बोस के विचारों को मिलाकर।[12]

0-1 आईएलपी के विशेष स्थितियोंमें, लेनस्ट्रा का एल्गोरिथ्म पूर्ण गणना के बराबर है: सभी संभावित समाधानों की संख्या निश्चित है (2n), और प्रत्येक समाधान की व्यवहार्यता की जाँच टाइम पॉली (m, लॉग V) में की जा सकती है। सामान्य स्थिति में, जहां प्रत्येक चर एक इच्छानुसार पूर्णांक हो सकता है, पूर्ण गणना असंभव है। यहाँ, लेनस्ट्रा का एल्गोरिथ्म संख्याओं की ज्यामिति से विचारों का उपयोग करता है। यह मूल समस्या को निम्नलिखित गुण के साथ समकक्ष समस्या में बदल देता है: या तो समाधान का अस्तित्व स्पष्ट है, या का मूल्य (एन-वें चर) एक अंतराल से संबंधित है जिसकी लंबाई एन के एक समारोह से बंधी है। बाद के स्थितियोंमें, समस्या कम-आयामी समस्याओं की एक सीमित संख्या में कम हो जाती है। एल्गोरिथम की रन-टाइम जटिलता को कई चरणों में सुधारा गया है:

  • लेनस्ट्रा का मूल एल्गोरिदम[12]रन-टाइम था .
  • कन्नन[13] रन-टाइम के साथ एक अधिक अच्छा एल्गोरिथ्म प्रस्तुत किया .[14]
  • फ्रैंक और टार्डोस[15] एक अलग अधिक अच्छा एल्गोरिदम प्रस्तुत किया। अधिक अच्छा रनटाइम है , जहाँ इनपुट बिट्स की संख्या है,[16] जो इसमें है .[17]: Prop.8 


अनुमानी तरीके

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

आईएलपी पर लागू किए जा सकने वाले अन्य अनुमानी तरीकों में सम्मलित हैं

कई अन्य समस्या-विशिष्ट अनुमान भी हैं, जैसे कि ट्रैवलिंग सेल्समैन समस्या इटरेटिव इम्प्रूवमेंट|के-ऑप्ट ह्यूरिस्टिक फॉर द ट्रैवलिंग सेल्समैन समस्या। हेयुरिस्टिक विधियों का एक हानि यह है कि यदि वे समाधान खोजने में विफल रहते हैं, तो यह निर्धारित नहीं किया जा सकता है कि क्या ऐसा इसलिए है क्योंकि कोई व्यवहार्य समाधान नहीं है या एल्गोरिथम एकमात्र एक को खोजने में असमर्थ था। इसके अतिरिक्त, सामान्यतः पर यह निर्धारित करना असंभव है कि इन विधियों के माध्यम से दिए गए इष्टतम समाधान के कितने करीब हैं।

विरल पूर्णांक प्रोग्रामिंग

अधिकांशतः ऐसा होता है कि मैट्रिक्स जो परिभाषित करता है पूर्णांक कार्यक्रम विरल है। विशेष रूप से, यह तब होता है जब मैट्रिक्स में ब्लॉक संरचना होती है, जो कई अनुप्रयोगों में होती है। मैट्रिक्स की विरलता को निम्नानुसार मापा जा सकता है। का ग्राफ के स्तंभों के संगत शीर्ष हैं , और दो स्तंभ एक किनारा बनाते हैं यदि एक पंक्ति है जहाँ दोनों स्तंभों में गैर-शून्य प्रविष्टियाँ हैं। समतुल्य रूप से, शीर्ष चर के अनुरूप होते हैं, और दो चर एक किनारे बनाते हैं यदि वे एक असमानता साझा करते हैं। विरलता माप का के ग्राफ की वृक्ष-गहराई के बीच न्यूनतम है और के स्थानान्तरण के ग्राफ की वृक्ष-गहराई . होने देना का संख्यात्मक माप हो की किसी भी प्रविष्टि के अधिकतम निरपेक्ष मान के रूप में परिभाषित किया गया है . होने देना पूर्णांक कार्यक्रम के चर की संख्या हो। फिर इसे 2018 में दिखाया गया[19] कि पूर्णांक प्रोग्रामिंग को दृढ़ता से बहुपद और फिक्स्ड-पैरामीटर ट्रैक्टेबल समय के माध्यम से पैरामीटरित करके हल किया जा सकता है और . अर्थात कुछ कम्प्यूटेशनल फंक्शन के लिए और कुछ स्थिर , पूर्णांक प्रोग्रामिंग को समय पर हल किया जा सकता है . विशेष रूप से, समय दाहिनी ओर से स्वतंत्र है और उद्देश्य समारोह . इसके अतिरिक्त, लेनस्ट्रा के मौलिक परिणाम के विपरीत, जहां संख्या चर का एक पैरामीटर है, यहाँ संख्या है चर का इनपुट का एक परिवर्तनशील भाग है।

यह भी देखें

संदर्भ

  1. "Mixed-Integer Linear Programming (MILP): Model Formulation" (PDF). Retrieved 16 April 2018.
  2. Papadimitriou, C. H.; Steiglitz, K. (1998). Combinatorial optimization: algorithms and complexity. Mineola, NY: Dover. ISBN 0486402584.
  3. Erickson, J. (2015). "Integer Programming Reduction" (PDF). Archived from the original (PDF) on 18 May 2015.
  4. Williams, H.P. (2009). Logic and integer programming. International Series in Operations Research & Management Science. Vol. 130. ISBN 978-0-387-92280-5.
  5. Borndörfer, R.; Grötschel, M. (2012). "Designing telecommunication networks by integer programming" (PDF).
  6. Sharma, Deepak (2010). "Frequency Planning".
  7. Morais, Hugo; Kádár, Péter; Faria, Pedro; Vale, Zita A.; Khodr, H. M. (2010-01-01). "Optimal scheduling of a renewable micro-grid in an isolated load area using mixed-integer linear programming". Renewable Energy (in English). 35 (1): 151–156. doi:10.1016/j.renene.2009.02.031. hdl:10400.22/1585. ISSN 0960-1481.
  8. Omu, Akomeno; Choudhary, Ruchi; Boies, Adam (2013-10-01). "Distributed energy resource system optimisation using mixed integer linear programming". Energy Policy (in English). 61: 249–266. doi:10.1016/j.enpol.2013.05.009. ISSN 0301-4215.
  9. Schouwenaars, T.; Valenti, M.; Feron, E.; How, J. (2005). "Implementation and Flight Test Results of MILP-based UAV Guidance". 2005 IEEE Aerospace Conference: 1–13. doi:10.1109/AERO.2005.1559600. ISBN 0-7803-8870-4. S2CID 13447718.
  10. Radmanesh, Mohammadreza; Kumar, Manish (2016-03-01). "Flight formation of UAVs in presence of moving obstacles using fast-dynamic mixed integer linear programming". Aerospace Science and Technology (in English). 50: 149–160. doi:10.1016/j.ast.2015.12.021. ISSN 1270-9638.
  11. Scarf, Herbert E. (1981). "Production Sets with Indivisibilities, Part I: Generalities". Econometrica. 49 (1): 1–32. doi:10.2307/1911124. ISSN 0012-9682. JSTOR 1911124.
  12. 12.0 12.1 Lenstra, H. W. (1983-11-01). "Integer Programming with a Fixed Number of Variables". Mathematics of Operations Research. 8 (4): 538–548. CiteSeerX 10.1.1.431.5444. doi:10.1287/moor.8.4.538. ISSN 0364-765X.
  13. Kannan, Ravi (1987-08-01). "Minkowski's Convex Body Theorem and Integer Programming". Mathematics of Operations Research. 12 (3): 415–440. doi:10.1287/moor.12.3.415. ISSN 0364-765X.
  14. Goemans, Michel X.; Rothvoss, Thomas (2020-11-07). "Polynomiality for Bin Packing with a Constant Number of Item Types". Journal of the ACM. 67 (6): 38:1–38:21. doi:10.1145/3421750. hdl:1721.1/92865. ISSN 0004-5411. S2CID 227154747.
  15. Frank, András; Tardos, Éva (1987-03-01). "An application of simultaneous diophantine approximation in combinatorial optimization". Combinatorica (in English). 7 (1): 49–65. doi:10.1007/BF02579200. ISSN 1439-6912. S2CID 45585308.
  16. Bliem, Bernhard; Bredereck, Robert; Niedermeier, Rolf (2016-07-09). "Complexity of efficient and envy-free resource allocation: few agents, resources, or utility levels". Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence. IJCAI'16. New York, New York, USA: AAAI Press: 102–108. ISBN 978-1-57735-770-4.
  17. Bredereck, Robert; Kaczmarczyk, Andrzej; Knop, Dušan; Niedermeier, Rolf (2019-06-17). "High-Multiplicity Fair Allocation: Lenstra Empowered by N-fold Integer Programming". Proceedings of the 2019 ACM Conference on Economics and Computation. EC '19. Phoenix, AZ, USA: Association for Computing Machinery: 505–523. doi:10.1145/3328526.3329649. ISBN 978-1-4503-6792-9. S2CID 195298520.
  18. Glover, F. (1989). "Tabu search-Part II". ORSA Journal on Computing. 1 (3): 4–32. doi:10.1287/ijoc.2.1.4. S2CID 207225435.
  19. Koutecký, Martin; Levin, Asaf; Onn, Shmuel (2018). "A Parameterized Strongly Polynomial Algorithm for Block Structured Integer Programs" (in English). Michael Wagner: 14 pages. arXiv:1802.05859. doi:10.4230/LIPICS.ICALP.2018.85. S2CID 3336201. {{cite journal}}: Cite journal requires |journal= (help)


अग्रिम पठन


बाहरी संबंध

| group5 = Metaheuristics | abbr5 = heuristic | list5 =

| below =

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

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

}}