- •Построение имитационных моделей с помощью инструментального средства gpss World
- •Установка параметров моделирования
- •Моделирование одноканальной разомкнутой системы массового обслуживания
- •Generate а, в, с, d, е
- •Queue a, b
- •Seize a
- •Depart а, в
- •Advance a, b
- •Release а
- •Terminate a
- •Start а, в, с, d
- •Многоканальная разомкнутая система массового обслуживания
- •Name storage a
- •Test o a, b, c
- •Enter а, в
- •5. Определение движения требований по каналам.
- •Transfer all, kaNl, kan3, 3
- •Transfer a, в, c, d
- •Transfer, New_Plaсе
- •Transfer both, First_Place, Second_Place
- •Seize a
- •7. Запоминание канала, в который требование попало на обслуживание.
- •Assign 1, can1
- •Assign a, b, с
- •Seize a
- •Assign 1, can1
- •Освобождение элементов памяти.
- •Leave а, в
- •Terminate 1
- •Terminate a
- •Библиографический список
Многоканальная разомкнутая система массового обслуживания
Постановка задачи
Необходимо смоделировать процесс обслуживания физических лиц в банке. Для обслуживания физических лиц в банке предназначены 2 рабочих места. Клиент подходит на обслуживание каждые 6 минут. В среднем работа с одним клиентом занимает 10 минут. Если очередь на обслуживание равна 10 человек, то клиент уходит из банка.
Требуется смоделировать процесс функционирования системы и определить основные показатели при обслуживании 100 человек:
Коэффициент использования кассы.
Среднее время использования кассы.
Количество обслуженных людей в кассе.
Среднюю длину очереди перед кассой.
Среднее время пребывания клиента в очереди.
Максимальную длину очереди.
Коэффициент использования очереди.
Рис. 8. Графическое изображение функционирования системы,
где 1 – клиент подходит на обслуживание; 2 – проверка размера очереди; если очередь равна 10 человекам, то клиент уходит из банка; 3 – клиент встает в очередь; 4 – ожидание освобождения одного из работников банка; 5 – клиент покидает очередь и идет на обслуживание; 6 – работник банка обслуживает клиента; 7 – клиент покидает место обслуживания; 8 – клиент покидает банк
Построение имитационной модели процесса
Ochered STORAGE 10 ; (1)
GENERATE 6 ; (2)
TEST G R$Ochered, 0, Vihod ; (3)
ENTER Ochered ; (4)
TRANSFER Both, RabMesto1,RabMesto2 ; (5)
RabMesto1 SEIZE RabotnikBanka1 ; (6)
ASSIGN 1, RabotnikBanka1 ; (7)
TRANSFER ,Obslugivanie ; (8)
RabMesto2 SEIZE RabotnikBanka2 ; (9)
ASSIGN 1, RabotnikBanka2 ; (10)
Obslugivanie LEAVE Ochered ; (11)
ADVANCE 10 ; (12)
RELEASE P1 ; (13)
Vihod TERMINATE 1 ; (14)
START 100 ; (15)
Комментарии к программе
STORAGE – определение ограничения на размер очереди. Команда STORAGE определяет размер накопителя по имени «Ochered». В примере размер принимает значение 10:
Name storage a
Метка / Операнд:
NAME – метка объекта. Обязательна. Допустимое значение – Name.
А – общая ёмкость памяти. Обязательный операнд. Допустимые значения – PosInteger.
Действие:
Команда STORAGE является несрочной командой. Когда объект «Процесс моделирования» принимает её, она помещается в очередь команд.
Команда STORAGE определяет в процессе моделирования память. Когда транзакт пытается войти в блок ENTER, его потребность в памяти сравнивается с доступным объемом памяти; если потребность может быть удовлетворена, транзакту разрешается войти в блок ENTER, количество доступных элементов памяти уменьшается. Если потребность транзакта не может быть удовлетворена, он переводится в список задержки памяти для ожидания.
Память может быть переопределена вводом новой команды STORAGE с тем же именем (меткой), что и предыдущая.
Если необходимо обращаться к памяти по номеру, а не по имени, определению памяти должна предшествовать команда EQU. Это необходимо, если требуется обращаться к набору памятей в блоках SELECT или COUNT.
Команда GENERATE позволяет задать время прихода физического лица на обслуживание, равное 6 минутам.
Определение размера очереди для принятия решения об ожидании обслуживания или уходе из банка. Блок TEST сравнивает значения и управляет местом назначения активного транзакта, основываясь на результате сравнения: