GNN for Supply Chain Optimization

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1 servicesAll 1566 services
GNN for Supply Chain Optimization
Complex
~2-4 weeks
FAQ
AI Development Areas
AI Solution Development Stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1215
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    852
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1043
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823

GNN для оптимизации цепочки поставок

Цепочка поставок — граф: поставщики, заводы, склады, дистрибуторы, конечные точки. Традиционные методы OR (LP, MIP) работают с этим графом как с набором переменных, но теряют структурные паттерны и плохо переносятся на новые топологии сети без полной переоптимизации.

Что не решается классическими методами

Disruption propagation. Когда поставщик уровня 2 (tier-2) падает, линейная модель не видит каскадный эффект через tier-1 на конечный узел. GNN видит: информация о disruption распространяется через граф за O(depth) шагов message passing.

Demand forecasting в гетерогенной сети. SKU в одном регионе коррелирует с SKU в другом через общие сезонные и событийные факторы. Стандартный univariate ARIMA или даже LightGBM на SKU-уровне не захватывает эти кросс-нодовые зависимости.

Dynamic routing. Оптимальный маршрут зависит от текущего состояния всей сети — загрузки складов, доступности транспорта, задержек. Heuristic routing не адаптируется к реальному времени.

Архитектура GNN для supply chain

Гетерогенный граф сети

Узлы нескольких типов: Supplier, Plant, DC (distribution center), Store/Customer. Рёбра: transports, supplies, distributes. Используем Heterogeneous Graph Transformer (HGT) из PyTorch Geometric — он умеет различать типы узлов и рёбер через type-specific attention heads.

Каждый узел имеет feature vector: исторические inventory levels, capacity, lead time, cost, geographic coordinates. Рёбра: historical reliability, transport time, cost per unit.

Demand forecasting через Spatial-Temporal GNN

Формулировка: предсказать спрос в каждом узле на горизонте T шагов, учитывая пространственные зависимости (граф поставок) и временну́ю динамику.

Архитектура: STGNN = GCN для пространственных зависимостей + Temporal Convolution Network (TCN) или Transformer для временны́х. Альтернатива — Graph WaveNet (комбинирует adaptive adjacency matrix + dilated TCN).

На реальном датасете (розничная сеть, 1200 SKU, 85 магазинов) Graph WaveNet дал MAPE = 8.3% против 12.1% у независимых LightGBM на SKU-уровне. Особенно заметный прирост — на промо-периодах с cross-store spillover эффектами.

Reinforcement Learning для dynamic routing и inventory

Задача inventory optimization в multi-echelon сети — классический пример, где RL обходит OR-подходы при нестационарной среде.

Формулируем как Markov Decision Process: state = текущие inventory levels по всем узлам + demand signals; action = order quantities по всем рёбрам; reward = -(stockout cost + holding cost + transportation cost).

GNN-based policy network: state граф → GNN encoder → node/edge-level action head. Обучение через Proximal Policy Optimization (PPO) в симуляторе цепочки (custom среда на базе OR-Gym или симулятора AnyLogic).

Проблема: reward shaping критичен. Без правильного баланса штрафов за stockout vs. overstock агент быстро сходится к "заказывай много везде" — локальный минимум. Логарифмическая penalty за overstock + asymmetric stockout cost решают это лучше линейных весов.

На тестовом окружении (8-узловая 3-echelon сеть, 52 недели симуляции) RL+GNN снизил total supply chain cost на 17% vs. базовый (s, S)-policy при улучшении service level с 94.2% до 97.1%.

Disruption prediction

Отдельная задача — предсказать задержку или отказ конкретного поставщика/транспортного плеча за 2–4 недели. Фичи: external signals (weather API, port congestion indices, geopolitical risk scores через GDELT), внутренние данные (исторические on-time rates, lead time volatility).

GNN здесь агрегирует сигналы с соседних узлов: задержки у tier-2 поставщика — ранний сигнал для tier-1.

Binary classification: AUC-ROC 0.79–0.83 на задаче предсказания disruption > 5 дней. Это позволяет заранее активировать альтернативных поставщиков.

Стек

Компонент Инструменты
GNN PyTorch Geometric, DGL
STGNN Graph WaveNet, DCRNN
RL симулятор OR-Gym, кастомный Gym env
RL обучение Stable-Baselines3, RLlib
OR-solver Google OR-Tools, Gurobi
Pipeline Apache Airflow, dbt
Feature store Feast, Redis

Процесс

  1. Граф-аудит — инвентаризация узлов и рёбер реальной сети, источники данных
  2. Feature engineering — исторические временны́е ряды, external signals
  3. STGNN для forecasting — baseline MAPE, сравнение с ARIMA/LightGBM
  4. RL-симулятор — калибровка cost parameters под бизнес-логику
  5. Shadow deployment — параллельный прогон рекомендаций vs. текущей политики

MVP demand forecasting: 8–12 недель. Полная RL-система управления запасами: 5–10 месяцев.