निर्देशित यात्रा
DispatchAtlas एक शेड्यूलिंग समस्या को चार चरणों में सार्वजनिक, पुनरुत्पाद्य प्रमाण में बदलता है: एक बेंचमार्क इंस्टेंस उत्पन्न करना, उसे हल करना, रनों का विश्लेषण करना, और कैटलॉग के माध्यम से सब कुछ अन्वेषण करना। यह यात्रा प्रति चरण एक स्निपेट के साथ पूरे चक्र को छोटे पैमाने पर पार करती है; ट्यूटोरियल प्रत्येक चरण को एक पूर्ण चलाने-योग्य स्क्रिप्ट बना देते हैं।
यदि आपने अभी तक नहीं किया है, तो पहले त्वरित आरंभ चलाएँ — इसका स्मोक कैंपेन वे रन रिकॉर्ड बनाता है जिन्हें नीचे विश्लेषण चरण पढ़ता है।
1️⃣ उत्पन्न करना — एक बेंचमार्क इंस्टेंस
एक बेंचमार्क इंस्टेंस एक शेड्यूलिंग समस्या है: कार्य, उन्हें चलाने वाले संसाधन, उद्देश्य, और बाधाएँ। साथ आने वाला स्मोक कैटलॉग एकल सीड से छोटे नियतात्मक इंस्टेंस साकार करता है, इसलिए वही सीड हमेशा वही समस्या उत्पन्न करता है।
from dispatchatlas.bench import smoke_benchmark_provider
provider = smoke_benchmark_provider(root_seed=20260527)
problem = provider.get_problem(provider.list_problem_ids()[0])
print(problem.spec.id, len(problem.spec.tasks), "tasks")पूर्ण एटलस शास्त्रीय शेड्यूलिंग परिवारों और Edge–Fog–Cloud परिवारों के सातत्य को सम्मिलित करता है, जिनमें से प्रत्येक उद्धरण-समर्थित मेटाडेटा और एक यथार्थ-अंतराल स्कोर रखता है। → बेंचमार्क मॉडल
2️⃣ हल करना — उस पर एक सॉल्वर चलाएँ
एक सॉल्वर समय के साथ कार्यों को संसाधनों को आवंटित करता है और एक शेड्यूल लौटाता है। रजिस्ट्री उन सॉल्वरों का चयन करती है जो आपके उद्देश्य का समर्थन करते हैं और किसी दिए गए प्रमाण स्तर पर दृश्य हैं, फिर चलाने के लिए एक का निर्माण करती है।
from dispatchatlas.core import DisclosureLabel, TerminationPolicy, derive_seed
from dispatchatlas.solve import default_solver_registry
registry = default_solver_registry()
candidate = registry.select(objective="makespan", disclosure_label=DisclosureLabel.CORE)[0]
solver = registry.create(candidate.solver_id)
run = solver.solve(
problem=problem,
stop=TerminationPolicy(max_iterations=candidate.default_stop.max_iterations),
seed=derive_seed(20260527, "tour", 0),
)
print(run.result.feasible)रजिस्ट्री में रचनात्मक आधाररेखाएँ, सटीक अडैप्टर, मेटाह्यूरिस्टिक्स, एक विविधीकृत प्रतिस्पर्धी समूह, और एक नेटिव सॉल्वर परिवार शामिल हैं — प्रत्येक प्रविष्टि विफल-पर-बंद उद्धरण अनुबंध के साथ। → सॉल्वर सिस्टम · एल्गोरिद्म
3️⃣ विश्लेषण — रनों को प्रमाण में बदलना
अनेक सॉल्वरों से अनेक समस्याएँ हल करने पर रन रिकॉर्डों का एक कैंपेन बनता है। विश्लेषण परत एक पूर्ण कैंपेन लोड करती है और वर्णनात्मक सारांश, प्रभाव-आकार के साथ नामित अप्राचलिक परीक्षण, संशोधित सार्थकता, और सॉल्वर रैंकिंग की गणना करती है — कभी भी अकेला p मान नहीं।
from pathlib import Path
from dispatchatlas.analytica import load_campaign_dataset, summarize_dataset
campaign_dir = Path("experiments") / "results" / "smoke-pilot"
dataset = load_campaign_dataset(campaign_dir)
summary = summarize_dataset(dataset)
print([s.solver_id for s in summary.solver_summaries])वही सारांश नियतात्मक SVG और PGFPlots आकृतियों तथा प्रकटीकरण-फ़िल्टर किए गए प्रमाण बंडलों को संचालित करता है। → कैंपेन इंजन · विश्लेषण निर्यात
4️⃣ कैटलॉग — एटलस का अन्वेषण करें
यात्रा ने जो कुछ भी उत्पन्न किया, उसे बिना कोड लिखे ब्राउज़ किया जा सकता है। संवादात्मक पोर्टल आपको बेंचमार्क एटलस को उसके मेटाडेटा द्वारा खोजने और फ़िल्टर करने, प्रत्येक सॉल्वर की घोषित क्षमताओं का निरीक्षण करने, परिणामों का पूर्वावलोकन करने, और प्रत्येक पृष्ठ के पीछे के प्रकटीकरण-फ़िल्टर किए गए डेटासेट डाउनलोड करने देता है।
- बेंचमार्क कैटलॉग — बेंचमार्क इंस्टेंस को उनके मेटाडेटा द्वारा फ़िल्टर करें और डाउनलोड करें।
- सॉल्वर अनुशंसक — कौन-से सॉल्वर किसी समस्या के लिए उपयुक्त हैं, इसकी व्याख्या-योग्य, केवल-मेटाडेटा आधारित रैंकिंग।
- परिणाम और प्लेटफ़ॉर्म निरीक्षण — प्रमाण और प्लेटफ़ॉर्म की अपनी क्षमता-सतह का पूर्वावलोकन करें।
🧭 आगे कहाँ जाएँ
- प्रत्येक चरण के पूर्ण चलाने-योग्य संस्करण के लिए ट्यूटोरियल पर काम करें।
- पुनरुत्पाद्य कैंपेन कार्यक्षेत्र में चेकपॉइंट-युक्त, पुनः-आरंभ-योग्य रन कॉन्फ़िगर करें।
- प्रत्येक पैकेज द्वारा साझा किए जाने वाले प्रकारों के लिए डोमेन अनुबंध पढ़ें।