Разработка имитационных моделей с помощью AnyLogic
Автор: Е. В. Хроль, А. Г. Уварова, А. В. Кужильный
Журнал: Современные инновации, системы и технологии.
Рубрика: Прикладные вопросы и задачи применения систем и технологий
Статья в выпуске: 3 (4), 2023 года.
Бесплатный доступ
Цель статьи заключается в реализации имитационного моделирования с применением программного обеспечения AnyLogic. Для достижения поставленной цели были изучены подходы имитационного моделирования: системная динамика, дискретно-событийное и агентное моделирование, инструмент AnyLogic и его возможности. Научная новизна работы заключается в применении совокупности подходов моделирования (многоподходное моделирование), отраслевых библиотек и оптимизационного эксперимента, предлагаемых AnyLogic. В результате работы смоделированы 2 системы: модель диффузии бассов - с применением элементов системной динамики и агентного моделирования; модель аэропорта - с использованием отраслевых библиотек (дискретно-событийное моделирование) и агентного моделирования. Продемонстрированы визуализации поведения системы в 2D и 3D, ее анализ и оптимизация с помощью экспериментов, предоставляемых данной средой. Итогом проведенной работы стало заключение, что AnyLogic представляет из себя удобную единую систему для имитационного моделирования за счет объединения в своей библиотеки элементов разных подходов и узконаправленных элементов, применение которых в совокупности позволяет максимально приближенно описать систему, а также наличия дополнительных средств по ее анализу и оптимизации. Что подходит для использования в любой организации, исключая потребность в применении нескольких узконаправленных инструментов.
Имитационное моделирование, компьютерное моделирование, многоподходное моделирование, AnyLogic, инструмент имитационного моделирования
Короткий адрес: https://sciup.org/14128898
IDR: 14128898 | DOI: 10.47813/2782-2818-2023-3-4-0119-0130
Текст статьи Разработка имитационных моделей с помощью AnyLogic
DOI:
В современном мире имитационное моделирование является востребованным методом, широко применяясь в разных областях бизнеса и науки, так как позволяет на старте проекта проанализировать его, оценить возможные риски и потери. Главный плюс – избежать потерь в реальном мире, например, экономических, человеческих, возможность легко отменить проект, так как он не показал своей эффективности, без убытков, также является преимуществом.
Отличительной особенностью данной статьи пред другими является демонстрация объединения разных подходов моделирования для симуляции поведения одной системы. А также демонстрация применения отраслевых библиотек и оптимизационных экспериментов, предлагающихся AnyLogic.
Существуют различные средства, с помощью которых это возможно реализовать, однако они предоставляют возможность моделирования узконаправленной системы. Хоть это и облегчает работу, но заставляет иметь сразу несколько таких инструментов в использовании под конкретные нужды, что достаточно затратно и неудобно. AnyLogic в свою очередь представляет собой программное обеспечение под широкий круг задач, объединяя в своей библиотеке различные подходы и даже конкретные отрасли для моделирования.
Так, целью данной работы является реализация имитационного моделирования с применением средства AnyLogic. Для достижения поставленной цели выделены задачи:
-
• рассмотрение подходов имитационного моделирования;
-
• обзор инструментария AnyLogic;
-
• моделирование работы системы в комбинации подходов;
-
• моделирование работы системы с применением отраслевой библиотеки.
Сведения из теории
Имитационное моделирование является одним из методов построения и изучения процессов реального мира на основе моделей, содержащих важные для изучения характеристики объекта. Оно основано на применении компьютерных технологий, использующих алгоритмы и уравнения. Отличие от других компьютерных методов моделирования (Excel, линейное программирование) заключается в том, что итоговая модель динамически развивается на основе логики, перенесенной из реального мира. Появляется возможность анализа динамических процессов и внесения корректировок в них в ходе работы для получения наилучшего результата или решения [1].
Имитационное моделирование позволяет управлять неопределенностью во времени или результатах, если включить в модель случайные величины, например, количество покупателей в разные часы. Такая случайность повышает и точность разрабатываемых моделей, лучшее отражение действительности, так как мы способны задействовать гораздо больше деталей. Важным качеством такого подхода является наглядность, доступность для понимания и проверки. Этот метод дает возможность наблюдать за поведением системы динамически, в действии, просматривая 2D или 3D анимацию [1].
У такого моделирования есть несколько подходов: системная динамика, дискретно-событийное и агентное моделирование.
Системная динамика не задействует мелкие детали, уровень абстракции при таком подходе высок. С помощью него можно получить общее представление о системе, применяя взаимозависимости между накопителями (люди, деньги, знания). Данный подход отвечает на задачи стратегического планирования [2].
Большинство процессов возможно описать как алгоритм, что и позволяет дискретно-событийное моделирование. Оно относится к среднему уровню абстракции и является самым простым подходом, так как здесь поведение системы описывается как последовательность наступающих друг за другом событий, действий [2].
Агентное моделирование предполагает большее внимание к деталям, но используется на разных уровнях абстракции. Здесь акцент внимания на индивидуальных участниках системы, этим оно отличается и от двух предыдущих. Под агентом понимается объекты, имеющие значения для исследуемой системы – люди, автомобили, продукты, компании. Индивидуальные действия каждого агента образуют поведение целой системы [2].
Смесь нескольких подходов в одном дает такой вид как многоподходное моделирование. Цель такого подхода - перекрыть недостатки одних подходов преимуществами других и достичь максимальной схожести с реальным объектом [3, 4].
Обзор инструмента AnyLogic
AnyLogic – единственное программное обеспечение, которое позволяет применять многоподходное моделирование, так и разные подходы по отдельности. Благодаря данному средству теряется потребность в использовании нескольких инструментов, использования обходных методов и открывается возможность моделирования широкого круга абсолютно разных систем. Помимо этого, здесь же представлены различные эксперименты по анализу и оптимизации моделируемого объекта.
Данное приложение представляет из себя визуальную drag-and-drop среду, пользователю достаточно перетащить мышкой элемент из программной библиотеки в рабочее пространство своего проекта [5-7]. Каждому компоненту можно задать свойства, необходимые для приближенного описания поведения системы. Интерфейс AnyLogic представлен на рисунке ниже.
Также существует возможность более детальной проработки модели с помощью программируемого кода на высокоуровневом языке Java, на котором и написано само приложение. С ним возможно создать и различные эксперименты под специфические нужды, объекты и библиотеки [5].
Данный продукт предлагает полный спектр облачных технологий, что открывает возможность работы с любого устройства, совместной работы над одним проектом с другими пользователями, предоставление клиентам онлайн-аналитики, использовать мощности со стороны сервера для реализации сложных экспериментов [6].

