Розробка AI-системи оптимізації cross-docking

На розподільчому центрі федеральної мережі щоденно обробляється 150 вхідних і 200 вихідних машин. При ручному диспетчеруванні до 30% транспорту простоює в очікуванні вільного доку, а on-time departure rate ледве досягає 75%. AI-система оптимізації cross-docking вирішує це завдання: синхронізує прибу

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1302
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    714
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1006

На розподільчому центрі федеральної мережі щоденно обробляється 150 вхідних і 200 вихідних машин. При ручному диспетчеруванні до 30% транспорту простоює в очікуванні вільного доку, а on-time departure rate ледве досягає 75%. AI-система оптимізації cross-docking вирішує це завдання: синхронізує прибуття та відправлення, знижуючи простої на 40% та підвищуючи punctuality до 95%. В одному з проєктів економія склала кілька мільйонів рублів щомісяця за рахунок скорочення понаднормових та штрафів за запізнення.

Ми — AI/ML інженери з 5+ років досвіду в логістиці, за плечима 30+ реалізованих проєктів. Гарантуємо інтеграцію з існуючими TMS та WMS без зупинки операцій. Отримайте консультацію щодо впровадження AI-оптимізації на вашому терміналі — оцінимо поточні метрики за 2 дні.

Проблеми синхронізації в крос-докінгу

Класичний склад оптимізує зберігання та збирання. Крос-докінг оптимізує синхронізацію:

  • Вхідні потоки — TIR-постачальників з 50–200 артикулами.
  • Вихідні потоки — регіональні розвізні машини по торгових точках.
  • Завдання — який вантаж з якої машини на яку машину та в якій послідовності.

Типи крос-докінгу: Pre-distribution (постачальник маркує товар під магазини), Post-distribution (розбивка AI на терміналі), Opportunistic (змішаний склад).

Як AI-планувальник синхронізує потоки?

Тимчасова синхронізація прибуття. ML-прогноз часу прибуття кожного TIR (ETA) реалізований на градієнтному бустингу (LightGBM) — враховуємо історичні дані, погоду, дорожню обстановку. Далі CP-SAT solver з OR-Tools вирішує задачу призначення доків та розкладу з жорсткими обмеженнями: не більше однієї машини на док, часові вікна приймання, послідовність відвантаження.

from ortools.sat.python import cp_model import numpy as np def schedule_crossdock( inbound_trucks, # [{id, eta, items: [(sku, qty)], dock_time_min}] outbound_trucks, # [{id, departure, required_items: [(sku, qty)]}] n_docks=20, planning_horizon=480 # хвилин ): """Оптимізація призначення доків і розкладу перевантаження""" model = cp_model.CpModel() # Змінна: час початку розвантаження кожної вхідної машини unload_start = {} unload_end = {} for truck in inbound_trucks: earliest = max(0, int(truck['eta'])) latest = planning_horizon - truck['dock_time_min'] unload_start[truck['id']] = model.NewIntVar(earliest, latest, f"us_{truck['id']}") unload_end[truck['id']] = model.NewIntVar( earliest + truck['dock_time_min'], planning_horizon, f"ue_{truck['id']}" ) model.Add(unload_end[truck['id']] == unload_start[truck['id']] + truck['dock_time_min']) # Призначення доків: кожен вхідний вантажівка отримує один з N доків dock_assign = {} for truck in inbound_trucks: dock_assign[truck['id']] = model.NewIntVar(0, n_docks - 1, f"dock_{truck['id']}") # Обмеження: на одному доці одночасно не більше однієї машини intervals = {} for truck in inbound_trucks: intervals[truck['id']] = model.NewOptionalIntervalVar( unload_start[truck['id']], truck['dock_time_min'], unload_end[truck['id']], True, f"interval_{truck['id']}" ) # No-overlap на кожному доці for dock in range(n_docks): trucks_at_dock = [intervals[t['id']] for t in inbound_trucks if dock_assign.get(t['id'])] if len(trucks_at_dock) > 1: model.AddNoOverlap(trucks_at_dock) # Ціль: мінімізувати затримку вихідних машин delays = [] for out_truck in outbound_trucks: ready_time = model.NewIntVar(0, planning_horizon, f"ready_{out_truck['id']}") required_unload_times = [ unload_end[in_t['id']] for in_t in inbound_trucks if any(sku in [i[0] for i in in_t['items']] for sku in [r[0] for r in out_truck['required_items']]) ] for t in required_unload_times: model.Add(ready_time >= t) delay = model.NewIntVar(0, planning_horizon, f"delay_{out_truck['id']}") model.Add(delay >= ready_time - out_truck['departure']) delays.append(delay) model.Minimize(sum(delays)) solver = cp_model.CpSolver() solver.parameters.max_time_in_seconds = 30.0 status = solver.Solve(model) return solver, model, unload_start, dock_assign 

В одному з впроваджень на терміналі з 20 доками та 150 вхідними машинами на день вдалося досягти 95% on-time departure вже через 2 тижні роботи. Ключовий фактор — модель перераховує розклад за 3–5 секунд при будь-якому відхиленні ETA.

Порівняння типів крос-докінгу

Тип Опис Коли застосовний
Pre-distribution Постачальник маркує товар під магазини Стабільні замовлення, низька варіативність
Post-distribution Розбивка на терміналі AI-системою Висока варіативність, часті зміни
Opportunistic Змішаний склад використовує крос-докінг для частини потоку Нерівномірне завантаження, сезонність

Pre-distribution швидше, але менш гнучкий. Post-distribution вимагає AI-планувальника, але адаптується до змін за 5–10 секунд.

Чому важлива динамічна переробка плану?

Затримка вхідної машини — звичайна справа. Без AI диспетчер вручну переглядає план, що займає 20–30 хвилин. AI-система перераховує розклад за 3–5 секунд:

  • Виявляє машини, які можуть почекати 30–60 хвилин (допуск по часовому вікну доставки).
  • Визначає частини відправки, які можна скомплектувати з інших машин.
  • Приймає рішення про перенесення відправки на наступний рейс.

Результат: on-time departure rate підвищується з 75% до 95%.

Процес впровадження AI-системи

  1. Аналіз — збір даних про потоки, типи вантажів, часові вікна (2–3 тижні).
  2. Проектування — розробка моделі прогнозу ETA та оптимізатора (4–6 тижнів).
  3. Реалізація — інтеграція з TMS, WMS, системою сортування (6–8 тижнів).
  4. Тестування — A/B-тест на одному терміналі (2–4 тижні).
  5. Деплой — rollout на всі термінали з паралельною роботою (4–6 тижнів).

Терміни орієнтовно — від 4 до 6 місяців залежно від масштабу.

Що входить в роботу

  • Технічна документація (архітектура, API, модель даних).
  • Доступи до системи через REST API та WebSocket для моніторингу в реальному часі.
  • Навчання диспетчерів (2–3 дні, очно або дистанційно).
  • Технічна підтримка на 3 місяці після запуску.

Метрики та інтеграції

KPI Без AI З AI
Throughput (палет/год) 120 170
Dock door utilization 60% 85%
On-time departure 75% 95%

Інтеграції: TMS (транспортні завдання, ETA оновлення), WMS (ярлики, сортування), ваги/сканери на воротах, відеоаналітика для підтвердження завершення операцій.

Зв'яжіться з нами для попереднього аудиту потоків та розрахунку економії — оцінимо ваш термінал за 2 дні. Замовте консультацію, щоб обговорити деталі впровадження під ваші завдання.