Лекция 5 Моделирование в системе GPSS Word 1

advertisement
Лекция 5
Моделирование в системе GPSS Word
1
Вопросы лекции
1.
2.
3.
Модель работы переговорного пункта
Блоки условного перехода
Модель системы М/М/1 с отказами
2
Моделирование в системе GPSS




























Модель исследования значений ГСЧ RN1
* The RMULT Command initializes up to 7 random number generators with new seeds. Only random
number generators numbered 7 or below can be controlled by an RMULT Command.
RMULT 1,2,3,4,5,6,7
* RMULT 50,2,3,4,5,6,7
* RMULT 999,2,3,4,5,6,7
GENERATE
X$TIMER
SAVEVALUE
AVER1,RN1
SAVEVALUE
AVER2,RN1
SAVEVALUE
AVER3,RN1
SAVEVALUE
AVER4,RN1
SAVEVALUE
AVER5,RN1
SAVEVALUE
AVER6,RN1
SAVEVALUE
AVER7,RN1
SAVEVALUE
AVER8,RN1
SAVEVALUE
AVER9,RN1
SAVEVALUE
AVER10,RN1
SAVEVALUE
AVER11,RN1
SAVEVALUE
AVER12,RN1
SAVEVALUE
AVER13,RN1
SAVEVALUE
AVER14,RN1
SAVEVALUE
AVER15,RN1
SAVEVALUE
AVER16,RN1
SAVEVALUE
AVER17,RN1
SAVEVALUE
AVER18,RN1
SAVEVALUE
AVER19,RN1
SAVEVALUE
AVER20,RN1
TERMINATE 1
Start 1
Первоначальное
значение для RN7
Первоначальное
значение для RN1
3
Моделирование в системе GPSS
Результаты моделирования: последовательности чисел генератора RN1
RMULT 1,2,3,4,5,6,7
RMULT 50,2,3,4,5,6,7
RMULT 999,2,3,4,5,6,7
SAVEVALUE
SAVEVALUE
SAVEVALUE
AVER1
AVER2
AVER3
AVER4
AVER5
AVER6
AVER7
AVER8
AVER9
AVER10
AVER11
AVER12
AVER13
AVER14
AVER15
AVER16
AVER17
AVER18
AVER19
AVER20
RETRY
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
VALUE
638.000
428.000
989.000
351.000
301.000
705.000
759.000
327.000
879.000
128.000
633.000
657.000
351.000
320.000
592.000
735.000
560.000
599.000
60.000
385.000
AVER1
AVER2
AVER3
AVER4
AVER5
AVER6
AVER7
AVER8
AVER9
AVER10
AVER11
AVER12
AVER13
AVER14
AVER15
AVER16
AVER17
AVER18
AVER19
AVER20
RETRY
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
VALUE
165.000
706.000
346.000
161.000
736.000
701.000
480.000
65.000
2.000
969.000
529.000
951.000
84.000
430.000
675.000
968.000
675.000
374.000
296.000
953.000
AVER1
AVER2
AVER3
AVER4
AVER5
AVER6
AVER7
AVER8
AVER9
AVER10
AVER11
AVER12
AVER13
AVER14
AVER15
AVER16
AVER17
AVER18
AVER19
AVER20
RETRY
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
VALUE
618.000
136.000
810.000
840.000
597.000
726.000
703.000
554.000
746.000
71.000
981.000
998.000
8.000
323.000
898.000
354.000
487.000
782.000
213.000
828.000
Модификатор генератора псевдо-случайных чисел RN
М = 1 ( по умолчанию) При М=0 все значения ГСЧ будут равны 0
4
Модель работы переговорного пункта
Модель обслуживания абонентов на переговорном пункте
Модель описывает процесс обслуживания абонентов одним
таксофоном переговорного пункта
Описание процесса моделирования
 Имитация потока прихода абонентов (через промежутки времени)
 Ожидание освобождения таксофона
 Занятие таксофона
 Использование таксофона в течении длительности разговора
(увеличение времени на длительность разговора)
 Освобождение таксофона
 Удаление абонента
5
Модель работы переговорного пункта
Допущения в модели

Поток абонентов – простейший

Длительность разговора подчиняется экспоненциальному
распределению
 Время ожидания освобождения таксофона неограниченно
Модель 4 состоит из двух сегментов

Сегмент 1 - Генерации потока заявок и моделирования процесса
обслуживания

