-
Практический раздел
-
Постановка задачи
-
На железнодорожном вокзале имеется 2 кассы: 1 обычная и 1 для военных. Пассажиры появляются через каждые A ± B минут. Время обслуживания в кассах зависит от обстоятельств и составляет Ck ± Dk минут, где k – номер кассы. 10% пассажиров – военные, которые идут обслуживаться в военную кассу. Гражданские пассажиры обслуживаются в двух других кассах, но если военная касса пуста, то они могут обслуживаться в ней в порядке очереди. Если появляется военный, то он обслуживается вне очереди, но только в военной кассе. Проанализировать работу касс в течение 8 часов.
Кассы, обслуживающие пассажиров на железнодорожном вокзале. Кассы делятся на 2 вида:
-
простая касса;
-
касса для военных.
Для обслуживания пассажиров предусмотрено три кассы. Две из них являются простыми кассами одна – кассой для военных. Время обслуживания в кассах различное, зависящее от обстоятельств. Пассажиры также делятся на 2 вида:
-
гражданские пассажиры;
-
военные пассажиры.
Военные пассажиры обслуживаются только в кассе для военных. Гражданские пассажиры могут обслуживаться в простых кассах и в кассе для военных, при условии, что она является свободной. Военные пассажиры имеют приоритет перед гражданскими пассажирами и обслуживаются вне очереди.
Исходные данные: А = 2 мин., В = 1 мин., С = 5 мин., D = 1 мин., α = 10 %.
Целью моделирования является:
-
описание алгоритма функционирования модели билетной кассы;
-
вариация времени обслуживания в каждой кассе, определение статистики очередей гражданских и военных пассажиров для каждого случая;
-
сделать выводы по полученным результатам моделирования об оптимальном времени обслуживания пассажиров в различных кассах.
-
Разработка и тестирование проекта
Код программы
*Поток людей
GENERATE 2,1 ; Генерация потока людей
TRANSFER .10,people,mmilitary ; Распределение людей на гражданских и военных
people ASSIGN type,1 ; Присвоение 1 типа для простых людей
TRANSFER ,rgl ; Отправка простых людей к метке rgl
mmilitary ASSIGN type,2 ; Присвоение 2 типа для военных
TRANSFER ,t02 ; Отправка военных к метке t02
* Метка распределения потока гражданских пассажиров
rgl TRANSFER ALL,t01,t02,6 ; Выбор незанятой кассы
* Обслуживающие устройства
* Касса 1
t01 SEIZE kassa1 ; Занять кассу 1
10 ADVANCE 5,1 ; Обслуживание в кассе 1
QUEUE GKassa1 ;присоединение к очереди 1
DEPART GKassa1 ;выход из очереди 1
RELEASE kassa1 ; Освобождение кассы 1
TRANSFER ,fin ; Отправка к метке fin
* Касса 2
t02 SEIZE kassamilitary ; Занять кассу 2
TEST E P$type,2,nemilitary ; Проверка типа
TRANSFER ,military ; Если тип не соответствует условию, отправить к метеке military
nemilitary PRIORITY 1 ; Установление приоритета гражданским людям
QUEUE GKassa2 ;присоединение к очереди
DEPART GKassa2 ;выход из очереди
TRANSFER ,obsh ; Отправка к метке obsh
military PRIORITY 2 ; Установление приоритета военным людям
QUEUE SKassa2 ;присоединение к очереди
DEPART SKassa2 ;выход из очереди
obsh QUEUE obshaya ; присоединение к очереди
DEPART obshaya ; выход из очреди
30 ADVANCE 5,1 ; Обслуживание в кассе 2
RELEASE kassamilitary ; Освобождение кассы 2
TRANSFER ,fin ; Отправка к метке fin
* Генерация 8-ми часового рабочего дня
fin TERMINATE 0 ; Удаление транзакта
GENERATE 480 ; Генерация времени (8 часов)
TERMINATE 1 ; Удаление транзакта
START 1 ; Начать с 1
В результате моделирования получен следующий отчет:
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KASSA1 97 0.994 4.921 1 182 0 0 43 0
KASSAMILITARY 95 0.989 4.997 1 236 0 0 43 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
GKASSA2 1 0 70 70 0.000 0.000 0.000 0
OBSHAYA 1 0 95 95 0.000 0.000 0.000 0
GKASSA1 1 0 96 96 0.000 0.000 0.000 0
SKASSA2 1 0 25 25 0.000 0.000 0.000 0
При изменении времени обслуживания в кассе 1 в тексте ИМ будут изменены следующие строки:
10 ADVANCE 7,1 ; Обслуживание в кассе 1
В результате моделирования получены следующие отчеты:
При времени обслуживания 7 минут:
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KASSA1 69 0.994 6.918 1 157 0 0 78 0
KASSAMILITARY 97 0.989 4.894 1 158 0 0 78 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
GKASSA2 1 0 66 66 0.000 0.000 0.000 0
OBSHAYA 1 0 97 97 0.000 0.000 0.000 0
GKASSA1 1 0 68 68 0.000 0.000 0.000 0
SKASSA2 1 0 31 31 0.000 0.000 0.000 0
При времени обслуживания 9 минут:
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KASSA1 53 0.994 9.006 1 137 0 0 92 0
KASSAMILITARY 98 0.989 4.844 1 138 0 0 92 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
GKASSA2 1 0 71 71 0.000 0.000 0.000 0
OBSHAYA 1 0 98 98 0.000 0.000 0.000 0
GKASSA1 1 0 52 52 0.000 0.000 0.000 0
SKASSA2 1 0 27 27 0.000 0.000 0.000 0
Анализ результатов моделирования представлен в таблице 1.
Таблица 1 – Результаты моделирования работы кассы 1
№ п/п |
Время обслуживания |
Количество обслуженных пассажиров (ENTRIES) |
Среднее время обслуживания (AVE. TIME) |
Максимальная длина очереди (QUEUE MAX) |
||||
Касса 1, мин |
Касса 2, мин |
Касса 1, чел |
Касса 2, чел |
Касса 1 |
Касса 2 |
GKASSA1 |
OBSHAYA |
|
1 |
5 |
5 |
97 |
95 |
4.921 |
4.997 |
1 |
1 |
2 |
7 |
5 |
69 |
97 |
6.918 |
4.894 |
1 |
1 |
3 |
9 |
5 |
53 |
98 |
9.006 |
4.844 |
1 |
1 |
Из результатов, представленных в таблице 1 видно, что при увеличении времени обслуживания пассажиров на первой кассе, количество пассажиров, обслуженных на кассе 1, уменьшается. При этом количество обслуженных пассажиров увеличивается в кассе 2. Это можно объяснить следующим образом: пассажиры обслуживаются в кассе 1 дольше, чем в остальных кассах, следовательно, поток людей, переходит с 1 кассы в кассу 2, т.к. эта касса будет освобождаться раньше.
При изменении времени обслуживания в кассе 2 в тексте ИМ будут изменены следующие строки:
30 ADVANCE 5,1 ; Обслуживание в кассе 2
При времени обслуживания 7 минут:
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KASSA1 96 0.994 4.972 1 151 0 0 71 0
KASSAMILITARY 70 0.989 6.782 1 234 0 0 71 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
GKASSA2 1 0 42 42 0.000 0.000 0.000 0
OBSHAYA 1 0 70 70 0.000 0.000 0.000 0
GKASSA1 1 0 95 95 0.000 0.000 0.000 0
SKASSA2 1 0 28 28 0.000 0.000 0.000 0
При времени обслуживания 9 минут:
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KASSA1 97 0.994 4.921 1 143 0 0 89 0
KASSAMILITARY 54 0.989 8.792 1 142 0 0 89 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
GKASSA2 1 0 35 35 0.000 0.000 0.000 0
OBSHAYA 1 0 54 54 0.000 0.000 0.000 0
GKASSA1 1 0 96 96 0.000 0.000 0.000 0
SKASSA2 1 0 19 19 0.000 0.000 0.000 0
Анализ результатов моделирования представлен в таблице 2.
Таблица 2 – Результаты моделирования работы кассы 2
№ п/п |
Время обслуживания |
Количество обслуженных пассажиров (ENTRIES) |
Среднее время обслуживания (AVE. TIME) |
Максимальная длина очереди (QUEUE MAX) |
||||
Касса 1, мин |
Касса 2, мин |
Касса 1, чел |
Касса 2, чел |
Касса 1 |
Касса 2 |
GKASSA1 |
OBSHAYA |
|
1 |
5 |
5 |
97 |
95 |
4.921 |
4.997 |
1 |
1 |
2 |
7 |
5 |
96 |
70 |
4.972 |
6.782 |
1 |
1 |
3 |
9 |
5 |
97 |
54 |
4.921 |
8.792 |
1 |
1 |
Из результатов, представленных в таблице 2 видно, что при увеличении времени обслуживания пассажиров на второй кассе, количество пассажиров, обслуженных на кассе 2, уменьшается. При этом количество обслуженных пассажиров не увеличивается в кассе 1. Поток пассажиров действует так же, как и при изменении параметров времени обслуживания первой кассы. Пассажиры дольше обслуживаются в кассе 2, соответственно, не обслуженные пассажиры переходят к кассе 1.
ЗАКЛЮЧЕНИЕ
В данном курсовом проекте была рассмотрена тема «Имитационное моделирование технологического процесса средствами GPSS World». В аналитическом разделе был описан теоретический материал, являющийся основой для исследования темы курсового проекта. В практическом разделе была сформулирована и реализована задача. На основе проведенных исследований и анализе имитационной модели, можно сделать вывод о том, что даже относительно не большие системы стоит смоделировать, и изучить их поведение при разных вариантах.