Исследования
«Средняя миля — это эстафета»: Google открыла генератор MilleMiglia для логистических бенчмарков
Google Research представила MilleMiglia — открытый генератор инстансов на C++ для реалистичных и при этом не раскрывающих коммерческих данных бенчмарков логистики средней мили. Эта часть маршрута даёт заметную долю затрат и почти не изучена: публичных данных нет, потому что компании считают топологии сетей и объёмы спроса конфиденциальными, а обычные VRP-солверы к средней миле неприменимы из-за фиксированных расписаний, лимитов пропускной способности центров и синхронизации рейсов. Код и документация опубликованы на GitHub.

18 сентября 2026 года Google Research рассказала о MilleMiglia — генераторе инстансов для задач логистики средней мили. По замыслу авторов, проект сокращает разрыв между академической теорией и промышленной логистикой, давая открытые и реалистичные бенчмарки, которые позволяют исследователям оптимизировать сложные сети средней мили, а в итоге — делать глобальные цепочки поставок устойчивее и эффективнее. Генератор написан на C++ и создаёт реалистичные бенчмарки задач доставки на средней миле.
При этом средняя миля, которая отвечает за массовое перемещение грузов между распределительными центрами на региональном или континентальном уровне, в операционных исследованиях получала значительно меньше внимания, чем первая и последняя миля, несмотря на существенную долю в общих логистических расходах. Прогресс сдерживало отсутствие публичных качественных данных: большинство логистических компаний считают свои топологии сетей и объёмы спроса чувствительной коммерческой информацией.
Первая, последняя и средняя миля
Различие между этапами определяется маршрутом отдельной отправки, а основная операционная цель одна — эффективно использовать парк машин для посещения множества точек. На первой и последней миле конкретная отправка остаётся в одной машине от пункта отправления до пункта назначения; это варианты классической задачи маршрутизации транспорта (VRP), где парк оптимизируется за ограниченное время, обычно в пределах одного дня, а сам вызов сводится к назначению и последовательности остановок.
На средней миле логистика работает как эстафета: одна отправка может ехать несколькими разными машинами через континентальную сеть и достичь конечной точки, возможно, лишь через неделю после отправления. В промежуточных распределительных центрах груз выгружают, сортируют по направлениям и консолидируют с другими отправлениями, прежде чем погрузить в следующую машину. Отсюда сложная задача синхронизации: отправка должна попасть в распределительный центр в определённое временное окно, чтобы успеть на запланированный рейс, а при опоздании она простаивает в центре до следующего цикла, что даёт значительные задержки.
Почему обычные VRP-солверы не подходят
В традиционном VRP — включая открытые инструменты вроде OR-Tools или специализированные API Google Maps Platform Route Optimization — цель обычно в оптимизации маршрутов парка, а фокус на последовательности остановок под жёсткие клиентские сроки. В отличие от последней мили, у средней есть дополнительная гибкость: груз может переходить между машинами. Авторы моделируют это измерение как задачу многопродуктового потока на пространственно-временном графе: узел — это конкретный распределительный центр в конкретном временном интервале, а дуга — движение машины во времени либо хранение отправки в центре.
Жёсткие ограничения средней мили трудно ослабить, не исказив структуру реальной задачи: машины ходят по фиксированным расписаниям, у распределительных центров есть физические лимиты на объём сортировки и кросс-докинга в час, а прибытие одной машины служит предпосылкой для отправки грузов на другой. Из-за этих зависимостей существующие VRP-солверы к средней миле неприменимы: задача требует последовательности промежуточных распределительных центров и назначений между несколькими машинами, часто на горизонте нескольких дней.
Как MilleMiglia строит сети
Генератор опирается на статистические распределения, чтобы синтетические сети выглядели как настоящие распределительные сети и не раскрывали частную информацию. Распределительные центры размещаются гравитационными моделями или пространственной кластеризацией, чтобы отражать реальную плотность населения и промышленности, а отправки создаются парами «источник — назначение» с реалистичными распределениями объёма и веса.
Вместо произвольных связей между узлами генератор строит структурированные расписания машин, соединяя либо два крупных распределительных центра, либо крупный центр с соседними центрами меньшего масштаба. Сами распределения интерполируют между публичной информацией от промышленных игроков и закрытыми данными.
Инстансы сериализуются через Protocol Buffers, поэтому всё разнообразие данных хранится в одном файле на инстанс: данные получаются компактными и легко читаются солверами, написанными на разных языках программирования. В отличие от VRP с множеством вариантов — CVRP с вместимостью, VRPTW с временными окнами, PDPTW с доставкой и временными окнами — формат средней мили содержит все интересные ограничения сразу: фиксированные расписания машин, лимиты пропускной способности центров и сложные предпосылки синхронизации являются частью структуры задачи.
Диапазон инстансов и будущий солвер
Замысел — дать сообществу диапазон инстансов: маленькие, эквивалентные академическим «игрушечным» задачам для проверки точных алгоритмов, и промышленные континентального масштаба, где нужны продвинутые эвристики и метаэвристики, а также промежуточные размеры и сложность. Помимо этого генератор поддерживает сценарии обучения: он способен создавать очень большие наборы данных для тренировки ML-алгоритмов.
Авторы называют MilleMiglia первым шагом к стандартизированному набору бенчмарков для логистики средней мили — аналогично тому, что CVRPLIB даёт сообществу VRP. Проект вырос из продолжающегося сотрудничества Google с академическими партнёрами из UniBrescia и ENPC Paris: помимо генерации инстансов авторы работают над специализированным солвером и API под операционные задачи средней мили. Исследование в основном выполнили Aymane Lotfi во время работы студентом-исследователем в Google и Matteo Petris (теперь в ENPC Paris).
Репозиторий or-tools/millemiglia описывает себя как инструмент генерации разнообразных инстансов логистических сетей и посылок, который должен облегчить исследования и разработку в области оптимизации средней мили. Сборка проекта выполняется через CMake, а запуск — одной командой с параметрами вроде числа хабов, отправок, линий и максимальной длины линии.