Моделирование при установившемся режиме

Измерение коэффициента загрузки прибора – времени, в течение которого транзакт занимает прибор в рассмотренной выше модели, производится сразу же после начала моделирования. Очевидно, что для оценки эффективности функционирования робототехнического комплекса нужны оценки для стационарного (установившегося) режима; после же начала моделирования некоторое время потребуется для достижения этого стационарного режима модели [5]. Измерения, полученные в начале моделирования, могут дать статистически смещенные оценки; поэтому измерения, полученные в начальный период моделирования, следует отбросить, стереть из памяти ЭВМ. Это выполняется с помощью специального оператора RESET.

Оператор RESET – сбрасывает всю накопленную статистику и таймер относительного времени, но не удаляет транзакты из модели и не изменяет последовательность генераторов случайных чисел.

Примеры оператора RESET:

RESET

вся накопленная статистика будет сброшена, но транзакты удалены не будут;

RESET F(SERVER)

вся статистика будет сброшена, за исключением прибора с именем SERVER.

Если этот оператор стоит после оператора START, который задает начальный интервал моделирования, то тогда состояние модели в момент обнуления системного счетчика будет сохранено, а накопленные статистики будут стерты. После сброса статистик моделирование продолжается в течение времени, задаваемого следующим оператором START. Использование операторов RESET и START показано на примере модели технологии изготовления деталей:

SIMULATE Начало моделирования

STORAGE S(STA1),2 Задание станков в группе А

GENERATE RVEXPO(1,28) Поступление заготовок

ADVANCE RVNORM(3,32,10) Транспортировка заготовки

QUEUE LINE1 Занятие очереди перед станками

группы А

ENTER STA1 Занятие станка из группы А

DEPART LINE1 Освобождение очереди перед станками

группы А

ADVANCE 63,9 Обработка на станке группы А

LEAVE STA1 Освобождение станка группы А

ADVANCE RVNORM(5,12,5) Транспортировка детали

QUEUE LINE2 Занятие очереди перед станком типа Б

SEIZE STA2 Занятие станка типа Б

DEPART LINE2 Освобождение очереди перед станком

типа Б

ADVANCE 55,5 Обработка на станке типа Б

RELEASE STA2 Освобождение станка типа Б

TERMINATE 1 Поступление деталей в накопитель

START 100 Прогон модели

RESET Сброс статистики

START 50 Повторный прогон

END Окончание моделирования

В модели длина начальной реализации задается первым оператором START, после обслуживания 50 транзактов произойдет сброс накопленных статистик. В СФО нас будут интересовать результаты обработки измерений коэффициента загрузки приборов многоканального устройства с именем STA1 и прибора STA2 и времени занятия этого прибора транзактами, полученными при пропуске 100 транзактов через модель, что задает второй оператор START, входящий в состав модели. СФО может быть получен после прогона модели способом, описанным выше.

Вопросы выбора длины реализации статистической модели в настоящем учебном пособии не рассматриваются, они достаточно полно отражены в изданиях [1, 2].

При запуске приведенной выше GPSS/H-программы на экране появится сообщение об ошибке:

ERROR NUMBER 411 – Out of COMMON: Add/change REALLOCATE Stmt? See release notes

(ОШИБКА 411 – «Превышение COMMON» – Добавить/изменить REALLOCATЕ?).

Эта ошибка возникает потому, что при прогоне модели используется так называемая динамическая область памяти – COMMON. По умолчанию студенческая версия GPSS/H обращается к 10 000 байтам памяти COMMON. Некоторым программам для успешного прогона необходимо больше чем 10 000 байт области памяти COMMON. Если такая необходимость существует, вы можете использовать специальную опцию MAXCOM (максимизировать COMMON) или команду REALLOCATE (перераспределить). Использование MAXCOM или REALLOCATЕ зависит только от вас. Если совместно используются MAXCOM и REALLOCATE, то MAXCOM отменяет REALLOCATE.

Опция MAXCOM используется в командной строке, при запуске GPSS/H-программы. Например,

GPSSH PRIMER МАХСОМ

MAXCOM заставит GPSS/H максимально зарезервировать область памяти COMMON, до 32 720 байтов для студенческой версии. Фактическое значение области памяти COMMON, которое MAXCOM будет способен зарезервировать, зависит только от сложности вашей программы. Это не зависит от конфигурации ЭВМ или программного обеспечения.

Команда REALLOCATЕ используется непосредственно в программе, чтобы увеличить область памяти COMMON. REALLOCATЕ требует определения точного объема памяти. Синтаксис REALLOCATE :

REALLOCATE COM, bytes

«СОМ» – это A-операнд, который является для GPSS/H кодом области памяти COMMON. B-операнд определяет число байтов памяти, которые необходимо добавить в область памяти COMMON.

REALLOСАТE удобнее размещать в начале GPSS/H-программы. Если при помощи REALLOСATE задано меньшее значение области памяти COMMON, которое необходимо для прогона программы, то появится сообщение с информацией о том, какого размера должна быть область памяти COMMON. Это позволяет быстро исправить ошибку.

Например,

REALLOСATE COM,20000

Значение области памяти COMMON удвоится по сравнению со значением, установленным по умолчанию. Вообще, если GPSS/H-программа не выполняется при 10 000 байтов области памяти COMMON, то она должна заработать при значении в два раза большем. Следовательно, чтобы осуществить успешный прогон рассмотренного в этом параграфе примера моделирования, к модели необходимо добавить команду REALLOCATE:

Наши рекомендации