Добавил:
sora.alai.102@gmail.com Делаю работы на заказ. Какие именно? Пишите. Или регайтесь на бирже, где я работаю: https://vsesdal.com/promo?ref=748568 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод. указания к ЛР (часть 1).docx
Скачиваний:
30
Добавлен:
25.11.2018
Размер:
127.75 Кб
Скачать

Пример выполнения работы

В парикмахерскую с двумя креслами каждые 35±10 мин приходят клиенты. Парикмахеры обслуживают клиентов в порядке «первым пришел – первым обслужился». Время, затраченное на стрижку, составляет 18±6 мин. Построить GPSS-модель работы парикмахерской в течение 8 часов.

Листинг программы

* Основной сегмент программы

PARIK STORAGE 2 ;2 кресла в парикмахерской

GENERATE 35,10 ;приход клиентов в парикмахерскую

ENTER PARIK ;занять одного парикмахера

ADVANCE 18,6 ;стрижка

LEAVE PARIK ;освободить одного парикмахера

TERMINATE ;уход клиента из парикмахерской

* Сегмент таймера

GENERATE 480 ;моделирование в течение 480 мин

TERMINATE 1 ;завершение прогона

START 1

Отчет о работе

Отчет должен содержать:

  1. задание и исходные данные для выполнения работы;

  2. текст программы;

  3. распечатку стандартного отчета (объекта «Отчет»);

  4. таблицу, описывающую зависимость количества обслуженных клиентов от числа посадочных мест в кафе (варианты 1-10) или числа операционистов в банке (варианты 11-20).

ЛАБОРАТОРНАЯ РАБОТА №4

МЕТОДЫ СБОРА СТАТИСТИКИ В ИМИТАЦИОННОЙ МОДЕЛИ

Цель работы: изучение объектов статистической категории GPSS – очередей и таблиц; использование блоков QUEUE и DEPART; освоение способов регистрации статистической информации о процессе ожидания и движения транзактов в модели.

Краткие теоретические сведения

Блоки QUEUE (встать в очередь) и DЕРАRТ (покинуть очередь) обеспечивают в GPSS возможность автоматического сбора статистических данных, описывающих вынужденное ожидание, которое может происходить время от времени в различных точках модели.

В любых системах массового обслуживания число ресурсов ограничено. Это означает, что не всегда можно немедленно предоставить ресурс при каждой заявке на его использование. В действительности, ожидающие обслуживания заявки всегда составляют очередь, что дало основание называть такие системы системами с очередями (системами массового обслуживания).

При использовании ограниченного ресурса происходят следующие события.

  1. Присоединение в некоторый момент времени к очереди, т.е. образование с другими заявками группы «ожидающих обслуживания».

  2. Ожидание своей очереди в течение некоторого интервала времени.

  3. Уход из очереди в некоторый момент времени.

Очень часто бывает необходимо собрать статистику, описывающую особенности протекания процесса. Эта статистика должна дать ответ на следующие вопросы:

  • Сколько раз заявки приходили в очередь?

  • Сколько пришедших заявок фактически присоединилось к очереди и сколько сразу заняли прибор?

  • Каково было максимальное значение длины очереди?

  • Каково было среднее число ожидающих заявок?

  • Каково среднее время ожидания тех заявок, которым пришлось ждать?

GPSS обеспечивает возможность сбора такого рода статистической информации с помощью средства, называемого регистратором очереди. При использовании разработчиком регистратора очереди в тех точках модели, где число ресурсов ограничено, интерпретатор начинает автоматически собирать статистику, описывающую ожидание (если оно есть), возникающее в этих точках.

Разработчик вносит регистратор очереди в модель с помощью пары взаимодополняющих блоков. Такой парой являются блоки, моделирующие упомянутые события 1 и 3. Когда транзакт входит в первый из этих блоков, моделируется событие «присоединение к очереди». Подобным образом, когда транзакт входит во второй из них, моделируется событие «уход из очереди». Блоками, соответствующими событиям «присоединение» и «уход», являются QUEUE и DEPART.

QUEUE (встать в очередь)

Назначение: занесение транзакта в очередь.

Формат: QUEUE A, B.

Значение операндов

Операнд

Значение

Значение по умолчанию

A

Имя (символическое или числовое) очереди, к которой необходимо присоединиться

Ошибка

В

Число элементов, на которое должно измениться значение счетчика содержимого очереди

1

DEPART (покинуть очередь)

Назначение: удаление транзакта из очереди.

Формат: DEPART A, B.

Значение операндов

Операнд

Значение

Значение по умолчанию

A

Имя (символическое или числовое) очереди, которую необходимо покинуть

Ошибка

В

Число элементов, на которое должно измениться значение счетчика содержимого очереди

1

Начинающие изучение GPSS могут составить неверное представление об использовании регистратора очереди. Два наиболее часто встречающихся ошибочных представления мы прокомментируем ниже.