Сегмент 2 – Управление модельным временем ( задание
длительности моделирования)
6
Модель работы переговорного пункта
1-й сегмент модели
GENERATE
X$AVER,FN$XPDIS
QUEUE
Прибытие
абонента на переговорный пункт
Абонент занимает
место в очереди к
таксофону,
QPHONE
SEIZE
PHONE
DEPART
QPHONE
ADVANCE
V$TALK
PHONE
RELEASE
Абонент занимает
телефон
Абонент освобождает
очередь
Розговор на протяжении
времени TALK
Освобождение телефону
по окончании разговора
TERMINATE
2-й сегмент модели
GENERATE
X$TIMER
TERMINATE
1
Завершение времени
моделирования
Завершение
моделирования
Модель обслуживания абонентов на переговорному пункте
7
Модель работы переговорного пункта





























*
Модель 4
*
FUNCTION DEFINITION(S)
XPDIS
FUNCTION
RN1,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
*
*
SAVEVALUE INITIALIZATION(S)
INITIAL
X$AVER,300
INITIAL
X$AVTALK,180
INITIAL
X$TIMER,200000
*
*
VARIABLE DEFINITION(S)
*TALK
VARIABLE
X$AVTALK#FN$XPDIS
************************************************************************************
*
MODEL SEGMENT 1
************************************************************************************
GENERATE
X$AVER,FN$XPDIS
QUEUE
QPHONE
SEIZE
PHONE
DEPART
QPHONE
ADVANCE
V$TALK
RELEASE
PHONE
TERMINATE
************************************************************************************
*
MODEL SEGMENT 2
************************************************************************************
GENERATE
X$TIMER
TERMINATE 1
8
Модель работы переговорного пункта

GPSS World Simulation Report - Untitled Model 1.1.1
Friday, August 27, 2010 13:57:52

START TIME
0.000


NAME
AVER
AVTALK
PHONE
QPHONE
TALK
TIMER
XPDIS


















LABEL
1
2
3
4
5
6
7
8
9
END TIME BLOCKS FACILITIES STORAGES
200000.000
9
1
0
VALUE
10001.000
10002.000
10006.000
10005.000
10004.000
10003.000
10000.000
LOC BLOCK TYPE
GENERATE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
TERMINATE
GENERATE
TERMINATE
ENTRY COUNT CURRENT COUNT RETRY
663
0
0
663
0
0
663
0
0
663
0
0
663
0
0
663
0
0
663
0
0
1
0
0
1
0
0
9
Модель работы переговорного пункта











FACILITY
PHONE
ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
663
0.559
168.500 1
0
0
0
0
0
QUEUE
QPHONE
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
6 0
663 292
0.577
174.028
310.999 0
SAVEVALUE
AVER
AVTALK
TIMER
RETRY
VALUE
0
300.000
0
180.000
0
200000.000
FEC XN PRI
BDT
ASSEM CURRENT NEXT PARAMETER
665 0
200000.426 665
0
1
666 0
400000.000 666
0
8
VALUE

10
Модель работы переговорного пункта
Journal ( отчет о выполнении модели)






08/27/10 13:57:17
08/27/10 13:57:17
08/27/10 13:57:52
08/27/10 13:57:52
08/27/10 13:57:52
200000.000000.
08/27/10 13:57:52
Window.
Model Translation Begun.
Ready.
START 1
Simulation in Progress.
The Simulation has ended. Clock is
Reporting in Untitled Model 1.1.1 - REPORT
11
Блоки условного перехода
Блок TRANSFER реализует условную передачу транзакта в
новый блок
TRANSFER
A,B,C,D
Операнды
A - режим передачи : BOTH, ALL, PICK, FN, P, SBR, SIM, fraction,
Name, PosInteger, ParenthesizedExpression, SNA,
SNA*Parameter, or Null.
B - номер блока или метка.
C - номер блока или метка или инкрементальная величина для
режимов: FN и P.
D - модификатор номера блока для режима ALL Mode. По
умолчанию 1.
12
Блоки условного перехода
Пример
TRANSFER
.75,,New_Place
При поступлении транзакта в блок TRANSFER с вероятностью
0.75 тразакт переходит в блок с именем NEW_PLACE. В
остальных 25% случаев, транзакты переходят в блок,
следующий за блоком TRANSFER ( если указан операнд В, то
в блок , указанный операндом В)
13
Блоки условного перехода
Режим “Both” ( “Both Mode”)
В этом режиме, когда транзакт входит в блок TRANSFER,
проверяется блок, обозначенный операндом В. Если этот блок
«готов» принять транзакт, то транзакт переходит в этот блок,
иначе транзакт переходит в блок, обозначенный операндом С.
Если и этот блок «не готов», транзакт содержится в блоке.


