Démarrage rapide
Lancez votre première campagne d'ordonnancement en deux commandes. Les deux se copient-collent, le parcours entier s'achève en quelques secondes sur un clone neuf, et chaque résultat est déterministe — relancer affiche les mêmes chiffres.
⚡ Deux commandes jusqu'à une première exécution
# 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.pyLe script sérialise sa configuration dans
experiments/configs/smoke-pilot.json — le même JSON que consomme l'outil
dispatchatlas-lab --config — de sorte que le script et les exemples d'outil
en ligne de commande du guide de dépannage exécutent la
recette identique.
Vous devriez voir un résumé bref comme celui-ci :
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 avec failed_attempts: 0 signifie que cela a fonctionné :
deux solveurs ont chacun été exécutés sur deux instances de benchmark, et chaque
exécution a produit un ordonnancement valide. Tout autre résultat indique une
installation incomplète — voir
dépannage.
🧩 Termes de première utilisation
Le résumé ci-dessus emploie une poignée de termes du domaine. Toute la boîte à outils repose sur ceux-ci :
- Instance de benchmark — un problème d'ordonnancement généré : un ensemble de tâches, les ressources qui les exécutent et les contraintes entre elles.
- Solveur — un algorithme qui affecte les tâches aux ressources au fil du temps et renvoie un ordonnancement.
- Objectif — la grandeur qu'un solveur optimise. La campagne de fumée utilise le makespan : l'instant où la dernière tâche se termine (plus c'est bas, mieux c'est).
- Campagne — un lot qui exécute les solveurs choisis sur les benchmarks choisis pour un nombre fixé de répétitions, en enregistrant chaque exécution comme preuve.
- Graine / déterministe — un nombre fixe qui rend reproductible chaque choix aléatoire, de sorte que les mêmes entrées produisent toujours le même ordonnancement.
- Réalisable — un ordonnancement où chaque tâche est placée, aucune ressource n'est sur-engagée et chaque dépendance est respectée.
🛠️ Construire une résolution vous-même
Pour construire une résolution unique dans le code plutôt que de lancer la
campagne fournie, enregistrez ceci sous quickstart.py n'importe où dans le
dépôt cloné et exécutez-le avec 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)Il affiche True : le solveur sélectionné a produit un ordonnancement
réalisable. Les trois pièces mobiles reflètent la campagne ci-dessus —
smoke_benchmark_provider matérialise le catalogue de benchmarks déterministe à
partir d'une graine, registry.select filtre les solveurs pour ne garder que
ceux qui prennent en charge l'objectif makespan au niveau de preuve public
core, et solver.solve s'exécute sous des critères d'arrêt explicites avec une
graine dérivée de coordonnées stables, de sorte que l'exécution se rejoue à
l'identique.
🧭 Où aller ensuite
- Suivez la visite guidée — un parcours commenté de tout l'enchaînement générer → résoudre → analyser → explorer, qui s'appuie sur la campagne de fumée que vous venez de lancer.
- Parcourez les tutoriels — comparez d'abord deux solveurs sur une instance de benchmark, puis lancez une petite campagne et lisez ses résultats.
- Passez au moteur de campagnes et à l'espace de travail des campagnes reproductibles pour des exécutions avec points de contrôle et reprenables.
- Découvrez comment les mêmes métadonnées alimentent le catalogue de benchmarks, l'aperçu des résultats et le recommandateur de solveurs.