Ekspor analisis
dispatchatlas.analytica mengubah repositori kampanye yang selesai menjadi ringkasan
statistik, figur deterministik, paket bukti, dan kumpulan data siap-portal. Paket ini
mengonsumsi manifes JSON stabil dan tidak mengimpor runtime kampanye.
Contoh yang dapat dijalankan: examples/analyze_results.py meringkas sebuah himpunan hasil dengan statistik non-parametrik, ukuran efek, interval kepercayaan, tabel deterministik, dan figur dwi-format.
📥 Input
Pemuat analisis mengharapkan satu direktori kampanye yang berisi:
checkpoint.jsondengan id eksekusi selesai, gagal, dan tertunda.plan.jsondengan urutan eksekusi dan label pengungkapan.environment.jsondengan fakta lingkungan non-rahasia.results/*.jsonbaris eksekusi selesai.failures/*.jsonbaris percobaan gagal ketika ada.
Titik pemeriksaan, hash konten, nilai tujuan, atau label pengungkapan yang hilang menggagalkan pencernaan sebelum analisis dimulai.
📊 Metode statistik
Sebuah registry metode bernama mendeklarasikan setiap metode analisis dengan asumsi datanya, aturan sampel minimum, mode kegagalan, dan tingkat bukti terendahnya. Setiap metode inferensial dan indikator kualitas memerlukan setidaknya 30 eksekusi independen per sel stokastik solver-instans; sampel di-bawah-lantai dirutekan ke permukaan keterbatasan alih-alih menghasilkan hasil tidak valid.
Untuk setiap tujuan, lapisan ringkasan melaporkan hitungan solver, hitungan layak, rata-rata, median, deviasi standar, interval kepercayaan bootstrap terkoreksi-bias dan terakselerasi (BCa), uji peringkat-bertanda Wilcoxon dengan ukuran efek A12 Vargha-Delaney dan delta Cliff untuk perbandingan berpasangan, uji omnibus Friedman dengan post-hoc beda-kritis Nemenyi atas medan multi-solver, koreksi Holm atau Hochberg atas keluarga berpasangan, dan peringkat rata-rata per masalah benchmark. Front multi-tujuan tambahan melaporkan indikator kualitas hipervolume (utama), IGD+, epsilon-indikator aditif, dan sebaran.
Tujuan default adalah makespan dengan semantik minimisasi. Uji Wilcoxon menggunakan
distribusi nol eksak untuk sampel kecil tanpa ikatan dan aproksimasi normal
terkoreksi-ikatan jika tidak. Interval kepercayaan menggunakan resampling bootstrap
deterministik dengan benih yang terekam; mereka menggambarkan sampel kampanye yang
teramati dan dengan sendirinya bukan klaim kampanye penuh.
Di samping uji tanda Bayesian bentuk-tertutup, bayesian_signed_rank_test
menarik posterior proses-Dirichlet berbenih atas rata-rata Walsh dari selisih
berpasangan, sehingga metrik kontinu memperoleh perbandingan Bayesian yang
sadar-magnitudo dari Benavoli, Corani, Demšar, dan Zaffalon (2017); uji tanda
tetap default bentuk-tertutup. Keluarga perbandingan-ganda menambahkan prosedur
langkah-turun statis Shaffer, yang memanfaatkan kendala logis dari keluarga
perbandingan semua-pasangan yang lengkap dan gagal-tertutup pada keluarga parsial
(Shaffer 1986), dan penyesuaian langkah-turun Finner, penguatan daya yang lebih
sederhana yang menerima keluarga apa pun (Finner 1993); Holm tetap default yang
dikonfigurasi. Deviasi persentase relatif bergabung dengan metode
kesenjangan-optimalitas: arpd_rows menilai setiap eksekusi layak terhadap nilai
referensi terbaik-diketahui yang dipasok pemanggil dengan provenans eksplisit, dan
ensure_equal_budgets memverifikasi protokol anggaran-setara berskala-ukuran di
baliknya — satu anggaran identik per masalah lintas solver, anggaran bebas tumbuh
seiring ukuran instans (Vallada, Ruiz, dan Framiñan 2015). Perbandingan hipervolume
multi-tujuan mengarsipkan titik referensi bersama mereka:
multiobjective_indicator_report menurunkan titik itu di bawah aturan bernama —
default fraksi-margin atau penskalaan ishibuchi-h — mencatat ideal, nadir, aturan,
parameter, dan kosakata provenans gagal-tertutup dalam sebuah ReferencePointRecord,
dan ensure_shared_reference_points menolak membandingkan artefak yang titik
terarsipnya berbeda (Ishibuchi, Imada, Setoguchi, dan Nojima 2018; offset
terpublikasi yang eksak tetap ditandai APPROXIMATE menunggu teks penuh yang ditinjau
operator). Satu aturan keras menjaga setiap tabel yang diekspor: sebuah p-value tidak
pernah dikirim tanpa ukuran efek dan interval di sampingnya.
ensure_effect_sizes_beside_p_values memeriksa header di dalam pembangun tabel dan
lagi pada waktu-tulis paket, gagal-tertutup pada setiap kolom signifikansi telanjang
(Carrasco, García, Rueda, Das, dan Herrera 2020).
🖼️ Figur dan tabel
Paket bukti menyertakan tabel Markdown untuk ringkasan solver, perbandingan
berpasangan, peringkat, cakupan benchmark, dan baris tak-layak. Figur SVG membawa
metadata title dan desc yang dapat diakses untuk batang peringkat, profil kinerja,
tren tujuan menurut urutan eksekusi, diagram beda-kritis Nemenyi, trade-off
runtime-kualitas, trajektori konvergensi, keseimbangan eksplorasi-eksploitasi,
skalabilitas runtime menurut ukuran instans, stabilitas benih (koefisien variasi),
ketangguhan (risiko ekor CVaR), dan karakterisasi benchmark. Sebuah manifes figur
mencatat peran, provenans, dan catatan aksesibilitas setiap figur. Figur yang
bergantung pada diagnostik yang tidak direkam sebuah kampanye (runtime, jejak
konvergensi, keragaman populasi, skala instans) atau pada beberapa benih (stabilitas
benih) merender pemberitahuan keterbatasan. Sebuah supplement/limitations.md
mengumpulkan setiap metode yang dirutekan ke keterbatasan.
Menjalankan ulang ekspor yang sama terhadap input yang sama menghasilkan muatan JSON, tabel, dan figur yang sama.
Profil kinerja Dolan-Moré berjalan bersama pendamping Moré-Wild-nya:
data_profile_svg dan data_profile_tex memplot pangsa sel (solver, masalah) yang
terselesaikan hingga akurasi target dalam anggaran grup evaluasi — adaptasi
grup-evaluasi dari unit gradien-simpleks — dari jejak konvergensi yang sama yang
dikonsumsi figur konvergensi, dan sebuah kumpulan data tanpa jejak dirutekan ke figur
keterbatasan. Profil kinerja yang membandingkan lebih dari dua solver membawa
peringatan interpretasi dalam kedua bentuk keluaran: sebuah profil memeringkat setiap
solver hanya terhadap yang terbaik per-masalah, sehingga urutan relatif solver
non-terbaik tidak tersirat (Gould dan Scott 2016).
⚖️ Perbandingan platform
Ekspor perbandingan platform merender baris kapabilitas framework saingan, sebuah
matriks cakupan kekayaan-fitur, sebuah penilaian jembatan kesenjangan-realitas, dan
baris inspeksi artefak. Setiap baris membawa label sumber-bukti (documented,
measured, artifact-inspected, vendor-claim, atau unsupported), dan setiap baris
tak-didukung dirutekan ke permukaan keterbatasan-dan-kerja-masa-depan. Ekspor membawa
satu baris penjaga tetap: tabel membandingkan kapabilitas, fitur, dan artefak
platform, dan bukan klaim kinerja langsung — bukti kinerja berada di ekspor analisis
statistik.
🥊 Jalur perbandingan satu-lawan-satu
Jalur satu-lawan-satu membandingkan satu solver fokal terhadap kohort baseline bernama menggunakan uji non-parametrik bernama yang sama, mengorientasikan setiap baris ke solver fokal, dan menggerbang klaim mengalahkan-kohort pada syarat solver fokal memegang peringkat rata-rata terbaik dan memenangkan setiap perbandingan berpasangan pada tingkat signifikansi terkoreksi dengan ukuran efek memihaknya. Pembangun tabel kompleksitas-algoritmik dan ancaman-validitas konstruk/internal/eksternal menyertai jalur untuk konsumsi laporan.
🔒 Kebijakan pengungkapan
Ekspor difilter melalui kebijakan pengungkapan yang dapat dieksekusi:
coremengizinkan hanya bukti inti/publik.speedmengizinkan bukti inti, kecepatan, dan publik.qualitymengizinkan bukti inti, kecepatan, kualitas, dan publik.platformmengizinkan bukti platform sambil tetap memblokir sumber teredaksi dan istilah narasi-basi.
Baris terlarang dikecualikan dari bukti dan kumpulan data portal serta ditulis ke manifes pengecualian tambahan beserta alasannya.
🗂️ Tata letak paket
evidence-bundle/
bundle.json
tables/
solver-summary.md
pairwise-comparisons.md
rankings.md
benchmarks.md
infeasible-rows.md
figures/
performance-profile.svg
solver-rankings.svg
run-order-trend.svg
critical-difference.svg
runtime-quality.svg
convergence.svg
characterization.svg
exploration-exploitation.svg
scalability.svg
stability.svg
robustness.svg
figure-manifest.json
supplement/
exclusions.json
limitations.mdbundle.json mendaftar setiap berkas yang dihasilkan dan mem-hash muatan manifes
kanonik, sehingga setiap tabel, figur, dan suplemen tetap berada di dalam satu manifes
terlacak yang dialamati-konten.
⌨️ Perintah
uv run dispatchatlas export `
--campaign-dir .\experiments\results\smoke-pilot `
--target-dir .\exports\smoke-pilot `
--authorized-output-root .\exports `
--tier core `
--objective makespan `
--portalPerintah menulis sebuah paket bukti plus kumpulan data portal opsional. Paket bukti
menyertakan tabel, figur, dan pengecualian tambahan. JSON portal menyertakan tag yang
dapat dicari, label pengungkapan, nilai tujuan, id eksekusi, dan metadata kampanye
tertaut-hash. --target-dir harus teresolusi di dalam --authorized-output-root;
akar resmi default adalah direktori kerja saat ini.
Jalankan uv run dispatchatlas export --help untuk deskripsi opsi dan contoh. Galat
input runtime mencetak pesan pemulihan secara default; teruskan --debug sebelum
subperintah ketika traceback Python diperlukan untuk pengembangan.
📝 Kerangka laporan
Lapisan analisis juga mengubah paket bukti yang difilter pengungkapan menjadi kerangka
laporan deterministik berkunci tingkat bukti. Sebuah ReportScaffoldSpec
mendeklarasikan klaim kontribusi, rasional desain, dan gerbang klaim;
write_report_scaffold menulis paket bukti plus rencana seksi komprehensif, sebuah
klaim kontribusi, sebuah buku-besar gerbang-klaim, dan sebuah laporan redaksi di bawah
report/. Setiap seksi berjangkar ke artefak bukti yang difilter, dan kerangka yang
dihasilkan dipindai sehingga mekanisme tingkat-lebih-lanjut atau penanda internal
terbatas menggagalkan penulisan secara tertutup.
Gerbang klaim gagal-menutup: klaim tingkat-desain terbuka tanpa syarat, sementara
klaim komparatif tetap tertutup hingga perbandingan satu-lawan-satu mengalahkan kohort
dengan setiap hitungan berpasangan pada atau di atas lantai daya statistik. Sebuah
contribution_partition atas tingkat-tingkat bukti membuktikan kontribusi
tumpang-tindih-nol per tingkat, dan redaction_report menerima register yang dipasok
pemanggil sehingga draf non-publik dapat diperiksa tanpa register itu pernah memasuki
sumber yang dikapalkan.
uv run dispatchatlas report `
--campaign-dir .\experiments\results\smoke-pilot `
--target-dir .\scaffolds\smoke-pilot `
--authorized-output-root .\scaffolds `
--tier core