Таймер модельного времени. Представление результатов моделирования.
Для управления процессом моделирования используется специальная системная переменная - счетчик завершений. Моделирование начинается тогда, когда в счетчик завершений помещается положительное целое число. Моделирование продолжается до тех пор пока содержимое счетчика завершений не достигнет нуля. Единственный блок, который может в процессе моделирования изменять содержимое счетчика завершений это блок TERMINATE A. Каждый раз, когда транзакт входит в такой блок из значения счетчика завершений вычитается величина A. Очевидно, если пользователь не задает операнд A, то по умолчанию A=0 и вход транзакта в такой блок не вызывает изменение счетчика завершений. Интерпретатор GPSS содержит команду START B, где В - значение положительного целого числа, которое заносится в счетчик завершений. Рассмотрим пример. Пусть в качестве единицы модельного времени выбрана 1 минута. Необходимо промоделировать поведение объекта в течение 8 часов. Тогда возможны два варианта реализации сегмента таймера модельного времени. В виде блок схемы:
I вариант II вариант
Для первого варианта модель должна запускаться командой START 480, для второго - START 1. Так, как в первом варианте в качестве интервала времени задана единица, то транзакты появляются в моменты времени 1, 2, 3, 4, ... , 479, 480. Каждый из этих транзактов попадает в последующий блок TERMINATE, где из счетчика завершений вычитается единица при удалении транзакта. Когда в блок войдет 480-й транзакт, значение счетчика завершений станет равным нулю и моделирование завершится. Во втором варианте транзакт входит в блок через 480 единиц модельного времени и счетчик обнуляется. С точки зрения скорости моделирования второй вариант предпочтительнее. Однако, в первом варианте можно просмотреть результаты моделирования с дискретностью 1 минута, в то время как во втором с дискретностью 480 минут. Все же в большинстве случаев предпочитают второй вариант.
Итак, окончательно модель одноканальной системы массового обслуживания, состоящая из двух сегментов, выглядит следующим образом:
В операторной форме:
GENERATE 8,3
SEIZE JOB
ADVANCE 12,3
RELEASE JOB
TERMINATE
GENERATE 480
TERMINATE 1
Очевидно, что запись в операторной форме является весьма наглядной и компактной. Поэтому часто при описании модели используют только эту форму.
Результаты моделирования.
Рассмотрим важнейшие характеристики отчета.
START TIME | END TIME | BLOCKS | FACILITIES | STORAGES
0.000 | 480.000 | 7 | 1 | 0
начальное значение модельного | конечное | кол-во | количество |количество
времени | значение | блоков | приборов |устройств
далее:
NAME VALUE
JOB 10000.000