Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информационные технологии. Лекции.docx
Скачиваний:
20
Добавлен:
11.09.2018
Размер:
147.12 Кб
Скачать

Лекция №5. (09. 04. 2018)

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

Для моделирования указывания ситуаций в языке GPSS предусмотрены многократные устройства (МКУ). При их определении указывается количество каналов обслуживания, которые могут быть одновременно закрыты обслуживанием поступивших требований. МКУ должны быть определены в самом начале описания модели до первого блока GENERATE. В терминах языка GPSS МКУ называют STORAGE. Каждое МКУ имеет своё имя (по аналогии с прибором). Описание имеет следующий вид: имя STORAGE A (A – количество каналов в нём), например: BENZ STORAGE 3.

Для моделирования обслуживания транзактов в МКУ используется пара блоков: ENTER_имя МКУ. Подойдя к этому блоку транзакт определяет имеются ли свободные каналы обслуживания, если они имеются, то транзакт проходит данный блок и количество свободных каналов данного МКУ уменьшится на единицу. Блок LEAVE_имя МКУ, пройдя через блок LEAVE транзакт освобождает один канал данного МКУ, т.е. количество свободных каналов увеличиться на единицу. Если транзакт подойдя к блоку ENTER обнаруживает, что все каналы заняты (количество свободных каналов равно 0), то но останавливается перед этим блоком, ожидая освобождения хотя бы одного канала.

Пример:

Имеется АЗС с тремя бензоколонками, каждая из которых представляет один и тот же набор вида бензина. Время обслуживания автомобиля подчиняется равномерному закону распределения (8;10) минут, интервалы времени между пребыванием автомобиля распределяется по экспоненциальному закону со средним значением 4 минуты. Составить модель данной АЗС, собрав сведенья о характерах очереди ожидания.

Решение:

AZS STORAGE 3

GENERATE (EXPONENTIAL (1,0,4))

QUEUE OCH

ENTER AZS

DEPART OCH

ADVANCE 9,1

LEAVE AZS

TERMINATE 1

START 1000

Пример 2:

На АЗС имеется пара колонок с обычным бензином и пара с классом премиум, 20 приезжающих авто заправляются бензином класса премиум – остальные обычным бензином. Составить модель со сбором статистики обслуживания очередей ожидания каждого класса бензина.

Решение:

OBYCH STORAGE1

PREM STORAGE2

GENERATE (EXPONENTIAL (1,0,4))

TRANSFER .2,BP,BO

BP QUEUE OCHP

ENTER PREM

DEPART OCHP

ADVANSE 9,1

LEAVE PREM

TERMINATE 1

BO QEUEU OCHO

ENTER OBYCH

ADVANCE 9,1

LEAVE OB

TERMINATE 1

START 1000

Пример 3:

В парикмахерскую приходят клиенты двух видов: мужчины и женщины, при этом в парикмахерских работают трое парикмахеров Клиенты первого вида приходят в интервале 10-20 минут и обслуживаются 30-40. Клиенты второго вида приходят в интервале 40-60, а обслуживаются 20-24. Построить модель и собрать статистику по очереди ожидания обслуживания.

PAR STORAGE 3

GENERATE 15,5

QUEUE OCH

ENTER PAR

DEOART OCH

ADVANCE 40,10

LEAVE PAR

TERMINATE

GENERETE 50,10

QUEUE OCH

ENTER PAR

DEPART OCH

ADVANSE 22,2

LEAVE PAR

TERMINATE 1

START 1

Лекция №6. (23. 04. 2018)

Изменение приоритетов транзактов

Стандартно приобретет транзактам принимается в блоке GENERATE при их порождении. В то же время в ходе функционирования модели у некоторых транзактов их приобретет идёт потребовать изменения. Например, при моделировании процесса, когда человек, подойдя к клерку, получив документ для заполнения, отходит, а потом, заполнив их возвращается, он должен быть обслужен вне очереди. Для моделирования такого рода ситуаций (для изменения приоритетов) используется блок PRIORITY A. Значение параметра A указывает номер приоритета, присваиваемый, проходящем через блок транзакты.

Пример:

В поликлинике при посещении кардиолога часть поциентов направляется на снятие электрокардиограммы, после чего они повторно идут к каталогу повторно вне очереди. Время прихода – 12+-2, время обслуживания – 9+-3, вероятность, что клиент будет направлен на ЭКГ – 0,1. Время меду приходом внешних пациентов на ЭКГ – 10+-3, время снятия ЭКГ – 6+-1.

Решение:

GENERATE 12,2

QUEUE OCHKAR

SEIZE KAR

DEPART OCHKAR

ADVANCE 9,3

RELEASE KAR

TRANSFER .1, EXP, KABEKG,

KABEKG QUEUE OCHEKG

SEIZE EKG

DEPART OCHEKG

ADVANCE 6,1

RELEASE EKG

PRIORITY 1

QUEUE OCHKAR

SEIZE KAR

DEPART OCHKAR

ADVANCE 9,3

RELEASE KAR

Пример 2:

При заказе такси часть клиентов успело заказать такси за 150 руб., после повышения стоимости такси стало стоить 200 руб. и обслуживалась та часть клиентов, которые платили больше.

Монтируется ситуация на улицах города. У машин, едущих по второстепенной дороге приоритет меньше, чем едущих по главной.