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 |
Процесс
- Граф-аудит — инвентаризация узлов и рёбер реальной сети, источники данных
- Feature engineering — исторические временны́е ряды, external signals
- STGNN для forecasting — baseline MAPE, сравнение с ARIMA/LightGBM
- RL-симулятор — калибровка cost parameters под бизнес-логику
- Shadow deployment — параллельный прогон рекомендаций vs. текущей политики
MVP demand forecasting: 8–12 недель. Полная RL-система управления запасами: 5–10 месяцев.







