Моделирование работы. GPSS

Моделирование работы в машинном зале в терминах GPSS
Постановка задачи.
В студенческом машинном зале расположены две мини-ЭВМ и одно устройство
подготовки данных (УПД). Студенты приходят с интервалом 8±3 мин. и треть из них
хочет испытать УПД и ЭВМ, а остальные только ЭВМ. Допустимое количество
студентов в машинном зале 4 чел., включая работающего на УПД.
Работа на УПД занимает 9±4 мин. Работа на ЭВМ - 15±10 мин.; 20% работавших на
ЭВМ возвращаются для повторного использования УПД и ЭВМ и остаются при этом в
машинном зале.
Если студент пришел в машинный зал, а там уже есть 4 чел., то он ждет не более
15±2 мин. в очереди в машинный зал и, если нет возможности в течение этого
времени начать работать, то он уходит.
Смоделировать работу в машинном зале в течение 48 часов.
Определить:
загрузку УПД и обеих ЭВМ,
максимальную длину очереди в машинный зал,
среднее время ожидания в очереди в машинный зал,
распределение общего времени работы студента в машинном зале,
количество студентов, которые не дождались возможности поработать и ушли.
Решение задачи.
Текст программы.
10________SIMULATE
20________GENERATE__8,3
30 VB1____VARIABLE__RN1/200+13
40________ASSIGN_____3,0
50________ASSIGN_____2,V$VB1
60________ASSIGN_____1,X1
70________TEST NE____X3,0,ENR
80 ENO____QUEUE_____OZD
90________SAVEVALUE 3+,1
100 ADC__ADVANCE___1
110_______GATE SF____CCL,DPT
120_______SAVEVALUE 2,X1
130_______SAVEVALUE 2-,P1
140_______ASSIGN_____3,X2
150_______TEST LE____P3,P2,DPT
160_______TRANSFER__,ADC
170 DPT___SAVEVALUE 3-,1
180_______DEPART OZD
190_______TEST G_____P3,P2,EN1
200_______TERMINATE
210 ENR___GATE SNF__CCL,ENO
220 EN1___ENTER_____CCL
230_______MARK
240_______TRANSFER__.333,CP1,UP1
250 UP1___SEIZE______UPD
260_______ADVANCE__9,4
270_______RELEASE___UPD
280 CP1___ENTER_____COM
290_______ADVANCE__15,10
300_______LEAVE_____COM
310_______TRANSFER__200,LVE,UP1
320 LVE___LEAVE_____CCL
330_______TABULATE__MWT
340_______TERMINATE
350_______GENERATE__1
360_______SAVEVALUE 1+,1
370 TRM___TERMINATE 1
380 CCL___STORAGE___4
390 COM___STORAGE___2
400 MWT___TABLE_____M1,15,15,15
410_________START_____2880

