МОДЕЛИРОВАНИЕ ОДНОКАНАЛЬНЫХ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ.
Генерация и удаление транзактов.
GENERATE - это блок, через который транзакты входят в модель. Не существует ограничений на число различных блоков GENERATE. Интервал времени между последовательными появлениями транзактов блока GENERATE называют интервалом поступления. Когда транзакт входит в модель через данный блок, интерпретатор планирует время поступления следующего транзакта разыгрыванием случайного числа в соответствии с распределением интервалов времени поступления. Это число добавляется к текущему значению таймера. При достижении соответствующего значения времени следующий транзакт вводится в модель через блок GENERATE. При разработке модели необходимо задавать спецификацию распределения интервалов времени поступления в блоке. Все возможные виды распределения интервалов прибытия в GPSS делят на равномерно распределенные и все другие виды распределения. По умолчанию используется равномерное распределение. Для более сложных видов используются функции преобразования равномерного распределения в заданное. Ниже представлено графическое представление блока с обозначением операндов.
В операторной форме блок записывается так
GENERATE A,B,C,D,E
Операнды A,B,C,D,E имеют следующий смысл:
A - определяет математическое ожидание времени между последовательными приходами транзактов в блоке;
B - задает половину поля допуска (или половину размаха) интервалов времени прибытия;
C - задает смещение интервалов - момент времени, в который должен появиться первый транзакт. После этого первого прихода все остальные приходы транзактов возникают в соответствии с распределением интервала времени, заданными операндами A и B;
D - задает граничное значение общего числа транзактов, которые могут войти в модель через данный блок GENERATE в течение времени моделирования. Когда это число достигнуто, данный блок перестанет быть активным;
E - устанавливает уровень приоритета каждого из транзактов, входящих в модель через данный блок GENERATE. В GPSS существует 128 уровней приоритетов, которые задаются значениями от 0 до 127. Чем больше число, тем выше приоритет.
Например
или в операторной форме
GENERATE 8,3,15,40,3
означает, что генерируются транзакты в равновероятно в моменты модельного времени 5, 6, 7, 8, 9, 10 и 11. Первый транзакт поступает через 15 единиц модельного времени, всего будет сгенерировано 40 транзактов с уровнем приоритета 3.
Если какой-либо из операндов отсутствует, то используется его значение по умолчанию, которые представлены в таблице:
Операнд | Значение | Значение по умолчанию |
A | Математическое ожидание интервала модельного времени | Ноль |
B | Половина поля допуска равномерно распределенного интервала | Ноль |
C | Смещение интервалов | Смещение отсутствует |
D | Ограничение | Бесконечность |
E | Уровень приоритета | Ноль |
Например
GENERATE 8,,15,,3
означает, первый транзакт прибудет через 15 единиц модельного времени, далее транзакты будут поступать через каждые 8 единиц модельного времени с уровнем приоритета 3.
Транзакты удаляются из модели, попадая в блок TERMINATE. Блоки TERMINATE всегда позволяют выйти всем транзактам, которые пытаются это сделать. Графическое представление блока имеет вид:
В операторной форме блок имеет вид:
TERMINATE A
Назначение операнда A будет рассмотрено в параграфе Таймер модельного времени.