クイックスタート
2つのコマンドで最初のスケジューリングキャンペーンを実行します。どちらもコピー&ペースト可能で、 全体のパスは新規クローン上で数秒で完了し、すべての結果は決定論的です — 再実行すると同じ数値が出力されます。
⚡ 最初の実行までの2つのコマンド
# 1 — install the workspace (one time)
uv sync --all-extras --group dev
# 2 — build and run the bundled smoke campaign
uv run python experiments/scripts/run_smoke_pilot.pyこのスクリプトは設定を experiments/configs/smoke-pilot.json にシリアライズします — これは dispatchatlas-lab --config CLI が読み込むのと同じ JSON です — そのため、スクリプトとトラブルシューティングガイド内の CLI の例は同一のレシピを実行します。
次のような短いサマリーが表示されるはずです:
campaign_id: smoke-pilot
config: ...\experiments\configs\smoke-pilot.json
planned_runs: 4
estimated_wall_time_seconds: 2.0
completed_runs: 4
failed_attempts: 0completed_runs: 4 かつ failed_attempts: 0 は成功を意味します:
2つのソルバーがそれぞれ2つのベンチマークインスタンスに対して実行され、すべての実行が有効な
スケジュールを生成しました。それ以外の結果は不完全なインストールを示しています —
トラブルシューティングを参照してください。
🧩 初回利用の用語
上記のサマリーはいくつかのドメイン用語を使用しています。ツールキット全体は これらの上に構築されています:
- ベンチマークインスタンス — 生成された1つのスケジューリング問題: タスクの集合、 それらを実行するリソース、そしてそれらの間の制約。
- ソルバー — タスクを時間軸上でリソースに割り当て、スケジュールを返す アルゴリズム。
- Objective(目的) — ソルバーが最適化する量。スモークキャンペーンは makespan を使用します: 最後のタスクが終了する時点(小さいほど良い)。
- キャンペーン — 選択されたソルバーを選択されたベンチマークに対して 指定された回数だけ実行し、すべての実行をエビデンスとして記録するバッチ。
- シード/決定論的 — すべてのランダムな選択を再現可能にする固定された数値で、 同じ入力が常に同じスケジュールを生成するようにします。
- Feasible(実行可能) — すべてのタスクが配置され、どのリソースも 過剰割り当てされておらず、すべての依存関係が尊重されているスケジュール。
🛠️ 自分で解を構築する
バンドルされたキャンペーンを実行する代わりにコードで単一の解を構築するには、
チェックアウト内の任意の場所にこれを quickstart.py として保存し、
uv run python quickstart.py で実行します:
from dispatchatlas.bench import smoke_benchmark_provider
from dispatchatlas.core import DisclosureLabel, TerminationPolicy, derive_seed
from dispatchatlas.solve import default_solver_registry
provider = smoke_benchmark_provider(root_seed=20260527)
problem = provider.get_problem(provider.list_problem_ids()[0])
registry = default_solver_registry()
solvers = registry.select(
objective="makespan",
disclosure_label=DisclosureLabel.CORE,
)
solver = registry.create(solvers[0].solver_id)
run = solver.solve(
problem=problem,
stop=TerminationPolicy(max_iterations=solvers[0].default_stop.max_iterations),
seed=derive_seed(20260527, "docs.quickstart", 0),
)
print(run.result.feasible)これは True を出力します: 選択されたソルバーが実行可能なスケジュールを生成しました。
3つの可動部分は上記のキャンペーンを反映しています — smoke_benchmark_provider は
1つのシードから決定論的なベンチマークカタログを具現化し、
registry.select は公開 core エビデンスティアで makespan 目的を
サポートするソルバーにフィルタリングし、solver.solve は安定した座標から
導出されたシードと明示的な停止基準のもとで実行されるため、実行は同一に再現されます。
🧭 次に進む先
- ガイドツアーに参加しましょう — 実行したばかりの スモークキャンペーンを土台に、生成 → 解決 → 分析 → 探索という全体の流れを 小規模にたどる、ナレーション付きのウォークスルーです。
- チュートリアルに取り組みましょう — まず1つのベンチマークインスタンスで 2つのソルバーを比較し、次に小さなキャンペーンを実行してその結果を読みます。
- チェックポイント付きで再開可能な実行のために、キャンペーンエンジンと 再現可能なキャンペーンワークスペースへとステップアップします。
- 同じメタデータがどのように ベンチマークカタログ、 結果プレビュー、 ソルバーレコメンダーを駆動するかを探ります。