Режим “ALL” ( “ALL Mode”)
При поступлении транзакта в блок TRANSFER , проверяется блок,
обозначенный операндом В, Если он «готов» принять транзакт,
транзакт переходит в него. Если нет, проверяются
последовательно все последующие до блока отмеченного
операндом С ( включительно), т.е. все блоки от указателя в
операнде В до указателя в операнде С. Транзакт переходит в
тот блок, который (первым в этой последовательности блоков)
готов его принять..
14
Блоки условного перехода
Пример,
TRANSFER
BOTH, First_Place,Second_Place
Когда транзакт входит в блок TRANSFER , тестируется блок с
именем First_Place. Если транзакт может в него войти, то он
переходит в этот блок. Если блок First_Place не может принять
транзакт, проверяется блок с именем Second_Place. Если тест
положителен, транзакт переходит в этот блок. Если блок
Second_Place не может принять транзакт, транзакт
задерживается в блоке TRANSFER до ближайшего момента,
когда он будет выведен.
15
Блоки условного перехода
Пример,
TRANSFER ALL, First_Place, Second_Place, Сurrent
При поступлении транзакта в блок TRANSFER , тестируется блок с
именем First_Place. Если транзакт может в него войти, то он
переходт в этот блок. Если блок First_Place не может принять
транзакт, проверяется следующий за ним блок на «возможность
приема транзакта». Вплоть до блока с именем, указанным в
операнде C.
Смысл режима «ALL» в том, что проверяются все блоки от
указателя в операнде B (”First_Place”) до указателя в операнде
C (“Second_Place”).
В операнде D фиксируется указатель блока, который смог принять
транзакт
16
Блоки условного перехода
Если ни один из блоков не может “принять” транзакт, транзакт
задерживается в блоке TRANSFER до ближайшего момента,
когда он будет выведен. Проверка такого момента
осуществляется в каждый момент модельного времени.
Для реализации механизма сдерживания (задержки) транзактов в
блоках TRANSFER в системе используется цепь повторных
попыток (Retry Chain).
В цепь повторных попыток транзакты попадают когда они
переходят в блоки проверки условия возможности дальнейшего
продвижения: анализа возможности переместить транзакт в
блоки, указанные в операндах В и С.
17
Блоки условного перехода
Подобный механизм проверки ( и при необходимости
сдерживания (задержки) транзактов) выполняется когда
транзакт пытается войти в блоки
GATE,
TEST,
TRANSFER ALL,
TRANSFER BOTH.
18
Блоки условного перехода
Блок GATE изменяет направление движения транзактов в
зависимости от состояния блока
GATE O
A,B
Операнды
O - оператор проверки ( тестирования) условия возможности
войти в блок. Условия проверки: FNV, FV, I, LS, LR, M, NI,
NM, NU, SE, SF, SNE, SNF, SNV, SV, U.
A - Указатель блока, в который входит транзакт при
положительном тестировании. Указатель принимает значения:
Name, PosInteger, ParenthesizedExpression, SNA, or
SNA*Parameter.
B - Указатель блока, в который входит транзакт при
отрицательном тестировании. Указатель принимает значения:
Name, PosInteger, ParenthesizedExpression, SNA, or
SNA*Parameter.
19
Блоки условного перехода
Примеры.
GATE SNF
MotorPool
Активный транзакт входит в блок GATE если емкость
многоканального устройства ( МКУ) MotorPool не полностью
занята ( Storage Not Full) и проходит в следующий блок. Если
емкость МКУ полностью занята, активный транзакт блокируется
в блоке GATE до момента, пока не освободиться хотя бы один
канал МКУ MotorPool.
GATE SNF
MotorPool, EXIT
В данном примере, если в момент поступления транзакта в блок
GATE, емкость МКУ MotorPool полностью занята, транзакт
переходит к блоку с указателем EXIT. Если есть свободная
емкость, транзакт переходит в следующий блок.
20
Блоки условного перехода
Примеры.
GATE SNE
MotorPool,CupboardIsBare
В данном примере активный транзакт всегда входит в
блок GATE. Если емкость (Storage Entity) МКУ MotorPool не пуста
(Storage Not Empty), т.е. занят хоть один канал), транзакт
переходит в следующий блок.
Если все каналы свободны (unsuccessful test), транзакт
переходит в блок с указателем CupboardIsBare
21
Блоки условного перехода
Значения оператора проверки (условия) :
FNV - проверка состояния прибора (Facility), указанного
операндом А. Тест положителен, если устройство занято.
FV - проверка состояния прибора (Facility), указанного
операндом А. Тест положителен, если устройство свободно.
I - проверка состояния прибора (Facility), указанного
операндом А. Тест положителен, если устройство в
состоянии прерванного обслуживания .
NI - проверка состояния прибора (Facility), указанного
операндом А. Тест положителен, если устройство в
состоянии непрерванного обслуживания.
NU - проверка состояния прибора (Facility), указанного
операндом А. Тест положителен, если устройство не
используется.
22
Блоки условного перехода
Значения оператора проверки (условия) :
 SE - проверка состояния МКУ, указанного операндом А.
