रैखिक क्रमादेशन: Difference between revisions
m (Arti Shah moved page रैखिक प्रोग्रामिंग to रैखिक क्रमादेशन) |
|
(No difference)
|
Revision as of 15:08, 17 November 2022
रैखिक प्रोग्रामिंग (एलपी), जिसे रैखिक अनुकूलन भी कहा जाता है, एक गणितीय मॉडल में सर्वोत्तम परिणाम (जैसे अधिकतम लाभ या न्यूनतम लागत) प्राप्त करने का एक तरीका है, जिसकी आवश्यकताओं को रैखिक कार्य # बहुपद समारोह के रूप में दर्शाया जाता है। रैखिक प्रोग्रामिंग गणितीय प्रोग्रामिंग (जिसे गणितीय अनुकूलन भी कहा जाता है) का एक विशेष मामला है।
अधिक औपचारिक रूप से, रैखिक प्रोग्रामिंग एक रैखिक उद्देश्य समारोह के गणितीय अनुकूलन के लिए एक तकनीक है, जो रैखिक समानता और रैखिक असमानता बाधा (गणित) के अधीन है। इसका व्यवहार्य क्षेत्र एक उत्तल पॉलीटोप है, जो कि एक सेट है जिसे बहुत से अर्ध-अंतरिक्ष (ज्यामिति) के प्रतिच्छेदन (गणित) के रूप में परिभाषित किया गया है, जिनमें से प्रत्येक को रैखिक असमानता द्वारा परिभाषित किया गया है. इसका उद्देश्य फ़ंक्शन इस पॉलीहेड्रॉन पर परिभाषित एक वास्तविक संख्या -मूल्यवान एफाइन फंक्शन | एफ़िन (रैखिक) फ़ंक्शन है। एक रैखिक प्रोग्रामिंग कलन विधि पॉलीटोप में एक बिंदु ढूंढता है जहां इस फ़ंक्शन का सबसे छोटा (या सबसे बड़ा) मान होता है यदि ऐसा कोई बिंदु मौजूद है।
रैखिक कार्यक्रम ऐसी समस्याएं हैं जिन्हें विहित रूप में व्यक्त किया जा सकता है:
यहाँ x के घटक निर्धारित किए जाने वाले चर हैं, c और b को सदिश स्थान दिया गया है (साथ यह दर्शाता है कि c के गुणांकों का उपयोग मैट्रिक्स उत्पाद बनाने के उद्देश्य से एकल-पंक्ति मैट्रिक्स के रूप में किया जाता है), और A एक दिया गया मैट्रिक्स (गणित) है। वह फ़ंक्शन जिसका मान अधिकतम या न्यूनतम किया जाना है ( इस मामले में) उद्देश्य समारोह कहा जाता है। असमिकाएँ A'x' ≤ 'b' और 'x' ≥ '0' ऐसी बाधाएँ हैं जो एक उत्तल पॉलीटॉप निर्दिष्ट करती हैं जिसके ऊपर उद्देश्य फ़ंक्शन को अनुकूलित किया जाना है। इस संदर्भ में, दो सदिशों की तुलना तब की जाती है जब उनके आयाम समान हों। यदि पहले में प्रत्येक प्रविष्टि दूसरे में संबंधित प्रविष्टि से कम या बराबर है, तो यह कहा जा सकता है कि पहला वेक्टर दूसरे वेक्टर से कम या बराबर है।
रैखिक प्रोग्रामिंग अध्ययन के विभिन्न क्षेत्रों में लागू किया जा सकता है। यह व्यापक रूप से गणित में और कुछ हद तक व्यापार, अर्थशास्त्र और कुछ इंजीनियरिंग समस्याओं में उपयोग किया जाता है। उद्योग जो रैखिक प्रोग्रामिंग मॉडल का उपयोग करते हैं उनमें परिवहन, ऊर्जा, दूरसंचार और विनिर्माण शामिल हैं। यह स्वचालित योजना और शेड्यूलिंग , मार्ग , शेड्यूलिंग (उत्पादन प्रक्रिया), असाइनमेंट समस्या और डिज़ाइन में विभिन्न प्रकार की समस्याओं को मॉडलिंग करने में उपयोगी साबित हुआ है।
इतिहास
रैखिक असमानताओं की एक प्रणाली को हल करने की समस्या कम से कम जोसेफ फूरियर के रूप में है, जिन्होंने 1827 में उन्हें हल करने के लिए एक विधि प्रकाशित की थी,[1] और जिनके नाम पर फूरियर-मोट्ज़किन उन्मूलन की विधि का नाम रखा गया है।
1939 में सोवियत संघ के गणितज्ञ और अर्थशास्त्री लियोनिद कांटोरोविच द्वारा एक समस्या का एक रैखिक प्रोग्रामिंग सूत्रीकरण दिया गया था, जो सामान्य रैखिक प्रोग्रामिंग समस्या के बराबर है, जिन्होंने इसे हल करने के लिए एक विधि भी प्रस्तावित की थी।[2] यह द्वितीय विश्व युद्ध के दौरान सेना की लागत को कम करने और दुश्मन पर लगाए गए नुकसान को बढ़ाने के लिए व्यय और वापसी की योजना बनाने का एक तरीका है।[citation needed] कांटोरोविच के काम को शुरू में सोवियत संघ में उपेक्षित किया गया था।[3] लगभग उसी समय केंटोरोविच के रूप में, डच-अमेरिकी अर्थशास्त्री त्जालिंग कोपमैन्स|टी. सी। कोपमैन्स ने शास्त्रीय आर्थिक समस्याओं को रैखिक कार्यक्रमों के रूप में तैयार किया। कांटोरोविच और कोपमैन्स ने बाद में 1975 में अर्थशास्त्र में नोबेल पुरस्कार साझा किया।[1]1941 में, फ्रैंक लॉरेन हिचकॉक ने भी परिवहन समस्याओं को रैखिक कार्यक्रमों के रूप में तैयार किया और बाद के सिंप्लेक्स पद्धति के समान ही एक समाधान दिया।[2]हिचकॉक की मृत्यु 1957 में हुई थी, और नोबेल पुरस्कार मरणोपरांत नहीं दिया जाता है।
1946 से 1947 तक जॉर्ज डेंटजिग|जॉर्ज बी. डेंटजिग ने अमेरिकी वायु सेना में नियोजन समस्याओं के लिए उपयोग करने के लिए स्वतंत्र रूप से सामान्य रैखिक प्रोग्रामिंग फॉर्मूलेशन विकसित किया।[4] 1947 में, Dantzig ने सिम्पलेक्स एल्गोरिथम का भी आविष्कार किया, जिसने पहली बार कुशलतापूर्वक, ज्यादातर मामलों में रैखिक प्रोग्रामिंग समस्या का समाधान किया।[4]जब डेंटज़िग ने जॉन वॉन न्यूमैन के साथ अपनी सिम्पलेक्स पद्धति पर चर्चा करने के लिए एक बैठक की, तो न्यूमैन ने तुरंत यह महसूस करते हुए #द्वैत के सिद्धांत का अनुमान लगाया कि खेल सिद्धांत में वह जिस समस्या पर काम कर रहे थे, वह समतुल्य थी।[4]Dantzig ने 5 जनवरी, 1948 को रैखिक असमानताओं पर एक अप्रकाशित रिपोर्ट A Theorem में औपचारिक प्रमाण प्रदान किया।[3]1951 में डेंटज़िग का काम जनता के लिए उपलब्ध कराया गया था। युद्ध के बाद के वर्षों में, कई उद्योगों ने इसे अपनी दैनिक योजना में लागू किया।
डेंटजिग का मूल उदाहरण 70 लोगों के लिए 70 नौकरियों का सर्वश्रेष्ठ असाइनमेंट खोजना था। सर्वोत्तम असाइनमेंट का चयन करने के लिए सभी क्रमपरिवर्तनों का परीक्षण करने के लिए आवश्यक कंप्यूटिंग शक्ति विशाल है; संभावित विन्यासों की संख्या अवलोकन योग्य ब्रह्मांड में रासायनिक तत्वों की प्रचुरता से अधिक है। हालाँकि, समस्या को एक रेखीय कार्यक्रम के रूप में प्रस्तुत करके और सिम्पलेक्स एल्गोरिथम को लागू करके इष्टतम समाधान खोजने में केवल एक क्षण लगता है। रैखिक प्रोग्रामिंग के पीछे का सिद्धांत उन संभावित समाधानों की संख्या को बहुत कम कर देता है जिनकी जाँच की जानी चाहिए।
रैखिक प्रोग्रामिंग समस्या को पहली बार 1979 में लियोनिद खाचियां द्वारा बहुपद समय में हल करने योग्य दिखाया गया था,[5] लेकिन इस क्षेत्र में एक बड़ी सैद्धांतिक और व्यावहारिक सफलता 1984 में आई जब नरेंद्र करमरकर ने रैखिक-प्रोग्रामिंग समस्याओं को हल करने के लिए एक नई आंतरिक-बिंदु पद्धति की शुरुआत की।[6]
उपयोग
रैखिक प्रोग्रामिंग कई कारणों से अनुकूलन का व्यापक रूप से उपयोग किया जाने वाला क्षेत्र है। संचालन अनुसंधान में कई व्यावहारिक समस्याओं को रैखिक प्रोग्रामिंग समस्याओं के रूप में व्यक्त किया जा सकता है।[3]रैखिक प्रोग्रामिंग के कुछ विशेष मामले, जैसे कि नेटवर्क प्रवाह समस्या समस्याएं और बहु-वस्तु प्रवाह समस्या, विशेष एल्गोरिदम पर अधिक शोध करने के लिए पर्याप्त महत्वपूर्ण मानी जाती हैं। अन्य प्रकार की अनुकूलन समस्याओं के लिए कई एल्गोरिदम रैखिक प्रोग्रामिंग समस्याओं को उप-समस्याओं के रूप में हल करके काम करते हैं। ऐतिहासिक रूप से, रैखिक प्रोग्रामिंग के विचारों ने अनुकूलन सिद्धांत की कई केंद्रीय अवधारणाओं को प्रेरित किया है, जैसे कि द्वैत, अपघटन, और उत्तलता और इसके सामान्यीकरण का महत्व। इसी तरह, सूक्ष्मअर्थशास्त्र के प्रारंभिक गठन में रैखिक प्रोग्रामिंग का भारी उपयोग किया गया था, और वर्तमान में इसका उपयोग कंपनी प्रबंधन, जैसे योजना, उत्पादन, परिवहन और प्रौद्योगिकी में किया जाता है। यद्यपि आधुनिक प्रबंधन के मुद्दे हमेशा बदल रहे हैं, अधिकांश कंपनियां सीमित संसाधनों के साथ अधिकतम लाभ और लागत को कम करना चाहती हैं। Google YouTube वीडियो को स्थिर करने के लिए रैखिक प्रोग्रामिंग का भी उपयोग करता है।[7]
मानक रूप
मानक रूप एक रैखिक प्रोग्रामिंग समस्या का वर्णन करने का सामान्य और सबसे सहज रूप है। इसमें निम्नलिखित तीन भाग होते हैं:
- एक 'रैखिक कार्य को अधिकतम किया जाना'
- जैसे
- निम्नलिखित रूप की समस्या बाधाएं
- जैसे
- गैर-नकारात्मक चर
- जैसे
समस्या आमतौर पर मैट्रिक्स (गणित) के रूप में व्यक्त की जाती है, और फिर बन जाती है:
अन्य रूपों, जैसे न्यूनीकरण की समस्या, वैकल्पिक रूपों पर बाधाओं के साथ समस्या, और नकारात्मक चर (प्रोग्रामिंग) से जुड़ी समस्याओं को हमेशा मानक रूप में समकक्ष समस्या में फिर से लिखा जा सकता है।
उदाहरण
मान लीजिए कि एक किसान के पास कृषि भूमि का एक टुकड़ा है, मान लीजिए एल कि.मी2, गेहूं या जौ या दोनों के कुछ संयोजन के साथ लगाया जाना। किसान के पास सीमित मात्रा में उर्वरक, एफ किलोग्राम और कीटनाशक, पी किलोग्राम है। प्रति वर्ग किलोमीटर गेहूँ के लिए F की आवश्यकता होती है1 किलोग्राम उर्वरक और पी1 किलोग्राम कीटनाशक, जबकि जौ के हर वर्ग किलोमीटर में F . की आवश्यकता होती है2 किलोग्राम उर्वरक और पी2 किलोग्राम कीटनाशक। चलो एस1 प्रति वर्ग किलोमीटर गेहूं का विक्रय मूल्य हो, और S2 जौ का विक्रय मूल्य हो। यदि हम गेहूं और जौ के साथ लगाए गए भूमि के क्षेत्रफल को x से निरूपित करते हैं1 और एक्स2 क्रमशः, फिर x . के लिए इष्टतम मान चुनकर लाभ को अधिकतम किया जा सकता है1 और एक्स2. इस समस्या को मानक रूप में निम्नलिखित रैखिक प्रोग्रामिंग समस्या के साथ व्यक्त किया जा सकता है:
Maximize: | (maximize the revenue (the total wheat sales plus the total barley sales) – revenue is the "objective function") | |
Subject to: | (limit on total area) | |
(limit on fertilizer) | ||
(limit on pesticide) | ||
(cannot plant a negative area). |
मैट्रिक्स रूप में यह बन जाता है:
- अधिकतम करें
- का विषय है
संवर्धित रूप (सुस्त रूप)
सिम्प्लेक्स एल्गोरिथम के सामान्य रूप को लागू करने के लिए रैखिक प्रोग्रामिंग समस्याओं को संवर्धित रूप में परिवर्तित किया जा सकता है। यह फॉर्म असमानताओं को बाधाओं में समानता के साथ बदलने के लिए गैर-नकारात्मक सुस्त चर पेश करता है। समस्याओं को तब निम्न ब्लॉक मैट्रिक्स फॉर्म में लिखा जा सकता है:
- अधिकतम करें :
कहाँ पे नए पेश किए गए सुस्त चर हैं, निर्णय चर हैं, और अधिकतम किया जाने वाला चर है।
उदाहरण
ऊपर दिया गया उदाहरण निम्नलिखित संवर्धित रूप में परिवर्तित किया गया है:
Maximize: (objective function) subject to: (augmented constraint) (augmented constraint) (augmented constraint)
कहाँ पे (गैर-नकारात्मक) सुस्त चर हैं, जो इस उदाहरण में अप्रयुक्त क्षेत्र, अप्रयुक्त उर्वरक की मात्रा और अप्रयुक्त कीटनाशक की मात्रा का प्रतिनिधित्व करते हैं।
मैट्रिक्स रूप में यह बन जाता है:
- अधिकतम करें :
द्वैत
प्रत्येक रेखीय प्रोग्रामिंग समस्या, जिसे मूल समस्या कहा जाता है, को दोहरी समस्या में परिवर्तित किया जा सकता है, जो प्राथमिक समस्या के इष्टतम मूल्य के लिए ऊपरी सीमा प्रदान करती है। आव्यूह रूप में, हम प्राथमिक समस्या को इस प्रकार व्यक्त कर सकते हैं:
- अधिकतम 'सी'Tx Ax ≤ b, x ≥ 0 के अधीन;
- इसी सममित दोहरी समस्या के साथ,
- मिनिमाइज़ bटीवाई ए के अधीनटीy ≥ c, y ≥ 0.
एक वैकल्पिक प्रारंभिक सूत्रीकरण है:
- अधिकतम cTx Ax ≤ b के अधीन;
- इसी असममित दोहरी समस्या के साथ,
- मिनिमाइज़ bटीy ए के अधीनटीy = c, y 0.
द्वैत सिद्धांत के मूल में दो विचार हैं। एक तथ्य यह है कि (सममित दोहरे के लिए) दोहरे रैखिक कार्यक्रम का दोहरी मूल प्रारंभिक रैखिक कार्यक्रम है। इसके अतिरिक्त, एक रैखिक कार्यक्रम के लिए प्रत्येक व्यवहार्य समाधान इसके दोहरे के उद्देश्य कार्य के इष्टतम मूल्य पर एक बाध्यता देता है। कमजोर द्वैत प्रमेय में कहा गया है कि किसी भी व्यवहार्य समाधान पर दोहरे का उद्देश्य कार्य मूल्य हमेशा किसी भी व्यवहार्य समाधान पर प्रारंभिक के उद्देश्य कार्य मूल्य से अधिक या बराबर होता है। मजबूत द्वैत प्रमेय कहता है कि यदि प्रारंभिक का इष्टतम समाधान है, तो x*, तो द्वैत का भी एक इष्टतम समाधान है, y**, और cटीएक्स*=बीटी</सुप>य**</सुप>.
एक रैखिक कार्यक्रम असीमित या अव्यवहार्य भी हो सकता है। द्वैत सिद्धांत हमें बताता है कि यदि प्रारंभिक असीम है तो दुर्बल द्वैत प्रमेय द्वारा द्वैत संभव नहीं है। इसी तरह, यदि द्वैत असीम है, तो मूल अव्यवहार्य होना चाहिए। हालांकि, यह संभव है कि द्वैत और प्रारंभिक दोनों ही अव्यवहार्य हों। विवरण और कई अन्य उदाहरणों के लिए दोहरी रैखिक कार्यक्रम देखें।
विविधताएं
द्वैत को ढंकना/पैक करना
एक कवरिंग समस्या फॉर्म का एक रैखिक कार्यक्रम है:
- छोटा करें: <बड़ा>बीटीय</बड़ा>,
- के अधीन: <बड़ा>एटीवाई ≥ सी, वाई ≥ 0</बड़ा>,
ऐसा है कि मैट्रिक्स 'ए' और वैक्टर बी और सी गैर-नकारात्मक हैं।
एक कवरिंग एलपी का दोहरा एक पैकिंग समस्या है, फॉर्म का एक रैखिक कार्यक्रम:
- अधिकतम करें: <बड़ा>सीटीएक्स</बड़ा>,
- इसके अधीन: <बड़ा>Ax ≤ b, x ≥ 0,
ऐसा है कि मैट्रिक्स 'ए' और वैक्टर बी और सी गैर-नकारात्मक हैं।
उदाहरण
एलपी को कवर करना और पैक करना आमतौर पर एक कॉम्बीनेटरियल समस्या के रैखिक प्रोग्रामिंग छूट के रूप में उत्पन्न होता है और सन्निकटन एल्गोरिदम के अध्ययन में महत्वपूर्ण होता है।[8] उदाहरण के लिए, पैकिंग सेट करें की एलपी छूट, स्वतंत्र सेट समस्या , और मिलान (ग्राफ़ सिद्धांत) एलपी पैक कर रहे हैं। सेट कवर समस्या, वर्टेक्स कवर समस्या , और हावी सेट समस्या की एलपी छूट भी एलपी को कवर कर रही है।
एक ग्राफ़ (असतत गणित) का एक आंशिक रंग ढूँढना एक कवर एलपी का एक और उदाहरण है। इस मामले में, ग्राफ के प्रत्येक शीर्ष के लिए एक बाधा और ग्राफ के प्रत्येक स्वतंत्र सेट (ग्राफ सिद्धांत) के लिए एक चर है।
पूरक शिथिलता
दोहरे के लिए एक इष्टतम समाधान प्राप्त करना संभव है, जब पूरक शिथिलता प्रमेय का उपयोग करके केवल प्रारंभिक के लिए एक इष्टतम समाधान जाना जाता है। प्रमेय कहता है:
मान लीजिए कि x = (x1, एक्स2, ... , एक्सn) प्रारंभिक संभव है और वह y = (y1, यू2, ... , वाईm) दोहरी व्यवहार्य है। चलो (w1, में2, ..., मेंm) संबंधित प्राइमल स्लैक वेरिएबल्स को निरूपित करें, और चलो (z1, साथ2, ... , साथn) संगत दोहरे सुस्त चरों को निरूपित करते हैं। तब x और y अपनी संबंधित समस्याओं के लिए इष्टतम हैं यदि और केवल यदि
- एक्सj zj= 0, j = 1, 2, ..., n, और . के लिए
- 'डब्ल्यू'i yi= 0, मैं के लिए = 1, 2, ... , एम.
इसलिए यदि प्रारंभिक का i-th सुस्त चर शून्य नहीं है, तो दोहरे का i-th चर शून्य के बराबर है। इसी तरह, यदि दोहरे का j-th सुस्त चर शून्य नहीं है, तो प्रारंभिक का j-th चर शून्य के बराबर है।
इष्टतमता के लिए यह आवश्यक शर्त काफी सरल आर्थिक सिद्धांत बताती है। मानक रूप में (अधिकतम करते समय), यदि एक सीमित मौलिक संसाधन में कमी है (यानी, बचे हुए हैं), तो उस संसाधन की अतिरिक्त मात्रा का कोई मूल्य नहीं होना चाहिए। इसी तरह, अगर दोहरी (छाया) कीमत गैर-नकारात्मकता बाधा आवश्यकता में कमी है, यानी कीमत शून्य नहीं है, तो दुर्लभ आपूर्ति होनी चाहिए (कोई बचा नहीं)।
सिद्धांत
इष्टतम समाधानों का अस्तित्व
ज्यामितीय रूप से, रैखिक बाधाएं व्यवहार्य क्षेत्र को परिभाषित करती हैं, जो उत्तल सेट पॉलीहेड्रॉन है। एक रैखिक प्रकार्य एक उत्तल फलन है, जिसका अर्थ है कि प्रत्येक स्थानीय न्यूनतम एक वैश्विक न्यूनतम है; इसी तरह, एक रेखीय फलन एक अवतल फलन है, जिसका अर्थ है कि प्रत्येक स्थानीय अधिकतम एक वैश्विक अधिकतम है।
दो कारणों से एक इष्टतम समाधान मौजूद नहीं होना चाहिए। सबसे पहले, यदि बाधाएं असंगत हैं, तो कोई व्यवहार्य समाधान मौजूद नहीं है: उदाहरण के लिए, बाधाएं x ≥ 2 और x ≤ 1 संयुक्त रूप से संतुष्ट नहीं हो सकतीं; इस मामले में, हम कहते हैं कि एल.पी. अव्यवहार्य है। दूसरा, जब पॉलीटॉप ऑब्जेक्टिव फंक्शन के ग्रेडिएंट की दिशा में असीम होता है (जहाँ ऑब्जेक्टिव फंक्शन का ग्रेडिएंट ऑब्जेक्टिव फंक्शन के गुणांकों का वेक्टर होता है), तो कोई इष्टतम मान प्राप्त नहीं होता है क्योंकि ऐसा करना हमेशा संभव होता है उद्देश्य फलन के किसी भी परिमित मूल्य से बेहतर।
बहुफलक के इष्टतम शीर्ष (और किरणें)
अन्यथा, यदि एक व्यवहार्य समाधान मौजूद है और यदि बाधा सेट बाध्य है, तो इष्टतम मूल्य हमेशा उत्तल कार्यों के लिए अधिकतम सिद्धांत द्वारा (वैकल्पिक रूप से, अवतल कार्यों के लिए न्यूनतम सिद्धांत द्वारा) बाधा सेट की सीमा पर प्राप्त किया जाता है क्योंकि रैखिक कार्य उत्तल और अवतल दोनों हैं। हालाँकि, कुछ समस्याओं के विशिष्ट इष्टतम समाधान होते हैं; उदाहरण के लिए, रैखिक असमानताओं की एक प्रणाली के लिए एक व्यवहार्य समाधान खोजने की समस्या एक रैखिक प्रोग्रामिंग समस्या है जिसमें उद्देश्य फ़ंक्शन शून्य फ़ंक्शन होता है (अर्थात, निरंतर फ़ंक्शन मान शून्य को हर जगह लेता है)। इसके उद्देश्य-फ़ंक्शन के लिए शून्य-फ़ंक्शन के साथ इस व्यवहार्यता समस्या के लिए, यदि दो अलग-अलग समाधान हैं, तो समाधानों का प्रत्येक उत्तल संयोजन एक समाधान है।
पॉलीटोप के शीर्षों को मूल व्यवहार्य समाधान भी कहा जाता है। नाम के इस चुनाव का कारण इस प्रकार है। मान लीजिए d चरों की संख्या दर्शाता है। तब रैखिक असमानताओं के मूल प्रमेय का तात्पर्य है (व्यवहार्य समस्याओं के लिए) कि प्रत्येक शीर्ष 'x' के लिए* LP व्यवहार्य क्षेत्र में, LP से d (या कम) असमानता बाधाओं का एक सेट मौजूद है, जैसे कि, जब हम उन d बाधाओं को समानता के रूप में मानते हैं, तो अद्वितीय समाधान 'x' होता है।**</सुप>. इस प्रकार हम एलपी समाधानों की निरंतरता के बजाय सभी बाधाओं (एक असतत सेट) के सेट के कुछ सबसेट को देखकर इन शिखरों का अध्ययन कर सकते हैं। यह सिद्धांत रैखिक कार्यक्रमों को हल करने के लिए सिम्पलेक्स एल्गोरिथम को रेखांकित करता है।
एल्गोरिदम
आधार विनिमय एल्गोरिदम
डेंटज़िग का सिंप्लेक्स एल्गोरिथम ===
1947 में जॉर्ज डेंट्ज़िग द्वारा विकसित सिंप्लेक्स एल्गोरिथ्म, एलपी समस्याओं को हल करता है, पॉलीटॉप के शीर्ष पर एक व्यवहार्य समाधान का निर्माण करता है और फिर पॉलीटॉप के किनारों पर एक पथ के साथ चलकर उद्देश्य फ़ंक्शन के गैर-घटते मूल्यों के साथ कोने तक चलता है। इष्टतम निश्चित रूप से पहुँच गया है। कई व्यावहारिक समस्याओं में, सिम्पलेक्स एल्गोरिथम#डीजेनेरेसी: स्टालिंग और साइकलिंग होता है: ऑब्जेक्टिव फ़ंक्शन में कोई वृद्धि नहीं होने के कारण कई पिवोट्स बनाए जाते हैं।[9][10] दुर्लभ व्यावहारिक समस्याओं में, सिम्प्लेक्स एल्गोरिथम के सामान्य संस्करण वास्तव में चक्र हो सकते हैं।[10]चक्र से बचने के लिए, शोधकर्ताओं ने नए धुरी नियम विकसित किए।[11]
व्यवहार में, सिम्प्लेक्स एल्गोरिथम काफी कुशल है और अगर साइकिल चलाने के खिलाफ कुछ सावधानियां बरती जाएं तो वैश्विक इष्टतम खोजने की गारंटी दी जा सकती है। सिंप्लेक्स एल्गोरिथम यादृच्छिक समस्याओं को कुशलतापूर्वक हल करने के लिए सिद्ध हुआ है, अर्थात घन संख्या में चरणों में,[12] जो व्यावहारिक समस्याओं पर इसके व्यवहार के समान है।[9][13] हालांकि, सिम्पलेक्स एल्गोरिथम में सबसे खराब स्थिति वाला व्यवहार है: क्ले और मिन्टी ने रैखिक प्रोग्रामिंग समस्याओं के एक परिवार का निर्माण किया, जिसके लिए सिंप्लेक्स विधि समस्या के आकार में कई कदम घातांक लेती है।[9][14][15] वास्तव में, कुछ समय के लिए यह ज्ञात नहीं था कि रैखिक प्रोग्रामिंग समस्या बहुपद समय, यानी पी (जटिलता) में हल करने योग्य थी या नहीं।
क्रिस-क्रॉस एल्गोरिथम
डेंटज़िग के सिंप्लेक्स एल्गोरिथम की तरह, क्रिस-क्रॉस एल्गोरिथम एक आधार-विनिमय एल्गोरिथम है जो आधारों के बीच पिवट करता है। हालांकि, क्रिस-क्रॉस एल्गोरिथम को व्यवहार्यता बनाए रखने की आवश्यकता नहीं है, बल्कि एक व्यवहार्य आधार से एक अक्षम्य आधार पर धुरी कर सकता है। लीनियर प्रोग्रामिंग के लिए क्रिस-क्रॉस एल्गोरिद्म में समय जटिलता नहीं है|बहुपद समय-जटिलता है। दोनों एल्गोरिदम सभी 2 पर जाते हैंडी आयाम डी में एक (परेशान) इकाई घन के कोने, सबसे खराब स्थिति वाली जटिलता में क्ले-मिन्टी घन।[11][16]
आंतरिक बिंदु
सिम्प्लेक्स एल्गोरिथम के विपरीत, जो एक पॉलीहेड्रल सेट पर कोने के बीच किनारों को पार करके एक इष्टतम समाधान ढूंढता है, इंटीरियर-पॉइंट विधियां व्यवहार्य क्षेत्र के इंटीरियर के माध्यम से चलती हैं।
खाचियां के बाद दीर्घवृत्ताभ एल्गोरिथम
यह पहली सबसे खराब स्थिति जटिलता है | सबसे खराब स्थिति बहुपद-समय एल्गोरिदम रैखिक प्रोग्रामिंग के लिए कभी भी पाया गया है। एक समस्या को हल करने के लिए जिसमें n चर हैं और एल इनपुट बिट्स में एन्कोड किया जा सकता है, यह एल्गोरिदम चलता है समय।[5]लियोनिद खाचियन ने 1979 में दीर्घवृत्ताभ विधि की शुरुआत के साथ इस लंबे समय से चली आ रही जटिलता के मुद्दे को हल किया। अभिसरण विश्लेषण में (वास्तविक-संख्या) पूर्ववर्ती हैं, विशेष रूप से नाम जेड शोर द्वारा विकसित पुनरावृत्त विधि यां और अर्कडी नेमिरोव्स्की और डी। युडिन द्वारा सन्निकटन एल्गोरिदम।
कर्मकार का प्रक्षेपी एल्गोरिथम
रैखिक कार्यक्रमों की बहुपद-समय की सॉल्वैबिलिटी स्थापित करने के लिए खाचियां का एल्गोरिदम ऐतिहासिक महत्व का था। एल्गोरिथम एक कम्प्यूटेशनल ब्रेक-थ्रू नहीं था, क्योंकि सिंप्लेक्स विधि सभी के लिए अधिक कुशल है, लेकिन विशेष रूप से निर्मित रैखिक कार्यक्रमों के परिवारों के लिए।
हालांकि, खाचियां के एल्गोरिदम ने रैखिक प्रोग्रामिंग में अनुसंधान की नई पंक्तियों को प्रेरित किया। 1984 में, नरेंद्र करमारकर|एन. करमार्कर ने प्रस्तावित किया रैखिक प्रोग्रामिंग के लिए प्रक्षेपी विधि । कर्मकार का एल्गोरिदम[6]इम्प्रोवेद ों खाचियाँ'स[5]सबसे खराब स्थिति बहुपद बाध्य (देना .) ). करमार्कर ने दावा किया कि उनका एल्गोरिथ्म सरल विधि की तुलना में व्यावहारिक एलपी में बहुत तेज था, एक ऐसा दावा जिसने आंतरिक-बिंदु विधियों में बहुत रुचि पैदा की।[17] करमार्कर की खोज के बाद से, कई आंतरिक-बिंदु विधियों का प्रस्ताव और विश्लेषण किया गया है।
वैद्य की 87 एल्गोरिथ्म
1987 में, वैद्य ने एक एल्गोरिथम प्रस्तावित किया जो में चलता है समय।[18]
वैद्य की 89 एल्गोरिथ्म
1989 में, वैद्य ने एक एल्गोरिथम विकसित किया जो में चलता है समय।[19] औपचारिक रूप से बोलते हुए, एल्गोरिदम लेता है सबसे खराब स्थिति में अंकगणितीय संचालन, जहां बाधाओं की संख्या है, चर की संख्या है, और बिट्स की संख्या है।
इनपुट स्पार्सिटी टाइम एल्गोरिदम
2015 में, ली और सिडफोर्ड ने दिखाया कि इसे में हल किया जा सकता है समय,[20] कहाँ पे गैर-शून्य तत्वों की संख्या का प्रतिनिधित्व करता है, और यह ले रहा है सबसे खराब स्थिति में।
वर्तमान मैट्रिक्स गुणन समय एल्गोरिथ्म
2019 में, कोहेन, ली और सॉन्ग ने चलने के समय में सुधार किया समय, मैट्रिक्स गुणन का घातांक है और मैट्रिक्स गुणन का दोहरा घातांक है।[21] (मोटे तौर पर) सबसे बड़ी संख्या के रूप में परिभाषित किया गया है जैसे कि कोई गुणा कर सकता है ए द्वारा मैट्रिक्स मैट्रिक्स में समय। ली, सोंग और झांग द्वारा अनुवर्ती कार्य में, वे एक ही परिणाम को एक अलग विधि के माध्यम से पुन: पेश करते हैं।[22] ये दो एल्गोरिदम रहते हैं जब तथा . जियांग, सोंग, वीनस्टीन और झांग के कारण परिणाम में सुधार हुआ प्रति .[23]
आंतरिक-बिंदु विधियों और सिंप्लेक्स एल्गोरिदम की तुलना
वर्तमान राय यह है कि सिंप्लेक्स-आधारित विधियों और आंतरिक बिंदु विधियों के अच्छे कार्यान्वयन की क्षमता रैखिक प्रोग्रामिंग के नियमित अनुप्रयोगों के लिए समान है। हालांकि, विशिष्ट प्रकार की एलपी समस्याओं के लिए, यह हो सकता है कि एक प्रकार का सॉल्वर दूसरे (कभी-कभी बहुत बेहतर) से बेहतर होता है, और यह कि आंतरिक बिंदु विधियों बनाम सिम्प्लेक्स-आधारित विधियों द्वारा उत्पन्न समाधानों की संरचना समर्थन के साथ काफी भिन्न होती है। सक्रिय चर का सेट आमतौर पर बाद वाले के लिए छोटा होता है।[24]
खुली समस्याएं और हाल का काम
Does linear programming admit a strongly polynomial-time algorithm?
रैखिक प्रोग्रामिंग के सिद्धांत में कई खुली समस्याएं हैं, जिनका समाधान गणित में मौलिक सफलताओं और बड़े पैमाने पर रैखिक कार्यक्रमों को हल करने की हमारी क्षमता में संभावित प्रमुख प्रगति का प्रतिनिधित्व करेगा।
- क्या एलपी एक समय जटिलता को स्वीकार करता है#मजबूत और कमजोर बहुपद समय-समय एल्गोरिदम?
- क्या एलपी सख्ती से पूरक समाधान खोजने के लिए एक जोरदार बहुपद-समय एल्गोरिदम स्वीकार करता है?
- क्या एलपी गणना के वास्तविक संख्या (इकाई लागत) मॉडल में बहुपद-समय एल्गोरिदम स्वीकार करता है?
21 वीं सदी की स्मेल की समस्याओं के बीच स्टीफन स्माले द्वारा समस्याओं के इस निकट से संबंधित सेट का हवाला दिया गया है। स्माले के शब्दों में, समस्या का तीसरा संस्करण रैखिक प्रोग्रामिंग सिद्धांत की मुख्य अनसुलझी समस्या है। जबकि एल्गोरिदम कमजोर बहुपद समय में रैखिक प्रोग्रामिंग को हल करने के लिए मौजूद हैं, जैसे कि दीर्घवृत्ताभ विधियों और आंतरिक बिंदु विधि | आंतरिक-बिंदु तकनीक, अभी तक कोई एल्गोरिदम नहीं मिला है जो बाधाओं की संख्या और चर की संख्या में दृढ़ता से बहुपद-समय के प्रदर्शन की अनुमति देता है। . इस तरह के एल्गोरिदम का विकास महान सैद्धांतिक रुचि का होगा, और शायद बड़े एलपी को भी हल करने में व्यावहारिक लाभ की अनुमति देता है।
हालाँकि हाल ही में उच्च आयामों के लिए हिर्श अनुमान को अस्वीकृत कर दिया गया था, फिर भी यह निम्नलिखित प्रश्नों को खुला छोड़ देता है।
- क्या ऐसे धुरी नियम हैं जो बहुपद-समय सिंप्लेक्स वेरिएंट की ओर ले जाते हैं?
- क्या सभी पॉलीटोपल ग्राफ में बहुपद से घिरा व्यास होता है?
ये प्रश्न प्रदर्शन विश्लेषण और सिंप्लेक्स जैसी विधियों के विकास से संबंधित हैं। अपने घातीय-समय सैद्धांतिक प्रदर्शन के बावजूद व्यवहार में सिम्प्लेक्स एल्गोरिदम की अत्यधिक दक्षता संकेत देती है कि बहुपद या यहां तक कि दृढ़ता से बहुपद समय में चलने वाले सिम्प्लेक्स की विविधताएं हो सकती हैं। यह जानना बहुत व्यावहारिक और सैद्धांतिक महत्व का होगा कि क्या ऐसा कोई रूप मौजूद है, विशेष रूप से यह तय करने के दृष्टिकोण के रूप में कि क्या एलपी को दृढ़ता से बहुपद समय में हल किया जा सकता है।
सिम्प्लेक्स एल्गोरिथम और इसके वेरिएंट एज-फॉलोइंग एल्गोरिदम के परिवार में आते हैं, इसलिए इसका नाम इसलिए रखा गया क्योंकि वे पॉलीटॉप के किनारों के साथ वर्टेक्स से वर्टेक्स तक जाकर रैखिक प्रोग्रामिंग समस्याओं को हल करते हैं। इसका मतलब यह है कि उनका सैद्धांतिक प्रदर्शन एलपी पॉलीटोप पर किसी भी दो कोने के बीच किनारों की अधिकतम संख्या तक सीमित है। परिणामस्वरूप, हम पॉलीटोपल ग्राफ (असतत गणित) के अधिकतम ग्राफ व्यास | ग्राफ-सैद्धांतिक व्यास को जानने में रुचि रखते हैं। यह साबित हो गया है कि सभी पॉलीटोप्स में सब-एक्सपोनेंशियल व्यास होता है। हिर्श अनुमान का हालिया विवाद यह साबित करने के लिए पहला कदम है कि क्या किसी पॉलीटोप में सुपरपोलिनोमियल व्यास है। यदि ऐसा कोई पॉलीटॉप मौजूद है, तो बहुपद समय में कोई किनारे-निम्नलिखित संस्करण नहीं चल सकता है। पॉलीटोप व्यास के बारे में प्रश्न स्वतंत्र गणितीय रुचि के हैं।
सिम्प्लेक्स पिवट विधियां प्रारंभिक (या दोहरी) व्यवहार्यता को संरक्षित करती हैं। दूसरी ओर, क्रिस-क्रॉस पिवट विधियां (प्राथमिक या दोहरी) व्यवहार्यता को संरक्षित नहीं करती हैं – वे किसी भी क्रम में प्रारंभिक व्यवहार्य, दोहरी व्यवहार्य या प्रारंभिक और दोहरी व्यवहार्य आधारों पर जा सकते हैं। 1970 के दशक से इस प्रकार की धुरी विधियों का अध्ययन किया गया है।[25] अनिवार्य रूप से, ये विधियां रैखिक प्रोग्रामिंग समस्या के तहत व्यवस्था पॉलीटोप पर सबसे छोटा धुरी पथ खोजने का प्रयास करती हैं। पॉलीटॉपल ग्राफ़ के विपरीत, व्यवस्था के ग्राफ़ पॉलीटोप्स को छोटे व्यास के लिए जाना जाता है, जिससे सामान्य पॉलीटोप्स के व्यास के बारे में प्रश्नों को हल किए बिना दृढ़ता से बहुपद-समय क्रिस-क्रॉस पिवट एल्गोरिदम की संभावना की अनुमति मिलती है।[11]
पूर्णांक अज्ञात
यदि सभी अज्ञात चरों को पूर्णांक होना आवश्यक है, तो समस्या को पूर्णांक प्रोग्रामिंग (IP) या पूर्णांक रैखिक प्रोग्रामिंग (ILP) समस्या कहा जाता है। रैखिक प्रोग्रामिंग के विपरीत, जिसे सबसे खराब स्थिति में कुशलता से हल किया जा सकता है, पूर्णांक प्रोग्रामिंग समस्याएं कई व्यावहारिक स्थितियों में होती हैं (जो सीमित चर वाले हैं) एनपी कठिन हैं। 0-1 पूर्णांक प्रोग्रामिंग या बाइनरी पूर्णांक प्रोग्रामिंग (बीआईपी) पूर्णांक प्रोग्रामिंग का विशेष मामला है जहां चर को 0 या 1 (मनमानी पूर्णांक के बजाय) होना आवश्यक है। इस समस्या को एनपी-हार्ड के रूप में भी वर्गीकृत किया गया है, और वास्तव में निर्णय संस्करण कार्प की 21 एनपी-पूर्ण समस्याओं में से एक था।
यदि केवल कुछ अज्ञात चरों को पूर्णांक होना आवश्यक है, तो समस्या को मिश्रित पूर्णांक (रैखिक) प्रोग्रामिंग (MIP या MILP) समस्या कहा जाता है। ये आम तौर पर एनपी-हार्ड भी होते हैं क्योंकि ये ILP प्रोग्राम से भी अधिक सामान्य होते हैं।
हालाँकि IP और MIP समस्याओं के कुछ महत्वपूर्ण उपवर्ग हैं जो कुशलता से हल करने योग्य हैं, सबसे विशेष रूप से समस्याएँ जहाँ बाधा मैट्रिक्स पूरी तरह से एकरूप है और बाधाओं के दाहिने हाथ पूर्णांक हैं या - अधिक सामान्य - जहाँ सिस्टम में कुल दोहरी अखंडता है (टीडीआई) संपत्ति।
पूर्णांक रेखीय कार्यक्रमों को हल करने के लिए उन्नत एल्गोरिदम में शामिल हैं:
- कटिंग-प्लेन विधि
- शाखा और बंधन
- शाखा और कट
- शाखा और मूल्य
- यदि समस्या में कुछ अतिरिक्त संरचना है, तो विलंबित कॉलम जनरेशन को लागू करना संभव हो सकता है।
इस तरह के पूर्णांक-प्रोग्रामिंग एल्गोरिदम की चर्चा मैनफ्रेड डब्ल्यू पैडबर्ग और ब्यासली में की गई है।
इंटीग्रल लीनियर प्रोग्राम
वास्तविक चरों में एक रेखीय कार्यक्रम को अभिन्न कहा जाता है यदि इसका कम से कम एक इष्टतम समाधान है जो अभिन्न है, अर्थात, केवल पूर्णांक मानों से बना है। इसी तरह, एक बहुफलक कहा जाता है कि 'अभिन्न यदि सभी बाध्य व्यवहार्य उद्देश्य कार्यों के लिए 'सी', रैखिक कार्यक्रम एक इष्टतम . है पूर्णांक निर्देशांक के साथ। जैसा कि एडमंड्स और जाइल्स ने 1977 में देखा था, कोई भी समान रूप से कह सकता है कि बहुफलक अभिन्न है अगर हर बाध्य व्यवहार्य अभिन्न उद्देश्य समारोह सी के लिए, रैखिक कार्यक्रम का इष्टतम मूल्य एक पूर्णांक है।
इंटीग्रल लीनियर प्रोग्राम संयोजन अनुकूलन के पॉलीहेड्रल पहलू में केंद्रीय महत्व के हैं क्योंकि वे किसी समस्या का वैकल्पिक लक्षण वर्णन प्रदान करते हैं। विशेष रूप से, किसी भी समस्या के लिए, समाधानों का उत्तल हल एक अभिन्न बहुफलक है; यदि इस पॉलीहेड्रॉन का एक अच्छा/संक्षिप्त विवरण है, तो हम कुशलता से किसी भी रैखिक उद्देश्य के तहत इष्टतम व्यवहार्य समाधान पा सकते हैं। इसके विपरीत, अगर हम यह साबित कर सकते हैं कि एक रैखिक प्रोग्रामिंग विश्राम अभिन्न है, तो यह व्यवहार्य (अभिन्न) समाधानों के उत्तल पतवार का वांछित विवरण है।
शब्दावली पूरे साहित्य में सुसंगत नहीं है, इसलिए किसी को निम्नलिखित दो अवधारणाओं में अंतर करने के लिए सावधान रहना चाहिए,
- एक पूर्णांक रैखिक कार्यक्रम में, पिछले खंड में वर्णित, चर जबरन पूर्णांक होने के लिए विवश हैं, और यह समस्या सामान्य रूप से एनपी-हार्ड है,
- इस खंड में वर्णित एक अभिन्न रैखिक कार्यक्रम में, चर पूर्णांक होने के लिए विवश नहीं हैं, बल्कि किसी ने किसी तरह सिद्ध किया है कि निरंतर समस्या में हमेशा एक अभिन्न इष्टतम मान होता है (सी अभिन्न है), और यह इष्टतम मूल्य कुशलता से पाया जा सकता है चूंकि सभी बहुपद-आकार के रैखिक कार्यक्रम बहुपद समय में हल किए जा सकते हैं।
यह साबित करने का एक सामान्य तरीका है कि एक बहुफलक समाकल है, यह दिखाना है कि यह पूरी तरह से एक-मॉड्यूलर मैट्रिक्स है। पूर्णांक अपघटन संपत्ति और कुल दोहरी अभिन्नता सहित अन्य सामान्य विधियाँ हैं। अन्य विशिष्ट प्रसिद्ध इंटीग्रल एलपी में मैचिंग पॉलीटॉप, लैटिस पॉलीहेड्रा, सबमॉड्यूलर फ्लो पॉलीहेड्रा और दो सामान्यीकृत पॉलीमैट्रोइड्स/जी-पॉलीमेट्रोइड्स का इंटरसेक्शन शामिल है - उदा. श्रिजवर 2003 देखें।
सॉल्वर और स्क्रिप्टिंग (प्रोग्रामिंग) भाषाएँ
अनुज्ञेय मुफ्त सॉफ्टवेयर लाइसेंस लाइसेंस:
Name | License | Brief info |
---|---|---|
Gekko | MIT License | Open-source library for solving large-scale LP, QP, QCQP, NLP, and MIP optimization |
GLOP | Apache v2 | Google's open-source linear programming solver |
Pyomo | BSD | An open-source modeling language for large-scale linear, mixed integer and nonlinear optimization |
SuanShu | Apache v2 | an open-source suite of optimization algorithms to solve LP, QP, SOCP, SDP, SQP in Java |
कॉपीलेफ्ट |कॉपीलेफ़्ट (पारस्परिक) लाइसेंस:
Name | License | Brief info |
---|---|---|
ALGLIB | GPL 2+ | an LP solver from ALGLIB project (C++, C#, Python) |
Cassowary constraint solver | LGPL | an incremental constraint solving toolkit that efficiently solves systems of linear equalities and inequalities |
CLP | CPL | an LP solver from COIN-OR |
glpk | GPL | GNU Linear Programming Kit, an LP/MILP solver with a native C API and numerous (15) third-party wrappers for other languages. Specialist support for flow networks. Bundles the AMPL-like GNU MathProg modelling language and translator. |
Qoca | GPL | a library for incrementally solving systems of linear equations with various goal functions |
R-Project | GPL | a programming language and software environment for statistical computing and graphics |
मिंटो (मिश्रित पूर्णांक अनुकूलक, एक पूर्णांक प्रोग्रामिंग सॉल्वर जो शाखा और बाध्य एल्गोरिथम का उपयोग करता है) में सार्वजनिक रूप से उपलब्ध स्रोत कोड है[26] लेकिन खुला स्रोत नहीं है।
मालिकाना सॉफ्टवेयर लाइसेंस:
Name | Brief info |
---|---|
AIMMS | A modeling language that allows to model linear, mixed integer, and nonlinear optimization models. It also offers a tool for constraint programming. Algorithm, in the forms of heuristics or exact methods, such as Branch-and-Cut or Column Generation, can also be implemented. The tool calls an appropriate solver such as CPLEX or similar, to solve the optimization problem at hand. Academic licenses are free of charge. |
ALGLIB | A commercial edition of the copyleft licensed library. C++, C#, Python. |
AMPL | A popular modeling language for large-scale linear, mixed integer and nonlinear optimisation with a free student limited version available (500 variables and 500 constraints). |
Analytica | A general modeling language and interactive development environment. Its influence diagrams enable users to formulate problems as graphs with nodes for decision variables, objectives, and constraints. Analytica Optimizer Edition includes linear, mixed integer, and nonlinear solvers and selects the solver to match the problem. It also accepts other engines as plug-ins, including XPRESS, Gurobi, Artelys Knitro, and MOSEK. |
APMonitor | API to MATLAB and Python. Solve example Linear Programming (LP) problems through MATLAB, Python, or a web-interface. |
CPLEX | Popular solver with an API for several programming languages, and also has a modelling language and works with AIMMS, AMPL, GAMS, MPL, OpenOpt, OPL Development Studio, and TOMLAB. Free for academic use. |
Excel Solver Function | A nonlinear solver adjusted to spreadsheets in which function evaluations are based on the recalculating cells. Basic version available as a standard add-on for Excel. |
FortMP | |
GAMS | |
IMSL Numerical Libraries | Collections of math and statistical algorithms available in C/C++, Fortran, Java and C#/.NET. Optimization routines in the IMSL Libraries include unconstrained, linearly and nonlinearly constrained minimizations, and linear programming algorithms. |
LINDO | Solver with an API for large scale optimization of linear, integer, quadratic, conic and general nonlinear programs with stochastic programming extensions. It offers a global optimization procedure for finding guaranteed globally optimal solution to general nonlinear programs with continuous and discrete variables. It also has a statistical sampling API to integrate Monte-Carlo simulations into an optimization framework. It has an algebraic modeling language (LINGO) and allows modeling within a spreadsheet (What'sBest). |
Maple | A general-purpose programming-language for symbolic and numerical computing. |
MATLAB | A general-purpose and matrix-oriented programming-language for numerical computing. Linear programming in MATLAB requires the Optimization Toolbox in addition to the base MATLAB product; available routines include INTLINPROG and LINPROG |
Mathcad | A WYSIWYG math editor. It has functions for solving both linear and nonlinear optimization problems. |
Mathematica | A general-purpose programming-language for mathematics, including symbolic and numerical capabilities. |
MOSEK | A solver for large scale optimization with API for several languages (C++,java,.net, Matlab and python). |
NAG Numerical Library | A collection of mathematical and statistical routines developed by the Numerical Algorithms Group for multiple programming languages (C, C++, Fortran, Visual Basic, Java and C#) and packages (MATLAB, Excel, R, LabVIEW). The Optimization chapter of the NAG Library includes routines for linear programming problems with both sparse and non-sparse linear constraint matrices, together with routines for the optimization of quadratic, nonlinear, sums of squares of linear or nonlinear functions with nonlinear, bounded or no constraints. The NAG Library has routines for both local and global optimization, and for continuous or integer problems. |
OptimJ | A Java-based modeling language for optimization with a free version available.[27][28] |
SAS/OR | A suite of solvers for Linear, Integer, Nonlinear, Derivative-Free, Network, Combinatorial and Constraint Optimization; the Algebraic modeling language OPTMODEL; and a variety of vertical solutions aimed at specific problems/markets, all of which are fully integrated with the SAS System. |
SCIP | A general-purpose constraint integer programming solver with an emphasis on MIP. Compatible with Zimpl modelling language. Free for academic use and available in source code. |
XPRESS | Solver for large-scale linear programs, quadratic programs, general nonlinear and mixed-integer programs. Has API for several programming languages, also has a modelling language Mosel and works with AMPL, GAMS. Free for academic use. |
VisSim | A visual block diagram language for simulation of dynamical systems. |
यह भी देखें
- उत्तल प्रोग्रामिंग
- गतिशील प्रोग्रामिंग
- Expected shortfall § Optimization of expected shortfall
- इनपुट-आउटपुट मॉडल
- जॉब शॉप शेड्यूलिंग
- कम से कम निरपेक्ष विचलन
- कम से कम वर्ग वर्णक्रमीय विश्लेषण
- लीनियर अलजेब्रा
- रैखिक उत्पादन खेल
- रैखिक-आंशिक प्रोग्रामिंग (एलएफपी)
- एलपी-प्रकार की समस्या
- गणितीय प्रोग्रामिंग
- नॉनलाइनियर प्रोग्रामिंग
- ओरिएंटेड मैट्रोइड
- द्विघात प्रोग्रामिंग , रैखिक प्रोग्रामिंग का एक सुपरसेट
- अर्ध निश्चित प्रोग्रामिंग
- परछाई कीमत
- सिम्प्लेक्स एल्गोरिथ्म, एलपी समस्याओं को हल करने के लिए प्रयोग किया जाता है
टिप्पणियाँ
- ↑ 1.0 1.1 Gerard Sierksma; Yori Zwols (2015). रैखिक और पूर्णांक अनुकूलन: सिद्धांत और व्यवहार (3rd ed.). CRC Press. p. 1. ISBN 978-1498710169.
- ↑ 2.0 2.1 Alexander Schrijver (1998). रैखिक और पूर्णांक प्रोग्रामिंग के सिद्धान्त. John Wiley & Sons. pp. 221–222. ISBN 978-0-471-98232-6.
- ↑ 3.0 3.1 3.2 George B. Dantzig (April 1982). "रैखिक प्रोग्रामिंग की उत्पत्ति के बारे में यादें" (PDF). Operations Research Letters. 1 (2): 43–48. doi:10.1016/0167-6377(82)90043-8. Archived from the original on May 20, 2015.
- ↑ 4.0 4.1 4.2 Dantzig, George B.; Thapa, Mukund Narain (1997). रैखिक प्रोग्रामिंग. New York: Springer. p. xxvii. ISBN 0387948333. OCLC 35318475.
- ↑ 5.0 5.1 5.2 Leonid Khachiyan (1979). "रैखिक प्रोग्रामिंग के लिए एक बहुपद एल्गोरिथम". Doklady Akademii Nauk SSSR. 224 (5): 1093–1096.
- ↑ 6.0 6.1 Narendra Karmarkar (1984). "रैखिक प्रोग्रामिंग के लिए एक नया बहुपद-समय एल्गोरिथम". Combinatorica. 4 (4): 373–395. doi:10.1007/BF02579150. S2CID 7257867.
- ↑ (PDF) https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37041.pdf.
{{cite web}}
: Missing or empty|title=
(help) - ↑ Vazirani (2001, p. 112)
- ↑ 9.0 9.1 9.2 Dantzig & Thapa (2003)
- ↑ 10.0 10.1 Padberg (1999)
- ↑ 11.0 11.1 11.2 Fukuda, Komei; Terlaky, Tamás (1997). Thomas M. Liebling; Dominique de Werra (eds.). "क्रिस-क्रॉस विधियाँ: धुरी एल्गोरिदम पर एक नया दृश्य". Mathematical Programming, Series B. 79 (1–3): 369–395. CiteSeerX 10.1.1.36.9373. doi:10.1007/BF02614325. MR 1464775. S2CID 2794181.
- ↑ Borgwardt (1987)
- ↑ Todd (2002)
- ↑ Murty (1983)
- ↑ Papadimitriou & Steiglitz
- ↑ Roos, C. (1990). "क्रिस-क्रॉस सिम्प्लेक्स विधि के लिए टेरलाकी के धुरी नियम के लिए एक घातीय उदाहरण". Mathematical Programming. Series A. 46 (1): 79–84. doi:10.1007/BF01585729. MR 1045573. S2CID 33463483.
- ↑ Strang, Gilbert (1 June 1987). "कर्मकार का एल्गोरिथ्म और अनुप्रयुक्त गणित में उसका स्थान". The Mathematical Intelligencer. 9 (2): 4–10. doi:10.1007/BF03025891. ISSN 0343-6993. MR 0883185. S2CID 123541868.
- ↑ Vaidya, Pravin M. (1987). रैखिक प्रोग्रामिंग के लिए एक एल्गोरिदम जिसके लिए <गणित> {O} (((m+ n) n^2+(m+ n)^{1.5} n) L)</math> अंकगणितीय संचालन की आवश्यकता होती है. 28th Annual IEEE Symposium on Foundations of Computer Science. FOCS.
- ↑ Vaidya, Pravin M. (1989). "Speeding-up linear programming using fast matrix multiplication". कंप्यूटर विज्ञान की नींव पर 30वीं वार्षिक संगोष्ठी. कंप्यूटर विज्ञान की नींव पर 30वीं वार्षिक संगोष्ठी. FOCS. pp. 332–337. doi:10.1109/SFCS.1989.63499. ISBN 0-8186-1982-1.
- ↑ Lee, Yin-Tat; Sidford, Aaron (2015). रैखिक प्रोग्रामिंग के लिए कुशल उलटा रखरखाव और तेज एल्गोरिदम. FOCS '15 Foundations of Computer Science. arXiv:1503.01752.
- ↑ Cohen, Michael B.; Lee, Yin-Tat; Song, Zhao (2018). वर्तमान मैट्रिक्स गुणन समय में रेखीय कार्यक्रमों को हल करना. 51st Annual ACM Symposium on the Theory of Computing. STOC'19. arXiv:1810.07896.
- ↑ Lee, Yin-Tat; Song, Zhao; Zhang, Qiuyi (2019). वर्तमान मैट्रिक्स गुणन समय में अनुभवजन्य जोखिम न्यूनीकरण को हल करना. Conference on Learning Theory. COLT'19. arXiv:1905.04447.
- ↑ Jiang, Shunhua; Song, Zhao; Weinstein, Omri; Zhang, Hengjie (2020). तेज़ एलपी के लिए तेज़ गतिशील मैट्रिक्स व्युत्क्रम. arXiv:2004.07470.
- ↑ Illés, Tibor; Terlaky, Tamás (2002). "धुरी बनाम आंतरिक बिंदु विधियाँ: पेशेवरों और विपक्ष". European Journal of Operational Research. 140 (2): 170. CiteSeerX 10.1.1.646.3539. doi:10.1016/S0377-2217(02)00061-9.
- ↑ Anstreicher, Kurt M.; Terlaky, Tamás (1994). "रैखिक प्रोग्रामिंग के लिए एक मोनोटोनिक बिल्ड-अप सिम्प्लेक्स एल्गोरिदम". Operations Research. 42 (3): 556–561. doi:10.1287/opre.42.3.556. ISSN 0030-364X. JSTOR 171894.
- ↑ "COR@L - लेहघ में कम्प्यूटेशनल अनुकूलन अनुसंधान". lehigh.edu.
- ↑ http://www.in-ter-trans.eu/resources/Zesch_Hellingrath_2010_Integrated+Production-Distribution+Planning.pdf OptimJ used in an optimization model for mixed-model assembly lines, University of Münster
- ↑ http://www.aaai.org/ocs/index.php/AAAI/AAAI10/paper/viewFile/1769/2076 Archived 2011-06-29 at the Wayback Machine OptimJ used in an Approximate Subgame-Perfect Equilibrium Computation Technique for Repeated Games
संदर्भ
- Kantorovich, L. V. (1940). "Об одном эффективном методе решения некоторых классов экстремальных проблем" [A new method of solving some classes of extremal problems]. Doklady Akad Sci SSSR. 28: 211–214.
- F. L. Hitchcock: The distribution of a product from several sources to numerous localities, Journal of Mathematics and Physics, 20, 1941, 224–230.
- G.B Dantzig: Maximization of a linear function of variables subject to linear inequalities, 1947. Published pp. 339–347 in T.C. Koopmans (ed.):Activity Analysis of Production and Allocation, New York-London 1951 (Wiley & Chapman-Hall)
- J. E. Beasley, editor. Advances in Linear and Integer Programming. Oxford Science, 1996. (Collection of surveys)
- Bland, Robert G. (1977). "New Finite Pivoting Rules for the Simplex Method". Mathematics of Operations Research. 2 (2): 103–107. doi:10.1287/moor.2.2.103. JSTOR 3689647.
- Karl-Heinz Borgwardt, The Simplex Algorithm: A Probabilistic Analysis, Algorithms and Combinatorics, Volume 1, Springer-Verlag, 1987. (Average behavior on random problems)
- Richard W. Cottle, ed. The Basic George B. Dantzig. Stanford Business Books, Stanford University Press, Stanford, California, 2003. (Selected papers by George B. Dantzig)
- George B. Dantzig and Mukund N. Thapa. 1997. Linear programming 1: Introduction. Springer-Verlag.
- George B. Dantzig and Mukund N. Thapa. 2003. Linear Programming 2: Theory and Extensions. Springer-Verlag. (Comprehensive, covering e.g. pivoting and interior-point algorithms, large-scale problems, decomposition following Dantzig–Wolfe and Benders, and introducing stochastic programming.)
- Edmonds, Jack; Giles, Rick (1977). "A Min-Max Relation for Submodular Functions on Graphs". Studies in Integer Programming. Annals of Discrete Mathematics. Vol. 1. pp. 185–204. doi:10.1016/S0167-5060(08)70734-9. ISBN 978-0-7204-0765-5.
- Fukuda, Komei; Terlaky, Tamás (1997). Thomas M. Liebling; Dominique de Werra (eds.). "Criss-cross methods: A fresh view on pivot algorithms". Mathematical Programming, Series B. 79 (1–3): 369–395. CiteSeerX 10.1.1.36.9373. doi:10.1007/BF02614325. MR 1464775. S2CID 2794181.
- Gondzio, Jacek; Terlaky, Tamás (1996). "3 A computational view of interior point methods". In J. E. Beasley (ed.). Advances in linear and integer programming. Oxford Lecture Series in Mathematics and its Applications. Vol. 4. New York: Oxford University Press. pp. 103–144. MR 1438311. Postscript file at website of Gondzio and at McMaster University website of Terlaky.
- Murty, Katta G. (1983). Linear programming. New York: John Wiley & Sons, Inc. pp. xix+482. ISBN 978-0-471-09725-9. MR 0720547. (comprehensive reference to classical approaches).
- Evar D. Nering and Albert W. Tucker, 1993, Linear Programs and Related Problems, Academic Press. (elementary)
- M. Padberg, Linear Optimization and Extensions, Second Edition, Springer-Verlag, 1999. (carefully written account of primal and dual simplex algorithms and projective algorithms, with an introduction to integer linear programming – featuring the traveling salesman problem for Odysseus.)
- Christos H. Papadimitriou and Kenneth Steiglitz, Combinatorial Optimization: Algorithms and Complexity, Corrected republication with a new preface, Dover. (computer science)
- Michael J. Todd (February 2002). "The many facets of linear programming". Mathematical Programming. 91 (3): 417–436. doi:10.1007/s101070100261. S2CID 6464735. (Invited survey, from the International Symposium on Mathematical Programming.)
- Vanderbei, Robert J. (2001). Linear Programming: Foundations and Extensions. Springer Verlag.
- Vazirani, Vijay V. (2001). Approximation Algorithms. Springer-Verlag. ISBN 978-3-540-65367-7. (Computer science)
अग्रिम पठन
Library resources about रैखिक क्रमादेशन |
- Dmitris Alevras and Manfred W. Padberg, Linear Optimization and Extensions: Problems and Solutions, Universitext, Springer-Verlag, 2001. (Problems from Padberg with solutions.)
- Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf (2000). Computational Geometry (2nd revised ed.). Springer-Verlag. ISBN 978-3-540-65620-3.
{{cite book}}
: CS1 maint: multiple names: authors list (link) Chapter 4: Linear Programming: pp. 63–94. Describes a randomized half-plane intersection algorithm for linear programming. - Michael R. Garey and David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. ISBN 978-0-7167-1045-5. A6: MP1: INTEGER PROGRAMMING, pg.245. (computer science, complexity theory)
- Gärtner, Bernd; Matoušek, Jiří (2006). Understanding and Using Linear Programming. Berlin: Springer. ISBN 3-540-30697-8. (elementary introduction for mathematicians and computer scientists)
- Cornelis Roos, Tamás Terlaky, Jean-Philippe Vial, Interior Point Methods for Linear Optimization, Second Edition, Springer-Verlag, 2006. (Graduate level)
- Alexander Schrijver (2003). Combinatorial optimization: polyhedra and efficiency. Springer.
- Alexander Schrijver, Theory of Linear and Integer Programming. John Wiley & sons, 1998, ISBN 0-471-98232-6 (mathematical)
- Gerard Sierksma; Yori Zwols (2015). Linear and Integer Optimization: Theory and Practice. CRC Press. ISBN 978-1-498-71016-9.
- Gerard Sierksma; Diptesh Ghosh (2010). Networks in Action; Text and Computer Exercises in Network Optimization. Springer. ISBN 978-1-4419-5512-8. (linear optimization modeling)
- H. P. Williams, Model Building in Mathematical Programming, Fifth Edition, 2013. (Modeling)
- Stephen J. Wright, 1997, Primal-Dual Interior-Point Methods, SIAM. (Graduate level)
- Yinyu Ye, 1997, Interior Point Algorithms: Theory and Analysis, Wiley. (Advanced graduate-level)
- Ziegler, Günter M., Chapters 1–3 and 6–7 in Lectures on Polytopes, Springer-Verlag, New York, 1994. (Geometry)
बाहरी संबंध
- Guidance On Formulating LP Problems
- Mathematical Programming Glossary
- The Linear Programming FAQ
- Benchmarks For Optimisation Software
| group5 = Metaheuristics | abbr5 = heuristic | list5 =
| below =
}} | group5 =Metaheuuristic |abbr5 = heuristic | list5 =*विकासवादी एल्गोरिथ्म
| below =* सॉफ्टवेयर
}}