स्नातकोत्तर → अनुकूलन ↓
रेखीय प्रोग्रामिंग
रेखीय प्रोग्रामिंग (LP) एक गणितीय विधि है जिसके द्वारा एक दिए गए गणितीय मॉडल में सर्वश्रेष्ठ परिणाम प्राप्त करने का तरीका निर्धारित किया जाता है। इसकी कार्यप्रणाली रेखीय संबंधों द्वारा दर्शायी जाती है। रेखीय प्रोग्रामिंग एक तकनीक है जो रेखीय लक्ष्य कार्य को बेहतर बनाने के लिए होती है, जिसमें रेखीय समानता और रेखीय असमानता प्रतिबंध आदि होते हैं।
रेखीय प्रोग्रामिंग समस्या के मुख्य घटक निम्नलिखित हैं:
- लक्ष्य कार्य: ऐसा कार्य जिसे बेहतर बनाना होता है, जैसे अधिकतम या न्यूनतम करना।
- निर्णय चर: ये वे चर होते हैं जिन्हें आउटपुट तय करने वाले होते हैं और आमतौर पर
x,y,zआदि के रूप में प्रतिनिधित्व किया जाता है। - प्रतिबंध: ये निर्णय चर पर लागू होने वाले प्रतिबंध या सीमाएँ होती हैं, जो अक्सर रेखीय असमानताओं या समीकरणों के रूप में होती हैं।
- गैर-ऋणात्मक प्रतिबंध: यह मान लिया जाता है कि निर्णय चर गैर-ऋणात्मक होते हैं, अर्थात सभी मान या तो शून्य या सकारात्मक होते हैं।
रेखीय प्रोग्रामिंग समस्या का निर्माण
रेखीय प्रोग्रामिंग को समझने के लिए निम्नलिखित उदाहरण पर विचार करें:
कल्पना करें कि एक कंपनी दो उत्पाद बनाती है: कुर्सियाँ और टेबल। प्रत्येक कुर्सी $30 का लाभ देती है, और प्रत्येक टेबल $50 का लाभ देती है। कंपनी के पास श्रम और सामग्री की सीमाएँ हैं। एक कुर्सी बनाने के लिए 2 घंटे श्रम और 3 इकाई सामग्री चाहिए। एक टेबल बनाने के लिए 4 घंटे श्रम और 2 इकाई सामग्री चाहिए। कंपनी के पास अधिकतम 100 घंटे श्रम और 120 इकाई सामग्री उपलब्ध है।
लाभ को अधिकतम करने के लिए, हम रेखीय प्रोग्रामिंग समस्या का निर्माण इस प्रकार कर सकते हैं:
अधिकतम: लाभ = 30x + 50y के अधीन: 2x + 4y ≤ 100 (श्रम प्रतिबंध) 3x + 2y ≤ 120 (भौतिक प्रतिबंध) x ≥ 0, y ≥ 0 (गैर-ऋणात्मक प्रतिबंध)
ग्राफिक प्रस्तुतिकरण
दो चर वाली रेखीय प्रोग्रामिंग समस्याओं को हल किया जा सकता है और ग्राफिक रूप में प्रस्तुत किया जा सकता है। यह इस प्रकार दिखता है:
व्यवहार्य क्षेत्र उन सभी बिंदुओं का समूह है जो सभी प्रतिबंधों को पूरा करते हैं। यह ऊपर धूसर रंग में छायांकित है। सर्वोत्तम समाधान इस क्षेत्र में होता है। इस उदाहरण में, सर्वोत्तम रणनीति प्रतिबंधों के प्रतिच्छेदन पर होती है, जिसे लाल बिंदु द्वारा दर्शाया गया है।
सिंपलेक्स विधि
जब दो से अधिक चर होते हैं, तो ग्राफिक प्रस्तुतिकरण संभव नहीं होता। इसलिए, हम सिंपलेक्स विधि का उपयोग करते हैं, जो रेखीय प्रोग्रामिंग समस्याओं को हल करने के लिए एक पुनरावृत्त विधि है।
सिंपलेक्स विधि निम्नलिखित चरण शामिल करती है:
- व्यवहार्य क्षेत्र के प्रारंभिक कोने के बिंदु से शुरू करें।
- व्यवहार्य क्षेत्र के प्रत्येक शीर्ष बिंदु पर लक्ष्य कार्य का मूल्यांकन करें।
- लक्ष्य कार्य मान को सुधारने वाले पड़ोसी शीर्ष बिंदु पर जाएं।
- इस प्रक्रिया को तब तक जारी रखें जब तक कि कोई और सुधार संभव न हो।
- वर्तमान शीर्ष बिंदु लक्ष्य कार्य का अधिकतम या न्यूनतम मान प्रदान करता है।
सिंपलेक्स विधि का उपयोग करके उदाहरण
निम्नलिखित रेखीय प्रोग्रामिंग समस्या पर विचार करें:
अधिकतम करें: Z = 3x1 + 2x2 के अधीन: x1 + x2 ≤ 4 x1 - x2 ≤ 2 x1, x2 ≥ 0
सिंपलेक्स का उपयोग करके समाधान के चरण:
- असमानताओं को समानताओं में परिवर्तित करें, शिथिल चर s1 और s2 को सम्मिलित करके:
- प्रारंभिक सिंपलेक्स तालिका बनाएं:
- पिवट कॉलम खोजें (Z-पंक्ति में सबसे नकारात्मक गुणांक वाला कॉलम):
- पिवट लाइन खोजने के लिए अनुपातों की गणना करें।
- पिवट तत्व को
1और पिवट कॉलम के सभी अन्य तत्वों को0बनाने के लिए पिवट संचालन करें। - इस प्रक्रिया को तब तक दोहराएं जब तक कि उद्देश्य पंक्ति में कोई नकारात्मक गुणांक ना रहें।
x1 + x2 + s1 = 4
x1 - x2 + s2 = 2
| x1 | x2 | S1 | S2 | समाधान | |
|---|---|---|---|---|---|
| S1 | 1 | 1 | 1 | 0 | 4 |
| S2 | 1 | -1 | 0 | 1 | 2 |
| Jade | -3 | -2 | 0 | 0 | 0 |
सबसे नकारात्मक मान -3 है ( x1 का कॉलम)।
पंक्ति s1 के लिए: 4/1 = 4
पंक्ति s2 के लिए: 2/1 = 2
सबसे छोटे सकारात्मक अनुपात वाली पंक्ति चुनें: पंक्ति s2।
रेखीय प्रोग्रामिंग में द्वैतता
प्रत्येक रेखीय प्रोग्रामिंग समस्या, जिसे प्रधान समस्या कहा जाता है, को दूसरी रेखीय प्रोग्रामिंग समस्या में परिवर्तित किया जा सकता है जिसे द्वैत समस्या कहा जाता है। द्वैत और प्रधान समस्याओं के समाधान उद्देश्य कार्य के मान के लिए सीमा प्रदान करते हैं।
उदाहरण:
प्रधान समस्या: अधिकतम करें: Z = 3x1 + 4x2 के अधीन: 2x1 + 3x2 ≤ 8 3x1 + 3x2 ≤ 6 x1, x2 ≥ 0
इसका द्वैत होगा:
न्यूनतम करें: W = 8y1 + 6y2 के अधीन: 2y1 + y2 ≥ 3 3y1 + 3y2 ≥ 4 y1, y2 ≥ 0
प्रधान और द्वैत में उद्देश्य कार्य परस्पर संबद्ध होते हैं। इनमें से एक को हल करने से दूसरे के बारे में जानकारी या सीमा मिलती है।
रेखीय प्रोग्रामिंग का अनुप्रयोग
रेखीय प्रोग्रामिंग का कई क्षेत्रों में व्यापक रूप से उपयोग किया जाता है, जिनमें शामिल हैं:
- उत्पादन: इष्टतम उत्पादन स्तरों और इन्वेंट्री का निर्धारण करना।
- वित्त: न्यूनतम जोखिम के साथ उच्चतम लाभ का पोर्टफोलियो डिजाइन करना।
- परिवहन: नेटवर्क के पार माल की शिपिंग की लागत को कम करना।
- आहार योजना: सबसे सस्ता आहार निर्धारित करना जो सभी पोषण आवश्यकताओं को पूरा करता हो।
- टेलीकम्युनिकेशन: इष्टतम बैंडविड्थ आवंटन और नेटवर्क विश्लेषण के लिए।
रेखीय प्रोग्रामिंग की सीमाएँ
इसके व्यापक अनुप्रयोग के बावजूद, रेखीय प्रोग्रामिंग की कुछ सीमाएँ हैं:
- मॉडल रेखीयता पर आधारित होते हैं, जबकि वास्तविक जीवन परिदृश्य हमेशा रेखीय नहीं होते।
- यह गुणांक में सुनिश्चितता मानता है; हालांकि, वास्तविक जीवन के डेटा में अनिश्चितता या परिवर्तनशीलता हो सकती है।
- समाधान को सभी प्रतिबंधों को पूरी तरह से पूरा करना होता है, जो हमेशा संभव नहीं होता।
- यह पूर्णांक चर को सीधे तरीके से समायोजित नहीं करता है, जो कुछ व्यावहारिक समस्याओं में महत्वपूर्ण हो सकते हैं।
निष्कर्ष
रेखीय प्रोग्रामिंग दिए गए प्रतिबंधों के तहत इष्टतम समाधान खोजने के लिए एक रूपरेखा प्रदान करती है। जबकि यह मुख्य रूप से रेखीय लक्ष्य कार्यों के अनुकूलन पर ध्यान केंद्रित करती है, इसके सिद्धांत ऑपरेशन्स रिसर्च और प्रबंधन विज्ञान में आधारभूत होते हैं। पूर्णांक रेखीय प्रोग्रामिंग और गैर-रेखीय प्रोग्रामिंग जैसी नवाचारों और अनुकूलनों ने इसे अधिक जटिल परिदृश्यों पर भी लागू किया जा सकता है।