- •Белкоопсоюз
- •1.2. Этапы имитационного моделирования
- •1.3. Программное обеспечение имитационного моделирования
- •Тема 2. Основные понятия имитационного моделирования
- •2.1. Пример моделируемой системы
- •Устройство
- •2.2. События и таймер модельного времени.
- •2.3. Механизмы продвижения времени
- •2.4. Организация продвижения времени в системе gpss для моделируемого примера
- •Тема 3. Система моделирования gpss World
- •3.1. Общая характеристика системы gpss World
- •3.2. Объекты языка gpss
- •3.3. Простейшие операторы gpss
- •3.3.1. Введение транзактов в модель
- •3.3.2. Удаление транзактов из модели
- •3.3.3. Управление устройствами
- •3.3.4. Задержка транзактов во времени
- •3.3.5. Сбор статистики при ожидании в очереди
- •3.3.6. Модель работы парикмахерской
- •3.3.7. Изменение маршрутов движения транзактов
- •3.3.8. Моделирование многоканальных устройств
- •Тема 4. Генерация случайных чисел
- •4.1. Общие принципы генерации случайных величин
- •4.2. Линейные конгруентные генераторы
- •4.3. Генерирование непрерывных случайных величин согласно заданному закону распределения
- •Тема 5. Анализ выходных данных
- •5.1. Переходный период стохастического процесса
- •5.2.Оценка средних значений показателей
- •5.3.Получение заданной точности и расчет числа повторных прогонов
3.3.5. Сбор статистики при ожидании в очереди
Как уже отмечалось выше, если устройство занято каким-либо транзактом, то блок SEIZEзапрещает вход всем остальным транзактам. Эти транзакты, которые тоже хотели бы занять устройство, остаются в предыдущем блоке. Там они могут накапливаться, образуя очередь. Дисциплина обслуживания этой очереди, принятая по умолчанию вGPSS, - это “первым пришел – первым обслужен в пределах одного класса приоритетов”. Таким образом, после освобождения устройства, из очереди выбирается тот транзакт, который имеет больший приоритет, а среди транзактов одинакового приоритета – тот, который пришел ранее. Очереди в системе образуются автоматически, в результате того, что транзакты вынуждены ожидать освобождения устройства. По некоторым очередям разработчик модели может собирать статистику моделирования, а именно:
Максимальное число транзактов в очереди. В отчете (MAX).
Среднее число транзактов в очереди. В отчете (AVE.CONT).
Общее число входов очередь. Учитываются и те транзакты, которые покинули очередь, и те, которые в ней находятся в момент окончания моделирования. В отчете (ENTRY).
Число транзактов, которые были зарегистрированы, но не потратили никакого времени на ожидание в очереди (нулевые входы) (ENTRY(0)).
Среднее время ожидания в очереди (с учетом и без учета нулевых входов) (AVE.TIMEиAVE(-0)).
Для того, чтобы организовать сбор такой статистики (а не для того, чтобы организовать очередь), служат блоки QUEUE(Стать в очередь) иDEPART(Покинуть очередь).
QUEUE A,B
DEPART A,B
A– Символическое имя или номер очереди, к которой нужно присоединиться или покинуть (по умолчанию ошибка);
B– число занимаемых или освобождаемых мест в очереди (по умолчанию 1).
Блоки QUEUEиDEPARTвсегда пропускают транзакт. При входе транзакта в блокQUEUEмоделирующая программаGPSSвыполняет действия, фиксирующие вхождение транзакта в очередь (увеличение счетчика входов, запоминание времени постановки транзакта в очередь и т.д.). Когда же транзакт проходит блокDEPART, выполняются действия, регистрирующие выход транзакта из очереди и расчет соответствующих характеристик этого транзакта. Следует отметить, что моделирующий алгоритмGPSSустроен так, что среднее время пребывания в очереди рассчитывается с учетом и тех транзактов, которые в момент окончания моделирования находятся в очереди. Поэтому среднее время пребывания в очереди получается несколько заниженным, т.к. транзакты, находящиеся в очереди, должны были бы оставаться в ней еще некоторое время. Статистику по очередям, для которых организован сбор статистики блокамиQUEUE–DEPART, пользователь получает в отчете по окончанию моделирования.
В системе GPSSтранзакт может присутствовать одновременно не более, чем в пяти очередях. Ситуация, в которой может потребоваться присутствие транзакта в нескольких очередях одновременно, может возникнуть, например, при моделировании поведения покупателя в магазине, который занимает очереди сразу в несколько отделов.
В таблице 3 показаны элементы блок-схемы, соответствующие перечисленным выше блокам.
Таблица 3. Фигуры блок-схемы, соответствующие операторам блоков
-
GENERATE A,B
TERMINATE A
SEIZE A
RELEASE A
ADVANCE A,B
QUEUE A
DEPART A