
- •Определения
- •Общие понятия
- •Классификация моделей
- •Классификация систем
- •Модель типа «черный ящик»
- •Классификация систем массового обслуживания
- •Одноканальная смо с неограниченной очередью
- •Формулы Литтла
- •Многоканальная смо с неограниченной очередью
- •Показатели эффективности смо
- •Смо замкнутого типа
- •Применение метода Монте-Карло для решения задач, связанных с теорией массового обслуживания
- •Структура алгоритма, моделирующего процесс обслуживания заявок
- •Структура сети Петри
- •Графы сетей Петри
- •Маркировка сетей Петри
- •Правила выполнения сетей Петри
- •Пространство состояний сети Петри
- •События и условия
- •Эвм с конвейерной обработкой
- •Задача о взаимном исключении
- •Задача о производителе/потребителе
- •Безопасность
- •Ограниченность
- •Методы анализа
- •Дерево достижимости
- •Матричные уравнения
- •7. Моделирование производственных процессов
- •7.1. Дискретные производственные процессы (дпп)
- •7.2. Математическое описание операции обработки
- •7.3. Математическое описание процессов сборки и управления
- •7.4. Организация очереди и подсчет средней длины очереди
- •8. Программная реализация алгоритмов имитационного моделирования систем
- •8.1. Формирование и обработка наборов данных имитационного моделирования
- •8.2. Общая характеристика языка gpss
- •8.3. Описание и применение языка gpss
8.3. Описание и применение языка gpss
Пример 1.Заявки поступают в систему массового обслуживания через фиксированное время (7 единиц времени). Обслуживание заявки занимает фиксированное время (5 единиц времени). После обслуживания заявки покидают систему. Провести обработку 100 заявок.
Программа для примера 1 имеет следующий вид.
SIMULATE
10 GENERATE7; Генерация транзактов каждые 7 минут.
20 SEIZE 1
30 ADVANCE 5
40 RELEASE 1
50 TERMINATE 1; Уничтожение транзактов.
START100
END
Описание работы программы. Программа работает с абстрактными единицами времени, которые интерпретируются пользователем. Считаем, что за единицу времени принята 1 минута.
SIMULATE– вызов интерпретатора (симулятора).
Заявки (транзакты) генерируются блоком GENERATE7 каждые 7 минут, захватываются на обслуживание устройством 1 (блокSEIZE1), удерживаются на обслуживании в течении 5 мин. (блокADVANCE5) и освобождают устройство 1 (блокRELEASE1). Вывод транзактов осуществляет блокTERMINATE1. ОператорSTART100 повторяет процесс моделирования 100 раз. ОператорENDосуществляет задание прогона модели и завершает работу программы.
Стандартный отчет программы GPSS. Результаты моделирования представлены в следующем файле стандартного отчета, который автоматически формируется программойGPSS
start time |
end time |
blocks |
facilities |
storages |
free memory |
0 |
96794 |
39 |
3 |
1 |
82528 |
line |
loc |
block type |
entry count |
current count |
retry |
10 |
1 |
GENERATE |
100 |
0 |
0 |
20 |
2 |
SEIZE |
100 |
0 |
0 |
30 |
3 |
ADVANCE |
100 |
0 |
0 |
40 |
4 |
RELEASE |
100 |
0 |
0 |
50 |
5 |
TERMINATE |
100 |
0 |
0 |
fasility |
entries |
util |
ave. time |
available |
owner |
pend |
inter |
retry |
delay |
1 |
100 |
0.709 |
5.00 |
1 |
0 |
0 |
0 |
0 |
0 |
xact group |
group size |
retry |
0 |
0 |
0 |
Комментарий стандартному отчету.
starttime– начало моделирования.
endtime– окончание моделирования.
blocks– количество используемых в программе блоков.
facilities– количество установленных устройств.
storages– количество многоканальных устройств, для которых определяется заданная емкость накопителя.
freememory– емкость оперативной памяти, которая доступна для дальнейшего использования.
line– номера блоков в порядке возрастания.
loc– номера блоков, которые определяются системой.
blocktype– названия блоков.
entrycount– количество транзактов, проходящих через соответствующий блок программы.
currentcount– текущее количество транзактов, задержанных в блоке на момент окончания моделирования.
retry– количество транзактов, ожидающих специальных условий для прохождения через данный блок.
facility– номер устройства.
entries– количество транзактов, прошедших через устройство с данным номером.
util– коэффициент использования устройства с данным номером.
ave.time– среднее время обработки или задержки транзакта в устройстве с данным номером.
available– состояние готовности устройства в конце моделирования (1- готово к работе).
owner– номер последнего транзакта, занимавшего устройство (0 – устройство не занималось).
pend– количество транзактов, ожидающих устройство, находящееся в режиме прерывания.
inter– количество транзактов, прерывающих устройство в данный момент.
retry- количество транзактов, ожидающих специальных условий, зависящих от состояния объекта типа «устройство».
delay- количество транзактов, ожидающих занятия или освобождения устройства.
В системе GPSSмогут быть объекты типа «группа сообщений». Статистика по таким объектам отражается в следующих полях.
xactgroup– имя или номер группы сообщений.
groupsize- количество транзактов в группе в конце моделирования.
retry- количество транзактов, ожидающих специальных условий, связанных с состоянием данной группы.
1E[j] – вектор-строка