Инструменты дискретно-событийного моделирования
Существует достаточно много программных продуктов, поддерживающих ДС подход. Среди всех средств, предназначенных для имитационного моделирования, этот класс наиболее представительный. Например, в отчёте (3) приводятся характеристики 65 различных инструментов. Это объясняется большой популярностью дискретно-событийного моделирования в таких областях как системы массового обслуживания, бизнес-процессы, производство, логистика, транспорт и других. Часть программных продуктов являются достаточно универсальными (Arena, Extend, GPSS, Witness), другие заточены под более узкий класс задач и содержат абстрактные элементы, взятые из предметной области исследования (AutoMod транспорт, логистика, производство; MedModel моделирование и оптимизация систем в здравоохранении; Comnet телекоммуникации).
Стандартными характеристиками большинства продуктов являются: возможность создания модели в графическом режиме (потоковые диаграммы рисуются, используются стандартные шаблоны для отдельных блоков, параметры элементов системы задаются через подменю); интерфейсы для соединения с базами данных, средства для обработки статистики на входе и выходе модели, для ее оптимизации, для создания анимации в ходе имитационных экспериментов.
Системная динамика
Высокому уровню абстракции в имитационном моделировании соответствует подход системной динамики (далее СД), предложенный в 50-х годах прошлого века американским ученым Джемом Форрестером. При данном подходе не рассматриваются индивидуальные объекты, а лишь их количества и агрегированные показатели. Системная динамика применяется тогда, когда нет необходимости или возможности исследовать влияние отдельных объектов, а достаточно изучить поведение системы на уровне агрегированных величин.
Форрестер предложил использовать для этого понятия «накопители» (stocks), и «потоки» между ними (flows) (4). Накопители могут относиться к различным материальным объектам, например, к людям в демографических моделях, товарам, деньгам при моделировании баланса на рынке, природным ресурсам в задачах экологии. На рис. 2.2 приведена системно-динамическая диаграмма из модели распространения продукта на рынке.
Рис. 2.2. Пример системно-динамической диаграммы «Проникновение продукта на рынке»
Инструменты системной динамики
В ней три объекта накопителя: «потенциальные пользователи», люди, формирующие спрос и люди, являющиеся реальными пользователями. Такие факторы как реклама, частота контактов определяют потоки, в соответствие с которыми накопители «перетекают» друг в друга. С формальной точки зрения системно-динамическая модель представляет собой систему дифференциальных (в частном случае алгебраических) уравнений, определяющих потоки между накопителями. Отличительной чертой СД является неразличимость объектов, находящихся в одном накопителе. Их невозможно индивидуализировать, приписав различные свойства, логику поведения или процесс обработки. Все взаимосвязи задаются на уровне накопителей, то есть между агрегированными величинами.
Системно-динамические модели обычно применяются при стратегическом анализе и долгосрочном планировании. Интересные примеры их использования можно найти как в монографиях по системной динамике, например в (5) и (6), так и в многочисленных статьях по конкретным системно-динамическим моделям, созданным за более чем полвека развития данной парадигмы.
Число программных продуктов, предназначенных для использования системно-динамического подхода, относительно невелико по сравнению с ДС моделированием. Наиболее распространены инструменты Vensim компании High Performance Systems (www.hps nc.com), Powersim компании Powersim, SA (www.powersim.com), IThink компании Ventana Systems (www.vensim.com), а также Anylogic. Vensim является из них наиболее простым и недорогим, обладая при этом такими характеристиками, как поддержка графического создания потоковых диаграмм; встроенные логические операторы и генераторы случайных чисел; средства для связи с базами данных для генерации отчетов, анимации и анализа чувствительности.
Важной характеристикой инструментов Powersim и IThink являются встроенные алгоритмы частичной поддержки дискретного моделирования. Это позволяет создавать модели с разными уровнями абстракции для отдельных блоков. Более подробную информацию о характеристиках данных инструментов можно найти на сайтах компаний разработчиков и в руководстве по Powersim (7).
Агентное моделирование
Третьей парадигмой в имитационном моделировании является агентное моделирование (далее АМ). Агент представляет собой индивидуализированный активный объект, который может обозначать человека, транспортное устройство, компанию, населенный пункт. В зависимости от того, какой объект представляет собой агент, модель может соответствовать высокому уровню абстракции (агент компания, страна), среднему (агент транспортная единица), низкому (агент отдельный человек) или сочетать несколько уровней. Таким образом, данная парадигма является наиболее универсальной.
Основным отличием агентного подхода от первых двух является построение модели по принципу снизу-вверх. Зависимости между агрегированными величинами не задаются исходя из знаний о реальном мире, а получаются в процессе моделирования индивидуального поведения десятков, сотен или тысяч агентов, их взаимодействия друг с другом и с объектами, моделирующими окружающую среду. Например, исследование рынка будет происходить не в понятиях совокупного спроса и предложений, а в модели будут заложены возможные реакции отдельного человека на изменение цены, его потребительские характеристики. У агентов появляется возможность «общаться» между собой, обмениваться информацией, предпочтениями, влияя, тем самым, на поведение друг друга. Модель может учитывать пространственные характеристики, взаиморасположение агентов по отношению друг к другу и объектам окружающей среды.