Моделирование

 
Модель турникета на футбольном стадионе
Постановка задачи
Зрители подходят к турникету футбольного стадиона каждые 7±7 секунд и встают в очередь, в которой находятся до тех пор, пока не пройдут на стадион. Проход через турникет занимает 5±3 секунды. Требуется определить время, необходимое для того, чтобы через турникет прошло 300 че-ловек.
Листинг
***************************************************************************** * Модель турникета * Время в секундах ***************************************************************************** In_use EQU 5;Среднее время. Range EQU 3;Полуинтервал. GENERATE 7,7;Прибытие людей. QUEUE Turn;Вход в очередь. SEIZE Turn;Занятие турникета. DEPART Turn;Выход из очереди. ADVANCE In_use,Range;Использование турникета. RELEASE Turn;Освобождение турникета. TERMINATE 1;Один зритель вошел. *****************************************************************************

Объяснение работы модели:

Операторы описания переменной EQU задают среднее время прихода зрителей и допуск.

Блок GENERATE генерирует транзакты, которые имитируют приход к турникету зри-телей каждые 7+(-)7 сек.

Блок QUEUE вместе с блоком DEPART собирает статистику по ожиданию в очереди людей, которые еще не пользовались турникетом. Связанная с этим ожиданием очередь но-сит имя TURN.

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

Блок ADVANCE задерживает транзакт на имитационное время, в течениe которого турни-кет занят одним зрителем, который только что занял его. Турникету требуется 5 +(-) 3 сек. для пропускания одного зрителя.

Блок RELEASE освобождает турникет, так что новый транзакт может завладеть им при входе в блок SEIZE.

Блок TERMINATE удаляет транзакт из модели после того, как зритель прошел через турникет.

Проведение моделирования:

Войдите в интерфейс среды GPSS World 2000 с файлом TURNSTIL. Cкопируйте его под своим именем и загрузите в систему GPSS World 2000 командой меню Command \ Create Simulation. По этой команде система создает окно JOURNAL, в котором фиксируются все выполняемые команды, ответные действия системы, сообщения об ошибках.

Подготовьте окно Expression для просмотра абсолютного системного времени, использования турникета (дробное время занятости в частях от тысячи) и числа зрителей, прибывающих к турникету. (СЧА GPSS - AC1, FR$TURN, N1соответственно), для чего наберите команду из меню Window \ Simulation Window \ Expression Window.

В окнo Edit Expression \ Label внесите TURN, в окно Edit Expression \ Expression внесите FR$TURN, нажмите кнопки View и Memorise.

Очистите окна Label и Expression и аналогично внесите для просмотра следующие СЧА (AC1 и N1). Нажмите кнопку «ОК».

Примечание: для просмотра этих СЧА при неоднократном запуске моделирования активизируйте вывод данных кнопкой View окна Memorised.

Начните моделирование командой меню Command \ Start - 300

Моделирование остановится, когда 300 транзактов пройдут через блок TERMINATE. Это имитирует 300 зрителей, прошедших через турникет. В окне Expression просмотрите затребованные данные.

Набирая из меню команды Window \ Simulation Window \ Blocks Window

........... \ Facilities Window

........... \ Queues Window,

проанализируйте информацию по состоянию блоков модели.

В конце моделирования автоматически создается окно отчета Report, включающее в себя все данные о работе блоков модели.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: