В данной книге представлен пакет AnyLogic — отечественный профессиональный инструмент имитационного моделирования нового поколения, который существенно упрощает разработку моделей и их анализ.
Программный инструмент AnyLogic основан на объектно-ориентированной концепции. Объектно-ориентированный подход к представлению сложных систем является лучшим на сегодняшний день методом управления сложностью информации, эта концепция позволяет простым и естественным образом организовать и представить структуру сложной системы. Таким образом, идеи и методы, направленные на управление сложностью, выработанные в последние десятилетия в области создания программных систем, позволяют разработчикам моделей в среде AnyLogic организовать мышление, структурировать разработку и, в конечном счете, упростить и ускорить создание моделей.
Другой базовой концепцией AnyLogic является представление модели как набора взаимодействующих параллельно функционирующих активностей. Такой подход к моделированию интуитивно очень понятен и естественен во многих приложениях, поскольку системы реальной жизни состоят из совокупности активностей, взаимодействующих с другими объектами. Активный объект в AnyLogic — это объект со своим собственным функционированием, взаимодействующий с окружением. Он может включать в себя любое количество экземпляров других активных объектов. Активные объекты могут динамически порождаться и исчезать в соответствии с законами функционировании системы. Так могут моделироваться социальные группы, холдинги компаний, транспортные системы и т. п.
Графическая среда моделирования AnyLogic поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов с моделью, включая различные виды анализа — от анализа чувствительности до оптимизации параметров модели относительно некоторого критерия.
В результате AnyLogic не ограничивает пользователя одной-единственной парадигмой моделирования, что является характерным фактически для всех инструментов моделирования, существующих сегодня на рынке. В AnyLogic разработчик может гибко использовать различные уровни абстрагирования, различные стили и концепции, строить модели в рамках той или иной парадигмы и смешивать их при создании одной и той же модели, использовать ранее разработанные модули, собранные в библиотеки, дополнять и строить свои собственные библиотеки модулей. При разработке модели на AnyLogic можно использовать концепции и средства из нескольких "классических" областей моделирования, например, в агентной модели использовать методы системной динамики для представления изменений состояния среды или в непрерывной модели динамической системы учесть дискретные события. Например, анализ IT-инфраструктуры компании (анализ производительности серверов, узких мест локальной сети и т. п.), который легко производится с помощью методов дискретного событийного моделирования, имеет немного пользы, если в модели не отражено влияние возможных изменений параметров этой инфраструктуры на бизнес-процессы и, в конечном счете, на прибыль компании, а такая связь в модели не может быть реализована только средствами дискретно-событийного моделирования. В AnyLogic легко строятся подобные модели с требуемым уровнем адекватности, позволяющие ответить на многие вопросы, интересующие исследователя. Богатые возможности анимации и визуального представления результатов в процессе работы модели позволяют понять суть процессов, происходящих в моделируемой системе, упростить отладку модели.
Удобный интерфейс и многочисленные средства поддержки разработки моделей в AnyLogic делают не только использование, но и создание компьютерных имитационных моделей в этой среде моделирования доступными даже для начинающих.
Структура книги
В части I приводятся основные сведения об имитационном моделировании, этапах разработки моделей, методах проверки правильности, корректности модели.
В части П описываются основные средства инструмента имитационного моделирования AnyLogic. Здесь рассматриваются практические вопросы техники создания моделей с помощью этого инструмента таким образом, чтобы читатель смог приступить к созданию своих собственных моделей как можно скорее. В отдельных главах приводится описание более сложных средств AnyLogic, в частности, использование языка программирования Java для описания логических правил поведения объектов модели.
В части III книги анализируются методологические и практические вопросы анализа моделей. Сюда относятся вопросы постановки компьютерного эксперимента, поиска оптимальных вариантов решений. В этом же разделе рассматриваются проблемы подготовки исходных данных стохастической природы для модели и обработка стохастических результатов моделирования. В последней главе этой части рассматриваются вопросы интеграции модели с другими программными системами обработки и хранения данных.
Часть IV книги посвящена изложению четырех подходов к разработке моделей: это моделирование динамических систем, системная динамика, дискретно-событийные системы и новая быстро развивающаяся область моделирования — многоагентные системы. Каждая из этих областей основана на своей концепции, парадигме моделирования, и в каждой из них существуют программные системы, поддерживающие, упрощающие разработку моделей именно в рамках соответствующей парадигмы. В данной части демонстрируется, как в среде AnyLogic можно строить модели в соответствии с каждой из этих концепций моделирования. Поледняя глава этой части обсуждает методологические вопросы использования различных подходов при разработке одной и той же модели.
Сфера применения AnyLogic включает логистику, телекоммуникацию, маркетинг и бизнес, производственные процессы, протоколы связи, социальные процессы, системы управления, моделирование физических процессов, экологию и многое другое. Часть V книги посвящена описанию моделей, разработанных в среде AnyLogic для исследования проблем из нескольких областей: от анализа рынка до оптимизации транспортной системы, от модели динамики города до протоколов связи. В каждой из этих областей AnyLogic позволяет выбрать необходимый уровень абстракции и использовать свой стиль, свою парадигму моделирования, а в некоторых случаях и смешивать эти стили при создании моделей.
Часть I
Общие вопросы имитационного моделирования