Lewati ke konten
DispatchAtlas
Cari

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.json dengan id eksekusi selesai, gagal, dan tertunda.
  • plan.json dengan urutan eksekusi dan label pengungkapan.
  • environment.json dengan fakta lingkungan non-rahasia.
  • results/*.json baris eksekusi selesai.
  • failures/*.json baris 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:

  • core mengizinkan hanya bukti inti/publik.
  • speed mengizinkan bukti inti, kecepatan, dan publik.
  • quality mengizinkan bukti inti, kecepatan, kualitas, dan publik.
  • platform mengizinkan 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.md

bundle.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 `
  --portal

Perintah 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