
Расчет числа реализаций.
Для оценки
среднего значения времени реакции в
имитационном эксперименте используется
формула .
В соответствии с центральной предельной
теоремой при больших N
величина
распределена
по нормальному закону с математическим
ожиданием a
и дисперсией
σ2/(N
- 1) . Тогда
абсолютная точность оценки ε = tα
σ /
и требуемое
число реализаций N
=
.
Величина tα
берется для заданной достоверности α
из таблицы нормального распределения:
α … 0.8 0.85 0.9 0.95 0.997
tα … 1.28 1.44 1.64 1.96 3
Поскольку дисперсия оцениваемой величины неизвестна, необходимо провести 50-100 предварительных испытаний и оценить величину σ. Проведен предварительный прогон модели на языке GPSS World (см. ниже) для N=100 испытаний и получено значение σ = 3,002018421 с.
-----------------------------------------------------------------------------------------------------
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
SERV 101 0.463 2443557.719 1 23 0 0 0 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 3 2 102 59 0.221 1154828.244 2739360.022 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
SPACE 23 3 0 23 122 1 22.316 0.970 0 0
TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%
TTIME 3641660.167 3002018.421 0
----------------------------------------------------------------------
Для получения среднего значения времени реакции с точностью 0.1 с при достоверности α = 0.997 (tα = 3) необходимо провести N = (3 * 3,002018421 / 0.1)2 + 1 = 8111 испытаний. В программе на языке GPSS World, приведенной ниже, принято значение N = 8200. Единица модельного времени равна 1 мкс.
Программа на языке gpss World.
INITIAL X6,8200 ; X6=8200, число циклов модели (число испытаний)
SPACE STORAGE 23 ; число пользователей
* Табулирование времени пребывания заявки в СМО - сервере (включая время
* ожидания в очереди) от начального значения 0 с шагом 1 с = 1000000 мкс
* для числа интервалов 35
TTIME TABLE MP2,0,1000000,35
* Системный числовой атрибут (СЧА) MP2 определяется так:
* MP2=<текущее абсолютное модельное время> - P2
* Генерация единственного исходного транзакта
GENERATE 0,0,,1
* Расщепление исходного транзакта на 22+1 заявку пользователей
SPLIT 22,SYS0,1
* 23 пользователя моделируются как МКУ SPACE (многоканальное
* устройство), содержащее 32 прибора с интенсивностью
* обслуживания eta, где 1/eta = 120 с - время обдумывания пользователя
SYS0 ENTER SPACE
* Экспоненциальное распределение времени обдумывания
ADVANCE (Exponential(1,0,120000000)); 1/eta=120000000
* Единица модельного времени равна 1 мкс
LEAVE SPACE
* Отметка абсолютного модельного времени в параметре P2 транзакта
MARK 2
* Очередь #1 к серверу SERV
QUEUE 1
SEIZE SERV
DEPART 1
* Экспоненциальное распределение времени обслуживания
* Сервер с интенсивностью обслуживания mu = 0.421 запр/с
ADVANCE (Exponential(1,0, 2375297));
* 1/mu = 2.375297 с = 2375297 мкс
RELEASE SERV
* Вызов блока табуляции
TABULATE TTIME
* Уменьшение X6 на единицу
SAVEVALUE 6-,1
* Проверка условия окончания моделирования: если X6=0, то переход к метке SYS0
TEST E X6,0,SYS0
* Удаление транзакта
TERMINATE 1
* Запуск модели (1 прогон, в котором выполняется X6=500 циклов)
START 1
Ниже приведены выдержки из отчета GPSS WORLD о результатах моделирования:
GPSS World Simulation Report - Untitled Model 1.9.1
Sunday, September 26, 2010 17:06:03
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 44571792131.252 15 1 1
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
SERV 8201 0.444 2412168.878 1 2 0 0 0 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 7 2 8202 4655 0.303 1648039.662 3810888.444 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
SPACE 23 3 0 23 8222 1 22.253 0.968 0 0
TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%
TTIME 4060304.053 3828175.889 0
0.000 - 1000000.000 1690 20.61
1000000.000 - 2000000.000 1344 37.00
2000000.000 - 3000000.000 1084 50.22
3000000.000 - 4000000.000 901 61.21
4000000.000 - 5000000.000 715 69.93
5000000.000 - 6000000.000 575 76.94
6000000.000 - 7000000.000 423 82.10
7000000.000 - 8000000.000 364 86.54
8000000.000 - 9000000.000 273 89.87
9000000.000 - 10000000.000 187 92.15
10000000.000 - 11000000.000 141 93.87
11000000.000 - 12000000.000 113 95.24
12000000.000 - 13000000.000 97 96.43
13000000.000 - 14000000.000 74 97.33
14000000.000 - 15000000.000 56 98.01
15000000.000 - 16000000.000 39 98.49
16000000.000 - 17000000.000 30 98.85
17000000.000 - 18000000.000 22 99.12
18000000.000 - 19000000.000 22 99.39
19000000.000 - 20000000.000 13 99.55
20000000.000 - 21000000.000 11 99.68
21000000.000 - 22000000.000 5 99.74
22000000.000 - 23000000.000 4 99.79
23000000.000 - 24000000.000 4 99.84
24000000.000 - 25000000.000 1 99.85
25000000.000 - 26000000.000 3 99.89
26000000.000 - 27000000.000 3 99.93
27000000.000 - 28000000.000 1 99.94
28000000.000 - 29000000.000 2 99.96
29000000.000 - 30000000.000 3 100.00
Таким образом, µ = 1/ 2,412168878 = 0,414564672 ≈ 0,414.
λ = SERV ENTRIES / (END TIME - START TIME) = 8201 / (44571,7921 – 0) = 0,183995 ≈ 0,184
По данным табулированных значений (TABLE TTIME) построим график распределения случайной величины t времени пребывания запроса (времени ожидания + времени обслуживания) в сервере: