Привет, Хабр!
Недавно CIO «Магнита» Валентин Щитов опубликовал статью https://habr.com/ru/companies/magnit/articles/570992/ о том, как устроено IT в ритейл-гиганте. Он пишет про 3500 айтишников, Delphi из 90-х и базу данных с ироничным названием БДСМ («База Данных Сети Магнит»).
Валентин ставит амбициозную цель: сократить стоимость владения IT (TCO) на 200 млн рублей. Цифра солидная, но пока 3500 специалистов «наводят порядок в архитектуре», в самой логистике «Магнита» ежегодно сгорает 2,5 миллиарда рублей. Это те деньги, которые компания теряет на неэффективной укладке товара в фуры.
Я пришел к Валентину в комментарии с готовым решением. Итог? Игнор и минус в мой рейтинг на Хабре. Что ж, давайте считать публично.
«Накопленная сложность» vs Реальная физика
Валентин пишет: «УТП контролирует более 10 000 единиц техники... система планирует маршруты и вряд ли имеет аналоги».
Звучит масштабно, но планирование маршрута «из точки А в точку Б» — это вчерашний день. Современный ритейл — это Multi-drop (LIFO). Фура идет по маршруту А -> C -> Г -> Д.
LIFO (Last In — First Out): Товар для первой точки должен быть у двери, для последней — у кабины.
Развесовка и Крен: Выгрузили 5 паллет на первой точке — центр тяжести сместился. Осевая нагрузка «поплыла». Результат — штрафы до 500к на весах или «бой» товара из-за крена на повороте.
Валентин говорит: «Мы смело поворачиваем наш грузовик, почти не сбавляя скорости». Валентин, при таком повороте ваш груз завалится, если он уложен без учета динамического центра тяжести. Мой алгоритм считает это превентивно.
Технологический стек: 500 000 айтемов в сек
Пока «Магнит» пересматривает техрадары с Kotlin, Go и Kubernetes, мой движок на обычном Питоне выдает 500 000 операций упаковки в секунду.
Для фуры/помещения до 20 метров мгновенный расчет можно увидеть в действующем боте.
Если нужно обсчитать пространство в 200 метров (палуба или склад), алгоритм сохраняет скорость, требуя 35 Гб оперативной памяти на инициализацию (при сложных габаритах грузов и помещения).
Апи по запросу (сейчас защищено ключем)
Экономика вопроса:В сети 45 РЦ и тысячи фур. Даже если мой алгоритм даст всего +2% к плотности загрузки и -3% к оптимизации маршрута за счет мгновенного перебора комбинаций LIFO — это 2,57 млрд рублей чистой экономии в год. Это в 12 раз перекрывает ваш план по снижению TCO!
Публичный вызов: Эксперимент «225 машин»
План простой: берем все ваши 45 РЦ. В каждом выделяем по 5 машин. Итого 225 фур. Планируем их загрузку моим движком и сравниваем с вашими текущими показателями эффективности.
Что мне нужно от «Магнита»:Точные габариты кузовов, весовые ограничения по осям и формализованные правила товарного соседства ну дополнительные параметры, если есть.
Мое обязательство:Как только я получу эти вводные, мне понадобится одна неделя, чтобы выдать вам алгоритм под Магнит. Пока ваши архитекторы рисуют паспорта систем в TOGAF, я покажу, как математика экономит реальные деньги «здесь и сейчас».
Мяч на стороне Magnit Tech. 168 часов против 2,5 миллиардов потенциальной экономии.
Результаты расставят всё по местам:
Profit: Мы экономим миллиарды на топливе и штрафах. Математика победила корпоративную инерцию.
Loss: Ваш Delphi-код оказался эффективнее моего алгоритма.
Dirty Data (разнонаправленный результат): Мы найдем «косяки» в процедуре тестирования.
Попробовать в Telegram
Для тех, кто хочет пощупать движок. Создан @routeload_bot. Нажав /demo получите тестовый джейсон, и упакованную фуру с учетом LIFO, веса и крена + визуализацию. Пробросьте исправленный под ваши данные JSON (текстом или файлом) и получите упакованный транспорт (помещение). Это работает уже сейчас, пока гиганты «обновляют архитектуру».


При дальнейшем пробросе получите такого же формата вывод: Открыть 3Д схему и Посмотреть джейсон. У каждого пользователя по 300 попыток.
Вместо эпилога: Ниже — скриншот моего комментария CIO «Магнита», который остался без ответа. Видимо, 2,5 миллиарда прибыли — слишком мелкий аргумент, когда на кону «разумная стандартизация».

Хабр, вопрос к вам: стоит ли «умная архитектура» потерянных миллиардов, или пора признать, что один быстрый алгоритм стоит целого штата архитекторов в Сколково?
