सामग्री पर जाएँ
DispatchAtlas
खोजें

एल्गोरिद्म

DispatchAtlas सॉल्वर व्यवहार को बेंचमार्क जनन और कैंपेन निष्पादन से अलग करता है। प्रत्येक सॉल्वर एक एकल रजिस्ट्री के पीछे dispatchatlas.solve में रहता है, और सॉल्वर मेटाडेटा उद्देश्यों, क्षमताओं, एन्कोडिंग, निर्भरताओं, यादृच्छिकता, प्रमाण-स्तर दृश्यता, और वैकल्पिक बैकएंड के लिए सार्वजनिक अनुबंध है। यह पृष्ठ सॉल्वर परिवारों को कार्य-स्तर पर समझाता है; सॉल्वर सिस्टम रजिस्ट्री पृष्ठ प्रति-सॉल्वर प्रामाणिक कैटलॉग है।

🏗️ सॉल्वर कैसे संगठित होते हैं

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

🧰 सॉल्वर परिवार

परिवारउदाहरणउपयोग
रचनात्मक प्रेषणearliest-start, shortest-processing-time, earliest-deadline, minimum-slackतेज़ नियतात्मक आधार शेड्यूल और स्मोक जाँच।
मेटाह्यूरिस्टिक आधाररेखाएँजेनेटिक, एनीलिंग, चींटी कॉलोनी, पार्टिकल स्वार्म, डिफ़रेंशियल एवोल्यूशनपूर्ववर्तिता-सुरक्षित कार्य क्रमों पर प्रतिनिधि सीड खोज आधाररेखाएँ।
एन्कोडेड अडैप्टरclpso, d-clpso, lshade, d-lshadeएन्कोडिंग अडैप्टरों के माध्यम से शेड्यूलिंग से बंधे सतत अनुकूलक।
हाल के समकक्षepso, adpso, ccgpस्रोत-आधारित स्थल-शक्ति बार को पार करने वाले हाल के प्रकाशित समकक्ष।
बहु-उद्देश्यnsga3एक बहु-उद्देश्य सदिश पर संदर्भ-बिंदु निशिंग।
सटीक अडैप्टरortools-cp-sat, pulp-milp, branch-and-bound, logic-based-benders-decomposition, gurobi-exact, exhaustive-enumeration, decision-diagram-sequencingवैकल्पिक निर्भरताओं के पीछे एक क्यूरेट सटीक मुट्ठीभर, या नेटिव परिबद्ध खोज।
NDSOndso-core, ndso-fast, ndso-summitरजिस्ट्री का नेटिव-एन्कोडिंग सॉल्वर परिवार।

📋 रचनात्मक प्रेषण नियम

साथ आने वाली नियतात्मक आधाररेखाएँ रचनात्मक लिस्ट-शेड्यूलिंग सॉल्वर हैं: प्रत्येक कार्य क्रम को नियंत्रित करता है, और क्रमिक निर्माता प्रत्येक कार्य की घोषित संसाधन माँगों का सम्मान करता है। सात परिवार — earliest-start, shortest-processing-time, longest-processing-time, earliest-deadline, earliest-finish-time, minimum-slack, और greedy-completion — प्रत्येक मेटाडेटा में अपना प्रामाणिक मूलभूत संदर्भ नाम देते हैं। वे एक व्यवहार्य शेड्यूल तक सबसे तेज़ मार्ग हैं और प्रत्येक तुलना को आधार देते हैं, जैसे पहले ट्यूटोरियल में।

🔀 मेटाह्यूरिस्टिक आधाररेखाएँ

पाँच प्रतिनिधि सीड मेटाह्यूरिस्टिक्स — जेनेटिक एल्गोरिद्म, सिम्युलेटेड एनीलिंग, चींटी कॉलोनी, पार्टिकल स्वार्म, और डिफ़रेंशियल एवोल्यूशन — समान व्यवहार्यता, मरम्मत, स्कोरिंग, और स्थानीय-खोज संकारक साझा करते हैं, अतः एक तुलना आकस्मिक नलसाज़ी अंतरों के बजाय खोज रणनीति मापती है।

🔌 एन्कोडेड अडैप्टर सॉल्वर

व्यापक-अधिगम पार्टिकल स्वार्म (clpso, d-clpso) और सफलता-इतिहास अनुकूली डिफ़रेंशियल एवोल्यूशन (lshade, d-lshade) प्रति कार्य एक घटक के साथ एक सतत वास्तविक-मानी सदिश खोजते हैं। प्रत्येक कोर एक सतत उद्देश्य पर सामान्य है और एक नामित एन्कोडिंग अडैप्टर (random-key, spv, rounding, और ट्रांसफ़र-फ़ंक्शन डिकोड) के माध्यम से शेड्यूलिंग से बंधा है, जो एक सदिश को पूर्ववर्तिता-व्यवहार्य कार्य क्रम में बदलता है, एक स्पष्ट मरम्मत नीति के साथ जो दर्ज करती है कि मरम्मत चली या नहीं।

🥊 विविधीकृत प्रतिस्पर्धी और बहु-उद्देश्य गली

हाल के प्रकाशित समकक्षों का एक क्यूरेट समुच्चय तुलना को प्रतिनिधि आधाररेखाओं से आगे चौड़ा करता है, प्रत्येक अपना पूर्ण-पाठ संदर्भ, सबल पक्ष, और चेतावनियाँ मेटाडेटा में लिए। एक समकक्ष सार्वजनिक क्षेत्र में केवल तभी जुड़ता है जब वह स्रोत-आधारित स्थल-शक्ति बार पार करता है; शास्त्रीय आधाररेखाओं का एक व्यापक पूल आंतरिक तुलना के लिए पंजीकृत रहता है। nsga3 नामित बहु-उद्देश्य प्रतिस्पर्धी है: यह प्रत्येक पूर्ववर्तिता-सुरक्षित क्रम को एक बहु-उद्देश्य सदिश (makespan, विलंब, भार न्यायपूर्णता) पर मूल्यांकित करता है और संदर्भ-बिंदु निशिंग से उत्तरजीवी चुनता है।

🎯 सटीक अडैप्टर

वैकल्पिक-बैकएंड अडैप्टर (CP-SAT, MILP, branch-and-bound) एक वैकल्पिक निर्भरता घोषित करते हैं और रनटाइम पर उसकी आयात जड़ की जाँच करते हैं; जब बैकएंड अनुपस्थित हो तो वे पैकेज आयात पर एक भारी निर्भरता आयात करने के बजाय extra नाम और लाइसेंस टिप्पणी सहित MissingOptionalDependencyError उठाते हैं। नेटिव-परिबद्ध अडैप्टर (exhaustive-enumeration और decision-diagram-sequencing) कोई तृतीय-पक्ष निर्भरता नहीं रखते और छोटे इंस्टेंसों को सटीक हल करते हैं, समर्थित कार्य गणना से आगे UnsupportedCapabilityError उठाते हुए। वाणिज्यिक Gurobi रैपर exact-commercial extra के पीछे रहता है और कभी बंडल नहीं होता; वैकल्पिक बैकएंड का एक व्यापक पूल आंतरिक उपयोग के लिए पंजीकृत रहता है।

🐝 NDSO परिवार

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

  • प्रति (स्थिति, कार्य) कोष्ठक सीखे गए विश्वास की एक विश्वास मैट्रिक्स, बेहतर शेड्यूलों द्वारा प्रबलित;
  • विश्वास-भारित मतदान, जो उस मैट्रिक्स से भारित जनसंख्या पर मतदान करके एलीट शेड्यूल संश्लेषित करता है;
  • मात्रा-व-गुणवत्ता शेड्यूल जो तय करते हैं कि एक उम्मीदवार कितना बदलता है और वह किस मार्गदर्शन स्रोत से सीखता है;
  • तीन-स्रोत मार्गदर्शन — संश्लेषित एलीट (दोहन), एक समकक्ष (विविधता), या एक लुप्त-ज्ञान स्रोत (आमूल अन्वेषण);
  • एक एकीकृत अनुकूली गुणांक, एक अरैखिक अनुसूची जो परिवार को अन्वेषण से दोहन की ओर स्थानांतरित करती है।
संस्करणसंरचना
ndso-coreविश्वास-भारित मतदान, अनुकूली गुणांक, तीन-स्रोत मार्गदर्शन।
ndso-fastबहुमत-मत संश्लेषण, स्थिर गुणांक, एकल मार्गदर्शन स्रोत।
ndso-summitअंतर-स्वार्म परिषद जो कई स्वार्मों का समन्वय करती है और उनके परिणामों को एक व्यापक एलीट में संश्लेषित करती है।

एक अपश्लेषण (ablation) मानचित्र प्रत्येक नामित तंत्र के लिए एक पृथक्कारी विन्यास सूचीबद्ध करता है ताकि अनुप्रवाह विश्लेषण प्रत्येक तंत्र के योगदान को आरोपित कर सके, और एक चरणबद्ध निर्यात फ़िल्टर किसी निम्न रिपोर्ट दायरे के अंतर्गत किसी परवर्ती-स्तर तंत्र को उजागर करने के बजाय विफल-होकर-बंद होता है। तंत्र, परिषद, अपश्लेषण, और निदान का पूर्ण विवरण सॉल्वर सिस्टम में रहता है; तुलनात्मक कैंपेनों के चलने से पहले कोई प्रदर्शन दावा नहीं किया जाता।

🎛️ चयन

SolverRegistry.select क्षमता टैग, घोषित अवरोधों, समर्थित उद्देश्य, और प्रमाण-स्तर दृश्यता द्वारा सॉल्वरों का मिलान करता है — त्वरित आरंभ का registry.select(objective="makespan", disclosure_label=DisclosureLabel.CORE) सबसे छोटा उदाहरण है। रजिस्ट्री के ऊपर, चयन परत अभिलक्षण विशेषताओं और सार्वजनिक मेटाडेटा से किसी समस्या के लिए सॉल्वरों को रैंक करती है, प्रत्येक अनुशंसा को उसके स्रोत और विश्वास से लेबल करती है, और कभी सार्वभौमिक सर्वश्रेष्ठ सॉल्वर का दावा नहीं करती। सॉल्वर अनुशंसक उन व्याख्याओं को प्रस्तुत करता है, जिसमें यह भी कि एक सॉल्वर क्यों बाहर रखा गया।