Моделирование системы массового обслуживания средствами GPSS World

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

кет занимает 53 секунды.

Требуется определить время, необходимое для того, чтобы через турникет прошло 300 человек.

Листинг

 

GENERATE 7, 7 // Прибытие людей

QUEUE TURNIKET// Вход в очередь

SEIZE TURNIKET// Занятие турникета

DEPART TURNIKET// Выход из очереди

ADVANCE 5, 3// Использование турникета

RELEASE TURNIKET// Освобождение турникета

TERMINATE 1// Один зритель вошел

 

Построчное описание функционирования модели

GENERATE - блок GENERATE генерирует транзакты, которые представляют собой людей, пребывающих к турникету каждые 77 секунд.

QUEUE - блок QUEUE вместе с блоком DEPART собирают статистику о людях, ожидающих в очереди и еще не прошедших турникет. Очередь имеет имя TURNIKET.

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

DEPART - транзакт, занявший устройство, представляющее собой турникет, входит в блок DEPART, чтобы получить статистику о времени ожидания в очереди TURNIKET. Время ожидания не включает в себя время перехода через турникет.

ADVANCE - блок ADVANCE управляет продолжительностью модельного времени, в течение которого турникет используется занявшим его транзактом. В нашем случае человек занимает турникет на 53 секунды. В качестве операндов мы использовали именованные значения, чтобы облегчить их изменение.

RELEASE - блок RELEASE освобождает турникет, поэтому новый транзакт может занять его, войдя в блок SEIZE.

TERMINATE - блок TERMINATE удаляет транзакты из процесса моделирования после того, как транзакты пройдут через турникет.

После того, как программа написана, необходимо создать процесс моделирования. Затем выбрать Command/Start и в диалоговом окне заменить единицу на 300. Процесс моделирования закончиться, когда 300 транзактов войдут в блок TERMINATE. Они представляют собой 300 человек, прошедших через турникет.

При завершении процесса моделирования GPSS World выводит отчет:

 

GPSS World Simulation Report - Turniket.4.1

, June 09, 2009 19:42:20

TIME END TIME BLOCKS FACILITIES STORAGES

.000 2134.023 7 1 0

VALUE10000.000

LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

GENERATE 300 0 0

QUEUE 300 0 0

SEIZE 300 0 0

DEPART 300 0 0

ADVANCE 300 0 0

RELEASE 300 0 0

TERMINATE 300 0 0

ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY300 0.690 4.906 1 0 0 0 0 0

MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY3 0 300 150 0.319 2.270 4.540 0

XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

301 0 2135.381 301 0 1

 

Обсуждение результатов

Из значения End Time стандартного отчета мы видим, что к моменту, когда турникет прошли 300 зрителей, истекли 2134,023 секунды. Повторное моделирование случайных чисел даст немного другие значения.

Отметим, что блоки QUEUE и DEPART не заключают между собой блок ADVANCE. Это означает, что транзакты регистрируют время ожидания в очереди с именем TURNIKET, а не время пребывания в турникете. Теперь посмотрим раздел стандартного отчета, описывающий состояние очереди. Он озаглавлен QUEUE TURNIKET. Мы видим, что максимальное количество ожидающих зрителей составило 3. Это не очень плохо. Однако у нас могли бы возникнуть неприятности с более медленным турникетом.

Внутри процесса моделирования

Теперь исследуем конечное состояние процесса моделирования, сгенерировавшего стандартный отчет.

При помощи Command/Show в окне диалога набрать:

AC1 (в строке состояния главного окна появиться модельное время, равное 2134,023);

FR$TURNIKET (в строке состояния главного окна появиться коэффициент использования выражения в долях от тысячи, равное 689,67);

N1 (в строке состояния главного окна появиться число зрителей, равное 300).

В окне устройств мы видим, что турникет был занят на 69% времени и что в момент завершения процесса моделирования турникет был свободен, т.к. устройство не занято.

 

 

В окне блоки мы видим, что сейчас нет активных транзактов, т.к. 301 транзакт еще только должен войти в процесс моделирования, а 300 транзакт только что был удален.

 

 

Теперь посмотрим, что случится, если на обслуживание зрителя будет уходить 74 секунды вместо 53. Для изменения этой величины нужно поменять команду ADVANCE 5, 3 на команду ADVANCE 7, 4.

При проведении процесса моделирования мы получаем следующие данные:

 

GPSS World Simulation Report - Untitled Model 1.3.1

, June 09, 2009 11:32:44

TIME END TIME BLOCKS FACILITIES STORAGES

.000 2169.933 7 1 0

VALUE10000.000

LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

GENERATE 315 0 0

QUEUE 315 14 0

SEIZE 301 1 0

DEPART 300 0 0

ADVANCE 300 0 0

RELEASE 300 0 0

TERMINATE 300 0 0

ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY301 0.972 7.005 1 301 0 0 0 14

MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY19 15 315 21 4.372 30.115 32.266 0

XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE

0 2045.757 301 3 4

XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

316 0 2177.471 316 0 1

 

Максимальная длина очереди немного выше, чем при первом прогоне процесса моделирования. Среднее время пребывания в очереди также выше. Это говорит о том, что еще более медленный турникет не допустим, даже если в среднем он обслужит всех зрителей.

 

Заключение

 

В данной курсовой работе было проведено исследование и анализ задачи по прохождению турникета на стадион, посредством языка имитационного моделирования GPSS, который показал, как при увеличении времени на прохождение турникета замедляется пропускная способность. Это нам и позволило убедиться в эффективности данной программы, ее целесообразном использование на различных предприятия, с помощью которой можно сэкономить время и силы на изучение влияния различных факторов и, конечно, найти оптимальное решение поставленной задачи.

 

Список литературы:

 

1.Бражник А.Н., Имитационное моделирование: в?/p>