УДК 519.237.5
И. М. Якимов, А. П. Кирпичников, М. В. Трусфус
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ В СИСТЕМЕ REPAST SIMPHONY
Ключевые слова: Имитационное моделирование, агентно-ориентированное моделирование, система массового обслуживания, обслуживающий аппарат, Repast Simphony.
Приводится описание системы имитационного моделирования Repast Simphony. Приведены модели двух однофазных систем массового обслуживания: М/М/1 и М/М/5 и результаты имитационного и аналитического моделирования и их сравнения между собой. Отмечены достоинства и недостатки системы Repast Simphony.
Keywords: Simulation modeling, agent modeling, queuing system, transact, service unit, Repast Simphony.
A description Repast Simphony system. The model of the two single-phase queuing systems: M/M/1 and M/M/5, and the results of simulation and analytical modeling and comparing them with each other. The advantages and disadvantages Repast Simphony system.
Введение
Агентно-ориентированное моделирование (АОМ) является одним из широко используемых в настоящее время направлений в имитационном моделировании.
Методология АОМ быстро проникает в различные области. Интерес к АОМ проявляется и в России. В статье [1], например, описано исследование критических социальных поведений агентов «индивидуума» и агента «внешних факторов», проведенное методом АОМ с использованием системы имитационного моделирования (СИМ) Repast Simphony.
СИМ Repast разработана в Чикагском университете в 2000 году [2, 3]. В ней имеются библиотеки Repast .NET, Repast J и Reapst Py для разработки моделей на языках Java, C# и Python.
В дальнейшем на основе этих стандартных библиотек была создана СИМ Repast Simphony [2]. Она основана на модульной архитектуре, которая позволяет наращивать функционал практически на любом уровне взаимодействия компонентов без переписывания основной кодовой базы. В СИМ Repast Simphony реализовано несколько методов создания моделей на языках ReLogo, Grove и Java. Для создания прототипов моделей возможно использование структурных схем моделируемых объектов. В конечном счете генерируется программная имитационная модель на языке Java. Возможно подключение и использование сторонних Java-библиотек, содержащих готовые имитационные программные модели.
СИМ Repast Simphony состоит из двух частей: интегрированной среды разработки и среды моделирования.
Среда разработки построена на базе платформы Eclipse IDE. Она включает в себя модули для работы с системами контроля версий, базами данных, модулями работы с геоинформационными системами, математическими модулями и другими готовыми модулями, которые существенно облегчают написание, отладку и тестирование программ.
В СИМ Repast Simphony мощным средством создания моделей является язык ReLogo. Он состоит из примитивов Turtle, Utilities, Patch,
Observer и Link. Код, написанный на языке ReLogo, компилируется в код на Java.
После создания модели она формируется в виде отдельной программы, которая может быть установлена и запущена на любом компьютере. Для запуска модели не требуется установки СИМ Repast Simphony и познаний в области разработки моделей. Конечный пользователь сможет управлять моделью, задавать необходимые параметры и исходные данные, не прибегая к изменению в исходном коде программной модели, а только с помощью визуальных средств управления.
Окно модели состоит из линейки меню, панели инструментов, панели управления имитацией, сценария выполнения модели, интерфейса взаимодействия с моделью и параметров модели.
Интерфейс взаимодействия с моделью позволяет осуществлять внешнее взаимодействие в процессе выполнения модели, если оно предусмотрено моделью. Примером такого взаимодействия может быть изменение времени обслуживания, добавление новых обслуживающих аппаратов (ОА) и другие действия в процессе выполнения модели.
Возможно изменение скорости имитации, проведение пошаговой имитации, приостановка имитации и задание предельного времени моделирования. Имеется возможность выбрать вид визуального представления данных для анализа, набор регистрируемых и анализируемых данных и диаграмм без изменения самой модели.
Также предусмотрена интеграция с внешними средствами анализа данных: RStudio Statistical Computing, Microsoft Excel, JoSQL, JUNG, Weka, Pajek Network Analysis.
На рис. 1 приведена динамика изменения параметров моделирования системы массового обслуживания M/M/m. Исследователь может задавать изменение различных параметров модели: количество ОА, среднее время между поступлением заявок в систему и среднее время обслуживания заявки. В процессе имитации на графики можно выводить различные статистические данные по функционированию объекта моделирования, такие как количество заявок в очереди, в ОА, в системе в задаваемом интервале времени, сред-
нее время обслуживания, среднее время ожидания в очереди, загруженность ОА и другие.
Стандартные библиотеки СИМ Repast Simpho-ny позволяют регистрировать количество агентов в системе, а также агрегировать их атрибуты с использованием функций суммы, минимума, максимума, среднего арифметического, среднего гео-
метрического, дисперсии, стандартного отклонения, суммы логарифмов и суммы квадратов.
При необходимости функционал стандартных библиотек СИМ Repast Simphony может быть расширен путем подключения сторонних библиотек, либо реализацией собственных решений на языке Java.
Рис. 1 - Динамика изменения параметров моделирования СМО М/М/т в диапазоне от 97720 до 97910 единиц модельного времени, синим показано общее количество заявок в системе, красным - в ОА, зеленым -в очереди
В СИМ Repast Simphony реализован анализ данных в визуальном виде. В библиотеках СИМ Repast Simphony имеются компоненты 2D и 3D визуализации, построения различных графиков и гистограмм, а также компоненты визуализации геоинформационных систем. Возможен импорт картографических данных из различных систем таких как NASA, USGS, OpenStreetMap и др. Загрузка данных осуществляется через глобальную сеть интернет, например, при визуализации карты. На рис. 2 приведена визуализация геоинформационной модели в СИМ Repast Simphony.
Рис. 2 - Визуализация геоинформационной модели в СИМ Repast Simphony
Для оценки качества результатов ИМ в СИМ Repast Simphony сравнением с результатами аналитического моделирования (АМ) приведём результа-
ты моделирования двух однофазных СМО: М/М/1 и М/М/5. Аналитическое моделирование СМО проведено по формулам, приведённым в [4, 5].
Имитационная модель СМО M/M/1
СМО M/M/1 - генератор заявок - очередь -ОА. Время между поступлением заявок в систему распределено по экспоненциальному закону со средним 10 единиц времени. Время обслуживания распределено по экспоненциальному закону со средним 6 единиц времени. Очередь неограниченной длины. Завершение моделирования после вывода из системы 25000 заявок.
В модели СИМ Repast Simphony каждый объект моделирования представлен в виде агента. Агенты взаимодействуют друг с другом. Генератор заявок - агент, который с заданным временным интервалом создает заявки. Заявки - агенты, которые поступают в очередь, а оттуда в ОА и затем выводятся из системы. ОА - это агент, который задерживает заявку на время в соответствии с заданным законом. Выход из системы - агент, который уничтожает поступившую в него заявку. Также данный агент собирает статистику по моделированию и останавливает процесс моделирования после вывода из системы заданного количества заявок.
Результаты аналитического и имитационного моделирования СМО М/М/1 приведены в табл. 1.
Таблица 1 - Сравнение результатов аналитического и имитационного моделирования СМО М/М/1
№ Наименование АМ ИМ Разница Разница в %
1 Среднее количество заявок в очереди 0,9 0,907 0,007 0,778%
2 Среднее количество заявок в ОА 0,6 0,604 0,004 0,667%
3 Среднее количество заявок в системе 1,5 1,512 0,012 0,800%
4 Среднее время ожидания заявок в очереди 9 8,983 0,017 0,189%
5 Среднее время задержки заявок в ОА 6 5,985 0,015 0,250%
6 Среднее время пребывания заявок в системе 15 14,968 0,032 0,213%
7 Стандартное отклонение количества заявок в очереди 1,670 1,696 0,026 1,557%
8 Стандартное отклонение количества заявок в ОА 0,490 0,489 0,001 0,204%
9 Стандартное отклонение количества заявок в системе 1,936 1,958 0,022 1,136%
10 Стандартное отклонение времени ожидания заявок в очереди 13,748 13,643 0,105 0,764%
11 Стандартное отклонение времени задержки заявок в ОА 6 5,901 0,099 1,650%
12 Стандартное отклонение времени пребывания заявок в системе 15 14,816 0,184 1,227%
Среднее значение разницы в процентах по 12 показателям 0,786%
Имитационная модель СМО M/M/5
СМО М/М/5 - генератор заявок - очередь -пять ОА. Время между поступлением заявок в систему распределено по экспоненциальному закону со средним 10 единиц времени. Время обслуживания распределено по экспоненциальному закону со средним 30 единиц времени. Очередь неограниченной длины. Завершение моделирования после вывода из системы 25000 заявок.
По аналогии с предыдущим примером, все объекты представлены в виде агентов. В отличии от предыдущего примера в данной модели 5 агентов типа ОА, а агенты-заявки после выхода из очереди поступают в первый свободный ОА.
Результаты аналитического и имитационного моделирования СМО М/М/5 приведены в табл. 2.
Таблица 2 - Сравнение результатов аналитического и имитационного моделирования СМО М/М/5
№ Наименование АМ ИМ Разница Разница в %
1 Среднее количество заявок в очереди 0,354 0,381 0,027 7,627%
2 Среднее количество заявок в ОА 3 3,073 0,073 2,433%
3 Среднее количество заявок в системе 3,354 3,454 0,1 2,982%
4 Среднее время ожидания заявок в очереди 3,542 3,739 0,197 5,562%
5 Среднее время задержки заявок в ОА 30 30,169 0,169 0,563%
6 Среднее время пребывания заявок в системе 33,542 33,908 0,366 1,091%
7 Стандартное отклонение количества заявок в очереди 1,136 1,179 0,043 3,785%
8 Стандартное отклонение количества заявок в ОА 1,514 1,506 0,008 0,528%
9 Стандартное отклонение количества заявок в системе 2,236 2,264 0,028 1,252%
10 Стандартное отклонение времени ожидания заявок в очереди 9,681 9,842 0,161 1,663%
11 Стандартное отклонение времени задержки заявок в ОА 30 29,840 0,16 0,533%
12 Стандартное отклонение времени пребывания заявок в системе 31,523 31,355 0,168 0,533%
Среднее значение разницы в процентах по 12 показателям 2,379%
Модель Sugarscape
Sugarscape - модель искусственного интеллектуального агентно-ориентированного социального моделирования по правилам из источника [6]. Данная модель является классическим примером использования систем АОМ и входит в состав систем имитационного моделирования Ascape [7], Repast и NetLogo [8].
Модель состоит из агентов (обитателей), двумерной сетки (окружения) и правил, по которым агенты взаимодействуют между собой и сетью. Изначально модель была приведена в [9] и основывалась на сети размером 51x51 ячейку. Каждая ячейка в сети могла содержать различное количество сахара. На каждом шаге имитации агенты искали ближайшую ячейку с сахаром, передвигались и метаболизировали.
Данная модель наглядно демонстрирует возможности трехмерной визуализации моделей. Пример реализации модели в СИМ Repast Sim-phony приведен на рис. 3-4.
■ ■и ти&оа чек.1 "Я * .а
Рис. 3 - Визуализация модели Sugarscape в СИМ Repast Simphony
3
Рис. 4 - Гистограмма состояния агентов модели Sugarscape
Заключение
Наиболее существенными достоинствами СИМ Repast Simphony являются:
1. Свободное распространение СИМ.
2. Открытый исходный код, который позволяет создавать абстрактные и гибкие модели с возможностью использования сторонних библиотек.
3. Возможность регистрации и вывода значений дисперсий и стандартных отклонений регистрируемых параметров моделируемого объекта.
4. Стандартные библиотеки примитивов СИМ, позволяющие пользователям быстро создавать модели в широкой предметной области.
5. Имитационная модель в СИМ Repast Sim-phony обладает возможностями визуализации процесса функционирования объекта моделирования во времени и выдачи результатов в графическом виде.
6. СИМ Repast Simphony обладает высокой достоверностью результатов моделирования. Проведенные сравнения результатов ИМ в СИМ Repast Simphony с результатами АМ для СМО М/М/1 и М/М/5 показали, что средние значения по 12 показателям не превышают 2,5%. Такой результат следует считать вполне приемлемым для практического применения СИМ Repast Simphony.
© И. М. Якимов - канд. техн. наук, профессор кафедры автоматизированных систем обработки информации и управления КНИТУ-КАИ им А.Н. Туполева; А. П. Кирпичников - д-р физ.-мат. наук, зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, [email protected]; М. В. Трусфус - магистр кафедры автоматизированных систем обработки информации и управления КНИТУ-КАИ им А.Н. Туполева, [email protected].
© 1 M. Yakimov - PhD, Professor of the Department of Automated Information Processing Systems & Control, KNRTU named after A.N. Tupolev; A. P. Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, e-mail: [email protected]; M. V. Trusfus - Master of the Department of Intelligent Systems & Information Systems Control, KNRTU named after A.N.Tupolev, e-mail: [email protected].
В качестве недостатка Repast Simphony назовём отсутствие возможности структурного моделирования бизнес-процессов.
Литература
1. Свечкарев, В.П., Тымчук, Д.А. Многоагентное моделирование критических социальных поведений [Электронный ресурс] // «Инженерный вестник Дона»,
2010. №1. - Режим доступа: http://www.ivdon.ru/magazine/archive/n1e2010/175 (доступ свободный) - Загл. с экрана. - Яз. рус.
2. North M, Collier N, Ozik J: Complex adaptive systems modeling with Repast Simphony [Электронный ресурс] // Springer, 2013 Режим доступа: http://casmodeling.springeropen.com/articles/10.1186/219 4-3206-1-3 (доступ свободный) Collier N, Howe T, North MJ: Onward and upward: The transition to Repast 2.0. In Proceedings of the first annual North American Association for Computational Social and Organizational Science conference. Edited by Carley K. Carnegie Mellon University, Pittsburgh; 2003.
4. А.П. Кирпичников Прикладная теория массового обслуживания. - Казань, Изд-во Казан. гос. ун-та, 2008, 112 с.
5. А.П. Кирпичников Методы прикладной теории массового обслуживания. - Казань, Изд-во Казан. ун-та,
2011, 200 с.
6. Epstein, Joshua M.; Axtell, Robert (October 11, 1996). Growing artificial societies: social science from the bottom up. Brookings Institution Press. p. 224. ISBN 978-0262-55025-3.
7. The Ascape Model Developer's Manual. // Sourceforge [Электронный ресурс] Режим доступа: http://ascape.sourceforge.net/manual/Section1.html (доступ свободный)
8. NetLogo User Community Models: Sugarscape. [Электронный ресурс] Режим доступа: http://ccl.northwestern.edu/netlogo/models/community/Su garscape (доступ свободный)
9. "Replicating Sugarscape — University of Leicester" [Электронный ресурс] Режим доступа: http://www2.le.ac.uk/departments/interdisciplinary-science/research/replicating-sugarscape