Рисунок 1. Интерфейс программы AnyLogic.
Figure 1. AnyLogic program Interface.
Основать свою модель на реальных пространственных данных помогает возможность интеграции с ГИС-картами, находить нужные объекты (города, улицы, здания) при разработке и даже при запуске модели [5].
РЕЗУЛЬТАТЫ И ОБСУЖДЕНИЕ
Рассмотрим практический пример многоподходного моделирования в среде AnyLogic. Симулируемая ситуация – жизненный цикл продукта на рынке (модель диффузии басов). Основная логика системы выполнена с использованием системной динамики. На модели представлено два накопителя – потенциальные покупатели и те, кто приобрели товар. Две прямые стрелки показывают переходы между двумя накопителями:
-
• вероятность покупки, на которую влияют такие факторы как насыщение рынка, отзывы покупателей, реклама;
-
• вероятность отказа от товара, на который влияет вероятность покупки и срок годности продукта.
Также присутствуют элементы агентного моделирования такие как: диаграмма состояний, события, переменные и функций. Они отражают логику рекламной компании продукта.

Рисунок 2. Модель диффузии бассов.
Figure 2. The bass diffusion model.
При запуске модели можно увидеть, каким образом будет происходить принятие покупателями нового на рынке продукта. Пониманию динамики способствуют также графики, расположенные справа. Как можно заметить, покупка и отказ от товара всегда равны.

Рисунок 3. Симуляция поведения системы.
Figure 3. Simulation of system behavior.
Если возникает потребность в выборе правильной стратегии применения рекламы продукта, то в этом может помочь эксперимент «Оптимизация». Желая по прошествии полутора лет достигнуть 80 тысяч приобретений товара, необходимо вычислить какие затраты на рекламу (MonthlyExpenditures) и промежутки между ее наличием (SwitchTime) будут наилучшими. Зададим количество итераций 500 с минимизацией целевой функции и запустим эксперимент. По завершении, будут показаны лучшие значения функции, параметров интересующих нас факторов, которые выделены синим, и итерация, на которой они были найдены. С помощью кнопки «Copy best» можно перенести данные значения в свою модель.

Рисунок 4. Процесс оптимизации параметров модели.
Figure 4. The process of optimizing model parameters.
AnyLogic предлагает не только библиотеки для классических подходов имитационного моделирования, но и отраслевых нужд, что значительно упрощает работу. Доступны такие библиотеки как:
-
• пешеходная – организация движения объектов по правилам;
-
• дорожного движения – моделирование транспортных потоков в соответствии с правилами дорожного движения;
-
• железнодорожная;
-
• моделирования потоков – имитация процессов перевозки сыпучих материалов, жидкостей и газа (трубопроводы, добыча и транспортировка);
-
• производственных систем – копирование промышленных процессов.
Рассмотрим применение одной из таких библиотек на примере следующей модели. В нижней части находится то, что будет отображаться при запуске модели на картине, изображающей здание аэропорта есть различные разметки (стен, зона вылета, зоны движения к проверяющим, сканерам и «гейтам», появления и исчезновения пассажиров), а также часы, отражающие дату и время модели. Выше располагается сам процесс моделирования с применением пешеходной библиотеки (дискретнособытийный подход). Эта схема отражает поведение пассажиров в аэропорту по определенному алгоритму: прибытие, поход к проверяющему или к сканеру, ожидание начала посадки, выбор маршрута к «гейту» в зависимости от купленного билета и выход к самолету. Ниже расположены элементы агентного моделирования, параметры, события и функции, которые влияют на переход системы из одного состояния в другое (подготовка к посадке, начало посадки, распределение пассажиров по 2 путям к «гейтам», удаление рейсов из списка flights, который получается с внешнего файла).

Рисунок 5. Модель аэропорта.
-
Figure 5. Airport model.
Задав логику поведения системы, можно приступить к главному преимуществу имитационного моделирования – визуализации. Проигрывая ситуацию в аэропорту, мы можем увидеть динамически появляющихся, передвигающихся и исчезающих из-за посадки людей.

Рисунок 6. Воспроизведение системы в 2D.
-
Figure 6. Reproduction of the system in 2D.
Для более интересного наблюдения за системой предусмотрена камера 3D, позволяющая передвигаться по моделируемой ситуации и наблюдать за ней изнутри.

Рисунок 7. Воспроизведение системы в 3D.
-
Figure 7. 3D reproduction of the system.
ЗАКЛЮЧЕНИЕ
Подводя итог, отметим, что с применением такого инструмента, как AnyLogic, имитационное моделирование облегчается за счет возможности применения различных подходов как по отдельности, так и в совокупности, наличия встроенных отраслевых библиотек. Также благодаря многоподходному моделированию сама симуляция становится на много детальнее, так как появляется возможность ее разностороннего описания. Наличие экспериментов и методов оптимизации системы позволяют проанализировать и улучшить работу системы, принять решение, основываясь на фактах. Все это позволяет использовать AnyLogic как единую систему для решения широкого спектра потребностей одной организации.