सामान्यीकृत नियतन समस्या

व्यावहारिक गणित में, अधिकतम सामान्यीकृत नियतनसमस्या संयोजन अनुकूलन में एक समस्या है। यह समस्या नियतनसमस्या का सामान्यीकरण है जिसमें कार्य और एजेंट-आधारित मॉडल दोनों का एक आकार होता है। इसके अलावा, प्रत्येक कार्य का आकार एक एजेंट से दूसरे एजेंट तक भिन्न हो सकता है।

यह समस्या अपने सबसे सामान्य रूप में इस प्रकार है: इसमें बहुत सारे एजेंट और बहुत सारे कार्य हैं। किसी भी एजेंट को कोई भी कार्य करने के लिए सौंपा जा सकता है, जिसमें कुछ लागत और लाभ शामिल होता है जो एजेंट-कार्य नियतन के आधार पर भिन्न हो सकता है। इसके अलावा, प्रत्येक एजेंट के पास एक बजट होता है और उसे सौंपे गए कार्यों की लागत का योग इस बजट से अधिक नहीं हो सकता है। ऐसा नियतन ढूंढना आवश्यक है जिसमें सभी एजेंट अपने बजट से अधिक न हों और नियतन का कुल लाभ अधिकतम हो।

विशेष मामलों में
विशेष स्थिति में जिसमें सभी एजेंटों के बजट और सभी कार्यों की लागत 1 के बराबर है, यह समस्या नियतनसमस्या में बदल जाती है। जब विभिन्न एजेंटों के बीच सभी कार्यों की लागत और मुनाफा भिन्न नहीं होता है, तो यह समस्या विविध नैपसेक समस्या में बदल जाती है। यदि एक ही एजेंट है, तो यह समस्या कम होकर नैपसैक समस्या बन जाती है।

परिभाषा की व्याख्या
निम्नलिखित में, हमारे पास n प्रकार के आइटम हैं, $$a_1$$से $$a_n$$ तक और m प्रकार के बिन $$b_1$$ से $$b_m$$तक। प्रत्येक बिन $$b_i$$ बजट $$t_i$$ से जुड़ा है। एक बिन $$b_i$$ के लिए, प्रत्येक आइटम $$a_j$$ को लाभ $$p_{ij}$$ और वजन $$w_{ij}$$ होता है समाधान वस्तुओं से लेकर बिन तक का नियतन है। एक व्यवहार्य समाधान वह समाधान है जिसमें प्रत्येक बिन $$b_i$$ के लिए निर्दिष्ट वस्तुओं का कुल भार अधिकतम $$t_i$$ है, समाधान का लाभ प्रत्येक आइटम-बिन नियतन के लिए लाभ का योग है। लक्ष्य अधिकतम लाभ संभव समाधान खोजना है।

गणितीय रूप से सामान्यीकृत नियतनसमस्या को पूर्णांक प्रोग्रामिंग के रूप में तैयार किया जा सकता है:



\begin{align} \text{maximize } & \sum_{i=1}^m\sum_{j=1}^n p_{ij} x_{ij}. \\ \text{subject to } & \sum_{j=1}^n w_{ij} x_{ij} \le t_i & & i=1, \ldots, m; \\ & \sum_{i=1}^m x_{ij} \le 1 & & j=1, \ldots, n; \\ & x_{ij} \in \{0,1\} & & i=1, \ldots, m, \quad j=1, \ldots, n; \end{align} $$

 जटिलता 

सामान्यीकृत नियतनसमस्या एनपी-कठोरता है, हालाँकि, रैखिक-प्रोग्रामिंग विश्रांति हैं जो $$(1 - 1/e)$$-अनुमान देती हैं

लुब्ध सन्निकटन कलन विधि
समस्या संस्करण के लिए जिसमें प्रत्येक आइटम को एक बिन को नहीं सौंपा जाना चाहिए, जीएपी को हल करने के लिए कलन विधि का वर्ग है, जो कि नैपसैक समस्या के लिए किसी भी कलन विधि के जीएपी के लिए सन्निकटन कलन विधि में संयोजन अंतरण का उपयोग करता है।

नैपसेक समस्या के लिए किसी भी $$\alpha$$-सन्निकटन कलन विधि एएलजी का उपयोग करते हुए, अवशिष्ट लाभ अवधारणा का उपयोग करके लुब्ध तरीके से सामान्यीकृत नियतनसमस्या के लिए ($$\alpha + 1$$)-सन्निकटन का निर्माण करना संभव है। कलन विधि पुनरावृत्तियों में शेड्यूल बनाता है, जहां पुनरावृत्ति $$j$$ के दौरान बिन $$b_j$$ में आइटमों का अस्थायी चयन चुना जाता है। बिन $$b_j$$ के लिए चयन परिवर्तन हो सकता है क्योंकि बाद में अन्य बिनों के लिए आइटमों को फिर से चुना जा सकता है। बिन $$b_j$$के लिए किसी आइटम $$x_i$$ का अवशिष्ट लाभ $$p_{ij}$$है यदि $$x_i$$ को किसी अन्य बिन के लिए नहीं चुना गया है या $$ p_{ij}$$ – $$p_{ik} $$ है यदि $$x_i$$ को बिन $$b_k$$ के लिए चुना गया है।

औपचारिक रूप से: हम कलन विधि के दौरान अस्थायी शेड्यूल को इंगित करने के लिए एक वेक्टर $$T$$ का उपयोग करते हैं। विशेष रूप से, $$T[i]=j$$ का अर्थ है कि आइटम $$x_i$$ बिन $$b_j$$ पर शेड्यूल किया गया है और $$T[i]=-1$$ का अर्थ है कि आइटम $$x_i$$ शेड्यूल नहीं किया गया है। पुनरावृत्ति $$j$$ में अवशिष्ट लाभ को $$P_j$$ द्वारा दर्शाया जाता है, जहां $$P_j[i]=p_{ij}$$ यदि आइटम $$x_i$$ निर्धारित नहीं है (अर्थात् $$T[i]=-1$$) और $$P_j[i]=p_{ij}-p_{ik}$$ यदि आइटम $$x_i$$ बिन $$b_k$$ (अर्थात। $$T[i]=k$$) पर शेड्यूल किया गया है।

औपचारिक रूप से:
 * तय करना $$T[i]=-1 \text{ for } i = 1\ldots n$$
 * $$j=1,\ldots,m$$ के लिए करना:
 * अवशिष्ट लाभ फ़ंक्शन $$P_j$$ का उपयोग करके बिन $$b_j$$ का समाधान खोजने के लिए एएलजी को कॉल करें। चयनित वस्तुओं को $$S_j$$ का उपयोग करके $$T$$ को अद्यतन करें, अर्थात, $$S_j$$, अर्थात, $$T[i]=j$$ सभी $$i \in S_j$$ के लिए।

यह भी देखें

 * नियतनसमस्या