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

गणित में, मिश्रित पूर्णांक रैखिक प्रोग्रामिंग में कमी समस्या के रूप में है, जो प्रत्येक चर के अभिन्नता प्रतिबंध को हटाकर उत्पन्न होती है।

उदाहरण के लिए, 0-1 पूर्णांक फलन में सभी बाधाएँ प्रपत्र के रूप में होती हैं


 * $$x_i\in\{0,1\}$$.

इसके अतिरिक्त मूल पूर्णांक फलन की छूट रैखिक बाधाओं के संग्रह का उपयोग करती है
 * $$0 \le x_i \le 1.$$

परिणामी रिलैक्सेशन एक रेखीय फलन के रूप में होता है, इसलिए इसका यह नाम है। यह रिलैक्सेशन प्रोद्योगिकीय संबंधित समस्या में एनपी हार्ड ऑप्टिमाइज़ेशन समस्या पूर्णांक प्रोग्रामिंग को रूपान्तरित करती है, जो कि बहुपद  के समय रैखिक प्रोग्रामिंग में समझने योग्य होती है और इस प्रकार सुगम रैखिक फलन के समाधान का प्रयोग मूल पूर्णांक प्रोग्राम के समाधान के बारे में जानकारी प्राप्त करने के लिए किया जा सकता है।

उदाहरण
समुच्चय कवर समस्या पर विचार करते है, जिसके लीनियर प्रोग्रामिंग रिलैक्सेशन पर सबसे पहले विचार किया गया था जिसे ने पहले माना था। इस समस्या में, एक इनपुट के रूप में समुच्चय F = {S0, S1, ...}; (गणित)  के  समूह को दिया जाता है इस कार्य को जितना संभव हो उतना कम समुच्चय के साथ एक उप समूह के रूप में ढूंढना होता है और इस प्रकार एफ के रूप में एक ही संघ (समुच्चय सिद्धांत) के रूप में  होने चाहिए।

इसे 0-1 पूर्णांक फलन के रूप में तैयार करने के लिए संकेतक चर xi के रूप में बनाएं जाते है और प्रत्येक समुच्चय के लिएSi, जिसका मान 1 होता है जब Si चुने हुए उपसमूह से संबंधित है और 0 जब ऐसा नहीं होता है। फिर बाधाओं को संतुष्ट करने वाले संकेतक चर के मूल्यों के असाइनमेंट द्वारा एक वैध कवर का वर्णन इस प्रकार से किया जा सकता है।
 * $$\textstyle x_i\in\{0,1\}$$

अर्थात, केवल निर्दिष्ट सूचक चर मानों की अनुमति होती है और प्रत्येक तत्व के लिए F के संघ ej के रूप में होता है।
 * $$\textstyle \sum_{\{i\mid e_j\in S_i\}} x_i \ge 1$$

अर्थात, प्रत्येक तत्व को कवर किया गया है। न्यूनतम समुच्चय कवर इन बाधाओं को संतुष्ट करने वाले संकेतक चर के असाइनमेंट से मेल खाता है और रैखिक वस्तुनिष्ठ फलन को कम करता है
 * $$\textstyle \min \sum_i x_i.$$

रैखिक प्रोग्रामिंग समस्या में छूट एक आंशिक कवर को वर्णित करता है जिसमें इनपुट समुच्चय का सेट भार नियत किया जाता है और इस प्रकार जैसे कि प्रत्येक अवयव युक्त समुच्चय का कुल वजन कम से कम होता है और सभी समुच्चयो का कुल वजन कम किया जाता है।

समुच्चय कवर समस्या के विशिष्ट उदाहरण के रूप में, F = {{ a, b}, {b, c}, {a, c }} पर विचार करते है और इस प्रकार तीन इष्टतम समुच्चय कवर होते हैं, जिनमें से प्रत्येक में दिए गए तीन समुच्चयो में से दो सम्मलित रूप में होते है। इस प्रकार, संबंधित 0-1 पूर्णांक फलन के उद्देश्य फलन का इष्टतम मूल्य 2 है और इस प्रकार इष्टतम कवर में समुच्चय की संख्या चूँकि भिन्नात्मक समाधान के रूप में होती है, जिसमें प्रत्येक समुच्चय को 1/2 भार दिया गया है और जिसके लिए उद्देश्य फलन का कुल मान 3/2 होता है। इस प्रकार इस उदाहरण में, रैखिक प्रोग्रामिंग रिलैक्सेशन का मूल्य असंबद्ध 0–1 पूर्णांक फलन से भिन्न होता है।

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

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

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

