Открыть сервис

Задача маршрутизации транспорта

Задача маршрутизации транспорта (англ. Vehicle Routing Problem, VRP) — это класс оптимизационных задач комбинаторной математики, заключающихся в нахождении оптимального набора маршрутов для парка транспортных средств, которые должны обслужить заданное множество клиентов (точек доставки или сбора) при соблюдении ряда ограничений. Относится к NP-трудным задачам дискретной оптимизации и является обобщением классической «задачи коммивояжёра» (TSP) на случай нескольких транспортных средств. Основная цель — минимизация общих затрат (времени, расстояния, топлива, количества транспортных средств) при полном удовлетворении спроса клиентов.

История

Ранние предпосылки

Первые математические постановки задач, связанных с маршрутизацией, появились в середине XX века. В 1959 году американские математики Джордж Данциг и Джон Рамсер впервые сформулировали задачу маршрутизации транспорта (VRP) в контексте доставки бензина на автозаправочные станции. Они предложили метод решения на основе линейного программирования и целочисленного программирования.

Развитие в 1960–1980-е годы

В 1964 году Гарри Кларк и Дж. У. Райт разработали эвристический алгоритм «экономии» (Clarke-Wright savings algorithm), ставший одним из первых практически применимых методов для VRP. В 1970-е годы появились точные методы решения (метод ветвей и границ, динамическое программирование), однако из-за NP-трудности задачи они были применимы только для малых размерностей (до 50–100 точек). В 1980-е годы началось активное развитие метаэвристик: имитации отжига, генетических алгоритмов, поиска с запретами.

Современный этап

С 1990-х годов VRP стала одной из центральных задач в логистике и транспортном планировании. Развитие вычислительной техники и алгоритмов (муравьиные алгоритмы, алгоритмы роя частиц, нейросетевые подходы) позволило решать задачи с тысячами точек. В XXI веке активно внедряются системы реального времени, учитывающие пробки, погоду, окна доставки и динамически изменяющийся спрос. В России задача маршрутизации транспорта применяется в логистических компаниях («Почта России», «СберЛогистика», «Деловые Линии»), а также в сфере городского пассажирского транспорта.

Классификация и разновидности

Задача маршрутизации транспорта имеет множество модификаций, каждая из которых добавляет специфические ограничения или критерии.

Основные типы VRP

  • CVRP (Capacitated VRP) — базовая версия с ограничением грузоподъёмности каждого транспортного средства.
  • VRPTW (VRP with Time Windows) — каждый клиент должен быть обслужен в заданный временной интервал (окно).
  • VRPPD (VRP with Pickup and Delivery)транспортное средство может как забирать, так и доставлять грузы, причём доставка должна предшествовать забору.
  • MDVRP (Multi-Depot VRP)транспортные средства базируются на нескольких складах (депо).
  • SDVRP (Split Delivery VRP) — допускается разделение заказа одного клиента между несколькими транспортными средствами.
  • VRP with Backhauls — клиенты делятся на две группы: доставка (linehaul) и сбор (backhaul), причём сбор выполняется после завершения доставок.
  • Dynamic VRP — заказы поступают в реальном времени, маршруты пересчитываются динамически.
  • Green VRP — оптимизация с учётом экологических критериев (выбросы CO₂, расход топлива).

По типу транспортных средств

  • Однородный парк — все транспортные средства имеют одинаковые характеристики (грузоподъёмность, скорость, стоимость).
  • Неоднородный парк — транспортные средства различаются по параметрам (например, грузовики разной вместимости, электромобили и дизельные автомобили).

По критерию оптимизации

  • Минимизация общего пробега (расстояния).
  • Минимизация времени в пути.
  • Минимизация количества используемых транспортных средств.
  • Минимизация общих затрат (топливо, амортизация, зарплата водителей).
  • Минимизация времени ожидания клиентов.
  • Максимизация загрузки транспортных средств.

Математическая постановка

Классическая задача CVRP формулируется следующим образом. Имеется граф \( G = (V, E) \), где \( V = \{0, 1, 2, \dots, n\} \) — множество вершин, причём вершина 0 — это депо (склад), а вершины \( 1, \dots, n \) — клиенты. Каждому клиенту \( i \) соответствует неотрицательный спрос \( q_i \). Каждое ребро \( (i, j) \) имеет стоимость \( c_{ij} \) (расстояние, время или денежные затраты). Имеется \( K \) транспортных средств одинаковой вместимости \( Q \). Требуется найти набор маршрутов, каждый из которых начинается и заканчивается в депо, таких что:

  • каждый клиент посещается ровно один раз,
  • суммарный спрос на каждом маршруте не превышает \( Q \),
  • суммарная стоимость всех маршрутов минимальна.

Математически задача сводится к минимизации целевой функции: \[ \min \sum_{k=1}^{K} \sum_{(i,j) \in E} c_{ij} x_{ij}^k \] при ограничениях, обеспечивающих целостность маршрутов и вместимость.

Методы решения

Точные методы

  • Метод ветвей и границ — перебор с отсечением неперспективных вариантов. Применим для задач до 50–100 клиентов.
  • Целочисленное линейное программирование — использование симплекс-метода и отсечений (Гомори, ветвей и отсечений).
  • Динамическое программирование — для малых размерностей (до 20–30 точек).

Эвристические методы

  • Алгоритм Кларка-Райта — построение маршрутов путём объединения пар клиентов с максимальной «экономией» (снижением затрат).
  • Метод ближайшего соседа — последовательное добавление ближайшего необслуженного клиента.
  • Метод вставки — построение маршрута путём вставки новых точек в существующий маршрут с минимальным увеличением стоимости.

Метаэвристики

  • Генетические алгоритмы — эволюционный поиск с операциями скрещивания и мутации.
  • Поиск с запретами — локальный поиск с запоминанием запрещённых решений для избегания циклов.
  • Имитация отжига — вероятностный метод, позволяющий выходить из локальных оптимумов.
  • Муравьиные алгоритмы — имитация поведения колонии муравьёв при поиске кратчайших путей.
  • Алгоритмы роя частиц — коллективный поиск на основе движения частиц в пространстве решений.

Приближённые алгоритмы

  • Алгоритм Фишера-Янга — гарантированная оценка качества решения (например, 2-приближение для некоторых вариантов VRP).
  • LP-релаксация — решение задачи с ослабленными целочисленными ограничениями с последующим округлением.

Применение

Логистика и транспорт

  • Планирование маршрутов доставки товаров (интернет-магазины, курьерские службы, сети розничной торговли).
  • Оптимизация вывоза мусора и сбора вторсырья.
  • Управление парком такси и каршеринга (в том числе динамическое распределение заказов).
  • Маршрутизация школьных автобусов и служебного транспорта.

Городское планирование

  • Разработка маршрутов общественного транспорта (автобусы, трамваи, троллейбусы).
  • Планирование работы аварийных служб (скорая помощь, пожарные, полиция).
  • Оптимизация движения снегоуборочной и дорожной техники.

Производство и складское хозяйство

  • Внутрискладская логистика (роботизированные тележки, погрузчики).
  • Маршрутизация транспорта на строительных площадках и в карьерах.

Военное дело

  • Планирование маршрутов снабжения войск и эвакуации.
  • Маршрутизация беспилотных летательных аппаратов (БПЛА) для разведки или доставки грузов.

Программное обеспечение

Для решения задач маршрутизации транспорта разработано множество коммерческих и открытых программных продуктов:

  • OR-Tools (Google) — библиотека с открытым исходным кодом, поддерживающая CVRP, VRPTW и другие модификации.
  • LKH-3 — модификация алгоритма Лин-Кернигана для VRP.
  • VROOM — открытое решение для реального времени.
  • IBM ILOG CPLEX — коммерческий решатель для точных методов.
  • Gurobi — коммерческий решатель с поддержкой целочисленного программирования.
  • OptaPlanner (Red Hat) — платформа для планирования на Java.
  • PTV Optima — коммерческий продукт для транспортного планирования.
  • Logistics Vision — российская система для оптимизации маршрутов доставки.

В России также используются решения на базе 1С (например, «1С:Логистика:Управление перевозками») и специализированные модули от компаний «Яндекс.Такси» и «СберЛогистика».

Сложности и открытые проблемы

  • NP-трудность — для больших размерностей (более 1000 клиентов) точные методы неприменимы, требуется разработка эффективных эвристик.
  • Динамические условия — учёт пробок, погоды, отказов транспорта и изменений заказов в реальном времени.
  • Многокритериальность — одновременная оптимизация нескольких противоречивых критериев (стоимость, время, экологичность).
  • Стохастичность — неопределённость во времени в пути, спросе клиентов, доступности транспорта.
  • Интеграция с другими системами — задача VRP часто решается совместно с управлением запасами (Inventory Routing Problem) или планированием производства (Production Routing Problem).

Интересные факты

  • Задача маршрутизации транспорта входит в список 10 самых важных задач оптимизации, сформулированных Международным обществом математического программирования.
  • Первое практическое применение VRP в СССР было связано с оптимизацией маршрутов молоковозов в Московской области в 1970-х годах.
  • Современные алгоритмы способны находить решения для 10 000 клиентов за несколько минут на обычном персональном компьютере.
  • В 2020 году компания Amazon запатентовала метод маршрутизации с использованием дронов и наземных транспортных средств (гибридная доставка).

Источники

  • Dantzig G. B., Ramser J. H. The Truck Dispatching Problem // Management Science. — 1959. — Vol. 6, № 1. — P. 80–91.
  • Clarke G., Wright J. W. Scheduling of Vehicles from a Central Depot to a Number of Delivery Points // Operations Research. — 1964. — Vol. 12, № 4. — P. 568–581.
  • Toth P., Vigo D. (eds.). The Vehicle Routing Problem. — SIAM, 2002. — 367 p.
  • Laporte G. The Vehicle Routing Problem: An overview of exact and approximate algorithms // European Journal of Operational Research. — 1992. — Vol. 59, № 3. — P. 345–358.
  • Vidal T., Crainic T. G., Gendreau M., Prins C. Heuristics for multi-attribute vehicle routing problems: A survey and synthesis // European Journal of Operational Research. — 2013. — Vol. 231, № 1. — P. 1–21.
  • Материалы конференций «Логистика и управление цепями поставок» (Россия, 2010–2023).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →