Моделирование системы массового обслуживания, ориентированное на изучение специализированных языков моделирования: GPSS и AnyLogic
Содержание
Введение
. Постановка задачи
. Структурная схема модели
. Имитационная модель на языке GPSS
.1 Описание системы моделирования GPSS
.2 Описание модели на GPSS
.3 Результаты вычислительных экспериментов
. Моделирование в системе AnyLogic
.1 Описание среды разработки AnyLogic
.2 Создание модели в AnyLogic
.3 Результаты вычислительных экспериментов
Заключение
Список использованных источников
массовое обслуживание
моделирование
Введение
Имитационное моделирование - это замещение одного объекта другим с целью
получения информации о важнейших свойствах объекта-оригинала с помощью
объекта-модели. Таким образом, моделирование может быть определено как
представление объекта моделью для получения информации об этом объекте путем
проведения экспериментов с его моделью.
Теория замещения одних объектов (оригиналов) другими объектами (моделями)
и исследования свойств объектов на их моделях называется теорией моделирования.
Имитационной моделью называется специальный программный комплекс, который
позволяет имитировать деятельность какого-либо сложного объекта. Он запускает в
компьютере параллельные взаимодействующие вычислительные процессы, которые
являются по своим временным параметрам (с точностью до масштабов времени и
пространства) аналогами исследуемых процессов.
Целью настоящей курсовой работы является моделирование системы массового
обслуживания, ориентированное на изучение специализированных языков
моделирования: GPSS и AnyLogic.
Исходя из заданной цели, в работе решаются следующие задачи:
на основе содержательного описания исследуемой системы предлагается ее
концептуальная модель в виде СМО;
разработка моделирующей программы на специализированном языке
имитационного моделирования;
выполняются компьютерные эксперименты с моделью.
Постановка задачи
Рассматривается процесс.
В узел коммутации сообщений, который состоит из входного буфера,
процессора, двух выходных буферов и двух выходных линий, поступают сообщения с
двух направлений (по каждому через интервалы времени 15 ± 7 мс). Сообщения с
первого направления поступают во входной буфер, обрабатываются в процессоре,
накапливаются в выходном буфере первой линии и передаются по первой выходной
линии. Сообщения со второго направления обрабатываются аналогично, но
накапливаются в выходном буфере второй линии и передаются по второй линии.
Примененный метод контроля потоков разрешает одновременное присутствие в
системе не больше трех сообщений с каждого направления. Если при наличии в
системе трех сообщений с некоторого направления поступает сообщение с этого же
направления, то оно получает отказ. Время обработки в процессоре равняется 7 мс
на сообщение, время передачи по каждой из выходных линий - 15 ± 5 мс.
Промоделировать работу узла коммутации на протяжении 10с.
Определить загрузку устройств и вероятность отказов в обслуживании.
2
Структурная схема модели
Моделируемая система представлена в виде модели системы массового
обслуживания (СМО), структурная схема которой показана на рис.1.
Рисунок 1- Концептуальная модель процесса обслуживания покупателей в
магазине
В модели используются следующие графические символы:- Блок GENERATE
(Генерировать) - это блок, который создает заявки, входящие в модель. Интервал
времени между последовательными отправками сообщений в входной буфер (то есть,
выход заявки из блока GENERATE) называется интервалом поступления.
Queue
- очередь сообщений у какого-либо устройств(процессор, линия).
3 Имитационная модель на языке GPSS
.1 Описание системы моделирования GPSS
Система моделирования GPSS World имеет боле
70 типов блоков и команд, около 50 системных параметров.
В процессе прогона имитационной модели обеспечивается возможность
постоянного наблюдения в шести интерактивных графических окнах (машинная
манипуляция, работа одноканальных и многоканальных устройств, функционирование
блоков, отображение таблиц и матриц).
Система выдает отчет о результатах моделирования, содержащий широкий
спектр параметров блоков, устройств, очередей, таблиц, пользовательских
списков.
Язык GPSS ориентирован на класс систем,
процесс функционирования которых можно представить в виде дискретного множества
состояний и правил перехода из одного состояния в другое во времени. Примерами
таких систем являются вычислительные системы, сети ЭВМ, системы передачи
сообщений, транспортные объекты, склады, магазины и т.д. В качестве
концептуальных моделей таких объектов используют системы массового
обслуживания, автоматы, стохастические сети и т.п.
В состав GPSS входят
следующие типы объектов: транзакты, блоки, списки, ячейки, функции, устройства,
памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Под
объектом понимается образ, объединяющий некоторую структуру данных и правила
преобразования этих данных. Стандартные числовые атрибуты - часть данных,
доступных программисту.
Язык GPSS хорошо согласуется с удобным
описанием модели системы в форме Q -
схемы.
3.2 Описание модели на GPSS
Здесь представлена модель, созданная в среде GPSS World. Листинг
программы представлен ниже:
Buf Storage3,7, 1;P1=1 № линии 1, inp
;======================================, 7, 2;P1=2 № линии 2
;======================================SNFBuf,
otkazBufBufinpBufinp
;======================================EP1,1,nal2,5
;======================================QUEUEBuf2,51000savevalue
otk+, 1potk, v1
variable x$otk/n$inp 1
Операторы GPSS, использованные в модели, представлены в таблице 1.
Таблица 1
Код и назначение
|
Содержание операнда
|
1
|
2
|
GENERATE (создание транзактов)
|
Интервал поступления
транзактов. Модификатор-интервал или модификатор-функция. Время задержки
первого транзакта . Количество создаваемых транзактов.
|
STORAGE (хранилище или
память)
|
Название STORAGE становится
понятным, если представить себе, что МКУ это автоматизированный склад или
многоэтажный гараж с определенным числом мест, которое и задает этот
оператор. В таких случаях МКУ определяет не количество одинаковых устройств
для обслуживания, а количество одинаковых мест для хранения.
|
QTABLE (peгиcтpaция cтaтиcтики для тpaнзaктoв, вxoдящиx в
блoки QUEUE и DEPART)
|
NAME QTABLE A, B,
C, D NAME - мeткa oбъeктa. A - имя oчepeди.
В - вepxний пpeдeл пepвoгo чacтoтнoгo клacca. C - рaзмep
чacтoтныx клaccoв. D - кoличecтвo чacтoтныx клaccoв.
|
QUEUE (регистрация входа в очередь)
|
Номер (имя) очереди. Число
единиц, на которое увеличивается длина очереди.
|
ENTER (занятие многоканального устройства)
|
Номер (имя) многоканального
устройства. Число единиц, занимаемых транзактом.
|
ADVANCE (задержка транзакта)
|
Среднее время.
Модификатор-интервал или модификатор-функция: FNj, FN$<ИМЯ>, FN*j
|
DEPART (уменьшение очереди)
|
TERMINATE (удаление транзактов)
|
Число единиц, на которое
уменьшается счетчик завершении, задаваемый оператором START.
|
RELEASE (освобождение устройства)
|
Номер (имя) освобождаемого
устройства.
|
.3 Результаты вычислительных экспериментов
Для рассматриваемого примера получены статистические данные по загрузке
приборов. Результаты проведения испытания представлены в таблице 2.
FACILITY ENTRIES
UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY1001 0.674 7.000 1 0
0 0 0 0517 0.739 14.869 1 1381 0 0 0 0484 0.695 14.938 1 0 0 0 0 0MAX CONT.
ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY1 0 1001 658 0.101 1.053 3.073
02 1 517 0 0.826 16.615 16.615 03 0 484 0 0.799 17.156 17.156 0CAP. REM. MIN.
MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY3 2 0 3 1001 1 2.400 0.800 0 0
Результаты зависимости полученных значений коэффициентов загрузки от
времени показаны в табл. 2.
Таблица 2 - Коэффициенты загрузки приборов
№
|
Время(сек)
|
Загрузка процессора
|
Загрузка 1-ой линии
|
Загрузка 2-ой линии
|
Вероятность отказа
|
1
|
10
|
0,67
|
0,69
|
0,73
|
0.38
|
4 Моделирование в системе AnyLogic
.1 Описание среды разработки AnyLogic
AnyLogic - инструмент имитационного моделирования нового поколения, основанный не
результатах, полученных в теории моделирования и в информационных технологиях
за последнее десятилетие.
Язык моделирования AnyLogic доказал свою эффективность в моделировании больших систем повышенного
уровня сложности. Основными строительными блоками модели AnyLogic являются активные объекты, которые
позволяют моделировать любые объекты реального мира.
Активный объект является экземпляром класса активного объекта. Чтобы
создать модель AnyLogic, мы
должны создать классы активных объектов (или использовать объекты библиотек AnyLogic) и задать их взаимосвязи. AnyLogic интерпретирует создаваемые нами
графически классы активных объектов в классы Java. Поэтому мы можем
пользоваться всеми преимуществами объектно-ориентированного моделирования:
наследованием, полиморфизмом и т.д.
Наследование позволяет значительно упростить процесс разработки моделей.
Например, создав базовый класс, моделирующий автомобиль, мы можем
промоделировать различные классы автомобилей (спортивные автомобили, грузовики,
и т.п.) с помощью подклассов этого класса. Основные характеристики будут
унаследованы от базового класса, а особенные для каждого класса автомобилей
характеристики будут заданы в подклассах.
Активные объекты могут содержать вложенные объекты, причем уровень
вложенности неограничен. Это позволяет производить декомпозицию модели на любое
количество уровней детализации. С помощью инкапсуляции объектов мы также можем
прятать объекты детали разработки моделируемого объекта.
Активные объекты имеют четко определенные интерфейсы взаимодействия - они
взаимодействуют со своим окружением только посредством своих интерфейсных
элементов. Это разделение внутреннего устройства активного объекта и любой
информации об окружении объекта облегчает создание систем со сложной
структурой, а также делает активные объекты повторно используемыми. Создав
класс активного объекта, мы можем создать любое количество объектов-экземпляров
этого класса.
Удобный интерфейс и многочисленные средства поддержки разработки
моделей в AnyLogic делают не только использование, но и создание
компьютерных имитационных моделей в этой среде моделирования
доступным даже для начинающих.
.2 Создание модели в AnyLogic
Создаем блок-схему модели узла коммутации сообщений из элементов библиотеки
Enterprise Library (рисунок 2).
Рисунок 2 - Схема модели узла коммутации в AnyLogic
Объекты Queue моделируют входной и выходные буферы.
Объект Source.
Представляет собой источник заявок. Обычно используется в качестве
начальной точки потока заявок. Генерирует заявки любых подклассов базового
класса Entity через случайные промежутки времени.
Время генерации может как подчиняться закону распределения, так и определяться
заданным нами расписанием. Зададим следующие свойства объектов Source:
Рисунок 3 - Задание свойств объекта Source
Рисунок 4 - Задание свойств объекта Source1
Объект Delay.
Задерживает заявки на заданное время. Как только время задержки истекает,
заявка тут же покидает объект. Если объект Delay занят обслуживанием заявки, то новую заявку он не
примет.
Рисунок 5 - Задание свойств объекта Delay
Объект Sink.
Уничтожает поступившие заявки. Обычно используется в качестве конечной
точки потока заявок.
Состояние модели, полученное в процессе ее работы, показано на рис.8.
Рисунок 6 - Окно запуска программы
.3 Результаты вычислительных экспериментов
Для рассматриваемого примера получены статистические данные по загрузке
приборов. Результаты проведения испытания представлены в таблице 4.
Таблица 4 - Загрузки приборов
На основании этих данных построен график зависимости коэффициента
загрузки прибора от времени, показанный на рис.9.
Рисунок
7 - График зависимости коэффициента загрузки прибора от времени
Сравнив
полученные результаты (таблица 2 и рисунок 7), увидели, что они приблизительно
похожи. Из чего можно сделать вывод о том, что модели составлены правильно.
Заключение
В данной курсовой работе на основе полученного задания были разработаны
модели в среде GPSS и в AnyLogic. С моделями были проведены вычислительные
эксперименты. На основе этих экспериментов была получены статистические выборки
и построен график, который наглядно демонстрирует зависимость коэффициента
загрузки от объема выборки.
Выводы, полученные при моделировании системы массового обслуживания,
отражают основные особенности функционирования объекта и позволяют качественно
и количественно оценить его поведение.
Список использованных источников
1
Боев В.Д., Кирик
Д.И., Сыпченко Р.П. Компьютерное моделирование: пособие для курсового и
дипломного проектирования, Санкт-Петербург, 2011 г., 348 с.
2
Шевченко Д.Н.,
Кравченя И.Н. Имитационное моделирование на GPSS: учебно-методическое пособие
для студентов технических специальностей, Гомель, 2007, 97 с.
3
Материалы сети
Интернет: gpss.ru