Как работают экспертные системы оптимизации цепочек поставок на практике


    Предположим, это ваша цепочка поставок. Сейчас экспертная система будет её оптимизировать.

    Вводная: представьте, что вы некая компания, которая производит планшеты и телефоны — майфуны и майпады. Сами вы сидите в Калифорнии, у вас есть несколько своих заводов на Востоке, плюс вы регулярно заказываете кучу всяких комплектующих у тех поставщиков, от которых это выгоднее везти. И ещё у вас есть своя розничная сеть магазинов, где продаются планшеты и телефоны.

    В топике — про то, как может работать с логистикой производитель техники, собирающий продукты из комплектующих со всего мира. Ну или розничная сеть, у которой тоже поставки не из тривиальных.

    Есть три проблемы:
    • Логистика у нас настолько сложная и разветвлённая, что сейчас над ней работают десятки людей: кто-то занимается распределением майфунов, кто-то раскидывает по магазинам обложки, а производственники просчитывают оптимальные пути сбора комплектующих на заводах со всего мира.
    • При этом хочется сэкономить на логистической схеме: вы подозреваете, что умный анализ всех потоков позволит принять решения, например, о месте открытия нового производства или организации дополнительного склада, что в итоге даст вам выгоду.
    • И при этом ваши люди постоянно ошибаются с отправлениями – а хочется сделать так, чтобы ничего и нигде не забывалось, всё работало как часы и товары приходили на точки вовремя. Это тоже экономия, но уже за счёт своевременности поставок и отсутствия ошибок.



    Базовая схема поставок на карте

    При этом предполагается, что вы уже делаете прогнозирование объёмов спроса и поставок (можно прочитать вот здесь) и прошли первый шаг внедрения экспертных IT-систем анализа данных по спросу и производству (тут). В прошлых топиках мы настроили предсказание спроса, и вы, благодаря своим закупщикам и маркетологам, точно знаете, сколько и какой продукции может потребоваться рынку в целом, и как всё это распределится по вашим магазинам.

    Вот что мы делаем в таких случаях


    1. Для начала – обозначаем на карте все источники продукции, склады и свои точки.
      Есть места, где продукция берётся (производство материалов и комплектующих), где продукция собирается (заводы, соединяющие алюминиевый корпус, микросхему, аккумулятор и камеру), где продукция складируется (распределительные узлы) и где товар продаётся (магазины). Получается сеть мест, включающая полную цепочку от производства кислоты для аккумулятора до продажи готового планшета клиенту.
    2. Теперь накладываем ограничения для каждой точки и каждого вида поставок.
      Например, завод А умеет отгружать коробки только партией в 20.000 штук, склад Б не работает по субботам, магазин В имеет вот такой рабочий график для приёма товара, на производстве Д в день можно собрать всего 500 планшетов, хранение в каждой точке стоит столько-то и так далее.
    3. Задаём для каждой точки условия поставок.
      Например, завод, производящий камеры для планшетов, имеет ступеньки цены в зависимости от объёма партии: 10.000 штук стоят N денег, 30.000 штук – 2N, а 100.000 штук – всего 5N. При этом его склад умеет отгружать не более 100 кубометров продукции за сутки. Ещё пример – бывает, что отгрузка на складе Е возможна только раз в две недели зато всем накопившимся сразу, а вот другой склад может отдавать продукцию каждый день, но надо посчитать оптимальный график для поставок.
    4. Теперь задаём транспортные данные.
      Отсюда ходят машины такой-то грузоподъёмности и с такой-то скоростью, вот отсюда можно отправить морем на судне, здесь есть вариант с железной дорогой и самолётом и так далее.
      Для каждого транспорта – возможное расписание, срок доставки товара, объём кузова и другие параметры, включая стоимость.
    5. Задаём рецепты сборки на промежуточных точках.
      Например, чтобы сделать планшет, нужно соединить кучу микросхем, аккумулятор, камеру, экран и так далее.
      Все эти части могут производиться на разных заводах: позже система будет просчитывать, откуда оптимальнее поставлять и как делать заказы.
    6. Поверх этого всего выгружаются календари различных внешних факторов, в частности, национальных праздников стран.




    7. Система находит оптимальные источники поставок, производства и маршруты доставки с учетом таких критериев оптимизации, как минимизация совокупных затрат, либо максимизация прибыли.

    8. В итоге получается совокупность данных о том, как работает каждая точка в нашей сети поставок и выполняются расчёты оптимального расписания заказов и перемещений. При этом система считает все перемещения с точностью до минуты, что часто оказывается излишним — поэтому поверх всего этого накладывается фильтр, дающий понять, что оперировать нужно немного в другой плоскости точности, более применимой к реальности.


    Оптимизированная схема

    Этим решается три важных задачи


    • Во-первых, собирается план по тому, что, когда и куда должно двигаться и когда что запускается в продажу.
    • Во-вторых, вы можете включать в сеть новые точки (например, новый удалённый завод, предлагающий производство дешевле, новый магазин или новый промежуточный склад) чтобы понять, как это будет менять стоимость всех операций и сроки.
    • И, в-третьих, вы можете подгрузить в этот логистический модуль данные прогнозирования объёма спроса своей розничной сети (или любые другие входные данные) – это определит план по производству и поможет вам понять, как в какой период точно работать. Например, может оказаться, что дешевле останавливать один из заводов и возить всё через центральный склад полсезона, ещё три месяца равным образом нагружать оба завода и возить с одного из них напрямую в какое-то место, а в конце сезона подключать ещё и третье производство для новогоднего пика и возить оттуда товары самолётом.


    Итоговый план содержит информацию о нарушении «мягких» ограничений: например, система может выявить «узкое» место производственного процесса или рекомендовать закупать в меньшем объеме (будут штрафы, но они обеспечат меньший убыток, нежели длительное хранение товара), фрахтовать самолёт не в стандартном расписании и так далее.

    Эта же система используется для прогнозирования оптимальной дистрибуции ограниченного товара. Представим, что на одном из наших производств произошло ЧП типа землетрясения, и до конца года мы получим только 70% от ожидаемого количества планшетов. Нужно понять как их оптимально раскидать между своими магазинами и сколько отдать другим сетям: можно задать вручную ограничения вроде «вот им нужно грузить не меньше 1.000 штук», «у этих в витрине 30 штук, поэтому всегда должно быть не меньше» и «вот это приоритетный магазин», а затем получить прогноз того, куда и сколько стоит отправить с учётом всех логистических факторов, заданных ограничений и ожидаемой прибыли.


    Сборочные циклы

    Резюме


    Система умеет прогнозировать спрос, выстраивать оптимальную цепочку распределения продукции, помогает принимать стратегические решения (там есть ещё ряд модулей под это), позволяет просчитывать сценарии появления новых точек, маршрутов и так далее, оценивает каждое изменение внешних факторов и даёт возможность строить маркетинговые прогнозы.

    Если посмотреть на эту систему шире, то становится понятно, что она автоматизирует все трудоёмкие и сложные для аналитики процессы, выделяет задачи с высочайшими приоритетами или с невозможностью алгоритмической обработки и задаёт по ним вопросы людям. На самом деле шутка, что закупщики и логисты – это биомодули данной системы, вполне правдива. Экспертная система действительно работает в своего рода симбиозе с человеком: обрабатывает большое количество данных и корректно строит все планы (человек не способен на такую точность и производительность), но при этом выделяет сомнительные решения и даёт их на обработку наружу, где есть «биосистема», которая в курсе всего того, что нельзя предсказать впрямую.

    Итог – получается инструмент, который экономит очень много средств, даёт контроль над происходящим в логистике и позволяет прозрачно принимать решения.

    Обычный результат в сочетании с модулем прогнозирования спроса выглядит вот так:
    • Точность прогноза растёт на 15-20%.
    • Серьёзно снижается трудоёмкость процесса.
    • Складские запасы уменьшаются на 10-15%.
    • Уровень обслуживания (доступность товара) растёт на 5-10%.
    • Уменьшается количество ошибок, вызванных человеческим фактором.
    • Транспортные издержки уменьшаются на 10-30%.
    • Появляется возможность работать в едином информационном пространстве с одними и теми же исходными данными.
    • Руководитель контролирует и видит каждый поток: это прозрачность и управляемость структуры.

    Готов ответить на вопросы в комментариях. Если вас нет на Хабре, или вы хотите обсудить всё в почте, пишите на eneveykin@croc.ru. Если нужна стоимость внедрения для вашего ритейла или производства, ответит Алексей Исаев, alisaev@croc.ru.
    КРОК
    655.86
    IT-компания
    Share post

    Comments 12

      +2
      Итоговая задача сводится к линейному программированию?
        +1
        Итоговая задача — вполне себе транспортная. Хотя рекомендации по изменению ограничений — это что-то ещё, насколько понимаю. :)
          +1
          Да, итоговая задача — по сути, решение системы линейных уравнений. Ценность системы в сборке всего в один модуль, возможности прогнозирования и планирования, плюс связке с вашими источниками данных, то есть плотной интеграции.
            +1
            Мне просто интересно, как люди решают практические задачи линейного программирования. Вы используете симплекс-метод или что-нибудь самописное-эвристическое?

            Я недавно прочитал, что в SVM, к примеру, используется покоординатный спуск. При этом две переменные, по которым будет производится спуск, определяются из значения градиента целевой квадратичной функции.
          0
          Как формализуются правила реального мира вроде «у этих в витрине 30 штук, поэтому всегда должно быть не меньше»
          Это некий фиксированный набор? Функции (скажем java или .net) на объектах / скриптовый язык?
            +2
            Не могли бы уточнить? Не понял из текста.

            Вы предлагаете просто свои услуги по «оптимизации» (улучшению) работы цепочки поставок в виде схем, графиков и таблиц.
            Либо есть конкретный програмный продукт, с помощью которого можно все это строить?

              +1
              КРОК — интегратор, мы можем внедрить конкретный продукт, который это делает. В предыдущих постах мы начали про JDA, и поэтому здесь скриншоты из соответствующего модуля. В целом, вендоров несколько, и у каждого есть свой вариант решения. К примеру, эти же системы используются и для других логистических задач вроде распределения денег в банкоматах.
              • UFO just landed and posted this here
                  +1
                  как обычно, в цене внедрения и его неочевидном успехе :)
              +1
              Просто долго занимался в университете моделированием цепей. Сейчас работаю на реальном производсте, где о таких улучшениях еще никто не думает, но есть личный интерес.

              По делу:
              если решать небольшую задачку — можно обойтись такими аналитическими решениями
              если серьезные цепи поставок — то уже без «сбоев» и «колебаний» (=вероятностные распределения) не обойтись. Для этих целей уже несколько лет используется имитационное моделирование.

              Вопрос, какой ценовой диапозон ваших решений (для описанной в посте задаче)?
                0
                Как уже правильно заметили, для реального производства необходимо учитывать «сбои», «колебания» и чрезвычайные ситуации. Т.е. система должна уметь перестраивать расписание с минимальными изменениями, а также учитывать время, необходимое на согласование и перенастройку процесса.
                У Вас это учитывается, или предполагается ручное урегулирование процесса в подобной ситуации (т.е. выполняется только моделирование самой логистики)?
                  0
                  Данный инструмент не mes система и уровень его планирования месяца и недели, поэтому предусмотреть сбой, который может произойти через месяц очень сложно. Однако предусмотреть запланированные ТО и ремонты оборудования при планировании вполне возможно. Если же ЧС произошла и мы понимаем, сколько уйдет времени на восстановление, то это можно смоделировать. Параметры, связанные с согласованием и перенастройкой в системе предусмотрены.

                Only users with full accounts can post comments. Log in, please.