Тест положителен, если все каналы устройства не работают (
не используются)
 SF - проверка состояния МКУ, указанного операндом А.
Тест положителен, если все каналы устройства работают
(используются).
 SNE - проверка состояния МКУ, указанного операндом А.
Тест положителен, если заняты все каналы устройства.
 SNF - проверка состояния МКУ, указанного операндом А.
Тест положителен, если есть хоть один доступный канал для
использования .
 SNV - проверка состояния МКУ, указанного операндом А.
Тест положителен, если МКУ недоступно.
 SV - проверка состояния МКУ, указанного операндом А.
Тест положителен, если МКУ доступно
23
Модель системы М/М/1 с отказами
Сравнение реализации моделей в системе Exel и GPSS World
Имитационная модель одноканальной системы обслуживания с
отказами ( M/M/1)
Допущения :

Входной поток вызовов – простейший с параметром l

Время обслуживания имеет экспоненциальное распределение с
параметром m

Время – дискретное

Система имеет два стационарных состояния канала:



Свободен
Занят
Изменения состояния происходит при поступлении и
завершении обслуживания заявки.
24
Модель системы М/М/1 с отказами
Модель в программе Exel
Массив случайных чисел
равномерно распределенных
в интервале [ 0 ; 1 ]
для входного для времени
потока
обслуживания
0,528828427
0,186617023
0,318985792
0,055345515
0,277020023
0,746375611
0,940935776
0,298751924
0,93488182
0,51326396
0,102603594
0,316712463
0,012981275
0,453171737
0,593557854
0,513701649
0,957282928
0,395014069
0,977504586
0,104120184
0,355384618
0,659687853
0,871739091
0,91225325
0,216741875
0,341788087
0,096769418
0,783109218
0,232768582
0,464537809
0,80209964
0,149927145
0,930834021
0,453779327
0,381424031
0,331108304
0,151603769
0,427477469
0,422357852
0,441772791
0,587633947
0,381989469
0,845847563
0,951970793
0,374609591
0,428648021
0,020125964
0,638252949
0,757556478
0,190869131
0,515885016
0,753171819
0,441625323
0,848657348
параметр
потока
№ заявки в
потоке
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
27
t между
соседними
заявками во
входном потоке
0,637091234
1,678696769
1,142608717
2,894159652
1,283665489
0,292526306
0,060880393
1,208141734
0,067335154
0,666965023
2,276882319
1,149760975
4,344247334
0,791484115
0,521620591
0,666112632
0,043656291
0,928833898
0,022752296
2,262209429
1,034554646
0,415988506
0,137265107
0,091837641
1,529048151
1,073564364
2,335424264
Выходной поток
Состояние
канала обслужния
1
Т - время
поступления
заявок на
обслуживание
0,637091234
2,315788002
3,458396719
6,35255637
7,636221859
7,928748165
7,989628558
9,197770292
9,265105445
9,932070469
12,20895279
13,35871376
17,7029611
18,49444521
19,0160658
19,68217843
19,72583473
20,65466862
20,67742092
22,93963035
23,97418499
24,3901735
24,52743861
24,61927625
26,1483244
27,22188876
29,55731303
m =1
0 - свободен
/ 1 - занят
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
Длительность
обслуживания
заявки
0,244483106
1,457710528
0,766712327
0,22052244
1,8976058
0,071674298
0,790144263
0,963843582
1,105309754
1,886484947
0,849853695
0,861902333
0,816959576
0,531651064
0,962362238
0,167416121
0,049220924
0,981870886
0,847119161
3,905744562
0,449020602
0,277657186
1,656167263
0,661871375
0,283461897
0,817293442
0,164099769
13
48%
T - время
освобожения
канала
обслуживания
0,881574339
3,77349853
3,77349853
6,57307881
9,533827659
9,533827659
9,533827659
9,533827659
9,533827659
11,81855542
13,05880648
14,2206161
18,51992067
18,51992067
19,97842804
19,97842804
19,97842804
21,63653951
21,63653951
26,84537491
26,84537491
26,84537491
26,84537491
26,84537491
26,84537491
28,0391822
29,72141279
обслуженные заявки
Входной поток
l =1
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
13
25
Модель системы М/М/1 с отказами
Модель 5
Имитационная модель М/М/1 (с отказами) в системе GPSS Word
* Модель М/М/1 с отказами
Ttime TABLE M1,0,0.5,20
GENERATE (Exponential(1,0,1))
TRANSFER both,met1,met2
met1
SEIZE Channel
DVANCE (Exponential(1,0,1))
RELEASE Channel
met2
TABULATE Ttime
TERMINATE 1
Start 1000
26
Модель системы М/М/1 с отказами




