Tur Berpemandu
DispatchAtlas mengubah masalah penjadwalan menjadi bukti publik yang dapat direproduksi dalam empat tahap: menghasilkan sebuah instance benchmark, menyelesaikannya, menganalisis eksekusi, dan menjelajahi semuanya melalui katalog. Tur ini menelusuri seluruh alur dalam skala kecil dengan satu cuplikan per tahap; tutorial mengubah setiap tahap menjadi skrip lengkap yang dapat dijalankan.
Jika belum, jalankan dahulu mulai cepat: kampanye asapnya menghasilkan catatan eksekusi yang dibaca oleh tahap analisis di bawah.
1️⃣ Menghasilkan — sebuah instance benchmark
Sebuah instance benchmark adalah satu masalah penjadwalan: tugas, sumber daya yang menjalankannya, tujuan, dan kendala. Katalog asap bawaan mewujudkan instance deterministik kecil dari satu benih, sehingga benih yang sama selalu menghasilkan masalah yang sama.
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")Atlas lengkap mencakup keluarga penjadwalan klasik dan kontinum keluarga Edge–Fog–Cloud, masing-masing membawa metadata yang didukung sitasi dan skor kesenjangan dengan realitas. → Model benchmark
2️⃣ Menyelesaikan — jalankan solver padanya
Solver menetapkan tugas ke sumber daya sepanjang waktu dan mengembalikan sebuah jadwal. Registry memilih solver yang mendukung tujuan Anda dan terlihat pada tingkat bukti tertentu, lalu mengonstruksi satu untuk dijalankan.
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)Registry memuat baseline konstruktif, adapter eksak, metaheuristik, sekumpulan pesaing yang terdiversifikasi, dan keluarga solver native — setiap entri dengan kontrak sitasi yang gagal-tertutup. → Sistem solver · Algoritma
3️⃣ Menganalisis — mengubah eksekusi menjadi bukti
Menyelesaikan banyak masalah dengan banyak solver menghasilkan sebuah kampanye berisi catatan eksekusi. Lapisan analisis memuat kampanye yang telah selesai dan menghitung ringkasan deskriptif, uji non-parametrik bernama yang disertai ukuran efek, signifikansi terkoreksi, dan peringkat solver — tidak pernah sekadar nilai p tunggal.
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])Ringkasan yang sama menggerakkan figur SVG dan PGFPlots yang deterministik serta paket bukti yang difilter berdasarkan pengungkapan. → Mesin kampanye · Ekspor analisis
4️⃣ Katalog — jelajahi atlas
Semua yang dihasilkan tur dapat dijelajahi tanpa menulis kode. Portal interaktif memungkinkan Anda mencari dan memfilter atlas benchmark berdasarkan metadatanya, memeriksa kemampuan yang dideklarasikan setiap solver, mempratinjau hasil, dan mengunduh kumpulan data yang difilter pengungkapan di balik setiap halaman.
- Katalog benchmark — filter dan unduh instance benchmark berdasarkan metadatanya.
- Perekomendasi solver — peringkat yang dapat dijelaskan dan hanya berbasis metadata tentang solver mana yang cocok untuk sebuah masalah.
- Hasil dan inspeksi platform — pratinjau bukti dan permukaan kemampuan platform itu sendiri.
🧭 Ke mana selanjutnya
- Kerjakan tutorial untuk versi lengkap yang dapat dijalankan dari setiap tahap.
- Konfigurasikan eksekusi yang dapat dilanjutkan dengan titik pemeriksaan di ruang kerja kampanye yang dapat direproduksi.
- Baca kontrak domain untuk tipe-tipe yang dibagikan setiap paket.