एकल-मशीन शेड्यूलिंग

एकल-मशीन शेड्यूलिंग या एकल-संसाधन शेड्यूलिंग कंप्यूटर विज्ञान और संचालन अनुसंधान में अनुकूलन समस्या है। हमें एन नौकरियां जे 1, जे2, ..., जेn दी जाती हैं जो की अलग-अलग प्रसंस्करण समय की होती है, जिन्हें मशीन पर इस प्रकार से शेड्यूल करने की आवश्यकता होती है, जो की निर्धारित निश्चित उद्देश्य को अनुकूलित करती है, जैसा की थ्रूपुट में होता है।

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

इष्टतम कार्य शेड्यूलिंग समस्याओं के लिए तीन-क्षेत्रक नोटेशन में, एकल-मशीन संस्करण को पहले क्षेत्रक में 1 द्वारा दर्शाया जाता है। उदाहरण के लिए, "1||$$\sum C_j$$" बिना किसी बाधा के एकल-मशीन शेड्यूलिंग समस्या है, जहां कार्य के पूर्ण होने के समय के योग को कम करना ही लक्ष्य होता है।

मेकस्पैन-न्यूनतमीकरण समस्या 1||$$C_{\max}$$, जो विविध मशीनों के लिए सामान्य उद्देश्य है, अकेले मशीन के लिए तुच्छ है, क्योंकि मेकस्पैन हमेशा समान होता है। इसलिए इसके अन्य उद्देश्यों का भी अध्ययन किया गया है।

समापन समय का योग न्यूनतम करना
1||$$\sum C_j$$ समस्या का लक्ष्य समापन समय के योग को न्यूनतम करना होता है। इसे सबसे कम प्रसंस्करण समय (एसपीटी) के प्रथम नियम द्वारा इष्टतम विधि से हल किया जा सकता है जिसमे की नौकरियों को उनके प्रसंस्करण समय $$p_j$$ के आरोही क्रम से निर्धारित किया जाता है।

1||$$\sum w_j C_j$$ समस्या का लक्ष्य समापन समय के भारित योग को कम करना होता है। इसे भारित लघुतम प्रसंस्करण समय (डब्ल्यूएसपीटी) के प्रथम नियम द्वारा इष्टतम विधि से हल किया जा सकता है जिसमे की नौकरियां $$p_j/w_j$$ के अनुपात के आरोही क्रम द्वारा निर्धारित की जाती हैं।

1|श्रृंखलाए|$$\sum w_j C_j$$ समस्या, श्रृंखलाओं के रूप में निर्भरता वाली नौकरियों के लिए उपरोक्त समस्या का सामान्यीकरण है। इसे डब्ल्यूएसपीटी के उपयुक्त सामान्यीकरण द्वारा भी इष्टतम विधि से हल किया जा सकता है।

विलंबता की लागत को न्यूनतम करना
1||$$L_{\max}$$ समस्या का लक्ष्य अधिकतम विलंबता को न्यूनतम करना होता है। प्रत्येक कार्य j के लिए नियत तिथि $$d_j$$ होती है। यदि इसे नियत तिथि के बाद पूरा किया जाता है, तो इसे विलंबता के रूप में कुछ इस प्रकार $$L_j := C_j - d_j $$ परिभाषित किया जाता है। 1||$$L_{\max}$$ को प्रारंभिक नियत तिथि (ईडीडी) के प्रथम नियम द्वारा सर्वोत्तम तरीके से हल किया जा सकता है जिसमे की नौकरियां उनकी समय सीमा $$d_j$$ के आरोही क्रम से निर्धारित की जाती हैं।

1|prec|$$h_{\max}$$ समस्या 1||$$L_{\max}$$ को दो विधि से सामान्यीकृत करता है : पहली विधि में यह नौकरियों पर मनमाने विधि से पूर्ववर्ती बाधाओं की अनुमति देता है और दूसरी विधि में यह प्रत्येक कार्य को मनमाना लागत फलन hj रखने की अनुमति भी देता है, जो इसके पुरे होने के समय का फलन है (विलंबता लागत फलन का विशेष मामला है)। अधिकतम लागत को लालची कलन विधि द्वारा कम किया जा सकता है जिसे लॉलर के कलन विधि के रूप में जाना जाता है।

1|$$r_j$$|$$L_{\max}$$ समस्या प्रत्येक कार्य को अलग-अलग अवमुक्त समय की अनुमति देकर 1||$$L_{\max}$$ को सामान्यीकृत करता है जिसके कारण वह प्रसंस्करण के लिए उपलब्ध हो जाते है। अवमुक्त समय की उपस्थिति का मतलब यह है कि, कुछ मामलों में, किसी महत्वपूर्ण कार्य की प्रतीक्षा करने के लिए, जो अभी तक अवमुक्त नहीं हुआ है, मशीन को निष्क्रिय छोड़ना इष्टतम हो सकता है। इस सेटिंग में अधिकतम विलंबता को न्यूनतम करना एनपी-हार्ड होता है। लेकिन व्यवहार में, इसे शाखा और बंधन कलन विधि का उपयोग करके हल किया जा सकता है।

