कड़े सकारात्मकता बाधाओं के साथ रैखिक प्रोग्रामिंग व्यवहार्यता समस्या


15

वहाँ रैखिक की कमी की एक प्रणाली है Axb । मैं एक सख्त सकारात्मक वेक्टर ढूंढना चाहता हूं x>0जो इन बाधाओं को संतुष्ट करता है। इसका मतलब है, प्रत्येक घटक के लिए आवश्यक है । मैं ऐसे सख्ती से सकारात्मक वेक्टर को खोजने के लिए एलपी सॉल्वर का उपयोग कैसे कर सकता हूं (या पुष्टि करें कि कोई मौजूद है)? मैं बस की कमी की एक और प्रणाली को पेश नहीं कर सकता , क्योंकि समानता को हमेशा एक एलपी में अनुमति दी जानी चाहिए- लेकिन मैं एलपी सॉल्वर का उपयोग कई बार कर सकता हूं, उद्देश्य उद्देश्यों को बदलने के साथ। मुझे लगता है कि मुझे सुस्त चर विधि का उपयोग करना चाहिए, लेकिन मुझे नहीं पता कि कैसे।एक्स मैं एक्स एक्स एक्स एक्स मैं > 0xi>0xixएक्सएक्सएक्समैं>0

जवाबों:


15

आप एक छोटे चुनने की समस्या को दरकिनार कर सकते हैं ε>0 में थोड़ा और अधिक महत्वाकांक्षी होने से: खोजने की कोशिश करें एक्स ऐसी है कि एक्स और उस में सबसे छोटी प्रविष्टि एक्स सबसे बड़ा संभव है।

इसके लिए एक नया वेरिएबल परिचय

y=[xϵ]Rn+1
(यदि x में था Rn ) और एक एल.पी.-solver द्वारा निम्न समस्या को हल
maxy[00 1]ys.t.[A 0]yband0[10010101011]y.

यह निम्न समस्या की पुनर्निर्माण है:

maxϵs.tAxbandxϵ1.


अच्छी तरह से किया गया, यह एक कॉउथोर के लिए एक ट्रिक के बराबर है और मैंने हाल ही में एक पेपर में उपयोग किया है, और निश्चित रूप से मेरे द्वारा सुझाए गए दृष्टिकोण से बेहतर है।
एरन अहमदिया

माना। अच्छा खेला, सर।
जियोफ ऑक्सबेरी

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

@DavidNehme: एक बाधा जोड़ सकते हैं एक घिरे उद्देश्य को पाने के लिए। yn+11
अर्नोल्ड न्यूमैयर

5

एलपी व्यवहार्यता समस्या के लिए, मैं मानक सिम्प्लेक्स का उपयोग नहीं करूंगा। स्टैण्डर्ड प्राइमल (या ड्यूल) सिम्प्लेक्स एल्गोरिदम केवल प्राइमल (या डुअल) समस्याओं के व्यवहार्य सेट के कोने पर जाएंगे।

चलो समस्या का व्यावहारिक सेट आप वास्तव में हल करने के लिए होना चाहता हूँ , और लगता है कि इसके बजाय आप समस्या (हल करने के लिए थे एफ ε ):F={x:Axb,x>0}Fε

minx0s.t.Axbxε1.