Первой ошибкой является то, что многие считают, будто регистраторы очереди необходимо использовать в модели всюду, где могут возникать очереди. Часто думают, что если регистратор очереди не записан, то не обеспечивается возможность ожидания обслуживания. Это неверно. Использование регистратора очереди совершенно необязательно. При использовании регистратора интерпретатор собирает статистику об ожидании; если регистратор не используется, статистика не собирается, но всюду, где должно возникать ожидание, оно возникает. Ожидание является следствием состояния устройства, а не следствием использования регистратора очереди.

Второй общей ошибкой, касающейся использования регистраторов очереди, является мнение, что транзакт не будет элементом очереди, если он не находится в блоке QUEUE. Это неверно. Транзакт просто отмечает факт своего присутствия в очереди входом в блок, где осуществляется привязка к очереди по имени и времени входа в очередь. Независимо от того, остается транзакт в блоке QUEUE или нет, он остается элементом очереди до тех пор, пока не войдет в блок DEPART соответствующей очереди. В зависимости от того, каким образом построена модель, транзакт в общем случае может некоторое время находиться в различных частях модели после того, как он покинет блок QUEUЕ, и прежде, чем он войдет в соответствующий ему блок DEРАRТ.

Транзакт может являться элементом более чем одной очереди. Это вовсе не так уж странно, как может показаться на первый взгляд. Можно без труда придумать ситуацию, когда люди одновременно стоят в двух или даже более очередях. Здесь следует отметить, что находиться в очереди вовсе не значит физически в ней присутствовать.

Очень часто разработчика интересует не только среднее значение времени ожидания в очереди, но и дисперсия этого времени, а также статистическое распределение выборки времени ожидания, представляемое обычно графически в виде гистограммы. Имея такое распределение, можно оценить вероятность того, что время ожидания превысит или не превысит некоторое заданное значение. Для сбора и обработки данных о выборочном распределении времени ожидания в очереди служат статистические объекты типа Q-таблица.

Для создания в модели такой таблицы она должна быть предварительно определена с помощью команды QTABLE.

QTABLE (Q-таблица)

Назначение: инициализация таблицы плотности распределения времени пребывания в очереди.

Формат: <ИМЯ> QTABLE A,В,С,D.

Здесь: <ИМЯ> - имя таблицы.

Значение операндов

Операнд

Значение

Значение по умолчанию

A

Номер или имя очереди, распределение времени ожидания в которой необходимо получить

Ошибка

В

Верхняя граница первого частотного интервала

Ошибка

С

Ширина частотных интервалов

Ошибка

D

Количество частотных интервалов

Ошибка

Диапазон всевозможных значений времени ожидания в очереди, указанной в поле A, разбивается на ряд частотных интервалов, число которых указано в поле D. Первый из этих интервалов имеет ширину от -∞ до величины, указанной в поле B, включительно. Второй интервал включает значения, большие, чем величина первой границы в поле B, но меньшие или равные B+C, и т.д. Все промежуточные интервалы имеют одинаковую ширину, указанную в поле C. Наконец, последний интервал включает все значения, большие, чем последняя граница. Значения операндов B, C и D должны задаваться целыми константами. Операнд B может быть неположительным, хотя для Q-таблицы это не имеет смысла, так как время не может быть отрицательным. Операнды C и D должны быть строго положительными.

При прохождении транзакта через блоки QUEUE и DEPART его время ожидания фиксируется и к счетчику частотного интервала таблицы, в который попало это время, добавляется 1. Одновременно в таблице накапливается информация для вычисления среднего значения и среднеквадратического отклонения времени ожидания. По окончании моделирования среднее значение и среднеквадратическое отклонение времени ожидания, а также счетчики попаданий в различные частотные интервалы выводятся в стандартный отчет GPSS.

Таблицы в GPSS могут использоваться в более общем случае не только для табулирования времени ожидания в очереди, но и для получения выборочных распределений произвольных СЧА любых объектов модели. Для определения таблиц служит команда TABLE.

TABLE (таблица)

Назначение: инициализация таблицы плотности распределения.

Формат: <ИМЯ> TABLE A,В,С,D.

Здесь: <ИМЯ> - имя таблицы.

Значение операндов

Операнд

Значение

Значение по умолчанию

A

Аргумент таблицы – СЧА, выборочное распределение которого необходимо получить

Ошибка

В

Верхняя граница первого частотного интервала

Ошибка

С

Ширина частотных интервалов

Ошибка

D

Количество частотных интервалов

Ошибка

Занесение информации в таблицу, определяемую оператором TABLE, уже не может быть выполнено интерпретатором автоматически, как в случае Q-таблиц. Для этого используется специальный блок TABULATE.

TABULATE (табулировать)

Назначение: занесение данных в таблицу.

Формат: TABULATE А,В.

Значение операндов

Операнд

Значение

Значение по умолчанию

А

Номер или имя таблицы, определенной соответствующей командой TABLE

Ошибка

В

Весовой коэффициент

1

При входе транзакта в блок TABULATE текущее значение табулируемого аргумента таблицы, указанного в поле A оператора TABLE, заносится в нее в соответствии с заданным в операторе TABLE разбиением области значений аргумента на частотные интервалы.