Часто условием перемещения транзакта в один из двух альтернативных блоков является наступление некоторого случайного события. В GPSS для этого предусмотрен блок TRANSFER (см. п. 2.4.7).
Пример 6. После технического осмотра в конце рабочего дня в среднем 20 % автобусов поступают для выполнения ремонта, а 80 % - в гараж.
TRANSFER .2,GARAG,REMONT ; с вероятностью 0,2 транзакты
(автобусы) перемещаются к метке REMONT и с вероятностью 0,8 - к метке GARAG
REMONT QUEUE OCH_REM ; постановка транзактов в очередь
для ремонта
GARAG QUEUE OCH_GAR ; постановка транзактов в очередь
гаража
Если в процессе моделирования необходимо переходить в различные блоки программы более, чем в двух направлениях, необходимо использовать дискретную переключающую функцию, разыгрывающую выбор одного из направлений. Переход осуществляется блоком TRANSFER в режиме безусловного перехода (см. п. 2.4.7).
Perekl FUNCTION RN4,D5 ; определение дискретной переключающей 0.05,Metkal/0.15,Metka2 функции 0.3,Metka3/l,Metka4
TRANSFER ,FN$Perekl; перемещение транзактов в одном из 4 направлений
; постановка транзактов в очередь для сложного ремонта (5%)
; постановка транзактов в очередь для ремонта (10%)
; постановка транзактов в очередь для мелкого ремонта (15%)
Metkal QUEUE ОСИ REM1
Metka2 QUEUE ОСИ REM2
Metka3 QUEUE OCH REM3
Metka4 QUEUE OCH GAR
|