Исходя из этого, изменим µ на µ=5. После этого получим:
L_ EQU 12.5
MU_ EQU 5
GENERATE (Exponential(1,0,1/L_))
QUEUE 1
Transfer .33,comp1,comp2
comp1 Transfer .5,com1,com2
com1 Seize 2
DEPART 1
ADVANCE (Exponential(2,0,1/MU_))
Release 2
TERMINATE 1
com2 Seize 3
DEPART 1
ADVANCE (Exponential(3,0,1/MU_))
Release 3
TERMINATE 1
comp2 Seize 1
DEPART 1
ADVANCE (Exponential(4,0,1/MU_))
Release 1
TERMINATE 1
;START 500,NP
;RESET
;START 1000
FACILITY |
ENTRIES |
UTIL. |
AVE.TIME |
AVAIL. |
OWNER |
PEND |
INTER |
RETRY |
DELAY |
1 |
353 |
0.867 |
0.207 |
1 |
0 |
0 |
0 |
0 |
0 |
2 |
325 |
0.819 |
0.212 |
1 |
999 |
0 |
0 |
0 |
0 |
3 |
324 |
0.744 |
0.193 |
1 |
1000 |
0 |
0 |
0 |
1 |
QUEUE |
MAX |
CONT. |
ENTRY |
ENTRY(0) |
AVE.CONT |
AVE.TIME |
AVE.(-0) |
RETRY |
1 |
23 |
1 |
1003 |
184 |
7.717 |
0.648 |
0.793 |
0 |
Теперь коэффициент загрузки снизился до 0,7 - 0,8, что является нормой, а очередь упала до 23.
3. Программа и моделирование третьего примера в двух вариантах: с использованием блока GATE и блока TEST.
исследуем модель, где заявки поступают на обработку в устройство с ограниченным числом мест в очереди m, равным 3. Если очередь заполнена, то заявка покидает систему (теряется).
GENERATE 8,2
TEST L Q$QUE1,2,OUT
QUEUE QUE1
SEIZE DEV
DEPART QUE1
ADVANCE 10,4
RELEASE DEV
SAVEVALUE P_otk,(N$OUT/N1)
TERMINATE
OUT TERMINATE
GENERATE 10000
TERMINATE 1
GENERATE 200
SAVEVALUE 99+,1
SAVEVALUE X99,FR$DEV
TERMINATE
START 1
Здесь, если длина очереди меньше 2, транзакт проходит блок TEST, иначе он отправляется к блоку с меткой OUT и теряется.
FACILITY |
ENTRIES |
UTIL. |
AVE.TIME |
AVAIL. |
OWNER |
PEND |
INTER |
RETRY |
DELAY |
DEV |
1001 |
0.999 |
9.981 |
1 |
1298 |
0 |
0 |
0 |
2 |
QUEUE |
MAX |
CONT. |
ENTRY |
ENTRY(0) |
AVE.CONT |
AVE.TIME |
AVE.(-0) |
RETRY |
QUE1 |
2 |
2 |
1003 |
1 |
1.523 |
15.187 |
15.202 |
0 |
Вероятность потерь P_otk = 0.198 (это доля потерянных заявок – отношение удаленных без обслуживания транзактов к общему числу транзактов, поступивших в систему).
Другой вариант программы:
MEM STORAGE 2
GENERATE 8,2
GATE SNF MEM,OUT
ENTER MEM
SEIZE DEV
LEAVE MEM
ADVANCE 10,4
RELEASE DEV
SAVEVALUE P_otk,(N$OUT/N1)
TERMINATE 1
OUT TERMINATE
start 100
В данном случае ограничение на длину очереди накладывается размером памяти. При заполнении памяти МЕМ очередная заявка получает отказ. Этим управляет блок GATE: если память не полна (SNF), то транзакт проходит блок GATE, а если полна, то транзакт переходит к блоку с именем OUT и теряется.
FACILITY |
ENTRIES |
UTIL. |
AVE.TIME |
AVAIL. |
OWNER |
PEND |
INTER |
RETRY |
DELAY |
DEV |
101 |
0.991 |
10.153 |
1 |
129 |
0 |
0 |
0 |
0 |
STORAGE |
CAP. |
REM. |
MIN. |
MAX. |
ENTRIES |
AVL. |
AVE.C. |
UTIL. |
MEM |
2 |
1 |
0 |
2 |
101 |
1 |
1.440 |
0.720 |
Вероятность потерь P_otk = 0.217
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.