Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по GPSSW_новый.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
570 Кб
Скачать
☆

Лабораторная работа № 3 Изучение средств наблюдения за процессом моделирования в среде gpssw Лабораторное задание

  1. Запустите GPSSW.

  2. В качестве объекта моделирования рассмотрим обслуживание потока покупателей в магазине одним продавцом. Введите следующую программу:

GENERATE 200,50 ;поток покупателей

QUEUE WAIT ;вход в очередь

SEIZE PROD1 ;занятие продавца

DEPART WAIT ;выход из очереди

ADVANCE 210,100 ;время обслуживания

RELEASE PROD1 ;освобождение продавца

TERMINATE 1 ;уход покупателя

  1. Оттранслируйте модель без ошибок.

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

  1. Откройте окно блоков (Window/Simulation Window/Blocks Window).

  2. Поскольку в нашей модели используется устройство, откройте окно устройств (Window /Simulation Window / Facilites Window).

  3. Запустите процесс моделирования (Command / Start 10000). Наблюдайте процесс моделирования в окне блоков и изменение статистики устройства в окне устройств. Здесь же можно остановить процесс моделирования, нажав кнопку Halt, например, в окне блоков, можно продолжить (кнопка Continue). Расшифровка статистики блоков и устройств приведена в приложении.

Если моделирование еще не завершилось, то прервите его и выполните команду Clear. В противном случае откроется окно отчета результатов моделирования в окне REPORT. Просмотрите его и сделайте выводы.

  1. Увеличьте интенсивность потока покупателей. Для этого отредактируйте первую строку, которая должна выглядеть так:

GENERATE 100,50 ; поток покупателей

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

  1. Заново оттранслируйте модель и запустите ее на выполнение. Понаблюдайте за процессом моделирования в окне блоков и устройств. Система массового обслуживания перегружена, и Вы можете это наблюдать в ходе моделирования - обратите внимание на загрузку устройства и длину очереди к нему.

  2. Один из способов снять нагрузку – поставить двух продавцов. Введите новую модель – многоканальное устройство с количеством каналов 2 (STORAGE 2):

;Сегмент 1

PROD2 STORAGE 2 ;описание устройства

;Сегмент 2

GENERATE 100,50 ;поток покупателей

QUEUE WAIT ;вход в очередь

ENTER PROD2 ;занятие продавца

DEPART WAIT ;выход из очереди

ADVANCE 210,100 ;время обслуживания

LEAVE PROD2 ;освобождение продавца

TERMINATE 1 ;уход покупателя

Эта модель очень похожа на предыдущую. Все временные соотноше­ния сохранены. Но есть существенное различие: вместо одноканального устройства PROD1 (блоки SEIZE-RELEASE) используется многоканальное устройство PROD2 (блоки ENTER-LEAVE).

Запустите прогон модели, введите блок (оператор) START 1000. Понаблюдай­те за процессом моделирования в окне блоков.

Справляются ли два продавца с потоком покупателей? Посмотрите на блок QUEUE.

  1. Остановите моделирование, откройте окно памятей - многоканальных устройств (Window/Simulation Window /Storages Window) и запустите моделирование опять. В этом окне Вы видите (см. приложение) текущее состояние многоканального устройства PROD2, моделирующего работу двух продавцов, и очереди к нему.

  2. Если моделирование не закончилось, прервите его и введите опе­ратор (команду) CLEAR. Эта команда сбрасывает всю статистику, накопленную на данный момент, и удаляет все транзакты из модели.

  3. Используем еще одно средство для наблюдения – просмотр значений выражений в динамике. Для этого откройте окно выражений (Window/Simulation Window/Expression Window). Появятся два окна: Edit Expression Window (окно редактирования выражения) и Expressions (Выражения). Введите последовательно в соответствующие текстовые поля окна Edit Expression Window выражения (в данном случае СЧА), которые вы хотели бы просмотреть в динамике:

    • TG1 – счетчик завершений, который показывает разность между числом транзактов, указанных в команде START, и количеством транзактов, достигших блока TERMINATE;

    • ST$PROD2 – среднее время пребывания транзактов в многоканальном устройстве PROD2;

    • QT$WAIT – среднее время ожидания транзакта в очереди WAIT к многоканальному устройству.

Для этого в полях Label и Expression введите соответствующие названия и нужные выражения, после чего щелкните мышью по кнопкам View и Memorize (запомнить), и по кнопке OK.

13. Запустите процесс моделирования и понаблюдайте в окне Expressions изменяющиеся значения заданных выражений.

14. Если моделирование закончилось, познакомимся с возможностями GPSS, которые позволяют наблюдать за построением гистограмм. Гистограмма – это фигура, состоящая из прямоугольников, основаниями которых являются частичные интервалы наблюдаемой статистики (например, времени ожидания, времени обслуживания, среднего времени пребывания заявки в очереди и т.д.), а высоты равны отношению количества значений наблюдаемой статистки, попадаемой в данный интервал, к длине интервала. По виду гистограммы можно судить о законе распределения статистики.

Рассмотрим простейший случай. Будем наблюдать за построением гистограммы случайного времени ожидания транзакта в очереди к мно­гоканальному устройству. Статистика об ожидании ре­гистрируется в очереди WAIT (блоки QUEUE-DEPART). Благодаря этому для построения гистограммы Вам достаточно ввести лишь один дополни­тельный оператор после блока GENERATE:

WAIT QTABLE WAIT,20,20,15

Наличие данного блока QTABLE обязательно для построения гистограммы.

В нем указано имя очереди (WAIT), верхняя граница первого интервала (20), шири­на любого интервала (20) и количество интервалов в гистограмме (15). Т.е. первый интервал [-; 20], второй интервал [20;40] и т.д., последний 15-ый интервал [280; +].

Для наблюдения за гистограммой существует специальное окно - окно таблиц (TABLE WINDOW). Выполните Window/Simulation Window/Table Window. Появится диалоговое окно Open Table Window, нажмите OK. Вы увидите заготовку для гистограммы, которая соответствует параметрам оператора QTABLE. По горизонтальной оси отложены 15 интервалов для случайных значений времени ожидания в очереди WAIT, по вертикальной оси – количество транзактов. Сама гистограмма будет строиться в процессе моделирования.

15. Введите операторы CLEAR и START 1000. Вы увидите, как увеличиваются столбцы гистограммы.

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

В процессе моделирования Вы можете перейти в другие окна и вновь вернуться в окно таблиц. Построение гистограммы не прерывает­ся. Над вертикальной осью выдаются среднее значение и среднеквадра­тическое отклонение наблюдаемой величины.

Следует заметить, что при использовании QTABLE информация в таблицу заносится автоматически при входе транзакта в блоки QUEUE и DEPART и никаких специальных мер, т.е. блока TABULATE, при этом не требуется.

16. Закончите моделирование, сохраните модель в своем рабочем каталоге под именем модель2.gps.

Составьте модели для решения следующих задач:

Задача 1. [4].На некотором станке четыре работника по очереди обрабатывают детали. Время обработки детали – 15+/-2 мин. Промоделируйте работу станка в течении 8 час. Постройте гистограмму среднего времени ожидания в очереди к станку при 4, 6 и 8 работниках.

Задача 2. [4]. В магазине могут находиться одновременно только 15 покупателей, которые остаются в магазине на протяжении 15 +/- 3 мин. Входной поток покупателей – равномерный, интервал времени между приходом покупателей составляет N +/- M мин. Промоделировать работу магазина в течение недели работы по 8 часов в день. Значения M и N подобрать так, чтобы выделить два случая – нормальную работу магазина (без очереди) и работу магазина с длиной очереди (на улице) не менее 2. Построить гистограммы времени ожидания в очереди.

17. Оформите отчет по проделанной работе и покажите его преподавателю.