Профессиональный инструмент имитационного моделирования AnyLogic

А. В. Борщев, Ю. Г. Карпов (Санкт-Петербург)
 

 

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

Рассмотрим две различные задачи. Первая – это исследование центра обработки телефонных вызовов (call center), другая – анализ системы противовоздушной обороны. Первая система – это типичная СМО, анализ которой может быть выполнен с помощью инструментов для дискретно-событийного моделирования. Вторая – это типичная задача построения многоагентной системы, основанной на теории гибридных автоматов. Ни в одном из современных пакетов моделирования не могут быть найдены простые и естественные средства для разработки этх разнородных моделей.

На рис. 1, 2 представлены скриншоты этих моделей, разработанные с помощью нового профессионального инструмента моделирования AnyLogic [1]. Этот инструмент был разработан недавно на основе удачно согласованных революционных концепций, изобретенных в последнее время в области информационных технологий и доказавших свою мощь и удобство примения: объектно-ориентированный подход, визуальное проектирование, дружественный пользовательский графический интерфейс, платформонезависимый язык Java, агентные технологии, теория гибридных систем. Это делает AnyLogic не только универсальным средством для решения очень широкого круга проблем в области имитационного моделирования. Главное, это дает гибкость, позволяющую для решения одной и той же задачи выбирать различные стили создания модели и комбинировать их для достижения целей моделирования. Такими целями у одной и той же модели могут быть простота представления объектов, высокая производительность исполняемого модуля, наглядность визуализации и т. п.

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

  Рис. 1. Окна редактора при разработке модели с дискретными событиями

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

Использование Java в комбинации с графической средой разработки моделей дает AnyLogic огромную гибкость и выразительность. Любой объект модели, разрабатываемой в AnyLogic, представляется как класс Java, пользователь может добавить в модель свои классы, переопределять методы базовых классов, использовать базовые и разработать свои библиотеки классов и т. п. По модели, представленной в графическом редакторе, AnyLogic генерирует Java программу, с которой работает написанный на Java «движок». При построении модели в AnyLogic разработчик, фактически, создает Java-классы активных объектов и определяет отношения между ними. Во время выполнения модель представляет собой иерархию экземпляров активных объектов. Собранная модель может работать локально, на одном компьютере, или же пользователь может одним кликом мыши построить Java апплет, который можно запустить под управлением броузера.

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

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

Моделирование систем с дискретными событиями. На рынке существует множество инструментов, облегчающих разработку дискретно-событийных моделей и проведение экспериментов с моделями в этой традиционной области моделирования. В первую очередь это GPSS, который стал революцией более 40 лет назад, задав парадигму моделирования в этой области в виде блоков и транзактов. Транзакты отображают динамические объекты моделирования (заявки), а блоки – объекты, обрабатывающие эти заявки. Большинство других инструментов моделирования (Arena, Extend, ProModel, SimProcess и другие) также используют эту парадигму.

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

В то же время AnyLogic имеет преимущества перед перечисленными системами. Возьмем классический пример моделирования магазина. Естественно описать его СМО, заявки в которой представляют покупатели. Пусть, однако, представление людей как потока однородных заявок является неадекватным для получения результата, следует учесть их поведение и возможное взаимодействие. Такая модель представляется в GPSS с большими трудностями. Если при этом необходимо учесть и скорость передвижения людей, ее зависимость от числа людей в магазине и т. п., т. е. вводить непрерывные переменные, то это выводит нас из области моделей СМО, для которых был создан GPSS. В AnyLogic непрерывные параметры и поведения у объектов вводятся просто.

Агентное моделирование. Под интеллектуальным агентом понимается объект, имеющий внутреннее поведение и возможность взаимодействовать с другими агентами. Каждый агент имеет неполную информацию или недостаточные возможности для выполнения общей задачи и в отсутствии централизованного управления должен выполнить ее в кооперации с другими агентами. Моделирование многоагентных систем используется в анализе социальных процессов, процессов урбанизации и даже при исследовании рынка в анализе предпочтений различных социальных групп. Существуют несколько экспериментальных инструментов, поддерживающих моделирование в этой области [2].

Рис. 2. Анимация модели с динамически порождаемыми агентами

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

Системная динамика – это методология изучения и моделирования систем, характеризующихся циклами в сложных взаимных зависимостях их параметров. Математически эти системы описываются системами дифференциальных уравнений первого порядка. Эти модели применяются для корпоративного планирования и анализа политик управления корпорацией, политик управления социальными и экономическими системами и т. п. [4]. Более 40 лет назад Д.Форрестер заложил методологические принципы системной динамики [5], которые и сейчас являются основой инструментов моделирования, конкурирующих на рынке: VenSim, PowerSim, Stella, ModelMaker и др. Для построения моделей в них используются графическое представление зависимостей переменных в виде так называемых «stock and flow diagrams».

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

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

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

Наиболее удобные средства для разработки имитационных моделей в широком спектре областей применения предлагает новый инструмент моделирования AnyLogic, который основан на ясных и четких концепциях и современных информационных технологиях. Опыт разработки моделей в AnyLogic для самых разных областей – образование, компьютерные сети и протоколы, логистика и управление производством, управление рисками в банке и др., а также опыт его применения крупными фирмами от IBM и Boeing до НР и General Electric показывает, что AnyLogic является программным продуктом нового поколения, предлагающим качественно новые возможности при разработке и анализе моделей по сравнению с традиционными средствами.

Ссылки

[1] http//www.anylogic.com

[2] http//gpss.ru

[3] http://cbl.leeds.ac.uk/rodw/papers/eurosim-95/main.html

[4] http://www.albany.edu/cpr/sds/

[5] Jay W.Forrester. Industrial Dynamics. MIT Press, 1961