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

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

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

रैखिक कार्यक्रम ऐसी समस्याएं हैं जिन्हें विहित रूप में व्यक्त किया जा सकता है,
 * $$ \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 में, डेंटज़िग ने सिम्पलेक्स विधि का भी आविष्कार किया, जो कि, पहली बार कुशलता से, ज्यादातर मामलों में रैखिक प्रोग्रामिंग समस्या का समाधान किया। जब डेंटजिग ने जॉन वॉन न्यूमैन के साथ उनकी सिम्पलेक्स विधि पर चर्चा करने के लिए एक बैठक की व्यवस्था की, न्यूमैन ने तत्काल द्वैत के सिद्धांत का अनुमान लगाया कि खेल के सिद्धांत में जो समस्या वह काम कर रहा था वह बराबर है। डेंटजिग ने 5 जनवरी, 1948 को एक अप्रकाशित रिपोर्ट "रैखिक असमानताओं पर एक प्रमेय" में औपचारिक प्रमाण प्रदान किया। डेंटज़िग का काम 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 \,\}$$

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

उदाहरण
मान लीजिए कि एक किसान के पास कृषि भूमि का एक टुकड़ा है, जो L कि.मी2 है, गेहूं या जौ या फिर दोनों के संयोजन के साथ लगाया जाना। किसान के पास सीमित मात्रा में उर्वरक, F किलोग्राम और कीटनाशक, P किलोग्राम है। गेहूं के हर वर्ग किलोमीटर में  F1 किलोग्राम उर्वरक और P1 किलोग्राम कीटनाशक की आवश्यकता होती है, जबकि जौ के प्रत्येक वर्ग किलोमीटर में F2 किलोग्राम उर्वरक और P2 किलोग्राम कीटनाशक की आवश्यकता होती है। मान लीजिए 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" | अधिकतम: $$S_1\cdot x_1+S_2\cdot x_2$$
 * (उद्देश्य फलन)
 * विषय है:
 * $$x_1 + x_2 + x_3 = L$$
 * (संवर्धित व्यवरोध)
 * $$F_1\cdot x_1+F_2\cdot x_2 + x_4 = F$$
 * (संवर्धित व्यवरोध)
 * $$P_1\cdot x_1 + P_2\cdot x_2 + x_5 = P$$
 * (संवर्धित व्यवरोध)
 * $$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$$
 * (संवर्धित व्यवरोध)
 * $$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टीएक्स*=बी टीय **.

द्वैत सिद्धांत के दो मौलिक विचार हैं। एक तथ्य है कि (सममित द्वैत के लिए) एक दोहरी रेखीय प्रोग्राम का मूल रेखीय प्रोग्राम है। इसके अलावा, रैखिक प्रोग्राम का हर व्यवहार्य हल यह है कि वह इस दोहरे फंक्शन के अनुकूलतम प्रकार्य के इष्टतम मान को बाध्य करता है। दुर्बल द्वैत प्रमेय का मत है कि द्वैत के व्यावहारिक मान का किसी भी व्यावहारिक हल में वस्तुनिष्ठ फलन मान किसी भी व्यावहारिक समाधान में आदि की तुलना में बड़ा या बराबर होता है। प्रबल द्वैत प्रमेय के अनुसार, यदि मूल में इष्टतम विलयन होता है, तो 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