रैखिक क्रमादेशन

रैखिक प्रोग्रामिंग (एलपी), जिसे रैखिक अनुकूलन भी कहा जाता है, गणितीय मॉडल में, जिनकी आवश्यकताओं को रैखिक संबंधों द्वारा दर्शाया जाता है, सर्वोत्तम परिणाम (जैसे अधिकतम लाभ या न्यूनतम लागत) प्राप्त करने की एक विधि है, रैखिक प्रोग्रामिंग, गणितीय प्रोग्रामिंग (जिसे गणितीय अनुकूलन भी कहते हैं) का एक विशेष मामला है।

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

रैखिक कार्यक्रम ऐसी समस्याएं हैं जिन्हें विहित रूप में व्यक्त किया जा सकता है,
 * $$ \begin{align}

& \text{Find a vector} && \mathbf{x} \\ & \text{that maximize}  && \mathbf{c}^T \mathbf{x}\\ & \text{subject to} && A \mathbf{x} \leq \mathbf{b} \\ & \text{and} && \mathbf{x} \ge \mathbf{0}. \end{align} $$ यहाँ x के घटक निर्धारित किए जाने वाले चर हैं, c और b सदिश दिए गए हैं ($$\mathbf{c}^T$$ द्वारा यह दर्शाया गया है कि c के गुणांक का प्रयोग मैट्रिक्स उत्पाद के निर्माण के प्रयोजन हेतु एकल पंक्ति मैट्रिक्स के रूप में किया जाता है), और A एक दिया गया मैट्रिक्स (गणित) है। फलन जिसका मान अधिकतम या न्यूनतम किया जाना है ( $$\mathbf x\mapsto\mathbf{c}^T\mathbf{x}$$ इस स्थिति में ) को उद्देश्य फलन कहा जाता है। असमिकाएँ Ax ≤ b और x ≥ 0 ऐसी बाधाएँ हैं जो एक उत्तल पॉलीटॉप निर्दिष्ट करती हैं जिसके ऊपर उद्देश्य फ़ंक्शन को अनुकूलित किया जाना है। इस संदर्भ में, दो सदिश तुलनीय होते हैं जब उनके पास समान आयाम होते हैं। अगर पहले में प्रत्येक प्रविष्टि दूसरे में संबंधित प्रविष्टि से कम या बराबर होती है, तो यह कहा जा सकता है कि पहले सदिश दूसरी सदिश से कम या बराबर है।

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

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

1939 में सोवियत संघ  के  गणितज्ञ  और  अर्थशास्त्री  लियोनिद कांटोरोविच द्वारा एक समस्या का एक रैखिक प्रोग्रामिंग सूत्रीकरण दिया गया था, जो सामान्य रैखिक प्रोग्रामिंग समस्या के बराबर है, जिन्होंने इसे हल करने के लिए एक विधि भी प्रस्तावित की थी। यह  द्वितीय विश्व युद्ध  के दौरान सेना की लागत को कम करने और दुश्मन पर लगाए गए नुकसान को बढ़ाने के लिए व्यय और वापसी की योजना बनाने का एक तरीका है। कांटोरोविच के काम को शुरू में  सोवियत संघ  में उपेक्षित किया गया था। लगभग उसी समय केंटोरोविच के रूप में, डच-अमेरिकी अर्थशास्त्री त्जालिंग कोपमैन्स|टी. सी। कोपमैन्स ने शास्त्रीय आर्थिक समस्याओं को रैखिक कार्यक्रमों के रूप में तैयार किया। कांटोरोविच और कोपमैन्स ने बाद में 1975 में अर्थशास्त्र में नोबेल पुरस्कार  साझा किया। 1941 में,  फ्रैंक लॉरेन हिचकॉक  ने भी परिवहन समस्याओं को रैखिक कार्यक्रमों के रूप में तैयार किया और बाद के सिंप्लेक्स पद्धति के समान ही एक समाधान दिया। हिचकॉक की मृत्यु 1957 में हुई थी, और नोबेल पुरस्कार मरणोपरांत नहीं दिया जाता है।

1946 से 1947 तक जॉर्ज डेंटजिग|जॉर्ज बी. डेंटजिग ने अमेरिकी वायु सेना में नियोजन समस्याओं के लिए उपयोग करने के लिए स्वतंत्र रूप से सामान्य रैखिक प्रोग्रामिंग फॉर्मूलेशन विकसित किया। 1947 में, Dantzig ने सिम्पलेक्स एल्गोरिथम  का भी आविष्कार किया, जिसने पहली बार कुशलतापूर्वक, ज्यादातर मामलों में रैखिक प्रोग्रामिंग समस्या का समाधान किया। जब डेंटज़िग ने जॉन वॉन न्यूमैन के साथ अपनी सिम्पलेक्स पद्धति पर चर्चा करने के लिए एक बैठक की, तो न्यूमैन ने तुरंत यह महसूस करते हुए #द्वैत के सिद्धांत का अनुमान लगाया कि  खेल सिद्धांत  में वह जिस समस्या पर काम कर रहे थे, वह समतुल्य थी। Dantzig ने 5 जनवरी, 1948 को रैखिक असमानताओं पर एक अप्रकाशित रिपोर्ट A Theorem में औपचारिक प्रमाण प्रदान किया। 1951 में डेंटज़िग का काम जनता के लिए उपलब्ध कराया गया था। युद्ध के बाद के वर्षों में, कई उद्योगों ने इसे अपनी दैनिक योजना में लागू किया।

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

रैखिक प्रोग्रामिंग समस्या को पहली बार 1979 में लियोनिद खाचियां  द्वारा बहुपद समय में हल करने योग्य दिखाया गया था, लेकिन इस क्षेत्र में एक बड़ी सैद्धांतिक और व्यावहारिक सफलता 1984 में आई जब  नरेंद्र करमरकर  ने रैखिक-प्रोग्रामिंग समस्याओं को हल करने के लिए एक नई आंतरिक-बिंदु पद्धति की शुरुआत की।

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

मानक रूप
मानक रूप, रैखिक प्रोग्रामन समस्या का वर्णन करने का एक सामान्य और सबसे सहज रूप होता है। इसमें निम्न तीन भाग होते हैं:
 * एक 'रैखिक कार्य को अधिकतम किया जाना'
 * जैसे $$ f(x_{1},x_{2}) = c_1 x_1 + c_2 x_2$$


 * निम्नलिखित रूप की समस्या बाधाएं
 * जैसे
 * $$\begin{matrix}

a_{11} x_1 + a_{12} x_2 &\leq b_1 \\ a_{21} x_1 + a_{22} x_2 &\leq b_2 \\ a_{31} x_1 + a_{32} x_2 &\leq b_3 \\ \end{matrix}$$
 * गैर-नकारात्मक चर
 * जैसे
 * $$\begin{matrix}

x_1 \geq 0 \\ x_2 \geq 0 \end{matrix}$$ समस्या आमतौर पर मैट्रिक्स (गणित) के रूप में व्यक्त की जाती है, और फिर बन जाती है:
 * $$\max \{\, \mathbf{c}^\mathrm{T} \mathbf{x} \mid \mathbf{x}\in\mathbb{R}^n\land A \mathbf{x} \leq \mathbf{b} \land \mathbf{x} \geq 0 \,\}$$

अन्य रूपों, जैसे न्यूनीकरण की समस्या, वैकल्पिक रूपों पर बाधाओं के साथ समस्या, और नकारात्मक चर (प्रोग्रामिंग)  से जुड़ी समस्याओं को हमेशा मानक रूप में समकक्ष समस्या में फिर से लिखा जा सकता है।

उदाहरण
मान लीजिए कि एक किसान के पास कृषि भूमि का एक टुकड़ा है, मान लीजिए एल कि.मी2, गेहूं या जौ या दोनों के कुछ संयोजन के साथ लगाया जाना। किसान के पास सीमित मात्रा में उर्वरक, एफ किलोग्राम और कीटनाशक, पी किलोग्राम है। प्रति वर्ग किलोमीटर गेहूँ के लिए F की आवश्यकता होती है1 किलोग्राम उर्वरक और पी1 किलोग्राम कीटनाशक, जबकि जौ के हर वर्ग किलोमीटर में F. की आवश्यकता होती है2 किलोग्राम उर्वरक और पी2 किलोग्राम कीटनाशक। चलो एस1 प्रति वर्ग किलोमीटर गेहूं का विक्रय मूल्य हो, और S2 जौ का विक्रय मूल्य हो। यदि हम गेहूं और जौ के साथ लगाए गए भूमि के क्षेत्रफल को x से निरूपित करते हैं1 और एक्स2 क्रमशः, फिर x. के लिए इष्टतम मान चुनकर लाभ को अधिकतम किया जा सकता है1 और एक्स2. इस समस्या को मानक रूप में निम्नलिखित रैखिक प्रोग्रामिंग समस्या के साथ व्यक्त किया जा सकता है:

मान लीजिए कि एक किसान के पास कृषि भूमि का एक टुकड़ा है, मान लीजिए एल km2, गेहूं या जौ या दोनों के संयोजन के साथ लगाया जाना। किसान के पास सीमित मात्रा में उर्वरक, एफ किलोग्राम और कीटनाशक, पी किलोग्राम है। गेहूं के हर वर्ग किलोमीटर में एफ 1 किलोग्राम उर्वरक और पी 1 किलोग्राम कीटनाशक की आवश्यकता होती है, जबकि जौ के प्रत्येक वर्ग किलोमीटर में एफ 2 किलोग्राम उर्वरक और पी 2 किलोग्राम कीटनाशक की आवश्यकता होती है। मान लीजिए S1 प्रति वर्ग किलोमीटर गेहूं का विक्रय मूल्य है, और S2 जौ का विक्रय मूल्य है। अगर हम क्रमशः x1 और x2 द्वारा गेहूं और जौ के साथ लगाए गए भूमि के क्षेत्र को दर्शाते हैं, तो x1 और x2 के लिए इष्टतम मान चुनकर लाभ को अधिकतम किया जा सकता है। इस समस्या को मानक रूप में निम्नलिखित रैखिक प्रोग्रामिंग समस्या के साथ व्यक्त किया जा सकता है: मैट्रिक्स रूप में यह बन जाता है:
 * अधिकतम करें $$\begin{bmatrix} S_1 & S_2 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} $$
 * का विषय है $$\begin{bmatrix} 1 & 1 \\ F_1 & F_2 \\ P_1 & P_2 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} \le \begin{bmatrix} L \\ F \\ P \end{bmatrix}, \, \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} \ge \begin{bmatrix} 0 \\ 0 \end{bmatrix}. $$

संवर्धित रूप (सुस्त रूप)
सिम्प्लेक्स एल्गोरिथम के सामान्य रूप को लागू करने के लिए रैखिक प्रोग्रामिंग समस्याओं को संवर्धित रूप में परिवर्तित किया जा सकता है। यह फॉर्म असमानताओं को बाधाओं में समानता के साथ बदलने के लिए गैर-नकारात्मक सुस्त चर  पेश करता है। समस्याओं को तब निम्न  ब्लॉक मैट्रिक्स  फॉर्म में लिखा जा सकता है:
 * अधिकतम करें $$z$$:

\begin{bmatrix} 1 & -\mathbf{c}^T & 0 \\ 0 & \mathbf{A} & \mathbf{I} \end{bmatrix} \begin{bmatrix} z \\ \mathbf{x} \\ \mathbf{s} \end{bmatrix} = \begin{bmatrix} 0 \\ \mathbf{b} \end{bmatrix} $$
 * $$\mathbf{x} \ge 0, \mathbf{s} \ge 0$$

कहाँ पे $$\mathbf{s}$$ नए पेश किए गए सुस्त चर हैं, $$\mathbf{x}$$ निर्णय चर हैं, और $$z$$ अधिकतम किया जाने वाला चर है।

