Обзорная экскурсия
DispatchAtlas превращает задачу планирования в публичные воспроизводимые доказательства за четыре этапа: сгенерировать экземпляр бенчмарка, решить его, проанализировать прогоны и исследовать всё через каталог. Эта экскурсия проходит весь путь в небольшом масштабе с одним фрагментом на этап; учебные руководства превращают каждый этап в полноценный исполняемый скрипт.
Если вы ещё не сделали этого, сначала выполните быстрый старт: его дымовая кампания создаёт записи прогонов, которые читает этап анализа ниже.
1️⃣ Генерация — экземпляр бенчмарка
Экземпляр бенчмарка — это одна задача планирования: задачи, ресурсы, которые их выполняют, цели и ограничения. Встроенный дымовой каталог материализует небольшие детерминированные экземпляры из одного зерна, поэтому одно и то же зерно всегда даёт одну и ту же задачу.
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")Полный атлас охватывает классические семейства планирования и континуум семейств Edge–Fog–Cloud, каждое из которых несёт метаданные с подтверждающими ссылками и оценку расстояния между распределениями. → Модель бенчмарка
2️⃣ Решение — запустите решатель на нём
Решатель назначает задачи ресурсам во времени и возвращает расписание. Реестр выбирает решатели, которые поддерживают вашу цель и видимы на заданном уровне доказательств, а затем конструирует один для запуска.
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)Реестр содержит конструктивные базовые методы, точные адаптеры, метаэвристики, диверсифицированный набор конкурентов и собственное семейство решателей — каждая запись с отказоустойчивым контрактом ссылок. → Система решателей · Алгоритмы
3️⃣ Анализ — превращение прогонов в доказательства
Решение многих задач многими решателями порождает кампанию из записей прогонов. Слой анализа загружает завершённую кампанию и вычисляет описательные сводки, именованные непараметрические тесты вместе с размерами эффекта, скорректированную значимость и ранжирования решателей — никогда не выдавая голое значение p.
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])Та же сводка управляет детерминированными фигурами SVG и PGFPlots и пакетами доказательств, отфильтрованными по уровню раскрытия. → Движок кампаний · Экспорт анализа
4️⃣ Каталог — исследуйте атлас
Всё, что создала экскурсия, можно просматривать без написания кода. Интерактивный портал позволяет искать и фильтровать атлас бенчмарков по его метаданным, исследовать заявленные возможности каждого решателя, просматривать результаты и скачивать отфильтрованные по раскрытию наборы данных, стоящие за каждой страницей.
- Каталог бенчмарков — фильтруйте и скачивайте экземпляры бенчмарков по их метаданным.
- Рекомендатель решателей — объяснимое, основанное только на метаданных ранжирование того, какие решатели подходят к задаче.
- Результаты и инспекция платформы — предпросмотр доказательств и собственной поверхности возможностей платформы.
🧭 Куда двигаться дальше
- Проработайте учебные руководства для полной исполняемой версии каждого этапа.
- Настройте прогоны с контрольными точками и возможностью возобновления в рабочем пространстве воспроизводимых кампаний.
- Прочитайте контракты предметной области о типах, которые совместно используют все пакеты.