Google Research представила MilleMiglia — генератор экземпляров задач на C++ для средней мили логистики. Инструмент создаёт реалистичные и при этом приватные данные, которые можно использовать как benchmark для алгоритмов оптимизации. Исходный код и документация опубликованы на GitHub, работа описана в статье «A Novel Instance Generator for Simulating Middle-Mile Logistics Networks».
Средняя миля — это участок пути между распределительными центрами, который проходит груз, прежде чем попасть в городскую сеть доставки. Если первая миля описывает движение товара от производителя до первичного консолидационного пункта, а последняя — от распределительного центра до покупателя, то средняя миля соединяет центры разных регионов и стран. Именно на неё приходится наибольшее расстояние и значительная доля общих логистических затрат. От того, как она устроена, зависит, приедет ли, например, голландский пофферт к двери покупателя в 700 км от пекарни на следующий день или задержится в пути.
| Сегмент | Что покрывает | Особенность |
|---|---|---|
| Первая миля | От производителя до первичного консолидационного пункта | Груз остаётся в одной машине |
| Средняя миля | Между распределительными центрами разных регионов и стран | Груз перегружают и консолидируют в промежуточных центрах |
| Последняя миля | От распределительного центра до покупателя | Груз остаётся в одной машине |
Ключевое отличие средней мили от первой и последней — эстафетный характер. В первой и последней миле отправление остаётся в одной машине от начала до конца маршрута, а задача сводится к назначению транспорта и порядку объезда точек. В средней миле груз может сменить несколько машин, пройти через промежуточные центры, где его выгружают, сортируют по направлениям и консолидируют с другими отправлениями. Возникает задача синхронизации: груз должен прибыть в центр в определённое временное окно, чтобы успеть на следующий рейс. Если он опаздывает, то ждёт следующего цикла, и доставка сдвигается на дни.

До сих пор академические исследования средней мили тормозились из-за отсутствия публичных данных. Логистические компании считают топологию своих сетей и объёмы спроса чувствительной коммерческой информацией и не раскрывают её. MilleMiglia обходит это ограничение: генератор создаёт синтетические, но реалистичные экземпляры задач, сохраняя приватность реальных сетей. Это позволяет сравнивать алгоритмы на воспроизводимых данных — так же, как в других областях ИИ принято использовать открытые benchmark-наборы.
Средняя миля встречается не только в электронной коммерции. Она описывает движение товаров от заводов к магазинам в центрах городов, поставки комплектующих от отдельных производств и центральных складов автопроизводителям, а также перевозки с жёсткими сроками — например, термочувствительных лекарств между складами и больницами. Во всех этих сценариях ошибки в планировании обходятся дорого, а стандартизированных данных для обучения и проверки алгоритмов до сих пор не хватало.
MilleMiglia — не готовая система оптимизации, а инструмент для исследователей и инженеров, которым нужна общая площадка для сравнения методов. Google Research описывает работу как фундаментальный строительный блок для будущих результатов в этой области. Появление открытого генератора может ускорить разработку алгоритмов для сегмента, который раньше оставался в тени первой и последней мили.