जिस समस्या को आप हल करना चाहते हैं, उसका निकटतम सन्निकट , जो कि बहुत अधिक बिंदुओं को स्वीकार करता है। समस्या यह है कि सकारात्मक orthant की सीमा (यानी, सेट बी = { x : एक्स0 , मैं : एक्स मैं = 0 } के संभव सेट की सीमा का हिस्सा बना सकता है एफ 0 । हम चाहते उन बिंदुओं को बाहर करना पसंद है। ऐसा करने का एक तरीका यह है कि एरन ने जो सुझाव दिया है, जो ε सेट करना हैF0B={x:x0,i:xi=0}F0εकुछ छोटे सकारात्मक मूल्य के लिए, और फिर किसी भी मानक एलपी एल्गोरिथ्म का उपयोग करें। यह रणनीति एक अच्छी है, और संभवतः कई तरह की स्थितियों में काम करेगी। हालांकि, यह विफल हो जाएगा यदि अव्यवहार्य है। हम जानते हैं कि एफ 0एफ एफ ε सभी के लिए ε > 0 (दुरुपयोग अंकन करने के लिए और उससे संबंधित समस्या से एक व्यवहार्य सेट को देखें), और यह संभव है कि भले ही आप के छोटे सकारात्मक मूल्यों लेने है ε , एल.पी. solver इंगित करेंगे कि आपका एलपी असीम है।FεF0FFεε>0ε

एक एलपी सॉल्वर के लिए, मैं एलपी के लिए किसी भी आंतरिक बिंदु एल्गोरिथ्म का उपयोग करूंगा जो एक संभव बिंदु से शुरू होता है और संभव रहता है, जो में अंक को बाहर करने का एक और तरीका है । आप इन एल्गोरिदम के लिए एक व्यवहार्य बिंदु की आपूर्ति करने की जरूरत नहीं है; मानक सॉल्वर आपके लिए यह करेंगे। एफाइन स्केलिंग, संभावित कमी, और बैरियर विधियों जैसे तरीके सहायक एलपी स्थापित करते हैं जो व्यवहार्य समाधान पाएंगे, और इन एल्गोरिदम के लिए पुनरावृत्ति संभव क्षेत्र के इंटीरियर को पार करते हैं। आपको केवल अपने व्यवहार्य क्षेत्र में एक बिंदु का पता लगाने की आवश्यकता है, इसलिए जब तक एलपी सॉल्वर द्वारा उपयोग की जाने वाली सहायक समस्याएं आपकी समस्या के लिए एक व्यवहार्य बिंदु का पता लगाती हैं, और यह संभव बिंदु सख्ती से सकारात्मक है, तो आपको ठीक होना चाहिए। सुलझाने तो एफ ε के छोटे सकारात्मक मूल्यों के लिए विफल रहता है εBFεε, आप अभी भी इन तरीकों का उपयोग करने में सक्षम हो सकते हैं भीतर एक सख्ती से सकारात्मक संभव बिंदु का पता लगाने के लिए ।F0

हालांकि, सिम्प्लेक्स का उपयोग न करें, क्योंकि यह केवल के कोने का पता लगाएगा , जो कि वास्तव में आप ऐसा करने से बचना चाहते हैं।Fε


4

व्यवहार्यता समस्या सामान्य रेखीय समस्याओं की तुलना में थोड़ा पेचीदा खेल है, जिसे आपने नोट किया है। आप लगभग सुलझाने रहे हैं (समीकरणों और बाधाओं के सिस्टम का एक फ्लोटिंग प्वाइंट प्रतिनिधित्व का उपयोग करके), यह आवश्यकता के लिए वैध है , जहां ε कुछ बहुत ही छोटे संख्यात्मक मूल्य, बड़ा पर्याप्त है कि आश्वस्त करने के लिए है एक्स मैं वास्तव में the + में रहता है , लेकिन इतना छोटा है कि सीमा पर समाधान नहीं माना जाता है।xi>=ϵϵxi+

आप को समायोजित करना पड़ सकता है , और अपने समाधान "का एक पहलू के भीतर करने के लिए योग्य हो जाएगा ε ", लेकिन यह कई स्थितियों के लिए पर्याप्त है।ϵϵ


2

ऐस्मिल द्वारा दिए गए उत्तर को ध्यान से पढ़ना है, एलपी का संबंध है

max(x1+x2)

सेंट

x1+x21

x1,x20

इसके समाधान और ( 0 , 1 ) और साथ ही अन्य (पतित) हैं। प्रश्न की व्यापकता यह दर्शाती है कि इन मामलों का भी इलाज किया जाना चाहिए।(1,0)(0,1)

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

यद्यपि मैं गणितीय सिद्ध नहीं दे सकता कि यह काम करता है (या उद्देश्य फ़ंक्शन को संशोधित करने के लिए एक अच्छी तरह से परिभाषित प्रक्रिया)। आशा है कि ये आपकी मदद करेगा :)


हालांकि, यदि आपके पास बड़ी संख्या में पतित समाधान हैं, तो आप इस संख्यात्मक रूप से कैसे निपटेंगे? क्या इस समस्या को हल करने के बारे में कोई भी संख्यात्मक सांत्वना (या इससे भी बदतर) नहीं है?
ऐसमेल

नहीं, वे नहीं करेंगे; वे अभी सामने आए पहले इष्टतम समाधान को वापस करेंगे। जिस तरह से आप समाधान उत्पन्न करना जारी रखेंगे, वह है कटिंग विमानों (या अन्य बाधाओं) को जोड़ना जो पहले से गणना किए गए इष्टतम समाधानों को बाहर करते हैं। इस मामले में, ऐसे कटिंग विमानों को जोड़ने से आप इष्टतम समाधानों के अनंत सेट के एक असतत सन्निकटन को वापस करने में सक्षम होंगे।
जियोफ ऑक्सबेरी

मुझे लगता है कि एक अजीब प्रोग्रामिंग निर्णय के रूप में; आप उपयोगकर्ता को यह क्यों नहीं बताना चाहेंगे कि रिपोर्ट किए गए समाधान के पड़ोस में उद्देश्य फ़ंक्शन कुछ अजीब था? नॉनलाइनर सॉल्वर के लिए, मैं देख सकता था कि वहाँ क्या हो रहा है; लेकिन यह एक रैखिक प्रणाली के साथ बताने के लिए आसान नहीं होना चाहिए?
ऐनीमेल

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