Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по ИМ для заочников.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
649 Кб
Скачать
☆

1.5. Модель работы парикмахерской

Рассмотрим теперь модель парикмахерской с одним креслом, которая описана в п.1.1. Блок-схема этой модели приведена на рис.1.5, а программа – рис.1.6.

*Модель работы парикмахерской

GENERATE 18,6 ;Приход клиентов (1)

QUEUE QMASTER ;Присоединение к очереди (2)

SEIZE MASTER ;Переход в кресло парикмахера (3)

DEPART QMASTER ;Уход из очереди (4)

ADVANCE 16,4 ;Обслуживание у парикмахера (5)

RELEASE MASTER ;Освобождение парикмахера (6)

TERMINATE ;Уход из парикмахерской (7)

GENERATE 480 ;Приход транзакта-таймера (8)

TERMINATE 1 ;Завершение прогона (9)

Рис.1.6. Модель работы парикмахерской с одним креслом.

Текст, расположенный после знаков ‘*’ или ‘;’, является комментарием и системой не обрабатывается. Номера блоков, записанные справа в скобках, не являются частью программы и даны для удобства ссылок на операторы блоков.

Для того, чтобы начать моделирование, должна быть подана команда START 1 (или включена в текст модели). Эта команда дает начальное значение, равное 1, счетчику числа завершений, и начинает процесс моделирования.

Итак, транзакты создаются блоком GENERATE (1) согласно равномерному распределению с интервалом 186. Транзакт моделирует клиента, приходящего в парикмахерскую. Созданный транзакт продвигается далее в блок (2), где регистрируется его присоединение к очереди QMASTER. Затем транзакт пытается занять устройство MASTER, имитирующее парикмахера (блок 3). Если ему это удается, то состояние устройства меняется на “занято”, а транзакт продвигается в блок (4), регистрирующий его уход из очереди QMASTER. В случае неудачи транзакт остается в блоке (3) и ожидает в очереди освобождения устройства. После регистрации выхода из очереди, транзакт поступает в блок (5), где моделируется обслуживание клиента парикмахером задержкой на время 164. Затем транзакт поступает на блок (6), который изменяет состояние прибора на “свободно”, и далее проходит в блок (7), где уничтожается без изменения счетчика завершений. Второй сегмент модели состоит из двух блоков (8) и (9). Блок (8) генерирует транзакт-таймер, который приходит в момент модельного времени, равный 480, и символизирует звонок к окончанию рабочего дня. Этот транзакт тут же уничтожается блоком (9), при этом значение счетчика завершений уменьшается на 1 и становится равным 0. Моделирование прекращается.

Очевидным недостатком этой модели является то, что моделирование прекращается резко, без всяких подготовительных процедур. Если бы эта ситуация происходила в реальной жизни, то клиент, находящийся в кресле парикмахера в момент “звонка к окончанию дня” остался бы не достриженным, а клиенты, ожидавшие в очереди, ушли бы, не получив обслуживания.

Таким образом, в модели неявным образом объявлено устройство с именем MASTER. Транзакты, ожидающие в очереди к этому устройству, скапливаются в блоке (3) SEIZE MASTER. По этой очереди регистрируется статистика под символическим именем QMASTER.

1.6. Расчет статистических характеристик объектов.

В системе GPSS автоматически собирается статистика по всем устройствам и очередям, для которых заданы блоки QUEUE-DEPART. Для лучшего понимания сути этих статистических характеристик, рассмотрим пример ручного расчета по устройству MASTER и очереди QMASTER в модели парикмахерской из п.5. Будем использовать исходные данных, приведенных в п.2 (интервалы времени между приходами транзактов 14, 13, 17, 15,…; а значения времени обслуживания клиентов18, 12, 14,…). Для данного примера была построена временная диаграмма в п.2 (см. рис.1.4.). Допустим, моделирование прервано в момент времени 60. Тогда рассчитанные в этот момент характеристики объектов будут следующие.

Характеристики очереди QMASTER:

  1. Общее число входов в очередь равно 4. Каждый транзакт, поступающий в систему, проходит блок QUEUE, т.е. регистрируется в очереди. К моменту модельного времени 60 четыре транзакта пройдут этот блок.

  2. Число нулевых входов равно 3. Те транзакты, которым не пришлось ожидать в очереди (т.к. в момент их прихода устройство было свободно), регистрируют выход из очереди через блок DEPART в тот же момент времени, когда они прошли блок QUEUE. Такие транзакты называются нулевыми входами в очередь. В нашем примере из 4 зарегистрированных в очереди транзактов три были нулевыми входами (первый, третий и четвертый).

  3. Максимальное количество транзактов в очереди равно 1. Следует отметить, что система GPSS никогда не даст значение этой величины, меньшее 1. Даже тот транзакт, который не стоял фактически в очереди, в ней зарегистрирован. Если представить ситуацию, что ни один транзакт не ожидал в очереди (все были нулевыми входами), система все равно даст значение этого показателя, равное 1. Если же в процессе моделирования возникает ситуация одновременного прихода одного транзакта и освобождения устройства другим транзактом, то в силу последовательности обработки цепей событий в очереди может оказаться зарегистрировано на 1 больше транзактов, чем там действительно находилось. Таким образом, иногда система GPSS дает значение показателя “максимальное количество транзактов в очереди”, завышенное на 1.

  4. Среднее значение количества транзактов в очереди равно 0,083. Для расчета этой величины нарисуем ось модельного времени до момента окончания моделирования (60) и отметим на ней количество транзактов, находившихся в очереди в течение каждого интервала времени (см. рис.1.7.). Найдем сумму всех временных интервалов, в которые наблюдалось одно и то же значение количества транзактов в очереди.

0 транзактов: (14-0)+(27-14)+(44-32)+(58-44)+(59-58)+(60-59)=55

1 транзакт: (32-27)=5

Чтобы найти среднее число транзактов в очереди, нужно каждое значение количества ожидающих транзактов умножить на долю времени, в течение которого наблюдалось это количество транзактов в очереди:

0

0

1

0

0

0

0

t2

0

14

27

32

44

58

59

60

Рис. 1.7. Количество транзактов в очереди в каждый момент времени

  1. Среднее время пребывания в очереди равно 1,25. Найдем сумму времен ожидания каждого транзакта и разделим ее на количество транзактов.

=(0+5+0+0)/4=1,25

  1. Среднее время пребывания в очереди без учета нулевых входов равно 5. При расчете среднего не учитываются транзакты, которым не пришлось ожидать.

=5/1=5

Характеристики устройства MASTER:

  1. Число обслуживаний равно 4. Фактически число обслуживаний есть количество транзактов, выходивших из блока SEIZE. Таким образом, учитывается и тот транзакт, который находится на устройстве в момент окончания моделирования.

  2. Коэффициент использования устройства равен 0,75. Эта величина есть отношение времени, в течение которого устройство было занято обслуживанием, к общему модельному времени. Общее модельное время равно 60. Устройство было занято на интервалах 14-58 и 59-60, т.е. (58-14)+(60-59)=45 ед. времени. Коэффициент использования устройства

  3. Средняя продолжительность одного обслуживания равна 11,25. Разделим время, в течение которого устройство было занято обслуживанием, на число обслуживаний: . Таким образом, в расчете участвует и тот транзакт, который в данный момент находится на устройстве (Хотя при этом его обслуживание только начато). Правильнее было бы рассчитать время обслуживания первых трех транзактов и разделить на 3: (18+12+14)/3=14,67. Однако в GPSS используется именно первый способ расчета и полагается, что при большом числе транзактов это занижение времени обслуживания не будет иметь значение.