Ввод транзактов в модель

Транзакты входят в модель через блок GENERATE (генерировать). При этом ограничений на коли­чество разных блоков GENERATE в одной модели не существует. Интервал времени между последовательными появлениями транзактов из блока GENERATE называют интервалом поступления. В момент входа в модель транзакта через блок GENERATE интерпретатор планирует время поступления следующего транзакта путем розыгрыша случайного числа c соответствующим распределением интервалов поступления на время, равное сумме текущего значения часов модельного времени и разыгранного значения. [4, 5] Разработчик задает функцию распределения интервалов поступления транзактов в блоке GENERATE.

Случайные распределения интервалов по­ступления транзактов в GPSS делятся на равномерное распределение и другие виды распределений. Рассмотрим самое простое из всех случайных нетривиальных распределений – равномерное.

Транзакты не могут входить в блок GENERATE, так как он сам их генерирует. В GPSS World при попытке транзакта войти в блок GENERATE интерпретатор выдает ошибку.

Блок GENERATE имеет следующий формат записи [4, 5]:

GENERATE [A],[B],[C],[D],[E],

где А – среднее значение интервала поступления транзактов (число, СЧА, по умолчанию – 0);

В – величина разброса возможных значений относительно среднего значения (число, CЧА, по умолчанию – 0); в случае, если операнд В не задан, интервал поступления является детерминированной величиной;

С – смещение интервалов, момент времени, в который в блоке GENERATE должен появиться первый транзакт (по умолчанию – 0);

D – ограничитель числа транзактов, которые могут вой­ти в модель через данный блок GENERATE на протяжении времени моделирования (по умолчанию – ∞);

Е – уровень приоритета транзакта (возможные значения – целые числа от нуля до 127, чем больше значение, тем выше приоритет, по умолчанию – 0).

Если опущено поле операнда, то транслятор проставляет значение по умолчанию или выдает ошибку (в случае обязательности данного поля). Операнды не могут быть отрицательными числами. В GPSS World операнды А, В, C могут быть действительными числами.

П р и м е р ы задания оператора GENERATE:

GENERATE 10,2 – задание равномерного закона распределения. Значение операнда A равно десяти, В – двум. Интервал поступления транзактов – случайное число из отрезка модельного времени [8; 12], т.е. интервал поступления может приобретать с равной вероятностью одно из пяти значений: 8, 9, 10, 11, 12;

GENERATE 4 – задание детерминированного значения интервалов поступле­ния транзактов. Значение операнда A равно четырем, В – нулю (по умолчанию). Транзакты входят в модель каждые 4 единицы модельного времени.

GENERATE,,,1 – генерирование одного транзакта. Значения операндов A, В, С равно нулю (по умолчанию), D – единице. В нулевой мо­мент времени в модель входит один транзакт.

Кроме блока GENERATE для ввода транзактов в модель используется также блок SPLIT, который созда­ет заданное число копий транзактов, вошедших в блок.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: