Проблема: маршрути вручну — години, а замовник чекає
Великий логістичний оператор із парком 120 машин обробляв 10 000 замовлень на місяць. Диспетчери витрачали 3–4 години на побудову маршрутів, при цьому 25% замовлень доставлялися із запізненням. Після впровадження нашої AI-системи час планування скоротився до 40 секунд, пробіг — на 18%, а частка своєчасних доставок зросла з 65% до 92%. Згідно з звітом McKinsey про цифрову логістику, AI-оптимізація знижує операційні витрати на 15–25%.
Vehicle Routing Problem (VRP) — NP-складна задача: для 50 точок точне рішення потребує 50! варіантів. Ми використовуємо гібрид Reinforcement Learning (Attention Model) і метаевристик (Guided Local Search), що дає рішення за секунди з gap <3% від оптимуму. Наш стек: PyTorch, OR-Tools, vLLM для інференсу.
Клієнти часто запитують: як AI справляється з динамічними замовленнями? Відповідь — insertion heuristic з ML-оцінкою: нове замовлення вставляється в маршрут за частки секунди без повного перерахунку. Точність — 95% від оптимуму.
Як працює Reinforcement Learning для VRP?
Агент (політика) на кожному кроці обирає наступну точку, використовуючи ембедінги контексту. Навчання — REINFORCE з перевагою. Для стабільності використовуємо досвідний буфер.Математична основа: VRP та його варіації
- VRPTW (Time Windows) — кожна точка має бути відвідана в заданий інтервал
- CVRP (Capacitated) — обмеження за вантажопідйомністю
- MDVRP (Multi-Depot) — кілька складів
- DVRP (Dynamic) — замовлення надходять у реальному часі
- VRPPD (Pickup and Delivery) — пари «забрати-доставити»
На практиці всі ці обмеження зустрічаються одночасно. Перебір усіх варіантів для 50 точок неможливий навіть на суперкомп'ютері.
Як AI вирішує VRP за секунди?
Ми використовуємо гібридний підхід: Reinforcement Learning (Attention Model) + класичні метаевристики. RL навчається «конструювати» маршрут, додаючи точки по одній, — inference займає мілісекунди. Але для гарантії якості застосовуємо локальний пошук (Guided Local Search) поверх RL-рішення.
from ortools.constraint_solver import routing_enums_pb2, pywracp def solve_vrptw(locations, time_windows, demands, vehicle_capacities): manager = pywracp.RoutingIndexManager(len(locations), len(vehicle_capacities), 0) routing = pywracp.RoutingModel(manager) transit_callback_index = routing.RegisterTransitCallback(...) routing.SetArcCostEvaluatorOfAllVehicles(transit_callback_index) time_dimension = routing.GetDimensionOrDie('Time') for node, (start, end) in enumerate(time_windows): index = manager.NodeToIndex(node) time_dimension.CumulVar(index).SetRange(start, end) search_params = pywracp.DefaultRoutingSearchParameters() search_params.first_solution_strategy = ( routing_enums_pb2.FirstSolutionStrategy.PATH_CHEAPEST_ARC) search_params.local_search_metaheuristic = ( routing_enums_pb2.LocalSearchMetaheuristic.GUIDED_LOCAL_SEARCH) search_params.time_limit.FromSeconds(30) solution = routing.SolveWithParameters(search_params) Чому гібридний підхід — стандарт індустрії?
Чистий RL дає рішення на 10–15% гірші за оптимальні на складних інстанціях. Метаевристики (Genetic Algorithm, Simulated Annealing) — повільніші в 10 разів. Гібридний підхід у 10 разів швидший за метаевристики та на 10–15% точніший за чистий RL. Ми також використовуємо surrogate ML-модель для швидкої оцінки якості рішень — це прискорює пошук у 5–20 разів.
Врахування реальних факторів: пробки, погода, статус водія
Динамічні дані в реальному часі:
- Пробки (HERE Traffic API, Яндекс.Пробки)
- Погода (вплив на час та доступність доріг)
- Статус водіїв (перерви, обмеження за робочим часом)
- Телематика (витрата пального, залишок у баку)
Прогнозування часу в дорозі: LSTM-модель на історичних GPS-треках. Помилка MAE: 2–5 хвилин у місті проти 8–15 хвилин у статичних карт.
Порівняння: ручне планування vs AI
| Критерій | Ручне (диспетчер) | AI-оптимізація |
|---|---|---|
| Час одного циклу | 2–4 години | 30–90 секунд |
| Зниження пробігу | — | 12–22% |
| Зниження кількості машин | — | 10–18% |
| Частка доставок у вікно | 60–70% | 85–95% |
| Адаптація до нових замовлень | Хвилини | Частки секунди |
ROI: для парку від 50 машин — 6–12 місяців за рахунок пального та трудозатрат.
Порівняння підходів до вирішення VRP
| Підхід | Час рішення | Якість (gap) | Застосовність |
|---|---|---|---|
| Чистий RL | мілісекунди | 10–15% | Швидкі, але неточні рішення |
| Метаевристики (GA, SA) | секунди–хвилини | <3% | Точні, але повільні |
| Гібрид (RL + LS) | мілісекунди–секунди | <3% | Найкраще поєднання швидкості та точності |
Що входить у роботу
- Аудит поточних маршрутів, даних та бізнес-процесів (2–3 дні)
- Вибір моделі — RL, метаевристика або гібрид (1 тиждень)
- Інтеграція з TMS, GPS, ERP (2–3 тижні)
- Тестування на історичних даних — A/B тест у пісочниці (1 тиждень)
- Запуск у продуктив — паралельна робота з ручним плануванням (1 тиждень)
- Навчання диспетчерів + документація + підтримка 3 місяці
Орієнтовні терміни
Від 4 до 8 тижнів залежно від складності (кількість машин, точок, динаміки). Вартість розраховується індивідуально під ваш парк. Отримайте консультацію — оцінимо ваш проект за 2 дні.
Чому обирають нас?
- 7+ років досвіду в AI/ML
- 50+ успішних проектів у логістиці та ритейлі
- Сертифіковані спеціалісти з Google OR-Tools та PyTorch
- Гарантія зниження пробігу не менше 10%
Зв'яжіться для консультації, замовте пілотний проект або отримайте персональний розрахунок за 2 дні — і ви побачите результат на своїх даних.







