Перевод статьи Агустина Альбинати, специалиста по обработке и анализу данных в Accenture, об интеграции платформы Pathmind с моделью AnyLogic для обучения алгоритмов ИИ. В AnyLogic для этого есть отдельный эксперимент – узнайте, как он работает. Оригинал статьи на английском вы можете найти в нашем блоге.
Чтобы оставаться конкурентноспособными и прибыльными на рынке, компании внедряют в свои процессы новые технологии. Со временем появляются новые инструменты, которые упрощают внедрение таких технологий.
Так, компания Accenture решила улучшить процесс принятия решений в логистике с помощью имитационного моделирования и ИИ. Специалисты использовали модель планирования доставки (доступна в AnyLogic Cloud): в ней распределительные центры отправляют заводам заказы на некоторое количество товаров, те их выполняют и развозят товары с помощью грузовиков. Далее в эту модель внедрили алгоритмы ИИ и посмотрели, как изменятся результаты моделирования.
Прочитайте подробнее про модель и попробуйте сами повторить шаги специалистов Accenture по инструкции в конце статьи.
Возможности платформы Pathmind
Чтобы достичь цели, Accenture обратилась к компании Pathmind, которая помогает интегрировать современные алгоритмы обучения с подкреплением с имитационными моделями. Во время обучения алгоритмам ИИ нужно определять, какие действия и решения приводят к наилучшим результатам. Для этого им нужна виртуальная среда в виде имитационной модели.
Имитационное моделирование отлично подходит для обучения ИИ-агентов, так как затраты на обучение в виртуальной среде намного ниже, чем в реальной жизни. Кроме того, модель можно многократно запускать с разными условиями, чтобы, например, обучать алгоритмы в течение нескольких тысяч виртуальных лет (в реальном времени это может соответствовать нескольким часам работы модели).
Модель с обученным ИИ-агентом
Для обучения с подкреплением нужны три составляющие: среда, действия и функция вознаграждения. Давайте посмотрим на эти составляющие на примере нашей модели.
Среда
То, что видит обучающийся ИИ-агент. Он будет исследовать переменные этой среды, выбирая, какое действие совершить. Конечная цель обучения в том, чтобы агент смог работать в реальной среде, поэтому важно создать имитационную модель, максимально приближенную к реальности.
В нашем случае мы решили предоставить ИИ-агенту данные:
- об актуальном объеме производственных запасов на каждом заводе;
- о количестве всех транспортных средств на каждом заводе;
- о количестве свободных транспортных средств на каждом заводе;
- о количестве заказанных товаров. Если от распределительного центра не поступило заказа, их количество равно нулю.
Действия
У ИИ-агента есть пространство (совокупность) действий, которые он может совершать. В данном случае пространство действий задано вектором размером 15x3. Таким образом, пятнадцать распределительных центров создают заказы, а ИИ-агент решает, какой из трех заводов должен выполнить каждый заказ. Если от какого-то из распределительных центров не было заказа, то действие для него не выполняется.
Функция вознаграждения
С ее помощью среда сообщает ИИ-агенту, правильные ли действия он совершает. При обучении агент будет стремиться к большему вознаграждению. Мы использовали простую функцию:
reward = before.avgWaitingTime – after.AvgWaitingTime
Другими словами, мы пытались минимизировать время ожидания: если оно увеличивается, значение функции уменьшается, и агент понимает, что работает плохо.
Результаты

Результаты моделирования оказались очень хорошими. Используя обучение с подкреплением, мы сократили время ожидания примерно в четыре раза по сравнению с эвристическим алгоритмом. По эвристическому алгоритму заказ из распределительного центра поступал на ближайший завод, независимо от объема производственных запасов последнего.
Обучение с подкреплением оказалось эффективнее, потому что ИИ-агент учитывал загрузку заводов и научился динамически распределять заказы. Когда ближайший к распределительному центру завод достигал максимальной загрузки, ИИ-агент перенаправлял заказы на другие заводы. Так загрузка производственных мощностей приводилась в соответствие со спросом.
Другие алгоритмы, использованные при работе с моделью, не умели динамически распределять заказы, поэтому они не смогли адаптироваться к резким изменениям спроса.
Попробуйте сами
Попробуйте внедрить обученного ИИ-агента в модель планирования доставки, следуя инструкции (на англ.), и сравните результаты работы разных алгоритмов.
Вы можете найти эту модель среди примеров в AnyLogic или в AnyLogic Cloud.