Comments 30
Спасибо большое! Очень интересная статья!) Классная шутка про компактность
Вопрос: автоматизация складов довольно старая задача в бизнесе...
Может быть есть устоявшиеся русскоязычные термины для Батчинга, стаффинга и т. П.?
В научных статьях об алгоритмах используются термины staffing, batching, slotting, но действительно есть аналоги по смыслу задачи: батчинг — пакетная/волновая обработка заказов, стаффинг — распределение персонала, слоттинг — оптимизация размещения
В научных статьях на русском используются? В НИРах? Или в иностранных?
В международных статьях, иногда и с русскоязычными авторами, хороший ресурс — google scoolar
Полезно)
Интересная статья. Возник только 1 вопрос: вообще говоря есть ли успешный опыт применения reinforcement learning в складских процессах, или классические модели пока все же эффективнее?
Пока классические методы эффективнее, хотя есть частичное применение RL-подходов. Например, для динамической настройки параметров классических алгоритмов. Основные сложности активного применения RL в вычислительной сложности и необходимости написания среды, важности интерпретируемости и в целом процессы достаточно стабильны, поэтому явной потребности в RL нет.
Очень интересно, спасибо за статью! -43 % шкафов звучит очень круто
Закину мысль про оптимизацию. Конечно, модели это интересно, но вот что бы я пробовал это сразу физической моделью проверять гипотезу. Например на unity разрабы стоят не дорого) Итак мысль: вот до появления этих ваших perplexity люди искали информацию в браузерах где есть поисковая строка и куча ссылок. Проверка насколько ресурс подходит происходит путем перебора (хотя я не знаю как это работает сейчас, но раньше точно так работало). Но ведь перебирать все сайты очень неэффективно, к тому же как понять кто должен быть в выдаче первым. Делается просто, сайты которые просмотрели попадают в начало стека и получается сортируются таким образом что чем чаще к нему обращаются тем вероятнее сайт попадет на первую страницу и поиск завершиться. Теперь попробуем натянуть сову на глобус)) мы же не можем на складе целые секции двигать. Представим что нам приходят заказы и человек (робот) идёт по коридору за нужными коробочками, получиться места куда этот человек ходит чаще так что он просто должен до получения товара идти туда. А как быть с размещением нового товара. Так перед тем как его размещать нужно смоделировать спрос. А теперь представим что у нас новый склад и спрос на все товары известен, тогда получается что просто популярное клади ближе а не популярное дальше. Ладно можно коэффициент популярности подставить в формулу с весом для определения расстояния. В общем задача эффективного склада сводиться к школьной задаче, и по большей части переходит в другую плоскость. Оценить спрос, поддерживать спрос пока товар не закончиться. Можно отчитаться о хорошо проделанной работе и отправить новую тачку в другой отдел))
Пс. Никто не говорил что я так делаю или кого то призываю
ППС. Это все равно может быть эффективным решением
Ппс. Статья заставила подумать) Спасибо!
Классная статья! Хотя я и достаточно далёк от математики, но всегда приятно расширить свой кругозор)
Интересная статья, благодарю)
Интересно, а специализированные/гибридные алгоритмы пытаетесь делать? Какие-нибудь black/grey-box подходы, мета/мат-эвристики? По статье выглядит как-будто в большинстве случаев записали модель, засунули в условный Or-tools и получили решение. Но из моей практики тот же Or-tools довольно плохо справляется с большими задачами. И зачастую можно придумать что-то свое эвристическое, которое хоть и не гарантирует оптимальность, но за разумное время решение получает лучше. Хотя такой подход и сложнее в реализации. Или вычислительного времени и так хватает?
Способ решения всегда зависит от задачи. :) Где-то даем начальное решение, где-то сужаем пространство вариантов перед моделью, например, с помощью кластеризации шкафов. Очень редко когда с учетом масштабов складов можно сразу запустить солвер на неподготовленных данных и получить хорошее решение за разумное время.
Спасибо большое за такой подробный разбор!
Анна, а подскажите какие курсы ведете на ФКН, если не секрет?
Сейчас преподаю машинное обучение в Центре непрерывного образования ФКН. Это дополнительное профессиональное образование (ДПО) для взрослых, желающих получить навыки в другой специальности. Я веду на годовых программах - до моего курса по ML студенты вспоминают статистику, алгоритмы, python, а после моего курса у них идет A/B-тестирование, глубинное машинное обучение и т.д.
Спасибо, узнал для себя что-то новое, например про метод switchback)
Невероятный масштаб! По мне очень круто. Есть над чем задуматься. 🔥
Интересная статья, с теорией и практическими примерами! А сезонная оборачиваемость товаров закладывается в батчинг? Например, если через месяц будет 23 февраля и резко вырастет спрос на носки - можно их заранее переместить чтобы были доступны? Или это другой тип оптимизационной задачи?
Спасибо. Батчинг уже принимает на вход текущий сток и беклог заказов и в моменте решает, как именно подбирать товары. Но действительно можно заранее помогать батчингу с помощью более оптимального размещения товаров. Размещать частотные сезонные товары ближе к точкам сброса (место на конвейере, где заканчивается задание на подбор) - это один из режимов в слоттинге - оптимизационной модели размещения.
Правильный бэтчинг - товар еще не произведен, но уже известно куда он поедет. Пришел товар на склад - кто-то промахался с оптимизацией.
Решать, куда поедет товар - это не задача батчинга. Направления постингов (куда должна поехать посылка) подаются батчингу на вход вместе с другими характеристиками постингов и стоком (где что лежит на складе), а батчинг формирует задания на подбор на складе. В одном из вариантов батчи формируются так, чтобы в них было меньше направлений - чтобы потом минимизировать нагрузку на сортировку.
Глобально есть разные схемы работы - FBO, FBS, rFBS. Про это можно почитать в бизнес-статьях :)
Хорошая статья, теперь хотелось бы увидеть цикл статей, где по каждому направлению более детально рассказывается об особенностях моделирования
чтобы в ячейках лежало как можно больше одинаковых товаров
Одинаковый товар в ячейках - прямой путь к пересорту, одинаковый товар легче перепутать, особенно если он отличается незначительной деталью.
Если отличается - то уже не одинаковый :) Имеются в виду одинаковые SKU с точностью до сроков годности.
Очень толково! Спасибо. Было бы интересно в новых статьях побольше про проверку гипотез и метрики, которые можно использовать именно для складских процессов.
Математика на складе. Как оптимизировать хаос