Файл: Основные задания к самостоятельным работам в системе gpss.docx

ВУЗ: Не указан

Категория: Решение задач

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 80

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




100000

200000

300000

400000

500000

600000

700000



0,348

0,348

0,362

0,356

0,356

0,352

0,356



0,217

0,215

0,207

0,209

0,209

0,205

0,202



0,434

0,437

0,431

0,435

0,435

0,442

0,442


Как видим, с ростом продолжительности моделирования погрешность реализации разветвлений уменьшается.
ЗАДАНИЕ 3.2. Построение модели с разветвлением потока на 5 направлений.

Вариант 3.2.1. Нарисовать схему СМО, содержащую одноканальное устройство (ОКУ), на вход которого поступает 5 потоков заявок, образующих соответствующие неограниченные очереди заявок, различающихся значением первого параметра. На выходе ОКУ образуется поток заявок, который надо преобразовать в 5 потоков, в каждом из которых содержатся транзакты с одинаковыми значениями первого параметра. Дальнейшее перемещение потоков – по вашему усмотрению. Интенсивности входных потоков и обслуживания заявок задать самостоятельно, но выполнять условие - коэффициент загрузки ОКУ должен принимать значение не выше 0.9. В отчёте представить и обсудить результаты моделирования.

Схема СМО:



Программа:
SIMULATE

GENERATE (Exponential (1,0,10)) ;1-й поток

ASSIGN 1,1 ;номер потока в 1-ом параметре

TRANSFER ,obsl ;переход на метку с обслуживанием

GENERATE (Exponential (2,0,15)) ;2-й поток

ASSIGN 1,2 ;номер потока в 1-ом параметре

TRANSFER ,obsl ;переход на метку с обслуживанием


GENERATE (Exponential (3,0,20)) ;3-й поток

ASSIGN 1,3 ;номер потока в 3-ем параметре

TRANSFER ,obsl ;переход на метку с обслуживанием

GENERATE (Exponential (4,0,25)) ;4-й поток

ASSIGN 1,4 ;номер потока в 3-ем параметре

TRANSFER ,obsl ;переход на метку с обслуживанием

GENERATE (Exponential (5,0,30)) ;5-й поток

ASSIGN 1,5 ;номер потока в 3-ем параметре

obsl QUEUE P1 ;стали в очередь

SEIZE OKU1 ;заняли прибор

DEPART P1 ;ушли из очереди

ADVANCE (Exponential (6,0,3)) ;обслуживание

RELEASE OKU1 ;закончили обслуживание

obsl1 QUEUE (P1+10) ;стали в очередь

SEIZE (P1+10);заняли прибор

DEPART (P1+10);ушли из очереди