कमाई का अधिकतम लाभ
समय सीमा वाली सेटिंग में, यह संभव है कि, यदि कार्य समय सीमा के अंतर्गत पूरा हो जाता है, तो लाभ pj होता है। अन्यथा, कोई लाभ नहीं होता है। इसका लक्ष्य अधिकतम लाभ कमाना होता है। समय सीमा के साथ एकल-मशीन शेड्यूलिंग एनपी-हार्ड है; साहनी सटीक घातांक-समय कलन विधि और बहुपद-समय सन्निकटन कलन विधि दोनों प्रस्तुत करता है।

थ्रूपुट को अधिकतम करना
1||$$\sum U_j$$ समस्या का लक्ष्य विलम्भ से आने वाली नौकरियों की संख्या को कम करना होता है, चाहे विलंबता की मात्रा कुछ भी हो। इसे हॉजसन-मूर कलन विधि द्वारा इष्टतम विधि से हल किया जा सकता है। लॉलर का कलन विधि| इसकी व्याख्या समय पर पूरी होने वाली नौकरियों की संख्या को अधिकतम करने के रूप में भी की जा सकती है; इस संख्या को थ्रूपुट कहा जाता है।

1||$$\sum w_j U_j$$ समस्या का लक्ष्य देर से आने वाली नौकरियों के भार को कम करना होता है। यह एनपी-हार्ड है, क्योंकि विशेष स्थितियों में सभी नौकरियों की समय सीमा समान होती है (1|$$d_j=d$$|$$\sum w_j U_j$$ द्वारा चिह्नित) नैपसैक समस्या के समतुल्य है।

1|$$r_j$$|$$\sum U_j$$ समस्या, विभिन्न नौकरियों के लिए अलग-अलग अवमुक्त समय की अनुमति देकर 1||$$\sum U_j$$ को सामान्यीकृत करता है। समस्या एनपी-हार्ड है। हालाँकि, जब सभी कार्य की लंबाई समान होती है, तो समस्या को बहुपद समय में हल किया जा सकता है। इसके कई प्रकार हैं:

नौकरियों में निष्पादन अंतराल हो सकते हैं। प्रत्येक कार्य j के लिए, प्रसंस्करण समय tj हैऔर प्रारंभ-समय sj होता है, इसलिए इसे [sj, sj+tj] अंतराल में निष्पादित किया जाना चाहिए। चूँकि कुछ अंतराल अतिव्याप्ति होते हैं, इसलिए सभी कार्य पूरे नहीं किए जा सकते। लक्ष्य पूर्ण किए गए कार्यों की संख्या, यानी थ्रूपुट को अधिकतम करना है। अधिक सामान्यतः, प्रत्येक कार्य में कई संभावित अंतराल हो सकते हैं, और प्रत्येक अंतराल अलग लाभ से जुड़ा हो सकता है। प्रत्येक कार्य के लिए अधिकतम अंतराल चुनना ही इसका लक्ष्य होता है, ताकि कुल लाभ अधिकतम हो। अधिक विवरण के लिए, अंतराल शेड्यूलिंग पर पृष्ठ देखें।
 * भारित अनुकूलन संस्करण, 1|$$r_j, p_j=p$$|$$\sum w_j U_j$$,का समाधान $$O(n^7)$$ समय में किया जा सकता है.
 * अभारित अनुकूलन संस्करण, समय पर समाप्त होने वाली नौकरियों की संख्या को अधिकतम करता है जिसका ,1|$$r_j, p_j=p$$|$$\sum U_j$$ द्वारा चिह्नित, गतिशील प्रोग्रामिंग का उपयोग करते हुए $$O(n^5)$$ समय रहते समाधान किया जा सकता है, जब सभी अवमुक्त समय और समय सीमाएँ पूर्णांक हों।
 * निर्णय प्रकार - यह तय करना कि क्या यह संभव है कि सभी दिए गए कार्य समय पर पूरे हों, इसे कई कलन विधि द्वारा हल किया जा सकता है, उनमें से सबसे तेज़ $$O(n \log n)$$ समय में चलता है।

अधिक आम तौर पर, नौकरियों में समय-खिड़कियाँ हो सकती हैं, जिसमें प्रारंभ-समय और समय सीमा दोनों होती हैं, जो नौकरी की अवधि से बड़ी हो सकती हैं। प्रत्येक कार्य को उसकी समय-खिड़कि के भीतर कहीं भी निर्धारित किया जा सकता है। बार-नोय, बार-येहुदा, फ्रायंड, नाओर और शिबर (1-ε)/2 सन्निकटन प्रस्तुत करते है।

यह भी देखें

 * अंतराल शेड्यूलिंग

एकल मशीन शेड्यूलिंग समस्याओं को हल करने के लिए कई समाधान तकनीकों को लागू किया गया है। उनमें से कुछ नीचे सूचीबद्ध हैं।
 * आनुवंशिक कलन विधि
 * तंत्रिका - तंत्र
 * तैयार किए हुयी धातु पे पानी चढाने की कला
 * चींटी कॉलोनी अनुकूलन
 * तब्बू की तलाश