Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

mmvu_lab_mag

.pdf
Скачиваний:
33
Добавлен:
24.03.2016
Размер:
1.43 Mб
Скачать

41

няется экспоненциальному закону распределения со средним значе# нием 8 чел./ч.

Составить модель работы операционного зала и определить среднее время ожидания, среднюю длину очереди и среднюю за# грузку сотрудников банка в течение 8#часового рабочего дня. За единицу измерения времени принять минуту.

При составлении модели необходимо сразу указать количество каналов и дать имя системе для ее идентификации. Назовем систе# му BANK и укажем количество каналов с помощью оператора STORAGE:

BANK STORAGE 2.

Далее укажем блок GENERATE для генерации заявок. В блоке для реализации экспоненциального закона распределения восполь# зуемся встроенной функцией exponential, в которой укажем среднее время поступления заявок в минутах: Тпост= 60/12 = 5 мин (exponential(1,0,5)):

GENERATE (exponential(1,0,5)).

Далее укажем блок, формирующий очередь QUEUE, и назовем очередь QUEUE_BANK. Ниже поставим блок ENTER, моделиру# ющий каналы обслуживания, с идентификатором BANK. Далее по# ставим блок DEPART, моделирующий выход из очереди посетителя с именем очереди QUEUE_BANK (имена у парных блоков должны совпадать).

После этого необходимо задать задержку транзакта на время обслуживания (моделируется блоком ADVANCE с экспоненциаль# ным законом распределения со средней величиной Тоб = 60/8 = 7,5 мин). Далее ставим парный блок LEAVE с именем BANK и в конце первой части модели блок уничтожения транзактов TERMINATE. Во вто# рой части программы поставим уже известный нам блок по модели# рованию 8#часового рабочего дня.

Составляем модель в GPSS World:

BANK STORAGE 2

;указание числа каналов

GENERATE (exponential(1,0,5))

;поступление посетителей

QUEUE QUEUE_BANK

;очередь посетителей

ENTER BANK

;посетитель подходит к окну

 

42

DEPART QUEUE_BANK

;посетитель выходит из очереди

ADVANCE (exponential(1,0,7.5))

;время обслуживания

LEAVE BANK

;окончание обслуживания

TERMINATE

;выход посетителя из зала

GENERATE 480

 

TERMINATE 1

 

START 1

 

После составления модели запускаем ее на выполнение (меню

Command – Create Simulation) и получаем результат в окне REPORT (рис. 2.14).

Рис. 2.14. Окно отчета результатов моделирования REPORT

двухканальной системы

43

В отчете по моделированию добавилась новая строка, показы# вающая результаты работы каналов, где каждый из показателей определяет:

STORAGE – имя или номер многоканального устройства; САР. – емкость устройства, заданную оператором STORAGE; REM. – количество единиц свободной емкости устройства в кон#

це периода моделирования;

MIN. – минимальное количество используемой емкости за пери# од моделирования;

МАХ. – максимальное количество используемой емкости за пе# риод моделирования;

ENTRIES – количество входов за период моделирования; AVL. – состояние готовности в конце периода моделирования:

1 – готов, 0 – не готов;

AVE.C – среднее значение занятой емкости за период моделиро# вания;

UTIL. – коэффициент использования устройств в каналах; RETRY – количество транзактов, ожидающих специальных ус#

ловий, которые зависят от состояния устройства;

DELAY – количество транзактов, ожидающих возможности входа в блок ENTER.

Из результатов моделирования видно, что:

•число обслуженных клиентов за рабочий день равно 92; •среднее время ожидания обслуживания составляет 8,2 мин; •средняя длина очереди – 1,6 чел.; •средняя загрузка сотрудников – 0,71.

Сравним, как и в случае с одноканальной системой, результаты имитационного моделирования с теоретически рассчитанными данными. Так как интервалы времени поступления заявок и время обработки заявки подчиняются экспоненциальному закону, то мож# но получить аналитическое решение. Коэффициент использования (загрузки) каналов обслуживания можно определить по формуле:

k , n

где ,

λ – интенсивность поступления заявок;

44

μ – интенсивность обслуживания заявок; n – число каналов обслуживания.

Для данного примера при λ = 12, μ = 8 и n = 2

 

12

1,5,

k

1,5

0,75.

 

 

82

Среднее число заявок в очереди:

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1p

 

 

 

 

 

 

 

 

 

 

 

 

Lоч

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nn! 1

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

n

 

 

 

 

 

n 1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

1

 

 

 

...

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

0

 

 

1! 2!

 

 

 

 

n! n!(n )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,5

 

 

 

1,52

 

 

 

1,53

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,14285,

1

 

2

 

 

2(2 1,5)

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

 

 

 

1,53 0,14285

1,9285.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

оч

 

 

 

 

 

 

 

 

 

 

1,5

2

 

 

 

 

 

 

 

 

 

 

 

 

 

2 2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Среднее время пребывания заявок в очереди и среднее время пребывания заявок в системе вычисляется по формулам Литтла:

T

 

Lоч

 

1,9285

 

60 9,6424 мин,

 

 

 

оч

 

 

12

 

 

T

 

L сист

 

3,4285

60 17,1425 мин.

сист

 

 

 

12

 

 

 

 

 

 

 

Немного изменим модель после блока LEAVE, а точнее, заком# ментируем блоки TERMINATE и GENERATE 480, в команде

45

START поставим число 100 000, чтобы смоделировать прохождение через модель 100 000 заявок:

Запустим выполнение модели (меню Command – Create Simulation) и получим результат. Затем, меняя число транзактов в модели в команде START на 1 000 000 и 10 000 000, получим ре# зультат моделирования соответственно при 1 000 000 и 10 000 000 заявок (в последнем случае придется немного подождать, так как выполнение модели уже ощутимо по времени). Полученные резуль# таты представим в табл. 2.3.

 

 

 

 

 

Таблица 2.3

 

 

 

 

 

 

 

Теоретиче-

 

Данные моделирования

Показатель

 

при числе транзактов

 

ские данные

 

 

 

 

 

 

10 000

100 000

1 000 000

 

10 000 000

 

 

 

k

0,750

0,760

0,750

0,750

 

0,750

Lоч

1,929

2,439

1,942

1,914

 

1,926

 

 

 

 

 

 

 

Точ

9,642

12,267

9,753

9,580

 

9,628

Как видно из табл. 2.3, при увеличении числа испытаний ре# зультаты имитационного моделирования сходятся к теоретиче# ским. Таким образом, можно сделать вывод об адекватности модели и системы моделирования.

Очевидно, что для моделирования многофазных многоканаль# ных устройств с одинаковым временем обработки требований в каждой фазе обслуживания можно использовать несколько пар блоков ENTER и LEAVE с указанием числа каналов и идентифика# тора фазы в операторе STORAGE.

Построим модель многофазной многоканальной системы, не# сколько изменив предыдущий пример. Количество окон для обслу# живания клиентов примем равным трем, изменим интенсивность обслуживания клиентов в окне сотрудниками банка на 5 чел./ч (за# кон распределения оставим прежним) и примем, что все клиенты должны подойти к кассе для оплаты. Количество касс будет две с равномерным законом распределения времени обслуживания со средним значением 8 ± 3 мин. Естественно, необходимо предус# мотреть, что к кассе может быть очередь.

46

Составить модель и определить среднее время ожидания клиен# тов к окну и кассе, среднюю длину очередей и среднюю загрузку со# трудников банка в течение 8#часового рабочего дня. За единицу из# мерения времени принять минуту.

За основу выберем модель из предыдущего примера, немного ее изменив.

В первом операторе BANK STORAGE поменяем количество каналов с двух на три. Введем новый оператор STORAGE с иденти# фикатором CASH и количеством каналов, равным двум:

CASH STORAGE 2.

Далее в блоке ADVANCE (exponential(1,0,7.5)) укажем новое время обслуживания Тоб = 60/5 = 12 мин (exponential(1,0,12)). После блока LEAVE BANK введем новый блок входа клиентов в очередь к кассе QUEUE с именем очереди QUEUE_CASH:

QUEUE QUEUE_CASH.

Затем введем новый блок ENTER с именем CASH (таким же, как и в операторе STORAGE). Этот блок будет моделировать вход клиентов в одну из касс. За ним необходимо поставить блок выхода клиента из очереди в кассу DEPART с именем очереди в кассу QUEUE_CASH. Время обслуживания клиентов в кассе моделиру# ется блоком ADVANCE с указанием среднего времени обслужива# ния и отклонения ADVANCE 8,3. По окончании обслуживания кли# ент выходит из кассы (это моделируется блоком LEAVE CASH) и из банка (блок TERMINATE). Для моделирования рабочего дня используем известные нам блоки GENERATE 480 и TERMINATE 1.

Получим следующую модель:

BANK STORAGE 3

;указание числа окон

CASH STORAGE 2

;указание числа касс

GENERATE (exponential(1,0,5))

;поступление посетителей

QUEUE QUEUE_BANK

;очередь посетителей в окно

ENTER BANK

;посетитель подходит к окну

DEPART QUEUE_BANK

;посетитель выходит из очереди

ADVANCE (exponential(1,0,12))

;время обслуживания в окне

LEAVE BANK

;окончание обслуживания в окне

QUEUE QUEUE_CASH

;очередь в кассу

ENTER CASH

;вход в кассу

 

47

DEPART QUEUE_CASH

;выход из очереди в кассу

ADVANCE 8,3

;время обслуживания в кассе

LEAVE CASH

;окончание обслуживания в кассе

TERMINATE

;выход посетителя из банка

GENERATE 480

 

TERMINATE 1

 

START 1

 

После ввода модели в GPSS World запускаем ее на выполнение и получаем результат в окне REPORT (рис. 2.15).

Рис. 2.15. Окно отчета результатов моделирования многоканальной

многофазной системы

В результате моделирования получили:

•число обслуженных клиентов за рабочий день равно 87; •среднее время ожидания в очереди к окну составляет 10,9 мин; •средняя длина очереди к окнам – 2,3 чел.; •средняя загрузка сотрудников – 0,85;

•среднее время ожидания в очереди к кассе – 2,9 мин;

48

•средняя длина очереди к кассе – 0,5 чел.; •средняя загрузка кассиров – 0,75.

Вданной задаче теоретические оценки (при большом числе по# сетителей) можно получить только для первой фазы обслуживания клиентов (для окон), причем теоретический коэффициент загрузки окна равен 0,8.

Если в многофазной системе присутствуют фазы обслуживания

содним каналом, то для моделирования этой фазы можно восполь# зоваться уже известными нам блоками моделирования устройств SEIZE и RELEASE. Например, взяв за основу условия предыду# щей задачи, предположим, что в операционном зале банка работает только одна касса, причем время обслуживания составляет 4 ± 2 мин и оно распределено по равномерному закону. Тогда при составле# нии модели оператор CASH STORAGE 2 не используется, а блоки ENTER CASH и LEAVE CASH заменяются на блоки SEIZE CASH и RELEASE CASH (по аналогии с задачей по моделированию ра# боты магазина).

Вблоке моделирования времени обслуживания клиента ADVANCE необходимо поставить новые значения времени обслу# живания 4,2.

Новая модель:

BANK STORAGE 3

;указание числа окон

GENERATE (exponential(1,0,5))

;поступление посетителей

QUEUE QUEUE_BANK

;очередь посетителей в окно

ENTER BANK

;посетитель подходит к окну

DEPART QUEUE_BANK

;посетитель выходит из очереди

ADVANCE (exponential(1,0,12))

;время обслуживания в окне

LEAVE BANK

;окончание обслуживания в окне

QUEUE QUEUE_CASH

;очередь в кассу

SEIZE CASH

;вход в кассу

DEPART QUEUE_CASH

;выход из очереди в кассу

ADVANCE 4,2

;время обслуживания в кассе

RELEASE CASH

;окончание обслуживания в кассе

TERMINATE

;выход посетителя из банка

GENERATE 480

 

TERMINATE 1

 

START 1

 

49

Полученный результат после моделирования представлен на рис. 2.16.

Рис. 2.16. Окно отчета результатов моделирования трехканальной

двухфазной системы

В результате моделирования получили:

•число обслуженных клиентов за рабочий день равно 88; •среднее время ожидания обслуживания к окнам составляет

5,4 мин; •средняя длина очереди к окнам – 1 чел.;

•средняя загрузка сотрудников – 0,68; •среднее время ожидания в кассе – 6,2 мин; •средняя длина очереди к кассе – 1,1 чел.; •средняя загрузка кассира – 0,71; •среднее время обслуживания в кассе – 3,8 мин.

При разработке модели может возникнуть ситуация, когда не все заявки должны проходить через все блоки модели. Например, очевидно, что не всем клиентам потребуется кассовое обслужива#

50

ние: клиент может покинуть операционный зал, не заходя в кассу. Таким образом, в модели должно быть предусмотрено перенаправ# ление заявок (с некоторой вероятностью) после обслуживания в операционном окне сразу на выход из модели.

Также возможна ситуация, когда время обслуживания каждого канала различно (например, у сотрудников разный стаж работы). Кроме того, в результатах моделирования двух последних задач не указывалось среднее время обслуживания клиентов в окнах.

Для решения этих проблем в системе GPSS World используется блок TRANSFER. Блок TRANSFER предназначен для перенаправ# ления транзактов и может работать в девяти различных режимах. Для наших задач рассмотрим три основных режима работы. Их формат:

TRANSFER А, В, С.

Первый режим работы – это режим безусловной передачи. В этом режиме операнды А и С не задаются, а в операнде В нахо# дится ссылка (метка, имя) на блок, куда направляются все транзак# ты, попавшие в этот блок. Например, при записи TRANSFER,EXT все транзакты из блока TRANSFER направляются в блок, на кото# рый указывает ссылка EXT. Данный режим часто используется для моделирования многоканальной системы.

Второй режим работы – это режим случайной передачи. В этом режиме транзакты направляются из блока TRANSFER в блок, ука# занный в операнде С, с вероятностью α, указанной в операнде А, и, соответственно, с вероятностью 1 – α в блок, указанный в операнде В, а если он не задан, то в следующий блок. При этом режиме опе# ранды А и С обязательны. Причем вероятность задается десятич# ной дробью. Например, блок TRANSFER 0.62,,EXT направит тран# закты с вероятностью 0,62 в блок с меткой EXT и с вероятностью 0,38 в следующий блок.

Третий режим работы – режим логической передачи. Для рабо# ты в этом режиме в операнд A записывается ключевое слово BOTH или ALL. Если в блоке записано ключевое слово BOTH, то тран# закт, поступивший в блок TRANSFER, сначала пытается войти в блок, указанный в поле операнда B (или в следующий блок, если операнд B не задан), а если это не удается (блок в операнде В отка#

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]