Моделирование работы магазина в GPSS World
Задание.
1. Создать имитационную модель "МАГАЗИН", определить параметры функционирования магазина: коэффициент загрузки кассира; коэффициент загрузки продавца; максимальное, среднее и текущее число покупателей в каждой очереди; среднее время обслуживании в каждом канале обслуживания; среднее время нахождения покупателя в каждой очереди.
2. Представить графически длину очереди к продавцу. Построить гистограмму очереди к продавцу.
3. Пронаблюдать динамику изменения значений текущего времени, активного требования, коэффициента использования канала обслуживания под именем kassir с использованием окон Edit Expression Window (окно редактирования выражения) и FACILITY ENTITIES (элементы канала обслуживания). Сравнить полученные для коэффициента использования канала обслуживания результаты.
Указания к решению задачи.
1. Выявление основных особенностей. Для моделирования необходимо сформировать входной поток заявок и временной интервал моделирования. Для этого в качестве единицы измерения времени возьмем минуту. Создание и представление имитационной модели процесса. Модель составляется в окне модели, которое можно открыть, выполнив последовательность действий: щелкнуть по пункту меню File, выбрать пункт New, в открывшемся диалоговом окне выбрать пункт Model и щелкнуть по кнопке OK. Текст программы можно вводить с клавиатуры либо используя диалоговое окно Insert GPSS Block into Model Object из меню Edit. В этом окне 53 блока. При щелчке по выбранному блоку появляется диалоговое окно Enter Block Information с шаблоном блока.
Создаем модель:
GENERATE 9.5,0.8 ; поток покупателей QUEUE Ocher_kassa ; формируем очередь к кассиру (каналу обслуж) SEIZE Kassir ;определяем занятость канала обслуживания DEPART Ocher_kassa ;выход покупателя из очереди ADVANCE 2.3,0.7 ;время обслуживания кассиром RELEASE Kassir ;освобождение кассира (канала обслуж) QUEUE Ocher_prod ;формируем очередь к продавцу SEIZE Prodavec ;определяем занятость канала обсл. DEPART Ocher_prod ;выход покупателя из очереди ADVANCE 10,1.4 ;время обслуживания кассиром RELEASE Prodavec ;освобождение продавца (канала обслуж) TERMINATE 1 ;покупатели покидают систему (магазин) по одному START 100Подготовка к моделированию. Установка выходных данных модели производится установкой нужных флажков (галочек) в диалоговом окне SETTINGS (закладка REPORTS), которое вызывается из пункта Edit главного меню системы. Наличие галочки говорит о том, что эта информация будет выведена в окне результатов моделирования.
Вывести информацию о следующих объектах: Blocks (блоки), Queues (очереди), Tables (таблицы/ гистограммы), Facilities (каналы обслуживания).
Моделирование системы. Созданную имитационную модель необходимо оттранслировать и запустить на выполнение.
Для трансляции модели необходимо из пункта Command главного меню выбрать команду Create Simulation (создать выполняемую модель). После трансляции появится окно JOURNAL с сообщением даты и времени начала и окончания проведения трансляции.
При наличии в модели управляющей команды START, имитационная модель после трансляции, если в ней нет ошибок, начнет выполняться. Будет выполнено число прогонов модели указанное в поле операнда А команды START и появится окно REPORT (отчет) с результатами моделирования.
При отсутствии в модели управляющей команды START, будет получена оттранслированная модель – в машинных кодах, готовая к выполнению моделирования (выполняемая модель). Для запуска модели необходимо воспользоваться командой Start Command из пункта START. Появится диалоговое окно Start Command, в котором нужно ввести число (в нашем случае - число покупателей, посетивших магазин). После нажатия кнопки OK появится окно REPORT с результатами моделирования.
В верхней строке окна REPORT указываются: START TIME (начальное время), END TIME (время окончания), BLOCKS (число блоков), FACILITIES (число каналов обслуживания), STORAGES (число накопителей).
Далее перечисляются блоки модели и число входов в них заявок (покупателей). Ниже указываются результаты моделирования каналов обслуживания под назначенными им именами. Сюда включаются: ENTRIES (число входов), UTIL. (коэффициент использования), AVE. TIME (среднее время обслуживания), AVAIL. (доступность), OWNER (возможное число входов), PEND, INTER, RETRY (повтор), DELAY (отказано). Затем указываются результаты моделирования очередей: MAX (максимальное содержимое), CONT. (текущее содержимое), ENTRY (число входов), ENTRY(0) (число нулевых входов), AVE. CONT. (среднее число входов), AVE. TIME (среднее время), AVE.(-0), RETRY.
2. Графическое представление результатов моделирования. Представим графически, как меняется длина очереди к продавцу на всем периоде моделирования. Выберем в пункте меню Window команду Simulation Window и далее команду Plot Window. Появится диалоговое окно Edit Plot Window, которое нужно заполнить. В поле Label (метка) пишем название графика – Длина очереди, в поле Expression (выражение) запишем выражение, используя стандартный числовой атрибут для средней длины очереди – Q$Ocher_prod. После ввода соответствующего названия и выражения щелкните по кнопкам Plot (график) и Memorize (запомнить), а затем по кнопке OK. После этого еще раз запустить модель на выполнение. Появится окно с отчетом и окно с графиком.
Добавим в нашу модель оператор
t_prod QTABLE Ocher_prod,0,2,32оттранслируем модель еще раз и выведем гистограмму очереди к продавцу. Для этого из пункта меню Window выберем команду Simulation Window и далее команду Table Window (окно гистограммы). Появится диалоговое окно Open Table Window, где из выпадающего списка нужно выбрать соответствующую гистограмму и нажать кнопку OK. Появится гистограмма.
3. Просмотр отдельных результатов моделирования. Система GPSS World позволяет просматривать в динамике изменения числовых значений элементов системы с использованием окон Edit Expression Window (окно редактирования выражения) и FACILITY ENTITIES (элементы канала обслуживания).
Для просмотра изменения значений выражений в окне Edit Expression Window необходимо оттранслировать модель и выполнить один шаг моделирования (поставить в поле операнда С управляющей команды START единицу). После этого щелкнуть по пункту меню Window, выбрать пункт Simulation Window, затем Edit Expression Window и заполнить одноименное диалоговое окно: в поле Label ввести исходное название просматриваемого элемента (например, текущее время), в поле Expression ввести имя выражения – переменной или стандартного числового атрибута (например, АС1) и щелкнуть по кнопкам Memorize и/или View. Если просматриваемых элементов несколько, то опять заполнить поля и нажать вышеуказанные кнопки. После ввода всех элементов нажать кнопку OK. Появится окно EXPRESSIONS. Далее запустить программу с помощью команды START из меню Command, указав значение100. Теперь можно наблюдать динамику, используя кнопки управления процессом (остановить, продолжить, выполнить шаг) окна EXPRESSIONS.
Рассмотреть изменения значений показателей канала обслуживания под именем kassir с помощью окна FACILITY ENTITIES самостоятельно. При сравнении полученных в различных окнах значений коэффициента использования канала обслуживания заметим, что они отличаются. Для получения истинного значения коэффициента использования канала обслуживания, необходимо полученные в окне EXPRESSIONS результаты разделить на 1000 (так как стандартный числовой атрибут FR$<символьное имя> выдает значения от 0 до 999). В окне FACILITY ENTITIES значения коэффициента использования канала обслуживания даются в реальном представлении.