Технологии имитационного моделирования в системе AnyLogic

В. С. Федотова

Технологии имитационного моделирования в системе AnyLogic

На современном этапе развития общества увеличивается интерес к инструментальным средствам имитационного моделирования. Это связано с существенным технологическим развитием систем моделирования, которые на сегодняшний день являются мощным аналитическим средством, вобравшим в себя весь арсенал новейших информационных технологий, включая развитые графические оболочки для целей конструирования моделей и интерпретации выходных результатов моделирования, мультимедийные средства и видео, поддерживающие анимацию в реальном масштабе времени, объектно-ориентированное программирование, Internet-решения и др.

Имитационное моделирование экономических процессов применяется в двух случаях:

1) для управления сложным бизнес-процессом, когда имитационная модель управляемого экономического объекта используется в качестве инструментального средства в контуре адаптивной системы управления, создаваемой на основе информационных технологий;

2) при проведении экспериментов с дискретно-непрерывными моделями сложных экономических объектов для получения и отслеживания их динамики в экстренных ситуациях, связанных с рисками, натурное моделирование которых нежелательно или невозможно.

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

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

В имитационном моделировании сформировались и наиболее часто применяются три основных подхода: дискретно-событийное моделирование, системная динамика и агентное моделирование (Румянцев М. Средства имитационного моделирования бизнеспроцессов // Корпоративные системы. 2007. № 2). Аппарат системной динамики обычно оперирует непрерывными во времени процес-

146

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

Построение сложных имитационных моделей невозможно без применения специализированных пакетов прикладных программ.

Большинство известных пакетов имитационного моделирования имеет функциональные ограничения: работают, например, только с одним определенным классом моделей.

Дискретно-событийное моделирование реализовано в системе GPSS, Extend, Arena, SimProcess, AutoMod, Enterprise Dynamics, FlexSim и др.

Методы системной динамики поддерживаются такими программами, как DYNAMO, Stella, Vensim, PowerSim, iThink, ModelMaker и др.

Данные подходы являются «традиционными» методами имитационного моделирования, появившимися в 50-60-х гг.

Относительно новым методом, получившим в последнее время широкое практическое распространение, является агентное моделирование. В отличие от системной динамики и дискретнособытийного моделирования, рассматривающих систему сверху вниз, работая на так называемом системном уровне, агентное моделирование предполагает подход снизу-вверх: создатель модели фокусируется на поведении индивидуальных объектов.

Агентное моделирование предполагает работу с децентрализованной моделью. В такой модели нет единой точки, определяющей поведение системы в целом. Агентная модель состоит из множества индивидуальных объектов (агентов) и их окружения. Поведение системы описывается на индивидуальном уровне; глобальное поведение рассматривается как результат совокупной деятельности агентов, каждый из которых действует сообразно собственному «уставу», существует в общей среде, взаимодействует со средой и другими агентами.

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

Рассматривая агентное моделирование, по-настоящему революционным шагом в развитии имитационного моделирования экономических процессов на современном этапе является внедрение в практику отечественного профессионального инструмента нового поколения построения имитационных моделей AnyLogic. Разработчик продукта - компания «Экс Джей Текнолоджис» (XJ Technologies), Санкт-Петербург (www.xjtek.ru).

AnyLogic представляет собой гибкий инструмент имитационного моделирования, который допускает множество путей для решения поставленной задачи. При разработке модели на AnyLogic исполь-

147

зуются концепции и средства из нескольких классических областей имитационного моделирования: динамических систем, дискретнособытийного моделирования, системной динамики, агентного моделирования. Достоинства данного программного пакета очевидны.

Система поддерживает графическую оболочку для конструирования моделей и интерпретации выходных результатов моделирования, мультимедийные средства, анимацию в реальном масштабе времени, объектно-ориентированное программирование, Internet-решения и др.

AnyLogic разработан на основе новых идей в области информационных технологий, теории параллельных взаимодействующих процессов и теории гибридных систем.

Упрощенная система построения сложных имитационных моделей, имеется возможность использования одного инструмента при изучении различных стилей моделирования.

Программный продукт AnyLogic основан на объектноориентированной концепции. Другой базовой концепцией является представление модели как набора взаимодействующих, параллельно функционирующих активностей. Активный объект в AnyLogic -это объект со своим функционированием, взаимодействующий с окружением. Он может включать в себя любое количество экземпляров других активных объектов.

Графическая среда моделирования поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов, оптимизацию параметров относительно некоторого критерия.

При построении модели используются средства визуальной разработки (введения состояний и переходов стейтчарта, введения пиктограмм переменных и т. п.), задания числовых значений параметров, аналитических записей соотношений переменных и аналитических записей условий наступления событий.

Основной технологией программирования в AnyLogic является визуальное программирование - построение с помощью графических объектов и пиктограмм иерархий структуры и поведения активных объектов.

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

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

148

Для реализации специальных вычислений и описания логики поведения объектов AnyLogic позволяет использовать мощный современный язык Java.

AnyLogic является надстройкой над языком Java - одним из самых мощных и в то же время самых простых современных объектно-ориентированных языков.

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

Однако, несмотря на то, что программирование в AnyLogic сведено к минимуму, разработчику модели необходимо иметь некоторое представление о языке Java (например, знать синтаксически правильные конструкции).

Основными средствами описания поведения объектов являются: переменные, события, диаграммы состояний. Переменные отражают изменяющиеся характеристики объекта. События могут наступать с заданным интервалом времени и выполнять заданное действие. Диаграммы состояний (или стейтчарты) позволяют визуально представить поведение объекта во времени под воздействием событий или условий, они состоят из графического изображения состояний и переходов между ними.

Любая сложная логика поведения объектов модели может быть выражена с помощью комбинации стейтчартов, дифференциальных и алгебраических уравнений, переменных, таймеров и программного кода Java.

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

Поведение всех объектов модели AnyLogic определяется в единицах условного логического времени - модельного времени, которое может изменяться либо непрерывно, если поведение объектов описывается дифференциальными уравнениям, либо дискретно, переключаясь от момента наступления одного события к моменту наступления следующего события, если в модели присутствуют только дискретные события.

Моменты наступления всех планируемых событий в дискретной модели исполнительная система хранит в так называемом календаре событий, выбирая оттуда наиболее раннее событие для выполнения связанных с ним действий.

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

149

были выражены в одних и тех же единицах. Интерпретация модели выполняется на компьютере.

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

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

AnyLogic имеет удобные средства представления функционирования моделируемой системы в живой форме динамической анимации, что позволяет «увидеть» поведение сложной системы. Визуализация процесса моделируемой системы позволяет проверить адекватность модели, выявить ошибки при задании логики.

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

Графические элементы, добавленные на анимацию, являются динамическими, так как все их параметры: видимость, цвет и т. п. можно сделать зависимыми от переменных и параметров модели, которые меняются со временем при выполнении модели.

С помощью совершенной технологии визуализации работающих моделей AnyLogic можно создавать интерактивные анимации произвольной сложности, связывая графические объекты во встроенном редакторе с объектами модели. Как и модель, анимация имеет иерархическую структуру, которая может динамически изменяться. В AnyLogic поддерживается как двумерная, так и трехмерная анимация.

Кроме того, в отличие от многих систем моделирования, позволяющих менять параметры модели только до запуска модели на выполнение, AnyLogic допускает внедрение пользователя в работу модели, изменяя параметры модели в процессе ее функционирования.

150

Несомненным достоинством AnyLogic является предоставленная пользователю возможность создания новых моделей за счет модификации уже готовых шаблонных моделей.

В настоящий момент существуют две редакции AnyLogic, отличающиеся функциональностью и стоимостью лицензии: Advanced и Professional.

AnyLogic Advanced включает основную функциональность AnyLogic, которая сделала AnyLogic таким популярным на рынке. В большинстве случаев эта функциональность является достаточной для оказания консалтинговых услуг в области имитационного моделирования.

AnyLogic Professional предоставляет дополнительные возможности, в основном ориентирован на профессионалов имитационного моделирования, знакомых с различными подходами моделирования и ищущими возможности улучшения их.

Итак, AnyLogic - среда имитационного моделирования нового поколения, которая допускает визуальное проектирование, предоставляет возможность создания гибридных моделей на основе моделей системной динамики, дискретно-событийных моделей и агентного подхода.

Дружественный пользовательский графический интерфейс, многочисленные средства поддержки разработки моделей в AnyLogic делают не только использование, но и создание компьютерных имитационных моделей в этой среде моделирования доступными даже для начинающих.

151