उदाहरण
ऊपर दिया गया उदाहरण निम्नलिखित संवर्धित रूप में परिवर्तित किया गया है:

कहाँ पे $$x_3, x_4, x_5$$ (गैर-नकारात्मक) सुस्त चर हैं, जो इस उदाहरण में अप्रयुक्त क्षेत्र, अप्रयुक्त उर्वरक की मात्रा और अप्रयुक्त कीटनाशक की मात्रा का प्रतिनिधित्व करते हैं।
 * colspan="2" | Maximize: $$S_1\cdot x_1+S_2\cdot x_2$$
 * (objective function)
 * subject to:
 * $$x_1 + x_2 + x_3 = L$$
 * (augmented constraint)
 * $$F_1\cdot x_1+F_2\cdot x_2 + x_4 = F$$
 * (augmented constraint)
 * $$P_1\cdot x_1 + P_2\cdot x_2 + x_5 = P$$
 * (augmented constraint)
 * $$x_1,x_2,x_3,x_4,x_5 \ge 0.$$
 * }
 * $$P_1\cdot x_1 + P_2\cdot x_2 + x_5 = P$$
 * (augmented constraint)
 * $$x_1,x_2,x_3,x_4,x_5 \ge 0.$$
 * }
 * $$x_1,x_2,x_3,x_4,x_5 \ge 0.$$
 * }
 * $$x_1,x_2,x_3,x_4,x_5 \ge 0.$$
 * }

मैट्रिक्स रूप में यह बन जाता है:
 * अधिकतम करें $$z$$:

\begin{bmatrix} 1 & -S_1 & -S_2 & 0 & 0 & 0 \\ 0 &  1    &   1    & 1 & 0 & 0 \\    0 &  F_1  &  F_2  & 0 & 1 & 0 \\ 0 & P_1    & P_2 & 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} z \\ x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5 \end{bmatrix} = \begin{bmatrix} 0 \\ L \\ F \\ P \end{bmatrix}, \, \begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5 \end{bmatrix} \ge 0. $$

द्वैत
प्रत्येक रेखीय प्रोग्रामिंग समस्या, जिसे मूल समस्या कहा जाता है, को दोहरी समस्या  में परिवर्तित किया जा सकता है, जो प्राथमिक समस्या के इष्टतम मूल्य के लिए ऊपरी सीमा प्रदान करती है। आव्यूह रूप में, हम प्राथमिक समस्या को इस प्रकार व्यक्त कर सकते हैं:


 * अधिकतम 'सी'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 ,

ऐसा है कि मैट्रिक्स 'ए' और वैक्टर बी और सी गैर-नकारात्मक हैं।

उदाहरण
एलपी को कवर करना और पैक करना आमतौर पर एक कॉम्बीनेटरियल समस्या के रैखिक प्रोग्रामिंग छूट  के रूप में उत्पन्न होता है और  सन्निकटन एल्गोरिदम  के अध्ययन में महत्वपूर्ण होता है। उदाहरण के लिए,  पैकिंग सेट करें  की एलपी छूट,  स्वतंत्र सेट समस्या, और मिलान (ग्राफ़ सिद्धांत) एलपी पैक कर रहे हैं। सेट कवर समस्या,  वर्टेक्स कवर समस्या , और  हावी सेट समस्या  की एलपी छूट भी एलपी को कवर कर रही है।

एक ग्राफ़ (असतत गणित) का एक आंशिक रंग  ढूँढना एक कवर एलपी का एक और उदाहरण है। इस मामले में, ग्राफ के प्रत्येक शीर्ष के लिए एक बाधा और ग्राफ के प्रत्येक  स्वतंत्र सेट (ग्राफ सिद्धांत)  के लिए एक चर है।

पूरक शिथिलता
दोहरे के लिए एक इष्टतम समाधान प्राप्त करना संभव है, जब पूरक शिथिलता प्रमेय का उपयोग करके केवल प्रारंभिक के लिए एक इष्टतम समाधान जाना जाता है। प्रमेय कहता है:

मान लीजिए कि 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 में जॉर्ज डेंट्ज़िग  द्वारा विकसित सिंप्लेक्स एल्गोरिथ्म, एलपी समस्याओं को हल करता है, पॉलीटॉप के शीर्ष पर एक व्यवहार्य समाधान का निर्माण करता है और फिर पॉलीटॉप के किनारों पर एक पथ के साथ चलकर उद्देश्य फलन के गैर-घटते मूल्यों के साथ कोने तक चलता है। इष्टतम निश्चित रूप से पहुँच गया है। कई व्यावहारिक समस्याओं में, सिम्पलेक्स एल्गोरिथम#डीजेनेरेसी: स्टालिंग और साइकलिंग होता है: ऑब्जेक्टिव फलन में कोई वृद्धि नहीं होने के कारण कई पिवोट्स बनाए जाते हैं।  दुर्लभ व्यावहारिक समस्याओं में, सिम्प्लेक्स एल्गोरिथम के सामान्य संस्करण वास्तव में चक्र हो सकते हैं। चक्र से बचने के लिए, शोधकर्ताओं ने नए धुरी नियम विकसित किए।

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

क्रिस-क्रॉस एल्गोरिथम
डेंटज़िग के सिंप्लेक्स एल्गोरिथम की तरह, क्रिस-क्रॉस एल्गोरिथम एक आधार-विनिमय एल्गोरिथम है जो आधारों के बीच पिवट करता है। हालांकि, क्रिस-क्रॉस एल्गोरिथम को व्यवहार्यता बनाए रखने की आवश्यकता नहीं है, बल्कि एक व्यवहार्य आधार से एक अक्षम्य आधार पर धुरी कर सकता है। लीनियर प्रोग्रामिंग के लिए क्रिस-क्रॉस एल्गोरिद्म में समय जटिलता  नहीं है|बहुपद समय-जटिलता है। दोनों एल्गोरिदम सभी 2 पर जाते हैंडी आयाम डी में एक (परेशान)  इकाई घन  के कोने, सबसे खराब स्थिति वाली जटिलता में क्ले-मिन्टी घन।

आंतरिक बिंदु
सिम्प्लेक्स एल्गोरिथम के विपरीत, जो एक पॉलीहेड्रल सेट पर कोने के बीच किनारों को पार करके एक इष्टतम समाधान ढूंढता है, इंटीरियर-पॉइंट विधियां व्यवहार्य क्षेत्र के इंटीरियर के माध्यम से चलती हैं।

खाचियां के बाद दीर्घवृत्ताभ एल्गोरिथम
यह पहली सबसे खराब स्थिति जटिलता है | सबसे खराब स्थिति बहुपद-समय एल्गोरिदम रैखिक प्रोग्रामिंग के लिए कभी भी पाया गया है। एक समस्या को हल करने के लिए जिसमें n चर हैं और एल इनपुट बिट्स में एन्कोड किया जा सकता है, यह एल्गोरिदम चलता है $$ O(n^6 L) $$ समय। लियोनिद खाचियन ने 1979 में दीर्घवृत्ताभ विधि की शुरुआत के साथ इस लंबे समय से चली आ रही जटिलता के मुद्दे को हल किया। अभिसरण विश्लेषण में (वास्तविक-संख्या) पूर्ववर्ती हैं, विशेष रूप से नाम जेड शोर द्वारा विकसित पुनरावृत्त विधि यां और अर्कडी नेमिरोव्स्की और डी। युडिन द्वारा सन्निकटन एल्गोरिदम।

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

हालांकि, खाचियां के एल्गोरिदम ने रैखिक प्रोग्रामिंग में अनुसंधान की नई पंक्तियों को प्रेरित किया। 1984 में, नरेंद्र करमारकर|एन. करमार्कर ने प्रस्तावित किया रैखिक प्रोग्रामिंग के लिए प्रक्षेपी विधि । कर्मकार का एल्गोरिदम इम्प्रोवेद ों खाचियाँ'स सबसे खराब स्थिति बहुपद बाध्य (देना .) $$O(n^{3.5}L)$$). करमार्कर ने दावा किया कि उनका एल्गोरिथ्म सरल विधि की तुलना में व्यावहारिक एलपी में बहुत तेज था, एक ऐसा दावा जिसने आंतरिक-बिंदु विधियों में बहुत रुचि पैदा की। करमार्कर की खोज के बाद से, कई आंतरिक-बिंदु विधियों का प्रस्ताव और विश्लेषण किया गया है।

वैद्य की 87 एल्गोरिथ्म
1987 में, वैद्य ने एक एल्गोरिथम प्रस्तावित किया जो में चलता है $$ O(n^3) $$ समय।

वैद्य की 89 एल्गोरिथ्म
1989 में, वैद्य ने एक एल्गोरिथम विकसित किया जो में चलता है $$O(n^{2.5})$$ समय। औपचारिक रूप से बोलते हुए, एल्गोरिदम लेता है $$O( (n+d)^{1.5} n L)$$ सबसे खराब स्थिति में अंकगणितीय संचालन, जहां $$d$$ बाधाओं की संख्या है, $$ n $$ चर की संख्या है, और $$L$$ बिट्स की संख्या है।

इनपुट स्पार्सिटी टाइम एल्गोरिदम
2015 में, ली और सिडफोर्ड ने दिखाया कि इसे में हल किया जा सकता है $$\tilde O((nnz(A) + d^2)\sqrt{d}L)$$ समय, कहाँ पे $$nnz(A)$$ गैर-शून्य तत्वों की संख्या का प्रतिनिधित्व करता है, और यह ले रहा है $$O(n^{2.5}L)$$ सबसे खराब स्थिति में।

वर्तमान मैट्रिक्स गुणन समय एल्गोरिथ्म
2019 में, कोहेन, ली और सॉन्ग ने चलने के समय में सुधार किया $$\tilde O( ( n^{\omega} + n^{2.5-\alpha/2} + n^{2+1/6} ) L)$$ समय, $$ \omega $$ मैट्रिक्स गुणन  का घातांक है और $$ \alpha $$ मैट्रिक्स गुणन का दोहरा घातांक है।  $$ \alpha $$ (मोटे तौर पर) सबसे बड़ी संख्या के रूप में परिभाषित किया गया है जैसे कि कोई गुणा कर सकता है $$ n \times n $$ ए द्वारा मैट्रिक्स $$ n \times n^\alpha $$ मैट्रिक्स में $$ O(n^2) $$ समय। ली, सोंग और झांग द्वारा अनुवर्ती कार्य में, वे एक ही परिणाम को एक अलग विधि के माध्यम से पुन: पेश करते हैं। ये दो एल्गोरिदम रहते हैं $$\tilde O( n^{2+1/6} L ) $$ जब $$ \omega = 2 $$ तथा $$ \alpha = 1 $$. जियांग, सोंग, वीनस्टीन और झांग के कारण परिणाम में सुधार हुआ $$ \tilde O ( n^{2+1/6} L) $$ प्रति $$ \tilde O ( n^{2+1/18} L) $$.

आंतरिक-बिंदु विधियों और सिंप्लेक्स एल्गोरिदम की तुलना
वर्तमान राय यह है कि सिंप्लेक्स-आधारित विधियों और आंतरिक बिंदु विधियों के अच्छे कार्यान्वयन की क्षमता रैखिक प्रोग्रामिंग के नियमित अनुप्रयोगों के लिए समान है। हालांकि, विशिष्ट प्रकार की एलपी समस्याओं के लिए, यह हो सकता है कि एक प्रकार का सॉल्वर दूसरे (कभी-कभी बहुत बेहतर) से बेहतर होता है, और यह कि आंतरिक बिंदु विधियों बनाम सिम्प्लेक्स-आधारित विधियों द्वारा उत्पन्न समाधानों की संरचना समर्थन के साथ काफी भिन्न होती है। सक्रिय चर का सेट आमतौर पर बाद वाले के लिए छोटा होता है।

खुली समस्याएं और हाल का काम
रैखिक प्रोग्रामिंग के सिद्धांत में कई खुली समस्याएं हैं, जिनका समाधान गणित में मौलिक सफलताओं और बड़े पैमाने पर रैखिक कार्यक्रमों को हल करने की हमारी क्षमता में संभावित प्रमुख प्रगति का प्रतिनिधित्व करेगा।
 * क्या एलपी एक समय जटिलता को स्वीकार करता है#मजबूत और कमजोर बहुपद समय-समय एल्गोरिदम?
 * क्या एलपी सख्ती से पूरक समाधान खोजने के लिए एक जोरदार बहुपद-समय एल्गोरिदम स्वीकार करता है?
 * क्या एलपी गणना के वास्तविक संख्या (इकाई लागत) मॉडल में बहुपद-समय एल्गोरिदम स्वीकार करता है?

21 वीं सदी की स्मेल की समस्याओं के बीच स्टीफन स्माले  द्वारा समस्याओं के इस निकट से संबंधित सेट का हवाला दिया गया है। स्माले के शब्दों में, समस्या का तीसरा संस्करण रैखिक प्रोग्रामिंग सिद्धांत की मुख्य अनसुलझी समस्या है। जबकि एल्गोरिदम कमजोर बहुपद समय में रैखिक प्रोग्रामिंग को हल करने के लिए मौजूद हैं, जैसे कि दीर्घवृत्ताभ विधियों और  आंतरिक बिंदु विधि  | आंतरिक-बिंदु तकनीक, अभी तक कोई एल्गोरिदम नहीं मिला है जो बाधाओं की संख्या और चर की संख्या में दृढ़ता से बहुपद-समय के प्रदर्शन की अनुमति देता है।. इस तरह के एल्गोरिदम का विकास महान सैद्धांतिक रुचि का होगा, और शायद बड़े एलपी को भी हल करने में व्यावहारिक लाभ की अनुमति देता है।

हालाँकि हाल ही में उच्च आयामों के लिए हिर्श अनुमान  को अस्वीकृत कर दिया गया था, फिर भी यह निम्नलिखित प्रश्नों को खुला छोड़ देता है।
 * क्या ऐसे धुरी नियम हैं जो बहुपद-समय सिंप्लेक्स वेरिएंट की ओर ले जाते हैं?
 * क्या सभी पॉलीटोपल ग्राफ में बहुपद से घिरा व्यास होता है?

ये प्रश्न प्रदर्शन विश्लेषण और सिंप्लेक्स जैसी विधियों के विकास से संबंधित हैं। अपने घातीय-समय सैद्धांतिक प्रदर्शन के बावजूद व्यवहार में सिम्प्लेक्स एल्गोरिदम की अत्यधिक दक्षता संकेत देती है कि बहुपद या यहां तक ​​​​कि दृढ़ता से बहुपद समय में चलने वाले सिम्प्लेक्स की विविधताएं हो सकती हैं। यह जानना बहुत व्यावहारिक और सैद्धांतिक महत्व का होगा कि क्या ऐसा कोई रूप मौजूद है, विशेष रूप से यह तय करने के दृष्टिकोण के रूप में कि क्या एलपी को दृढ़ता से बहुपद समय में हल किया जा सकता है।

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

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

पूर्णांक अज्ञात
यदि सभी अज्ञात चरों को पूर्णांक होना आवश्यक है, तो समस्या को पूर्णांक प्रोग्रामिंग  (IP) या पूर्णांक रैखिक प्रोग्रामिंग (ILP) समस्या कहा जाता है। रैखिक प्रोग्रामिंग के विपरीत, जिसे सबसे खराब स्थिति में कुशलता से हल किया जा सकता है, पूर्णांक प्रोग्रामिंग समस्याएं कई व्यावहारिक स्थितियों में होती हैं (जो सीमित चर वाले हैं)  एनपी कठिन  हैं। 0-1 पूर्णांक प्रोग्रामिंग या बाइनरी पूर्णांक प्रोग्रामिंग (बीआईपी) पूर्णांक प्रोग्रामिंग का विशेष मामला है जहां चर को 0 या 1 (मनमानी पूर्णांक के बजाय) होना आवश्यक है। इस समस्या को एनपी-हार्ड के रूप में भी वर्गीकृत किया गया है, और वास्तव में निर्णय संस्करण कार्प की 21 एनपी-पूर्ण समस्याओं में से एक था।

यदि केवल कुछ अज्ञात चरों को पूर्णांक होना आवश्यक है, तो समस्या को मिश्रित पूर्णांक (रैखिक) प्रोग्रामिंग (MIP या MILP) समस्या कहा जाता है। ये आम तौर पर एनपी-हार्ड भी होते हैं क्योंकि ये ILP प्रोग्राम से भी अधिक सामान्य होते हैं।

हालाँकि IP और MIP समस्याओं के कुछ महत्वपूर्ण उपवर्ग हैं जो कुशलता से हल करने योग्य हैं, सबसे विशेष रूप से समस्याएँ जहाँ बाधा मैट्रिक्स पूरी तरह से एकरूप  है और बाधाओं के दाहिने हाथ पूर्णांक हैं या - अधिक सामान्य - जहाँ सिस्टम में  कुल दोहरी अखंडता  है (टीडीआई) संपत्ति।

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

इंटीग्रल लीनियर प्रोग्राम
वास्तविक चरों में एक रेखीय कार्यक्रम को अभिन्न कहा जाता है यदि इसका कम से कम एक इष्टतम समाधान है जो अभिन्न है, अर्थात, केवल पूर्णांक मानों से बना है। इसी तरह, एक बहुफलक $$P = \{x \mid Ax \ge 0\}$$ कहा जाता है कि 'अभिन्न'' यदि सभी बाध्य व्यवहार्य उद्देश्य कार्यों के लिए 'सी', रैखिक कार्यक्रम $$\{\max cx \mid x \in P\}$$ एक इष्टतम. है $$x^*$$ पूर्णांक निर्देशांक के साथ। जैसा कि एडमंड्स और जाइल्स ने 1977 में देखा था, कोई भी समान रूप से कह सकता है कि बहुफलक $$P$$ अभिन्न है अगर हर बाध्य व्यवहार्य अभिन्न उद्देश्य समारोह सी के लिए, रैखिक कार्यक्रम का इष्टतम मूल्य $$\{\max cx \mid x \in P\}$$ एक पूर्णांक है।

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

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

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

सॉल्वर और स्क्रिप्टिंग (प्रोग्रामिंग) भाषाएँ
अनुज्ञेय मुफ्त सॉफ्टवेयर लाइसेंस लाइसेंस: कॉपीलेफ्ट |कॉपीलेफ़्ट (पारस्परिक) लाइसेंस: मिंटो (मिश्रित पूर्णांक अनुकूलक, एक पूर्णांक प्रोग्रामिंग सॉल्वर जो शाखा और बाध्य एल्गोरिथम का उपयोग करता है) में सार्वजनिक रूप से उपलब्ध स्रोत कोड है लेकिन खुला स्रोत नहीं है।

मालिकाना सॉफ्टवेयर लाइसेंस:

यह भी देखें

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

संदर्भ

 * 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)
 * 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.)
 * 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)
 * (Invited survey, from the International Symposium on Mathematical Programming.)
 * (Computer science)
 * 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)
 * (Invited survey, from the International Symposium on Mathematical Programming.)
 * (Computer science)
 * (Computer science)
 * (Computer science)

अग्रिम पठन

 * Dmitris Alevras and Manfred W. Padberg, Linear Optimization and Extensions: Problems and Solutions, Universitext, Springer-Verlag, 2001. (Problems from Padberg with solutions.)


 * Chapter 4: Linear Programming: pp. 63–94. Describes a randomized half-plane intersection algorithm for linear programming.
 * A6: MP1: INTEGER PROGRAMMING, pg.245. (computer science, complexity theory)
 * (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, Theory of Linear and Integer Programming. John Wiley & sons, 1998, ISBN 0-471-98232-6 (mathematical)
 * (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)
 * 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