Баннер
Баннер

Программирование в GPSS - Задержка транзактов в блоках ADVANCE

Оглавление
Программирование в GPSS
прагматический аспект
Классы объектов языка GPSS
Интерпретации транзактов
Интерпретаций устройст
Элементы реальных систем
Очереди и таблицы
Блоки
Модельное время
Общеалгоритмические средства GPSS
Стандартные числовые атрибуты
Арифметические переменные
Логические (булевы) переменные
Функции
Ячейки и матрицы ячеек
Задание начальных значений ячеек и матриц
Объектно-ориентированные средства GPSS
Создание и уничтожение транзактов
Задержка транзактов в блоках ADVANCE
Операции занятия и освобождения устройств
Операции захвата и освобождения устройств
Операции блокирования и разблокирования устройств
Описание памятей и работа с ними
Операции с ключами
Блок GATE
Синхронизация транзактов
Изменение параметров транзактов
Управление маршрутами транзактов в модели
Сбор статистики с помощью очередей
Сбор статистики с помощью таблиц
Стандартные числовые атрибуты
Атрибуты транзактов
Атрибуты блоков
Системные атрибуты
Атрибуты оборудования
Статистические атрибуты
Атрибуты ячеек SAVEVALUE
Функции и переменные
Атрибуты списков пользователя
Атрибуты группы
Системные атрибуты
Блоки COUNT и SELECT
Все страницы
Задержка транзактов в блоках 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.





Читайте также:

Добавить комментарий


Защитный код
Обновить




Разделы



Главная GPSS Программирование в GPSS