GPSS World Simulation Report - Model 5 MM1с отказами .28.1
Monday, November 04, 2013 13:38:41
START TIME
END TIME BLOCKS FACILITIES STORAGES
0.000
997.949
7
1
0
NAME
CHANNEL
MET1
MET2
TTIME






LABEL
1
2



MET1
4
5




MET2
7
VALUE
10001.000
3.000
6.000
10000.000
LOC BLOCK TYPE
GENERATE
TRANSFER
3 SEIZE
ADVANCE
RELEASE
6 TABULATE
TERMINATE
ENTRY COUNT CURRENT COUNT RETRY
1001
0
0
1001
0
0
504
0
0
504
1
0
503
0
0
1000
0
0
1000
0
0
27
Модель системы М/М/1 с отказами




FACILITY
CHANNEL
ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
504 0.504
0.999 1
1000 0 0
0
0
TABLE
TTIME
MEAN
0.503
FEC XN PRI
1002 0
1000 0
BDT
ASSEM CURRENT NEXT PARAMETER
998.118 1002
0
1
998.429 1000
4
5



















STD.DEV.
RANGE
0.866
_ 0.000
0.000 0.500
0.500 1.000
1.000 1.500
1.500 2.000
2.000 2.500
2.500 3.000
3.000 3.500
3.500 4.000
4.000 4.500
4.500 5.000
5.000 5.500
5.500 6.000
6.000 6.500
6.500 7.000
7.000 7.500
RETRY FREQUENCY CUM.%
0
497 49.70
202 69.90
120 81.90
64 88.30
44 92.70
25 95.20
23 97.50
11 98.60
5 99.10
5 99.60
2 99.80
1 99.90
0 99.90
0 99.90
0 99.90
1 100.00
VALUE
28
Модель системы М/М/1 с отказами
Модель М/М/1 Результаты моделирования
29
Литература








Кудрявцев Е.М. GPSS Word. Основы имитационного
моделирования различных систем.- М. ДМК Пресс, 2004
Учебное пособие по GPSS Word./Перевод с англ. – Казань,
Изд-во «Мастер – Лайн», 2002
Богуш К.Ю., Богуш Ю.П., Шиян А.И. GPSS World Моделювання
телекомунікаційних систем та мереж. Посібник для
дипломного проектування . – ICЗЗІ НТУУ КПІ, 2010
Боев В.Д. Моделирование систем. Инструментальные средства
GPSS World.- СПб, БХВ- Петербург, 2004
Шрайбер Т.Дж. Моделирование на GPSS: Пер. с англ. - М.:
Машиностроение, 1980.
GPSS/PC general purpose simulation. Reference Manual. Minuteman software. P.O. Box 171. Stow, Massachusetts 01775,
1986.
В.Н. Томашевський, Е.Г. Жданова "Імітаційне моделювання
засобами GPSS / PC." - К.: ІЗМН, "ВІПОЛ", 1998. - 123 с.
В.Н. Томашевський "Імітаційне моделювання систем та
процесів." - К.: ІСДО, "ВІПОЛ", 1994. - 124 с. (мова
українська).
30
Спасибо за внимание!
31
Download