रैखिक कार्यक्रमों के लिए मिडपॉइंट समाधान


9

एक रैखिक कार्यक्रम है जिसके लिए मैं न केवल एक समाधान चाहता हूं, बल्कि एक समाधान है जो कि पॉलीटोप के चेहरे पर यथासंभव केंद्रीय है जो न्यूनतम मूल्य मानता है।

एक प्राथमिकता, हम उम्मीद करते हैं कि कम से कम चेहरा विभिन्न कारणों से उच्च आयामी होना चाहिए, जिसमें उद्देश्य फ़ंक्शन को कम से कम किया जाना शामिल है, जो कई बाधाओं में से अधिकतम है:

छोटा करना ϵ का विषय है fi(x¯)ϵ<0 साथ में fi रैखिक और xi>0 सबके लिए i तथा ixi=1

हम कभी भी कोई केंद्रीयता जैसी संपत्ति प्राप्त नहीं करेंगे, जो निश्चित रूप से सिम्प्लेक्स एल्गोरिथम है। क्या कोई सामान्य आंतरिक बिंदु एल्गोरिदम हालांकि ऐसी संपत्तियों का प्रदर्शन करता है? क्या कोई भी गारंटी देता है कि वे जब भी संभव हो वर्टिकल या निचले आयामी चेहरों से बचेंगे?


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

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


2
आपके प्रश्न के बिल्कुल नहीं, लेकिन: केन्द्रक की गणना करना # P- कठिन है; मुझे यकीन नहीं है कि सबसे अच्छा सन्निकटन क्या है, लेकिन कुछ अनुप्रयोगों के लिए पॉलीटॉप को आइसोट्रोपिक स्थिति में रखा गया है और पॉलीओमॉपल घुटनों (बहुप्रचलित) से कई समान नमूनों का औसत ले रहा है। इन नोटों को देखें, उदाहरण के लिए लेम्मा 15: cc.gatech.edu/~vempala/acg/notes.pdf
Sasho Nikolov

क्या यह अधिक सैद्धांतिक या अधिक व्यावहारिक प्रश्न है? शायद यह इष्टतम चेहरे के सभी कोने उत्पन्न करने के लिए संभव है और फिर उनमें से कुछ उपयुक्त उत्तल संयोजन का उपयोग करें।
अनाम

जवाबों:


4

मेरी कुछ टिप्पणियां हैं जो टिप्पणियों के लिए बहुत लंबी हैं। यहाँ एक सारांश है।

  1. आपकी समस्या को हल करने के लिए किसी भी एल्गोरिदम का उपयोग रैखिक कार्यक्रमों को ठीक से हल करने के लिए किया जा सकता है (यानी, "मजबूत रैखिक प्रोग्रामिंग", जो कि सरील के समाधान में उपयोग किया जाता है, और वर्तमान में एक बहुपद समय एल्गोरिथ्म नहीं है)।

  2. प्राकृतिक अनुवर्ती है यदि अनुमानित समाधान (जैसे, "कमजोर रैखिक प्रोग्रामिंग") एक समाधान प्रदान कर सकता है। हालांकि उत्तर हां है, यह प्रतीत होता है कि इस प्रक्रिया के लिए रोक की स्थिति को मात्रा की आवश्यकता होती है, जो कि मेरे सर्वश्रेष्ठ ज्ञान के लिए, बहुपद समय में गणना नहीं की जा सकती है। (यानी, एल्गोरिथ्म कुछ अच्छा लगता है, लेकिन इसे प्रमाणित करना मुश्किल है।) मेरा मुख्य सुझाव एक "" की परिभाषा को सार्थक बनाना है।ϵ-अपनी समस्या के लिए दत्तक समाधान ", जिस स्थिति में यह दृष्टिकोण ट्रैक्टेबल है। (यह रणनीति पॉलीएग्रोन के छोटे चेहरों को प्रभावी ढंग से बाहर निकालती है।)

सामान्य तौर पर, आपकी समस्या के आपके वर्तमान कथन के बारे में सोचते हुए, मैं दक्षता के विचार में भागता रहा। लेकिन इसके लिए उचित अंतर्ज्ञान है: जिन वस्तुओं को हम चारों ओर फेंक रहे हैं - कोने, चेहरे, आदि - असतत, और घातीय प्रचुर मात्रा में।

