Программирование в GPSS - Задержка транзактов в блоках ADVANCEБлок ADVANCE (задержать) предназначен для задержки транзактов на определенные интервалы модельного времени. Обязательный операнд A задает время задержки транзакта в блоке ADVANCE. Необязательный операнд B является модификатором-функцией или модификатором-интервалом. Значение операнда B используется здесь для модификации значения операнда A так же, как в блоке GENERATE. Любой транзакт входит в блок ADVANCE беспрепятственно. В нем транзакт задерживается на период модельного времени, величина которого определяется операндами A и В. После этого транзакт направляется из блока ADVANCE к следующему блоку. В поле A задержка транзакта может быть задана нулевой. В этом случае транзакт будет задержан в блоке ADVANCE на нулевое время, т.е. момент выхода транзакта из блока будет равен моменту его входа в блок. Например, в блоке ADVANCE 0 транзакты не будут задерживаться. Блок ADVANCE 1000 будет задерживать транзакты ровно на 1000 ед. модельного времени. В блоке ADVANCE 1000,Р1 любой транзакт будет задерживаться на случайное время, выбранное из диапазона «1000 ± значение первого параметра транзакта». Пусть функция FN$EXP описана в модели ранее. Тогда в блоке ADVANCE 1000,FN$EXP задержка транзакта представляет собой случайную величину, распределенную по экспоненциальному закону и имеющую среднее значение 1000 ед. времени. Очевидно, суммарная задержка транзакта в двух блоках ADVANCE 1000,FN$EXP ADVANCE 1000,FN$EXP есть сумма двух независимых экспоненциальных случайных величин (сл.в.), которые имеют математическое ожидание 1000 ед. времени. Отсюда следует, что эта суммарная задержка есть эрланговская случайная величина второго порядка, которая имеет математическое ожидание 2000 ед. времени. Рассмотрим суммарную задержку транзактов в следующих 12-ти блоках: ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100 ADVANCE 100,100. Задержка в каждом из них имеет равномерное распределение вероятностей на интервале (0,200). Ее среднее значение составляет M = 100 ед. времени, дисперсия D=2002*(1/12). Поэтому сумма двенадцати таких задержек имеет среднее 12*M = 1200 и среднее квадратичное отклонение = 200. По центральной предельной теореме теории вероятностей заключаем, что закон распределения суммарной задержки приблизительно нормальный. Заметим, что с помощью СЧА RNj такую задержку можно задать проще, если использовать арифметические переменные:
; ОПИСАНИЕ ПЕРЕМЕННЫХ: D VARIABLE RN1+RN1+RN1+RN1 NORM VARIABLE (V$D+V$D+V$D)/5
; НОРМАЛЬНО РАСПРЕДЕЛЕННАЯ ЗАДЕРЖКА: ADVANCE V$NORM.
|