सन्निकटन और अभिन्नता अंतर
रैखिक प्रोग्रामिंग छूट कठिन अनुकूलन समस्याओं के लिए सन्निकटन कलन विधि डिजाइन करने के लिए एक मानक प्रोद्योगिकीय के रूप में है। इस अनुप्रयोग में, महत्वपूर्ण अवधारणा अभिन्नता अंतर होता है, जो पूर्णांक फलन की समाधान गुणवत्ता और इसकी छूट के बीच अधिकतम अनुपात के रूप में होता है और इस प्रकार न्यूनतम समस्या के उदाहरण में यदि वास्तविक न्यूनतम पूर्णांक समस्या का न्यूनतम $$M_\text{int}$$ है और रिलैक्स्ड से न्यूनतम रैखिक प्रोग्रामिंग छूट का न्यूनतम $$M_\text{frac}$$ है, तो उस उदाहरण का समाकलन अतर इस रूप में  $$IG = \frac{M_\text{int}}{M_\text{frac}}$$ होगा और एक अधिकतमकरण समस्या में अंश उलटा होता है। पूर्णात्मकता अतर अधिकांशता कम से कम 1 होता है। उदाहरण में, F = {{ a, b}, {b, c}, {a, c }} का समाकलन अतर  4/3 के रूप में दिखाता है।

सामान्यतः, समाकलन अतर सन्निकटन कलन विधि के सन्निकटन अनुपात में बदल जाता है। ऐसा इसलिए है क्योंकि एक सन्निकटन कलन विधि कुछ घूर्णन रणनीति पर निर्भर करता है जो आकार के हर रिलैक्स्ड समाधान के लिए $$M_\text{frac}$$के रूप में होता है और अधिकतम आकार का पूर्णांक समाधान $$RR\cdot M_\text{frac}$$ के रूप में होता है, जहां आरआर गोलाई अनुपात है। यदि समाकलन अतर IG के साथ उदाहरण है, तो प्रत्येक घूर्णन रणनीति कम से कम आकार का गोल समाधान $$M_\text{int} = IG\cdot M_\text{frac}$$.के रूप में वापस आ जाएगी इसलिए अनिवार्य रूप से $$RR \geq IG$$. घूर्णन अनुपात आरआर सन्निकटन अनुपात पर केवल ऊपरी परिबद्ध होता है, इसलिए सिद्धांत रूप में वास्तविक सन्निकटन अनुपात आईजी से कम हो सकता है, लेकिन यह सिद्ध करना कठिन हो सकता है। इस प्रकार व्यवहार में, एक बड़े IG का सामान्यतः तात्पर्य है कि रैखिक प्रोग्रामिंग छूट में सन्निकटन अनुपात खराब हो सकता है और उस समस्या के लिए अन्य सन्निकटन योजनाओं को देखना बेहतर हो सकता है।

