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

Устройство

Рис.3.1. Структура моделируемой системы с двумя типами транзактов

На рис. 3.2. показана блок-схема модели парикмахерской с двумя типами клиентов. Она включает два независимых сегмента, моделирующих обслуживание клиентов. Первый сегмент соответствует только стригущимся клиентам, а второй – стригущимся и бреющимся. В каждом сегменте пара блоков QUEUE –DEPART описывает одну и ту же очередь, поэтому по транзактам, проходящим в каждом сегменте, обеспечивается совместный сбор статистики. Таким же образом пара блоков SEIZE-RELEASE в каждом из сегментов описывает одно и то же устройство и моделирует самого парикмахера. За единицу времени принята одна минута.

На рис.3.3. приведена соответствующая программа на языке GPSS, а на рис.3.4. – результаты одного прогона этой модели. Эти результаты показывают, что парикмахер был занят всего 19 раз (количество входов в устройство Master). При этом не делается различий, сколько клиентов относились к типу только стригущихся, а сколько к другому типу. Аналогично поведение очереди к парикмахеру описывается также в обобщенном (агрегированном) виде.

GENERATE

35,10

GENERATE

60,20

Приход

стригущихся и бреющихся

клиентов

Присоединение к очереди

QUEUE

QMaster

QUEUE

QMaster

Присоединение к очереди

Переход в кресло парикмахера

Master

Переход в кресло парикмахера

SEIZE

SEIZE

Master

DEPART

QMaster

Уход из очереди

DEPART

QMaster

Уход из очереди

ADVANCE

18,6

Стрижка у парикмахера

ADVANCE

18,6

Стрижка у парикмахера

RELEASE

Master

ADVANCE

10,2

Бритье у парикмахера

Освобождение парикмахера

TERMINATE

Уход из парикмахерской

RELEASE

Master

Освобождение парикмахера

TERMINATE

Уход из парикмахерской

1-й сегмент модели

2-й сегмент модели

GENERATE

480

TERMINATE

1

3-й сегмент модели (сегмент таймера)

Рис.3.2. Блок-схема модели парикмахерской с двумя типами клиентов

* Модель парикмахерской с клиентами двух типов

*

* 1-й сегмент модели

*

GENERATE 35,10 ;Приход только стригущихся клиентов

QUEUE QMaster ;Присоединение к очереди

SEIZE Master ;Переход в кресло парикмахера

DEPART QMaster ;Уход из очереди

ADVANCE 18,6 ;Стрижка у парикмахера

RELEASE Master ;Освобождение парикмахера

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

*

* 2-й сегмент модели

*

GENERATE 60,20 ;Приход стригущихся и бреющихся клиентов

QUEUE QMaster ;Присоединение к очереди

SEIZE Master ;Переход в кресло парикмахера

DEPART QMaster ;Уход из очереди

ADVANCE 18,6 ;Стрижка у парикмахера

ADVANCE 10,2 ;Бритье у парикмахера

RELEASE Master ;Освобождение парикмахера

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

* 3-й сегмент модели

*

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

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

Рис.3.3. Программа модели парикмахерской с двумя типами клиентов

Рис.3.4. Фрагмент отчета для одного прогона модели парикмахерской с клиентами двух типов

Допустим, необходимо собрать статистику ожидания обслуживания как отдельно по каждому типу клиентов, так и по обоим типам вместе. Для этого нужно ввести по одной дополнительной очереди в каждый сегмент (1 и 2). Напомним, что введение объекта “очередь” в модель не означает образование новой очереди ожидающих транзактов, а служит для сбора статистики по уже существующим очередям. Соответствующая программа на языке GPSS приведена на рис.3.5. Дополнительные очереди Type1 и Type2 введены соответственно в сегмент 1 и в сегмент 2. Когда транзакт входит в сегмент 1, он сначала регистрируется в очереди QMaster, а затем в очереди Type1. Далее он пытается занять устройство. Если попытка успешна, то транзакт регистрирует уход из очередей Type1 и QMaster, и начинается обслуживание блоком ADVANCE. Таким образом, при ожидании обслуживания только стригущиеся клиенты одновременно имеют запись в двух очередях. То же самое можно сказать о втором типе клиентов, моделирование которых осуществляется в сегменте 2. Результаты прогона этой модели приведены на рис.3.6. Хотя статистика регистрируется по трем очередям, реально существует только одна очередь к обслуживающему устройству (парикмахеру). Анализируя эти результаты, можно сказать, что из 19 клиентов, ожидавших в очереди, 11 клиентов были первого типа (только стригущиеся), а 8 – второго типа (стригущиеся и бреющиеся).

* Модель парикмахерской с клиентами двух типов Сбор статистики по каждому типу

*

* 1-й сегмент модели

*

GENERATE 35,10 ;Приход только стригущихся клиентов

QUEUE QMaster ;Присоединение к очереди агрегированной статистики

QUEUE Type1 ;Присоединение к очереди разделенной статистики

SEIZE Master ;Переход в кресло парикмахера

DEPART Type1 ;Уход из очереди разделенной статистики

DEPART QMaster ;Уход из очереди агрегированной статистики

ADVANCE 18,6 ;Стрижка у парикмахера

RELEASE Master ;Освобождение парикмахера

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

*

* 2-й сегмент модели

*

GENERATE 60,20 ;Приход стригущихся и бреющихся клиентов

QUEUE QMaster ;Присоединение к очереди агрегированной статистики

QUEUE Type2 ; Присоединение к очереди разделенной статистики

SEIZE Master ;Переход в кресло парикмахера

DEPART Type2 ;Уход из очереди разделенной статистики

DEPART QMaster ;Уход из очереди агрегированной статистики

ADVANCE 18,6 ;Стрижка у парикмахера

ADVANCE 10,2 ;Бритье у парикмахера

RELEASE Master ;Освобождение парикмахера

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

* 3-й сегмент модели

*

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

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

Рис.3.5. Программа модели с дифференцированным сбором статистики по ожиданию клиентов различных типов

Рис.3.6. Фрагмент отчета для модели дифференцированного сбора статистики по ожиданию клиентов двух типов

Задание 3.1.

  1. Из папки Примеры загрузите модель Пример 31.gps. Выполните один прогон модели и изучите отчет.

  2. Модифицируйте модель, чтобы статистика по ожиданию в очереди регистрировалась отдельно по каждому типу клиентов. Получите отчет и сравните его с отчетом из п.1.