Задание на лабораторные работы (1086521), страница 20
Текст из файла (страница 20)
0.99177,1.92
0.99326,2
0.99448,2.08
0.99548,2.16
0.9963,2.24
0.99697,2.32
0.99752,2.4
0.99797,2.48
0.99834,2.56
0.99864,2.64
0.99889,2.72
0.99909,2.8
0.99925,2.88
0.99939,2.96
0.9995,3.04
0.99959,3.12
0.99966,3.2
exp2 function rn5,c41
0,0
0.18127,0.25
0.32968,0.5
0.45119,0.75
0.55067,1
0.63212,1.25
0.69881,1.5
0.7534,1.75
0.7981,2
0.8347,2.25
0.86466,2.5
0.8892,2.75
0.90928,3
0.92573,3.25
0.93919,3.5
0.95021,3.75
0.95924,4
0.96663,4.25
0.97268,4.5
0.97763,4.75
0.98168,5
0.985,5.25
0.98772,5.5
0.98995,5.75
0.99177,6
0.99326,6.25
0.99448,6.5
0.99548,6.75
0.9963,7
0.99697,7.25
0.99752,7.5
0.99797,7.75
0.99834,8
0.99864,8.25
0.99889,8.5
0.99909,8.75
0.99925,9
0.99939,9.25
0.9995,9.5
0.99959,9.75
0.99966,10
exp3 function rn2,c41
0,0
0.18127,0.4
0.32968,0.8
0.45119,1.2
0.55067,1.6
0.63212,2
0.69881,2.4
0.7534,2.8
0.7981,3.2
0.8347,3.6
0.86466,4
0.8892,4.4
0.90928,4.8
0.92573,5.2
0.93919,5.6
0.95021,6
0.95924,6.4
0.96663,6.8
0.97268,7.2
0.97763,7.6
0.98168,8
0.985,8.4
0.98772,8.8
0.98995,9.2
0.99177,9.6
0.99326,10
0.99448,10.4
0.99548,10.8
0.9963,11.2
0.99697,11.6
0.99752,12
0.99797,12.4
0.99834,12.8
0.99864,13.2
0.99889,13.6
0.99909,14
0.99925,14.4
0.99939,14.8
0.9995,15.2
0.99959,15.6
0.99966,16
***************************************
N_q table q1,0,1,10
T_q qTABLE 1,0,1,4
T_s table m1,0,2,6
**************************************
10 GENERATE 1,fn$exp1
20 test L q1,3,exit1
30 test L qt1,fn$exp3,exit2
40 queue 1
50 TRANSFER ALL,CHAN1,CHAN4,3
**************************************
100 CHAN1 SEIZE zet1
110 assign 1,zet1
120 transfer ,come
**************************************
200 chan2 SEIZE zet2
210 assign 1,zet2
220 transfer ,come
**************************************
300 chan3 SEIZE zet3
310 assign 1,zet3
320 transfer ,come
**************************************
400 chan4 SEIZE zet4
410 assign 1,zet4
**************************************
500 come depart 1
510 tabulate N_q
520 advance 1,fn$exp2
530 release p1
540 tabulate T_s
550 work terminate
560 exit1 terminate
570 exit2 terminate
**************************************
1000 GENERATE 60
1100 TERMINATE 1
START 1
;end
В программе строки 1000–1100 определяют время моделирования, равное 60 с (или другой единицы времени, определяемой пользователем). Массивы чисел, следующие после операторов function, задают точки (координаты точек на плоскости) функций распределения входного потока требований (метка exp1), обслуживания (метка exp2) и ухода из очереди "нетерпеливых" требований (метка exp3). Аргументами этих функций являются случайные числа, равномерно распределенные в интервале [0,1]. Формирование случайных чисел осуществляется соответствующими генераторами: RN21 — для входного потока, RN5 — для обслуживания, RN2 — для ухода "нетерпеливых" требований. Каждая функция считается непрерывной и содержит 41 пар точек (второй аргумент оператора function это С41).
Программа реализует следующий алгоритм. Поступающие по пуассоновскому закону требования (транзакты в системах GPSS) попадают в очередь на обслуживание. Если в очереди меньше 3-х транзактов, то они ожидают начала обслуживания. В противном случае они покидают систему, т.е. получают отказ в обслуживании. Проверка длины очереди осуществляется блоком TEST в строке 20. Время ожидания соотносится со случайным временем ожидания "нетерпеливых" требований. Если оно меньше, то требования поступают в устройства обслуживания, в одно из свободных устройств, начиная с первого (реализуется блоком TRANSFER в режиме ALL). Перевод транзактов в устройства осуществляется по меткам CHAN1, CHAN2, CHAN3, CHAN4. Поступающим в устройства обслуживания транзактам в первый параметр записывается имя устройства (zet1, … , zet4), после чего они отправляются по метке come в блок DEPART, который освобождает одно место в очереди под номером 1. Далее происходит обслуживание транзактов по экспоненциальному закону. Моделирование обслуживания осуществляется блоком ADVANCE в строке 520. Вывод транзакта из работающего устройства осуществляется блоком RELEASE по первому параметру, в котором записано имя устройства. Обслуженные транзакты выводятся из системы блоком TERMINATE с меткой work.
Для получения распределений числа транзактов в очереди, времени пребывания в модели использованы операторы таблиц table с метками N_q, T_s. Сбор статистики для введенных таблиц производится блоками TABULATE. Распределение времени ожидания в очереди производится оператором qtable с меткой T_q автоматически без блока TABULATE.
Файл стандартного отчета программы следующий:
GPSS/PC Report file REPORT.GPS. (V 2, # 37349) 07-17-2004 23:33:13 page 1
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY
0 60 26 4 0 306704
LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY
10 1 GENERATE 770 0 0
20 2 TEST 770 0 0
30 3 TEST 391 0 0
40 4 QUEUE 233 0 0
50 5 TRANSFER 314 1 0
100 CHAN1 SEIZE 58 0 0
110 7 ASSIGN 58 0 0
120 8 TRANSFER 58 0 0
200 CHAN2 SEIZE 64 0 0
210 10 ASSIGN 64 0 0
220 11 TRANSFER 64 0 0
300 CHAN3 SEIZE 51 0 0
310 13 ASSIGN 51 0 0
320 14 TRANSFER 51 0 0
400 CHAN4 SEIZE 59 0 0
410 16 ASSIGN 59 0 0
500 COME DEPART 232 0 0
510 18 TABULATE 232 0 0
520 19 ADVANCE 232 2 0
530 20 RELEASE 230 0 0
540 21 TABULATE 230 0 0
550 WORK TERMINATE 230 0 0
560 EXIT1 TERMINATE 379 0 0
570 EXIT2 TERMINATE 158 0 0
1000 25 GENERATE 1 0 0
1100 26 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY
ZET1 58 0.866 0.90 1 711 0 0 1 0
ZET2 64 0.866 0.81 1 0 0 0 1 0
ZET3 51 0.833 0.98 1 0 0 0 1 0
ZET4 59 0.766 0.78 1 763 0 0 1 0
QUEUE MAX CONT. ENTRIES ENTRIES(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 3 1 233 168 1.37 0.35 1.26 0
TABLE MEAN STD.DEV. RETRY RANGE FREQUENCY CUM.%
N_Q 0.60 0.83 0
- 0 145 62.50
0 - 1 35 77.59
1 - 2 52 100.00
T_Q 0.34 0.65 0
- 0 168 72.41
GPSS/PC Report file REPORT.GPS. (V 2, # 37349) 07-17-2004 23:33:13 page 2
TABLE MEAN STD.DEV. RETRY RANGE FREQUENCY CUM.%
0 - 1 53 95.26
1 - 2 7 98.28
2 - 4 100.00
T_S 1.18 1.26 0
- 0 85 36.96
0 - 2 111 85.22
2 - 4 30 98.26
4 - 6 4 100.00
XACT_GROUP GROUP_SIZE RETRY
POSITION 0 0
Данные таблиц файла стандартного отчета используем для определения операционных характеристик системы М/М/4/7 с ограниченным временем ожидания:
-
Средняя длина очереди N_q равна 0.6;
-
Среднее время пребывания в очереди T_q равно 0.34;
-
Среднее время пребывания в системе T_s равно 1.18;
-
Среднее число требований (транзактов) в системе Ncp определяем по формуле Литтла:
Ncp = λT_s = 2.5*1.18 = 2.95.
Расчетные значения операционных характеристик, определенные в системах MATLAB и GPSS/PC, сведем в таблицу 2.1.
Таблица 2.1 — Сравнение операционных характеристик | ||
Характеристики | MATLAB | GPSS/PC |
Средняя длина очереди | 0.60937 | 0.6 |
Среднее время пребывания в очереди | 0.24375 | 0.34 |
Среднее время пребывания в системе | 1.25869 | 1.18 |
Среднее число требований в системе | 3.14674 | 2.95 |
Как видно из данных таблицы 2.1, операционные характеристики, рассчитанные аналитически и имитационным методом, одного порядка.
Задание:
-
В соответствии с параметрами, заданными для своего номера компьютера (см. п. Моделирование в системе MATLAB), рассчитать операционные характеристики в системе GPSS/PC и сравнить c теми же характеристиками, полученными в MATLAB (создать таблицу вида 2.1).
-
Проанализировать получаемые операционные характеристики при различных значениях времени моделирования.
-
Проанализировать получаемые операционные характеристики при различных генераторах случайных чисел, являющихся аргументами операторов function.
100