समुच्चय कवर समस्या के लिए, लोवाज़ ने सिद्ध किया कि n तत्वों के साथ उदाहरण के लिए अभिन्नता अंतर  Hn और  nth हार्मोनिक संख्या के रूप में है। इस समस्या के लिए रैखिक प्रोग्रामिंग रिलैक्सेशन को यादृच्छिक घूर्णन राघवन और टोम्पसन 1987 की प्रोद्योगिकीय  के माध्यम से मूल असंबद्ध समुच्चय के आवरण उदाहरण के एक अनुमानित समाधान में परिवर्तित किया जा सकता है। एक भिन्नात्मक आवरण दिया गया है, जिसमें प्रत्येक समुच्चय Si वजन wi है और इस प्रकार यादृच्छिक रूप से प्रत्येक 0–1 सूचक चर xi के रूप में चुनते है प्रायिकता wi × (ln n +1) के साथ 1 और 0 अन्य,के रूप में होता है। तब कोई तत्व 1/(e×n) खुले रहने की संभावना  से कम है, इसलिए निरंतर संभावना के साथ सभी तत्व के रूप में सम्मलित हैं। इस प्रोद्योगिकीय  द्वारा उत्पन्न कवर का कुल आकार उच्च संभावना के साथ, (1+o(1))(ln n)W  है, जहां W भिन्नात्मक समाधान का कुल वजन है। इस प्रकार, यह प्रोद्योगिकीय  यादृच्छिक कलन विधि सन्निकटन कलन विधि की ओर ले जाती है जो इष्टतम के लघुगणक कारक के भीतर एक समुच्चय कवर ढूंढती है। जैसा  ने दिखाया, इस कलन विधि के यादृच्छिक भाग और रैखिक प्रोग्रामिंग छूट के लिए स्पष्ट समाधान बनाने की आवश्यकता को सशर्त संभावनाओं की विधि का उपयोग करके समाप्त किया जा सकता है, जिससे समुच्चय कवर के लिए एक नियतात्मक ग्रीडी कलन विधि हो जाता है, जो पहले से ही लोवाज़ के लिए जाना जाता है और इस प्रकार बार-बार उस समुच्चय का चयन करता है जो शेष खुले तत्वों की सबसे बड़ी संभावित संख्या को कवर करता है। यह ग्रीडी कलन विधि समुच्चय कवर को उसी  Hn के भीतर अनुमानित करता है और लोवाज़ ने समुच्चय कवर के लिए समाकलन अतर के रूप में सिद्ध  किया। यह मानने के लिए मजबूत जटिलता-सैद्धांतिक कारण हैं कि कोई बहुपद समय सन्निकटन कलन विधि महत्वपूर्ण रूप से अपेक्षाकृत अधिक सन्निकटन अनुपात .प्राप्त नहीं कर सकता है।

राघवन, टॉमपसन और यंग द्वारा वर्णित कई अन्य समस्याओं के लिए सन्निकटन कलन विधि विकसित करने के लिए इसी तरह की यादृच्छिक घूर्णन प्रोद्योगिकीय और डेरांडोमाइज्ड सन्निकटन कलन विधि का उपयोग रैखिक प्रोग्रामिंग छूट के संयोजन के साथ किया जा सकता है।

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

यदि इष्टतम समाधान में कुछ चर के भिन्नात्मक मान हैं, तो हम एक शाखा और बाउंड प्रकार की प्रक्रिया प्रारंभ कर सकते हैं, जिसमें हम पुनरावर्ती रूप से उप-समस्याओं को हल करते हैं जिसमें कुछ भिन्नात्मक चर के मान शून्य या एक के लिए तय होते हैं। इस प्रकार के कलन विधि के प्रत्येक चरण में, हम मूल 0-1 पूर्णांक प्रोग्राम की एक उपसमस्या पर विचार करते हैं जिसमें कुछ चरों को उनके लिए निर्दिष्ट मान होते हैं, या तो 0 या 1, और शेष चर अभी भी या तो लेने के लिए स्वतंत्र हैं कीमत। उपसमस्या i में, मान लीजिए Viशेष चर के समुच्चय को निरूपित करें। प्रक्रिया एक उप-समस्या पर विचार करके प्रारंभ  होती है जिसमें कोई चर मान निर्दिष्ट नहीं किया गया है, और जिसमें V0मूल समस्या के चरों का पूरा समुच्चय है। फिर, प्रत्येक उपसमस्या i के लिए, यह निम्न चरणों का पालन करता है।
 * 1) वर्तमान उप-समस्या के रैखिक प्रोग्रामिंग छूट के इष्टतम समाधान की गणना करें। अर्थात्, प्रत्येक चर x के लिएjवी मेंi, हम उस बाधा को प्रतिस्थापित करते हैं जो xjरिलैक्स्ड की बाधा से 0 या 1 हो कि यह अंतराल [0,1] में हो; चूँकि, जिन चरों को पहले से ही मान निर्दिष्ट किए जा चुके हैं, उन्हें रिलैक्स्ड नहीं दिया जाता है।
 * 2) यदि वर्तमान उप-समस्या का रिलैक्स्ड समाधान अब तक मिले सर्वोत्तम पूर्णांक समाधान से भी बदतर है, तो पुनरावर्ती खोज की इस शाखा से पीछे हटें।
 * 3) यदि रिलैक्स्ड से समाधान में सभी चर 0 या 1 पर समुच्चय हैं, तो अब तक मिले सर्वोत्तम पूर्णांक समाधान के विरुद्ध  इसका परीक्षण करें और दोनों में से जो भी समाधान सबसे अच्छा हो, उसे रखें।
 * 4) अन्यथा, चलो xjकोई भी चर हो जो रिलैक्स्ड से समाधान में एक भिन्नात्मक मान पर समुच्चय हो। दो उपसमस्याएँ बनाएँ, एक जिसमें xj0 पर समुच्चय है और दूसरा जिसमें xj1 पर समुच्चय है; दोनों उपसमस्याओं में, कुछ चरों के मानों के उपस्थित ा असाइनमेंट अभी भी उपयोग किए जाते हैं, इसलिए शेष चरों का समुच्चय V बन जाता हैi\ {एक्सj}. दोनों उप-समस्याओं को पुनरावर्ती रूप से खोजें।

