रैखिक अनुकूलन के लिए सिंप्लेक्स विधि पर आंतरिक बिंदु विधियों के फायदे / नुकसान क्या हैं?


14

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


minx[1,1]x2x=0

क्या "उत्तल अनुकूलन" के बजाय "रैखिक अनुकूलन" कहना अधिक उचित होगा?
पॉल

हाँ, तो आपका कथन सही है। अपने प्रश्न को संपादित करने के लिए धन्यवाद।
जियोफ ऑक्सबेरी

सिंप्लेक्स विधि के साथ समस्या यह है कि इसे गैर-समसामयिक समस्याओं के लिए सामान्यीकृत नहीं किया जा सकता है, अर्थात वास्तविक दुनिया की अधिकांश समस्याएं।

जवाबों:


17

व्यक्तिगत अनुभव के आधार पर, मैं कहूंगा कि सरल बिंदु तरीकों को समझना आसान है कि आंतरिक बिंदु विधियों की तुलना में कैसे लागू किया जाए, एक साधारण प्रोग्रामिंग क्लास लेने के हिस्से के रूप में MATLAB में प्राइमल सिंप्लेक्स और एक बुनियादी आंतरिक बिंदु पद्धति दोनों को लागू करने के व्यक्तिगत अनुभव के आधार पर। । प्राइमल सिम्प्लेक्स में मुख्य बाधाएं यह सुनिश्चित कर रही हैं कि आप चरण I और चरण II को सही ढंग से लागू करते हैं, और यह भी कि आप एक एंटीसाइकलिंग नियम को सही तरीके से लागू करते हैं। रैखिक प्रोग्रामिंग के लिए एक आंतरिक बिंदु विधि को लागू करने में मुख्य बाधाएं पुनरावृत्त विधि को सही तरीके से लागू करने के बारे में अधिक होती हैं, और तदनुसार बाधा पैरामीटर को स्केल करती हैं।

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

सिंप्लेक्स के पेशेवरों:

  • यह देखते हुए निर्णय चर, आम तौर पर में converges के साथ संचालन pivots।nO(n)O(n)
  • समस्या की ज्यामिति का लाभ उठाता है: व्यवहार्य सेट के कोने पर जाता है और इष्टतमता के लिए प्रत्येक विज़िट किए गए शीर्ष को देखता है। (प्रारंभिक सिम्प्लेक्स में, इस चेक के लिए कम लागत का उपयोग किया जा सकता है।)
  • छोटी समस्याओं के लिए अच्छा है।

सिंप्लेक्स के विपक्ष:

  • निर्णय चर को देखते हुए , आप हमेशा एक समस्या उदाहरण पा सकते हैं जहां एल्गोरिथ्म को समाधान पर पहुंचने के लिए संचालन और पिवोट्स की आवश्यकता होती है ।nO(2n)
  • बड़ी समस्याओं के लिए इतना महान नहीं है, क्योंकि धुरी संचालन महंगा हो जाता है। डेंट्ज़िग-वोल्फ जैसे कटिंग-प्लेन एल्गोरिदम या विलंबित कॉलम जनरेशन एल्गोरिदम कभी-कभी इस कमी की भरपाई कर सकते हैं।

आंतरिक बिंदु विधियों के पेशेवरों:

  • बहुपद समय विषमता है , जहां एल्गोरिथ्म में इनपुट के बिट्स की संख्या है।O(n3.5L2logLloglogL)L
  • बड़ी, विरल समस्याओं के लिए बेहतर है क्योंकि एल्गोरिथ्म के लिए आवश्यक रैखिक बीजगणित तेज है।

आंतरिक बिंदु तरीकों की विपक्ष:

  • यह सहज रूप से संतोषजनक नहीं है क्योंकि आप सही हैं, ये विधियाँ कोने पर नहीं जाती हैं। वे आंतरिक क्षेत्र में भटकते हैं, जब सफल होने पर एक समाधान में परिवर्तित होते हैं।
  • छोटी समस्याओं के लिए, सिंप्लेक्स शायद तेज होगा। (आप क्ले-मिन्टी क्यूब की तरह पैथोलॉजिकल मामलों का निर्माण कर सकते हैं।)

2
एक अच्छा सारांश। वास्तव में क्ले-मिन्टी को सिम्प्लेक्स एलपी तरीकों को भ्रमित करने के लिए डिज़ाइन किया गया लगता है ...
जेएम

@ जेएम हां, यह बिल्कुल सही बात है - यह एक स्पष्ट निर्माण है यह दिखाने के लिए कि सिंपलेक्स विधियां बहुपद नहीं हैं (हालांकि ऐसे वेरिएंट हैं जो आंतरिक बिंदु तरीकों को भी रोते हैं)।
क्रिश्चियन क्लैसन

इस सूचनादायक पोस्ट के लिए धन्यवाद। मुझे आश्चर्य है कि कितने चर समस्या को बड़ा बनाते हैं? दर्जनों? सैकड़ों? हजारों?
KjMag

क्ली-मिन्टी घन solver ओपनसोर्स में <0.1 सेकंड में चलाता GLPK 4.65 सिंप्लेक्स। (मान में और कई सॉल्वर्स को D = 100 पर दुर्व्यवहार करने का कारण बनता है, लेकिन यह अलग है।) क्या कोई समस्या है जिसके लिए सिम्प्लेक्स विधि धीरे-धीरे चलती है, <1M नॉनज़रोज़ के साथ विरलता कहें? 5DAx
डेनिस

3

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


मुझे लगता है कि मैंने जो उदाहरण दिया वह एक रैखिक कार्यक्रम नहीं था; यदि आप संशोधन इतिहास को देखते हैं, तो इस प्रश्न के एक पुराने संस्करण में उत्तल अनुकूलन समस्याओं के लिए सरल विधि और आंतरिक बिंदु विधियों की तुलना करने के लिए कहा गया है। मैंने अपने द्वारा किए गए संपादन को सही ठहराने के लिए और मूल पोस्टर को अपने प्रश्न को सही करने के लिए प्रोत्साहित करने के लिए एक जवाबी नमूना दिया, जो उन्होंने किया।
ज्यॉफ ऑक्सीबेरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.