(1.) मान लीजिए कि हमारे पास एक एल्गोरिथ्म है जो आपकी समस्या को हल करता है। ध्यान दें कि प्रदान किए गए मध्य बिंदु वाले किसी भी चेहरे का कोई भी उजागर बिंदु मूल रैखिक कार्यक्रम का सटीक समाधान होगा। तो इस प्रकार आगे बढ़ें। एक नया रैखिक अवरोध जोड़ें, जिसमें कहा गया है कि मूल उद्देश्य मान इष्टतम एक के बराबर होना चाहिए (जिसे अब हम जानते हैं), और समाधान के पहले समन्वय को अधिकतम करने के लिए एक नया उद्देश्य सेट करें। प्रत्येक आयाम के लिए एक बार इस प्रक्रिया को दोहराएं, हर बार एक बाधा को जोड़ने और अधिकतम करने के लिए एक नया समन्वय चुनें। यह प्रक्रिया हर बार समाधान के आयाम को कम करेगी; आवश्यक है, जब प्रक्रिया पूरी हो जाती है, तो हमारे पास 0-आयामी affine सेट होता है, जिसका अर्थ है एक बिंदु। इस प्रकार सेO(d) आपके मध्यबिंदु को हल करने वाले एल्गोरिथ्म की पुनरावृत्तियों (और केवल एक बहुपद में समस्या का वर्णन बढ़ा रहा है dहर बार), मजबूत रेखीय प्रोग्रामिंग हल किया जाता है। इससे पता चलता है कि सरिएल के समाधान के लिए मजबूत लीनियर प्रोग्रामिंग की आवश्यकता होती है, लेकिन आपके प्रश्न का एक सटीक समाधान इससे बच नहीं सकता है। ( संपादित करें : ध्यान दें कि मेरा प्रमाण इनपुट के रूप में एक कॉम्पैक्ट पॉलीहेड्रॉन (एक पोलीटोप) को दबाता है, अन्यथा वर्टिकल खोजने के लिए थोड़ी मेहनत करनी पड़ती है।)

(२.) यहाँ एक पुनरावृत्ति योजना है, जिसमें प्रत्येक पुनरावृत्ति में पूर्ण विकसित उत्तल सॉल्वर का उपयोग किया गया है, जिसका समाधान मध्यबिंदु समाधान की एक हल्की धारणा में परिवर्तित हो जाएगा। दंड मापदंडों का एक सकारात्मक अभी तक घटता क्रम चुनें{λi}i=10; इनका ज्यामितीय रूप से नीचे जाना उचित है, अर्थातλi=2i। अब, प्रत्येक के लिएi, लगभग उत्तल समारोह को कम से कम

c,xλij=1mln(aj,xb),

कहाँ पे c,x आपका मूल उद्देश्य है, और j सीमा से अधिक है mमूल बाधाओं, अब लॉगरिदमिक बाधाओं (नोट, यह मानक है) के माध्यम से उद्देश्य में रखा गया है। अब अगर हम आपके पॉलीहेड्रोन के कम से कम चेहरे (सबसे बड़े आयाम) के बारे में सोचते हैं, तो ध्यान दें कि पर्याप्त रूप से छोटे के लिएλi और सहनशीलता τआपके उत्तल ऑप्ट ब्लैक बॉक्स में, आपका अनुमानित इष्टतम इस चेहरे के करीब होगा, हालांकि बाधाएं इसे अन्य बाधाओं से यथासंभव दूर कर देंगी। एक और तरीका कहा, जैसा किλi कम हो जाता है, मूल रैखिक उद्देश्य अंततः कुछ बारीक बाधाओं पर हावी होगा जो आपको उपयुक्त चेहरे से रख रहे थे, लेकिन आपको अन्य सीमाओं से, विशेष रूप से लक्ष्य चेहरे के उन बाधाओं को प्रभावित नहीं करेगा।

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

सभी रुकने की स्थिति मैं आ सकता है इन प्रकार कम्प्यूटेशनल कठिनाइयों था। (इसके अलावा, कई को फिर से एक मजबूत रैखिक प्रोग्रामिंग सॉल्वर में बदलने के लिए इस्तेमाल किया जा सकता है।)

इस कारण से, मेरी सिफारिश `` की धारणा का निर्माण करना हैϵइष्टतम मिडपॉइंट '' का चयन करें, और इसे चुनकर हल करें λ और आपका उत्तल ब्लैक बॉक्स सहिष्णुता को चुनते हैं τउचित रूप से। मुझे लगता है कि यह एक उचित विकल्प है क्योंकि आप वास्तव में उन चेहरों की परवाह नहीं कर सकते हैं जिनकी चौड़ाई सबसे अधिक हैϵ

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