चूंकि इस प्रकार के कलन विधि के प्रदर्शन पर सैद्धांतिक सीमा को सिद्ध  करना कठिन  है, वे व्यवहार में बहुत प्रभावी हो सकते हैं।

समतल विधि काटना
दो 0-1 पूर्णांक फलन जो समतुल्य हैं, जिसमें उनका एक ही उद्देश्य फ़ंक्शन और व्यवहार्य समाधानों का एक ही समुच्चय है, में बहुत भिन्न रैखिक प्रोग्रामिंग छूट हो सकती है: एक रैखिक प्रोग्रामिंग छूट को ज्यामितीय रूप से देखा जा सकता है, एक उत्तल पॉलीटॉप के रूप में जिसमें सभी सम्मलित  हैं व्यवहार्य समाधान और अन्य सभी 0–1 वैक्टर को बाहर करता है, और असीम रूप से कई अलग-अलग पॉलीटोप्स में यह गुण होता है। आदर्श रूप से, कोई व्यवहार्य समाधान के उत्तल पतवार को रिलैक्सेशन के रूप में उपयोग करना चाहेगा; इस पॉलीटोप पर रैखिक प्रोग्रामिंग स्वचालित रूप से मूल पूर्णांक फलन का सही समाधान देगी। चूंकि, सामान्यतः , इस पॉलीटॉप में घातीय रूप से कई पहलू (गणित) होंगे और निर्माण करना कठिन  होगा। विशिष्ट छूट, जैसे कि पहले चर्चा की गई समुच्चय कवर समस्या की छूट, एक पॉलीटॉप बनाती है जिसमें उत्तल पतवार को सख्ती से सम्मलित  किया जाता है और इसमें 0–1 वैक्टर के अतिरिक्त  अन्य कोने होते हैं जो असंतुलित समस्या को हल करते हैं।

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

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

संबंधित शाखा और कट विधि काटने के विमान और शाखा और बाध्य विधियों को जोड़ती है। किसी भी उप-समस्या में, यह कटिंग प्लेन विधि को तब तक चलाता है जब तक कि कोई और कटिंग प्लेन नहीं मिल जाता है, और फिर शेष भिन्नात्मक चरों में से एक पर शाखाएं।

यह भी देखें

 * आंशिक रंग, ग्राफ रंग  की एक लीनियर प्रोग्रामिंग रिलैक्सेशन।
 * रैंडमाइज्ड राउंडिंग, मूल समस्या के समाधान से लेकर रिलैक्सेशन तक का समाधान प्राप्त करने के लिए।