10 SIMULATE
20 GENERATE 8,3 генерация транзактов, изображающих студентов
30 VB1 VARIABLE RN1/200+13 вычисление максимально возможного времени пребывания
студента в очереди
40 ASSIGN 3,0 разница между временем встраивания студента в очередь и текущим
моментом
50 ASSIGN 2,V$VB1 запись максимального времени
60 ASSIGN 1,X1 время вхождения студента в очередь
70 TEST NE X3,0,ENR если очередь пуста, перейти к проверке занятости машинного
зала
80 ENO QUEUE OZD регистрация в очереди
90 SAVEVALUE 3+,1 увеличение размера очереди
100 ADC ADVANCE 1 задержка студента в ожидании свободного места в машинном зале
110 GATE SF CCL,DPT если в машинном зале есть место, покинуть очередь
120 SAVEVALUE 2,X1 запись текущего времени
130 SAVEVALUE 2-,P1 вычисление разницы между текущим временем и временем
вхождения
140 ASSIGN 3,X2 и запись разницы
150 TEST LE P3,P2,DPT если разница превысила время ожидания, покинуть очередь,
160 TRANSFER ,ADC в противном случае, снова ждать одну минуту
170 DPT SAVEVALUE 3-,1 уменьшение числа студентов в очереди
180 DEPART OZD студент покидает очередь
190 TEST G P3,P2,EN1 если разница не превышает времени ожидания, занять место в
зале,
200 TERMINATE в противном случае, покинуть машинный зал
210 ENR GATE SNF CCL, ENO если в машинном зале нет мест, встать в очередь,
220 EN1 ENTER CCL в противном случае, занять свободное место
230 MARK отметка начала работы студента в машинном зале
240 TRANSFER .333,CP1,UP1 треть студентов выполняет работу на УПД и ЭВМ,
остальные только на ЭВМ
250 UP1 SEIZE UPD студент занимает место на УПД
260 ADVANCE 9,4 и работает некоторое время,
270 RELEASE UPD затем покидает УПД и
280 CP1 ENTER COM занимает место за одной из двух ЭВМ,
290 ADVANCE 15,10 работает в течении нескольких минут и
300 LEAVE COM покидает ЭВМ
310 TRANSFER .200,LVE,UP1 20% студентов возвращаются для повторного
использования УПД и ЭВМ
320 LVE LEAVE CCL студент покидает машинный зал
330 TABULATE MWT фиксация времени пребывания студента в машинном зале
340 TERMINATE студент уходит
350 GENERATE 1 моделирование времени работы системы
360 SAVEVALUE 1+,1 счетчик времени (в минутах)
370 TRM TERMINATE 1 одна минута системного времени прошла
380 CCL STORAGE 4 вместительность машинного зала
390 COM STORAGE 2 количество ЭВМ
400 MWT TABLE M1,15,15,15 описание таблицы распределения общего времени работы
студента в машинном зале
410 START 2880 работа системы в течении 48 часов (60*48=2880 часов)
Схема решения в терминах предметной области.
Собираясь приступить к работе в машинном зале, студент подходит к нему и
проверяет, есть ли очередь в машинный зал. Если таковой нет, то он ищет в
последнем свободное место, а если очередь есть, то становится в ее конец. Затем,
либо входит в машинный зал, либо создает очередь, состоящую из одного человека
(его самого). После этого ждет в течение 15±2 мин. Если за это время место в
зале не освобождается, студент уходит, в противном же случае, он покидает
очередь и попадает в машинный зал.
Работа студента в машинном зале происходит следующим образом. Студент
определяет, приступить ли ему к работе УПД, а затем на одной из ЭВМ (по условию
задачи, число таких студентов составляет треть от общего числа посетителей) или
пройти сразу к ЭВМ (все остальные). После работы на ЭВМ каждый студент может
либо покинуть машинный зал, либо приступить к повторной работе (20%), теперь уже
точно на УПД и ЭВМ.
Схема решения в терминах GPSS.
Переменные и параметры.
В качестве студентов в рамках данной модели будут рассматриваться транзакты.
VB1 – значение максимально возможного времени ожидания студента в очереди;
вычисляется для каждого транзакта в отдельности.
X1 – счетчик системного времени в минутах.
P1 – параметр транзакта, определяющий его время вхождения в очередь.
P2 – параметр, изображающий характеристику “нетерпеливости” студента как
максимальное время пребывания транзакта в очереди.
P3 – время пребывания студента в очереди: меняется в процессе движения транзакта
внутри очереди.
X2 – используется для промежуточных вычислений.
X3 – количество транзактов, пребывающих в очереди.
Устройства, очереди и накопители.
OZD – очередь в машинный зал.
CCL – накопитель емкостью в четыре транзакта, изображающий машинный зал.
UPD – устройство, изображающее УПД.
COM – накопитель емкостью в два транзакта, изображающий пару мини-ЭВМ.
MWT – таблица распределения общего времени работы студента в машинном зале.
Комментарии к программе.
Подробные комментарии приведены в тексте программы в конце данного документа.
Однако стоит отметить, что в рамках модели, минимальной (и основной) единицей
времени является минута; а также то, что транзакт не попадает в очередь, если
она отсутствует и есть место в машинном зале.
Результаты.
Получены следующие результаты:
Загрузка УПД – 55,2%
Загрузка ЭВМ – 96,5%
Максимальная длина очереди – 4 чел.
Среднее время ожидания в очереди – 9,02 мин.
Количество ушедших студентов – 78
Распределение общего времени работы студентов в машинном зале приведено в
таблице 2.1.
Таблица 2.1
Интервалы времениЧисло студентовСуммарная вероятность
0 – 153612.59
15 – 3010649,65
30 – 457876,92
45 – 601582,72
60 – 752390,21
75 – 901695,80
90 – 105798,25
105 – 120399,30
120 - 1352100,00

Исследование адекватности модели.
Метод исследования.
Рассмотренный далее метод не претендует на абсолютную точность, но, тем не
менее, позволяет примерно оценить соответствие модели реальной ситуации.
Метод заключается в использовании внесения изменений в начальные данные. При
этом анализируются изменения получаемых результатов.
Применение метода к поставленной задаче.
Вся информация по измененным входным данным и полученным результатам
представлена в таблице 3.1 Знаком “” отделяются значения для исходной задачи от
значений для задачи, получаемой в результате внесения изменений.
Таблица 3.1
ПараметрЗагрузка УПД, %Загрузка ЭВМ, %Максимальная длина очереди,
чел.Среднее время ожидания, мин.Число ушедших студентов, чел.
Время работы системы
48 100 часов55,2 53,796,5 97,44 49,02 8,8178 152
Число мини-ЭВМ
2 1 шт.55,2 29,7 96,5 99,64 49,02 11,8778 203
Число человек в зале
4 255,2 41,296,5 74,0 4 49,02 9,8378 116
Интервал между приходами студентов
8±3 155,2 56,296,5 99,34 199,02 15,1078 2545
Число желающих использовать УПД и ЭВМ
33 50 %55,2 66,696,5 95,84 49,02 8,3078 56

Приведенные здесь результаты показывают, что полученная модель с достаточной
точностью отображает реальную ситуацию в рамках поставленной задачи.