अंत में, आपके वर्णन से, मेरा मानना ​​है कि आपका "लक्ष्य चेहरा" जितना संभव हो उतना उच्च आयाम होना चाहिए? यह अच्छी तरह से परिभाषित है, हालांकि सभी संभावित छोटे आयामों के लिए भी समाधान चेहरे हैं। वैसे भी, सरिएल का दृष्टिकोण और उपरोक्त बाधा दृष्टिकोण दोनों सबसे बड़े आयाम के चेहरे के साथ काम करेंगे।


हां, मैंने इस तरह की तरकीबों पर विचार किया, लेकिन मैं आखिरकार कम से कम होता चला गया ifi(x)2+jxj2 का विषय है jxj=1Lagrange गुणक का उपयोग करना। यह एक कमजोर केंद्रीय संपत्ति का उत्पादन करता हैxविकर्ण पर, जो न्यूनतम सतह नहीं हो सकती है, लेकिन निश्चित रूप से बाधा सतहों में से एक है जो कभी नहीं चलती है। मैं बस एक अलग रेखीय कार्यक्रम चलाता हूँ जब एक बार कंट्रास्ट विकसित होना बंद हो जाता है और मुझे वास्तव में वास्तविक न्यूनतम की आवश्यकता होती हैϵ। अंततः कोई जरूरत नहीं रखनी थीϵबाधाओं को तेजी से विकसित करने में मदद करने के लिए कम से कम। हालांकि धन्यवाद! :)
जेफ बर्ड्स

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

मुझे "मजबूत रैखिक प्रोग्रामिंग" के बारे में बात समझ में नहीं आती है और मैंने इस अभिव्यक्ति को पहले कभी नहीं सुना है। यह ज्ञात नहीं है कि मजबूत बहुपद समय में एलपी कैसे हल किया जाए। लेकिन इनपुट विवरण (यानी कमजोर बहुपद समय) में बहुपद में एलपी को हल करना बेशक अच्छी तरह से जाना जाता है। यदि ओपी कमजोर बहुपद समय में एक एल्गोरिथ्म चला रहा है तो सरियल का समाधान + एक पॉली-टाइम इंटीरियर प्वाइंट एल्गोरिदम काम करेगा, नहीं?
साशो निकोलेव

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

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

6

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

एलपी का उपयोग करके दूसरी समस्या को क्यों हल किया जा सकता है कम्प्यूटेशनल ज्यामिति में एक सुंदर समस्या है ...

==============

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

तो, पहले एलपी द्वारा गणना की गई शीर्ष हो। सभी पड़ोसी कोने को ध्यान में रखते हुए । अपने सभी पड़ोसियों के साथ एक साथ के affine उप-क्षेत्र पर विचार करें, जिसका समान लक्ष्य मान है (यानी, )। यह देखना कठिन नहीं है, कि यह संपन्न उप-केंद्र वांछित उप-भूमि है।vvvα

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


पॉलीहेड्रॉन में "सबसे बड़ी गेंद" का मतलब पूर्ण आयाम नहीं है?
क्रिस्टोफर अर्नसेफेल्ट हैनसेन

@KristofferArnsfeltHansen पॉलीहेड्रॉन निश्चित रूप से एक उत्तल सेट है जो कुछ आयाम के एक सुशी उप-क्षेत्र में पड़ा हुआ है ।
साशो निकोलेव

इसे काम करने के लिए, आपको पहले चरण में मिले चेहरे (नों) तक सीमित रखने के लिए आपको एक विवशता निर्दिष्ट करनी होगी। आपको यह भी जानना होगा कि समाधान इस चेहरे पर निरंतर था (संभवतः पूरक सुस्तता से यह पता चलेगा)
सुरेश वेंकट

बहुपद समय में प्रारंभिक अनुकूलन के बाद चरणों को करने का कोई तरीका है? जैसा कि लिखा गया है, यह लक्ष्य चेहरे के सभी शीर्षों पर विचार करने की आवश्यकता है, जिनमें से कई घातीय हो सकते हैं।
माटस

1
यह उससे भी आसान है - आपको इष्टतम शीर्ष से सटे केवल शीर्षों पर विचार करने की आवश्यकता है - इसमें सबसे अधिक आसन्न हैं, और आप उन्हें बहुपद समय में गणना कर सकते हैं .... यह देखने के लिए कि इसका सही, बहुपद पर क्यों विचार करें। affine subspace - यह के पड़ोसियों द्वारा फैलाया जाता है जो इस affine subspace पर झूठ बोलते हैं, लेकिन ये मूल polytope में v से सटे कोने के उपसमूह हैं। और हाँ - यह देखने के लिए मुझे काफी समय लगा। dv
सरियल हर-पेलेड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.