ADVANCE (Exponential (7,0,(UNIFORM(8,4#P1,6#P1)))) ;обслуживание

RELEASE (P1+10);закончили обслуживание

TERMINATE

GENERATE 100000

TERMINATE 1

START 1

Файл REPORT:
START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 100000.000 27 6 0

NAME VALUE

OBSL 15.000

OBSL1 20.000

OKU1 10000.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 9879 0 0

2 ASSIGN 9879 0 0

3 TRANSFER 9879 0 0

4 GENERATE 6525 0 0

5 ASSIGN 6525 0 0

6 TRANSFER 6525 0 0

7 GENERATE 4906 0 0

8 ASSIGN 4906 0 0

9 TRANSFER 4906 0 0

10 GENERATE 3846 0 0

11 ASSIGN 3846 0 0

12 TRANSFER 3846 0 0

13 GENERATE 3325 0 0

14 ASSIGN 3325 0 0

OBSL 15 QUEUE 28481 0 0

16 SEIZE 28481 0 0

17 DEPART 28481 0 0

18 ADVANCE 28481 1 0

19 RELEASE 28480 0 0

OBSL1 20 QUEUE 28480 7 0

21 SEIZE 28473 0 0

22 DEPART 28473 0 0

23 ADVANCE 28473 2 0

24 RELEASE 28471 0 0

25 TERMINATE 28471 0 0

26 GENERATE 1 0 0

27 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

11 9878 0.492 4.982 1 0 0 0 0 0

12 6525 0.668 10.238 1 0 0 0 0 0

13 4903 0.717 14.620 1 28465 0 0 0 3

14 3846 0.760 19.768 1 0 0 0 0 0

15 3321 0.832 25.056 1 28426 0 0 0 4

OKU1 28481 0.857 3.009 1 28485 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

1 18 0 9879 1373 1.855 18.774 21.804 0

2 16 0 6525 912 1.282 19.640 22.832 0

3 13 0 4906 728 0.932 18.991 22.300 0

4 11 0 3846 562 0.730 18.977 22.225 0

5 7 0 3325 509 0.616 18.527 21.876 0

11 10 0 9878 4987 0.490 4.962 10.022 0

12 16 0 6525 2131 1.279 19.600 29.106 0

13 18 3 4906 1377 1.620 33.024 45.910 0

14 19 0 3846 910 2.181 56.699 74.272 0

15 28 4 3325 557 4.115 123.745 148.646 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

28485 0 100001.558 28485 18 19 1 1.000

28487 0 100002.929 28487 0 1

28486 0 100004.795 28486 0 4

28465 0 100006.666 28465 23 24 1 3.000

28426 0 100016.720 28426 23 24 1 5.000

28481 0 100022.420 28481 0 7

28482 0 100024.354 28482 0 10

28472 0 100032.728 28472 0 13

28488 0 200000.000 28488 0 26
В данной модели мы вносим номер потока в параметр активного транзакта, и в последствии в зависимости от значения этого параметра транзакта направляется в необходимую очередь и обслуживается также на приборе обслуживания в соответствии со значением параметра (на второй фазе обработки). Как видим из файла REPORT, разделение на различные очереди на второй фазе обработки отвечает тому числу заявок, которые поступили в систему в каждом из потоков.




Вариант 3.2.2. Нарисовать схему СМО, содержащую одноканальное устройство (ОКУ), на вход которого поступает поток заявок, загружающий ОКУ на 80%, а после обслуживания в ОКУ этот поток делится на 5 направлений с заданными вероятностями соответственно 0.1, 0.2, 0.3, 0.15 и 0.25. С вновь образованными потоками происходит следующее: Первый поток поступает на вход ОКУ, образуя свою очередь заявок с приоритетом на 1 меньше, чем заявки первоначального входного потока. Остальные 4 потока распределяются на различные схемы, построенные по вашему усмотрению. Запустить программу и по результатам экспериментов с моделью определить погрешность в оценке распределения первоначального потока с заданными вероятностями.

Схема СМО:


Программа:
MKU12 EQU 12 ;объявляем номер МКУ

MKU12 STORAGE 2 ;и число каналов в нем

MKU13 EQU 13

MKU13 STORAGE 2

MKU14 EQU 14

MKU14 STORAGE 2

MKU15 EQU 15

MKU15 STORAGE 2

SIMULATE

GENERATE (Exponential(1,0,10)),,,,1 ;поступление заявок с приоритетом

QUEUE OCH1 ;стали в очередь

SEIZE OKU1 ;заняли прибор

DEPART OCH1 ;ушли из очереди

ADVANCE (Exponential(2,0,8)) ;обслуживание

RELEASE OKU1 ;освободили прибор

nxt TRANSFER 0.9,,nxt1 ;1-0.9=0.1 - возврат

PRIORITY 0 ;убираем приоритет

prb1 QUEUE OCH2 ;стали в очередь

SEIZE OKU1 ;заняли прибор

DEPART OCH2 ;ушли из очереди

ADVANCE (Exponential(3,0,8)) ;обслуживание

RELEASE OKU1 ;освободили прибор

TERMINATE ;покинули систему

nxt1 TRANSFER 0.7778,,nxt2 ;0.9(1-0.7778)=0.2

prb2 QUEUE OCH12 ;стали в очередь

ENTER MKU12 ;заняли канал

DEPART OCH12 ;ушли из очереди

ADVANCE (Exponential(4,0,50)) ;обслуживание

LEAVE MKU12 ;освободили канал

TERMINATE ;покинули систему

nxt2 TRANSFER 0.5714,,nxt3 ;следующий

prb3 QUEUE OCH13 ;стали в очередь

ENTER MKU13 ;заняли канал

DEPART OCH13 ;ушли из очереди

ADVANCE (Exponential(4,0,50)) ;обслуживание

LEAVE MKU13 ;освободили канал

TERMINATE ;покинули систему

nxt3 TRANSFER 0.625,,prb5 ;следующий

prb4 QUEUE OCH14 ;стали в очередь

ENTER MKU14 ;заняли канал

DEPART OCH14 ;ушли из очереди

ADVANCE (Exponential(4,0,50)) ;обслуживание

LEAVE MKU14 ;освободили канал

TERMINATE ;покинули систему

prb5 QUEUE OCH15 ;стали в очередь

ENTER MKU15 ;заняли канал

DEPART OCH15 ;ушли из очереди

ADVANCE (Exponential(4,0,50)) ;обслуживание

LEAVE MKU15 ;освободили канал

TERMINATE ;покинули систему

GENERATE 10000 ;время моделирования

SAVEVALUE Prob1,(N$prb1/N$nxt) ;вычисляем вероятность перехода


SAVEVALUE Prob2,(N$prb2/N$nxt) ;вычисляем вероятность перехода

SAVEVALUE Prob3,(N$prb3/N$nxt) ;вычисляем вероятность перехода

SAVEVALUE Prob4,(N$prb4/N$nxt) ;вычисляем вероятность перехода

SAVEVALUE Prob5,(N$prb5/N$nxt) ;вычисляем вероятность перехода

TERMINATE 1

START 1
Файл REPORT:
START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 10000.000 48 1 4

NAME VALUE

MKU12 12.000

MKU13 13.000

MKU14 14.000

MKU15 15.000

NXT 7.000

NXT1 15.000

NXT2 22.000

NXT3 29.000

OCH1 10004.000

OCH12 10009.000

OCH13 10006.000

OCH14 10008.000

OCH15 10007.000

OCH2 10010.000

OKU1 10005.000

PRB1 9.000

PRB2 16.000

PRB3 23.000

PRB4 30.000

PRB5 36.000

PROB1 10011.000

PROB2 10012.000

PROB3 10013.000

PROB4 10014.000

PROB5 10015.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 1010 0 0

2 QUEUE 1010 6 0

3 SEIZE 1004 0 0

4 DEPART 1004 0 0

5 ADVANCE 1004 1 0

6 RELEASE 1003 0 0

NXT 7 TRANSFER 1003 0 0

8 PRIORITY 117 0 0

PRB1 9 QUEUE 117 25 0

10 SEIZE 92 0 0

11 DEPART 92 0 0

12 ADVANCE 92 0 0

13 RELEASE 92 0 0

14 TERMINATE 92 0 0

NXT1 15 TRANSFER 886 0 0

PRB2 16 QUEUE 205 0 0

17 ENTER 205 0 0

18 DEPART 205 0 0

19 ADVANCE 205 0 0

20 LEAVE 205 0 0

21 TERMINATE 205 0 0

NXT2 22 TRANSFER 681 0 0

PRB3 23 QUEUE 303 10 0

24 ENTER 293 0 0

25 DEPART 293 0 0

26 ADVANCE 293 2 0

27 LEAVE 291 0 0

28 TERMINATE 291 0 0

NXT3 29 TRANSFER 378 0 0

PRB4 30 QUEUE 178 0 0

31 ENTER 178 0 0

32 DEPART 178 0 0

33 ADVANCE 178 1 0

34 LEAVE 177 0 0

35 TERMINATE 177 0 0

PRB5 36 QUEUE 200 1 0

37 ENTER 199 0 0

38 DEPART 199 0 0

39 ADVANCE 199 2 0

40 LEAVE 197 0 0

41 TERMINATE 197 0 0

42 GENERATE 1 0 0

43 SAVEVALUE 1 0 0

44 SAVEVALUE 1 0 0

45 SAVEVALUE 1 0 0

46 SAVEVALUE 1 0 0

47 SAVEVALUE 1 0 0

48 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

OKU1 1096 0.917 8.366 1 1005 0 0 0 31

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OCH1 24 6 1010 78 4.797 47.491 51.465 0

OCH13 14 10 303 120 1.685 55.624 92.099 0

OCH15 7 1 200 131 0.520 26.015 75.407 0

OCH14 2 0 178 146 0.073 4.123 22.936 0

OCH12 5 0 205 115 0.531 25.889 58.968 0

OCH2 29 25 117 10 5.230 446.973 488.747 0

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

MKU12 2 2 0 2 205 1 1.130 0.565 0 0

MKU13 2 0 0 2 293 1 1.522 0.761 0 10

MKU14 2 1 0 2 178 1 0.739 0.369 0 0

MKU15 2 0 0 2 199 1 1.020 0.510 0 1

SAVEVALUE RETRY VALUE

PROB1 0 0.117

PROB2 0 0.204

PROB3 0 0.302

PROB4 0 0.177

PROB5 0 0.199

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

1005 1 10001.420 1005 5 6

996 1 10011.376 996 39 40

1012 1 10026.982 1012 0 1

972 1 10044.220 972 26 27

1003 1 10057.976 1003 39 40

1001 1 10071.062 1001 33 34

977 1 10138.358 977 26 27

1013 0 20000.000 1013 0 42
Сравнивая полученные вероятности переходов с заданными, отмечают расхождение с заявленными блоком TRANSFER: вместо переходов с вероятностями 0,1, 0,2, 0,3, 0,15 и 0,25 в результате моделирования получены вероятности 0,117, 0,204, 0,302, 0,177 и 0,199.

Проведем несколько экспериментов с различным временем моделирования с целью выявления зависимость погрешности реализации разветвлений от времени моделирования



10000

20000

30000

40000

50000

60000

70000



0,117

0,103

0,095

0,096

0,099

0,101

0,101



0,204

0,210

0,207

0,207

0,203

0,202

0,201



0,302

0,305

0,306

0,301

0,297

0,294

0,294



0,177

0,157

0,160

0,153

0,155

0,153

0,156



0,199

0,225

0,232

0,243

0,246

0,249

0,249