Система GPSS позволяет строить дополнительные статистические таблицы для получения частотных распределений определенных аргументов, которыми могут быть некоторые СЧА (например, времени задержки транзакта в отдельных частях модели; длин очередей; содержимого памяти и т.п.). У каждой таблицы имеются определенные области значений аргумента. Число попаданий аргумента в каждую из этих областей регистрируется системой автоматически. В конце эксперимента результаты в таблицах выводятся на печать.
Name TABLE A,B,C,D – команда описания таблицы частотного распределения. Name – имя таблицы, А – имя переменной, значение которой табулируется, В – левая граница первого интервала таблицы, С – ширина интервалов, D – количество интервалов.
Name QTABLE A,B,C,D – команда описания таблицы времени пребывания в очереди. Name – имя таблицы, А – имя очереди, В – левая граница первого интервала таблицы, С – ширина интервалов, D – количество интервалов.
MARK A – блок отметки времени. А – номер параметра транзакта, в который заносится момент времени входа транзакта в данный блок.
|
|
TABULATE А,В – блок табулирования. А – имя таблицы, в которую заносится табулируемая величина, В – весовой коэффициент, задающий число раз занесения величины в таблицу при каждом входе в блок.
Пример 3: Получить таблицу распределения интервалов заявок по равномерному закону в интервале от 0 до 100:
Рис.4.23. Транслированная программа
Рис.4.24. Результат моделирования в виде стандартного отчета
Статистика имитации. В процессе выполнения программы собирается стандартная статистическая информация, которая автоматически выводится на печать по окончании моделирования.
Содержание стандартного отчета:
• Заголовок содержит название модели, дату и время запуска модели.
• Начало (START TIME) и конец (END TIME) модельного времени, количество блоков (BLOCKS), устройств (FACILITIES) и памятей (STORAGES) в модели.
• Список имен введенных в модели, где каждому имени (NAME) приписывается число (VALUE). Значения начинаются с 10000.000.
• Список блоков, содержащий следующую информацию:
LABEL – метка блока,
LOC – позиция блока в модели (Location),
BLOCK TYPE – название блока на языке GPSS.
ENTRY COUNT – количество вошедших в блок транзактов с момента последней команды CLEAR или RESET,
CURRENT COUNT – количество транзактов в данный момент в блоке,
RETRY – количество транзактов, ожидающих входа в блок.
• Список устройств, содержащий информацию:
FACILITY – название или номер устройства,
ENTRIES – количество транзактов, занимавших это устройство
блоками SEIZE или PREEMPT с момента применения команд
CLEAR или RESET,
UTIL. – коэффициент использования устройства,
AVE.TIM E – среднее время одного обслуживания,
|
|
AVAIL. – доступность устройства в момент окончания имитации,
OWNER – количество транзактов, связанных с устройством,
PEND – количество транзактов, ожидающих устройство для захвата по блоку PREEMPT,
INTER – количество транзактов, прерванных при обработке блоками PREEMPT,
RETRY – количество транзактов, ожидающих по разным причинам освобождения устройства,
DELAY – количество транзактов, ожидающих освобождения устройства в режиме приоритетного входа по блоку PREEMPT.
• Список очередей с информацией:
QUEUE – название или номер очереди,
МАХ – максимальное количество транзактов, содержащихся в очереди за весь период сбора статистики,
CONT. – текущее количество транзактов в момент окончания имитации,
ENTRY – общее количество входов в очередь,
ENTRY(0) – количество транзактов, вышедших из очереди без ожидания,
AVE.CONT – среднее значение транзактов в очереди,
AVE.TIME – среднее время ожидания в очереди,
AVE.(-O) – среднее время ожидания, исключая транзакты, которые не задерживались в очереди,
RETRY – количество транзактов, ожидающих вход в очередь по некоторым причинам.
• В таблицах печатается информация:
TABLE – имя или номер таблицы или Q-таблицы,
MEAN – среднее значение табулируемой величины,
STD.DEV – стандартное отклонение отклонение,
RANGE – левый и правый конец интервалов. Интервалы с нулевыми значениями не отображаются,
RETRY – количество транзактов, ожидающих по некоторым причинам в блоке TABULATE,
FREQUENCY – количество элементов, попавших в этот интервал,
CUM.% – накопительный процент попавших элементов.
Освоить программную среду GPSS и применить его для построения и исследования аналитических и имитационных моделей можно по книге Б.Я.Советов, С.А. Яковлев «Моделирование систем. Практикум», в котором подробно описаны методы и технологии работы в среде GPSS [27].
Задание на моделирование:
1. Построить модели систем массового обслуживания (рис.4.20 - 4.24) в среде объектно-ориентрованного программирования GPSS.
2. Провести компьютерное моделирование в зависимости от характеристик среды и начальных условий.
3. Провести обработку и анализ результатов компьютерного моделирования.
4.5. Система имитационного моделирования AnyLogic
Пакет AnyLogic – профессиональный инструмент нового поколения, который предназначен для разработки и исследования имитационных моделей сложных систем. Программный продукт разработан компанией «Экс Джей Текнолоджис» (XJ Technologies), г. Санкт-Петербург. AnyLogic был разработан на основе новых идей в области информационных технологий, теории параллельных взаимодействующих процессов и теории гибридных систем. Благодаря этим идеям чрезвычайно упрощается построение сложных имитационных моделей, имеется возможность использования одного инструмента при изучении различных стилей моделирования. Продукт поддерживает основные методы имитационного моделирования: системная динамика; дискретно-событийное моделирование; агентное моделирование [2, 3, 16, 19, 20, 31].
Многие крупные компании, как отечественные Билайн, Газпром, Сбербанк России, Русский алюминий, Северсталь и т.д., так и зарубежные General Motors, Mitsubishi, McDonalds, IBM и др., являются клиентами компании и используют AnyLogic для своих потребностей и исследований (рис.4.36).
Рис. 4.36. Клиенты компании AnyLogic
Сайт компании AnyLogic (www.xjtek.ru) позволяет продемонстрировать возможности данного продукта. На сайте представлены различные демо-версии имитационных моделей по различным отраслям (рис. 4.37).
Рис.4.37. Отрасли и сферы использования программного продукта
Для каждого из отраслей на сайте приведены различные примеры демо-моделей (рис.4.38), которые в реальном времени можно прогнать. Описания разработок некоторых из них изложены в работах и книгах по имитационному моделированию [3, 14, 16, 19-20].
|
|
Рис.4.38
Графическая среда AnyLogic построена по тому же принципу, что и в Rockwell Arena. Моделирующие конструкции располагаются в палитрах (аналог шаблонов в Arena). Для создания модели, как и в Arena, моделирующие конструкции перетаскивают в область модели и соединяют. Детализировать моделирующие конструкции можно, выделив их и изменив параметры, используя панель свойств.
а
б
Рис. 4.39. Окно пользовательского интерфейса среды AnyLogic: а – 5 версии; б – 6 версии
AnyLogic поддерживает подход агентного моделирования, в качестве агентов могут быть: люди: потребители, жители, работники, пациенты, доктора, клиенты, солдаты и др.; транспорт, оборудование: автомобили, краны, самолёты, вагоны, станки и др.; нематериальные вещи: проекты, продукты, инновации, идеи, инвестиции и др.; организации: компании, политические партии, страны и др.
Эти объекты в системе AnyLogic могут создаваться и уничтожаться динамически, перемещаться, общаться друг с другом, иметь поведение, знания, цели, стратегию — то есть обладают всеми свойствами агентов.
Агентный подход используют для моделирования социальных систем, в частности, моделируют рынки (агент - потенциальный покупатель), конкуренцию и цепочки поставок (агент - компания), население (агент - семья, житель города или избиратель) и много другое. Только агентный подход позволяет получить представление об общем поведении системы, исходя из предположений о поведении её элементов при отсутствии знания о глобальных законах — то есть в наиболее общем случае.
AnyLogic основан на Java и базируется на платформе Eclipse - современном стандарте для бизнес-приложений. Благодаря Eclipse AnyLogic работает на всех распространенных операционных системах (Windows, Mac, Linux и т.д.).
В редакторе AnyLogic возможно разработать анимацию и интерактивный графический интерфейс модели. Анимация может быть иерархической и поддерживать несколько перспектив. Например, есть возможность определить глобальный взгляд на процесс производства, а также детальные анимации конкретных операций и переключаться между ними. Имеется возможность использовать различные виды технологических решений для реализации анимации (рис.4.40).
|
|
Рис.4.40
В AnyLogic пользователю доступно 35 стандартных теоретических распределений, также можно определить свои. AnyLogic позволяет строить как стохастические, так и детерминированные модели и проводить анализ результатов моделирования. С моделью могут быть проведены различные эксперименты:
· моделирование (simulation)
· оптимизация (optimization)
· эксперименты Монте-Карло
· анализ чувствительность
· эксперименты по сценарию пользователя
В AnyLogic встроен оптимизатор OptQuest. Комбинируя эвристики, нейронные сети и математическую оптимизацию, OptQuest позволяет находить значения дискретных и непрерывных параметров модели, соответствующие максимуму или минимуму целевой функции, в условиях неопределённости и при наличии ограничений. Для создания отчетов в AnyLogic отведена специальная палитра «Статистика», в которой содержатся конструкции для сбора данные по ходу работы модели. В этой палитре также находятся различные диаграммы, графики и гистограммы.
AnyLogic имеет исключительно развитый базовый язык дискретного и смешанного дискретно-непрерывного моделирования, на основе которого разработаны стандартные библиотеки:
· Enterprise Library – конструкции для построения дискретно-событийных моделей
· Dynamic Systems Library (системная динамика)
· Material Flow Library (потоки материалов)
Модель и анимация быстро строятся в стиле drag-and-drop и очень гибко параметризуются. Реализация стандартных объектов открыта для пользователя, их функциональность может быть как угодно расширена, вплоть до создания собственных библиотек. Используя иерархию и регулярные структуры объектов, можно создавать масштабируемые модели.
С помощью библиотеки Enterprise Library пакета AnyLogic можно быстро создавать сложные дискретно-событийные модели, такие как:
· модели производственных процессов;
· модели систем обслуживания (банки, аэропорты и т.д.);
· модели бизнес-процессов с оценкой затрат операций;
· модели логистики и цепочек доставки.
Библиотека объектов Enterprise Library позволяет создавать гибкие модели с наглядной визуализацией моделируемого процесса и возможностью сбора необходимой статистики.
Система AnyLogic может быть использована для моделирования непрерывных динамических процессов и систем.