Симулятор отвечает на вопрос «сколько машин нужно на день X и всё ли
влезет в рабочий день?» — не трогая реальные заказы. Песочница:
создаёшь сценарий, добавляешь точки, запускаешь оптимизацию,
получаешь вердикт и сравниваешь варианты.
Для чего
Когда его использовать
- Новый клиент / сеть: «если возьмём ещё 40 Магнитов — хватит 3 машин или нужна 4-я?»
- Планирование пика: сезонные всплески перед праздниками.
- Что-если-анализ: убрать зону, поменять service time, посмотреть разные наборы машин.
- Проверка гипотезы до ручного перекраивания настоящих маршрутов.
Шаг 1
Создать сценарий
Кнопка «Создать сценарий» в правом верхнем углу списка открывает мастер из 3 шагов:
- Название, машины, service time. Машины — любой набор из уже существующего автопарка. Service time по умолчанию 10 мин — это время разгрузки на одной точке.
- Baseline-дата (опционально). Если указать — в сценарий скопируются все реальные заказы с этой даты, кроме точек из зон, помеченных «исключать из оптимизации» (Каменский район, Кузнецк и т.п.).
- Excel (опционально). Можно подгрузить сразу или позже из экрана сценария.
Шаг 2
Загрузить магазины из Excel
На экране сценария слева внизу — дропзона «Добавить магазины из Excel». Поддерживается формат Магнита: колонки Магазин, Адрес, Вес, Ящики, окна доставки.
- Дубликаты (по адресу) отбрасываются автоматически.
- Новые точки уходят на геокодинг: Yandex Geocoder → fallback Nominatim. Результаты кешируются, повторный прогон тех же адресов бесплатный.
- Точки без координат помечаются как failed и не участвуют в оптимизации, пока не разберёшься.
Шаг 3
Почистить точки
В блоке «Точки сценария» есть две массовые кнопки сверху:
- Внешние зоны — удалит точки из зон, которые в настройках помечены «исключать из оптимизации». Используй, если baseline затянул больше, чем нужно.
- Без координат — удалит точки, у которых геокодинг не сработал. Безопасно: они всё равно бы не попали в оптимизацию.
Удалить одну точку — крестик × справа в строке.
Виртуальные машины
Проверить гипотезу «а если ещё одна машина?»
В блоке «Машины» под автопарком есть кнопка «+ Добавить ещё машину». Она создаёт виртуальную машину — она существует только внутри этого сценария, в реальный автопарк не попадает.
- Шаблон «Как Газель-1 / ВИС-1» подставляет параметры существующей машины — удобный старт.
- Можно задать любые грузоподъёмность и объём вручную (кастомная).
- Удалить — крестик на карточке виртуальной машины.
- После любых изменений конфига появится подсказка «запусти оптимизацию заново».
Типичный сценарий: есть 3 реальные машины и verdict unassigned — добавляешь 4-ю виртуальную Газель, перезапускаешь, смотришь стало ли ok.
Шаг 4
Запустить оптимизацию
Кнопка «Запустить оптимизацию» в сайдбаре. Под капотом:
- VROOM решает VRP: каждая точка назначается машине, с учётом вместимости, окон 08:00-16:00 и service time. Цель — минимизировать длительность.
- OSRM строит реальный маршрут по дорогам депо → остановки → депо. Отсюда геометрия на карте и точное время в пути.
- Длительность маршрута считается так: driving (OSRM) + сумма service_time по остановкам. Это реальная длина рабочего дня водителя.
Параллельный прогон одного сценария запрещён (HTTP 409). Запусти — дождись результата.
Шаг 5
Как читать результат
Вверху карточки прогона — крупный verdict:
- ok — все точки назначены, макс маршрут < 10ч 30м. Машин хватает.
- borderline — назначено всё, но макс маршрут 10:30–11:00. На грани рабочего дня.
- overtime — макс маршрут > 11ч. Физически не успеют, нужна ещё машина или дробление на 2 дня.
- unassigned — есть точки, которые вообще не получилось впихнуть. Проверь вес, окна, количество машин.
- error — VROOM/OSRM упал. Смотри сообщение об ошибке.
Дальше — 5 плашек: маршрутов, точек, не назначено, макс маршрут, суммарное время. И карта с маршрутами разными цветами.
В табах маршрутов: «10ч 15м · 63.9 км (в пути 2ч 5м + стоянки 8ч 10м)» — сразу видно структуру. Ниже — список остановок с ETA.
Шаг 6
Сравнить прогоны
На странице списка сценариев включи режим «Сравнить» в шапке, выбери до 4 сценариев галочками, нажми «Сравнить выбранные». Увидишь рядом вердикты, макс маршруты, суммарный пробег — удобно для «3 машины vs 4 машины» или разных наборов машин.
История всех прогонов одного сценария — в сайдбаре слева, с кликом на конкретный прогон вся сводка и карта восстанавливаются.
Словарь
Термины
- Baseline
- Реальные заказы за указанную дату — копируются в сценарий как «текущая нагрузка».
- Service time
- Сколько машина стоит на точке (разгрузка). По умолчанию 10 мин.
- Окно доставки
- Временной интервал, в который можно приехать. По умолчанию рабочий день 08:00–16:00. В Excel можно задать своё окно на точку.
- Driving / Service
- Driving — время только на колёсах (OSRM). Service — стоянки. Общее duration = driving + service.
- Verdict
- Вердикт прогона: ok / borderline / overtime / unassigned / error.
- Unassigned
- Точки, которые оптимизатор не смог распределить (не влезают по времени, весу или окну).
Практический совет
Если verdict unassigned — не сразу добавляй машину. Сначала попробуй:
- Удалить точки из внешних зон (кнопка «Внешние зоны»).
- Проверить геокодинг — сколько точек «failed», удалить или поправить адрес в Excel.
- Уменьшить service_time (если реально разгружают за 5 мин).
- Только потом — добавлять 4-ю машину.