Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW

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

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

- поле номера оператора (не обязательное для заполнения),

- поле метки оператора (обязательно только для некоторых операторов),

- поле имени оператора,

- поле переменных, включает от 1 до 8-ми подполей, разделенных запятыми,

- поле комментариев (не обязательное для заполнения).

Поля отделяются друг от друга пробелами.

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

В имитационной программе объекты располагаются, как правило, в порядке их использования в модели.

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

Для тех же самых СМО, для которых были приведены аналитические модели, рассмотрим имитационные модели, представленные на языке имитационного моделирования GPSS и реализованные в одноименной программной системе.

n-канальная разомкнутая СМО с ограниченной очередью на обслуживание требований.

Создание имитационной модели на языке GPSS

В имитационной программе используются следующие объекты:

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

STORAGE; задает емкость s_ накопителя с именем nakopitel

ENTER; поступившее в этот блок требование, занимает одну единицу емкости (значение задано по умолчанию) накопителя с именем nakopitel

LEAVE; поступившее в этот блок требование, освобождает одну единицу емкости накопителя с именем nakopitel

Источник заявок (генератор), который реализуется оператором

GENERATE (Exponential(1,0,tз)); имитирует поступление требований в систему через интервалы времени, распределенные по экспоненциальному закону со средним значением времени tз,

Объект статической категории – очередь, который имитируется с помощью набора операторов

QUEUE otchered; при поступлении требования в этот блок длина очереди с именем otchered увеличивается на 1 (значение по умолчанию).

DEPART otchered; при поступлении требования в этот блок длина очереди с именем otchered уменьшается на 1 (значение по умолчанию).

Объект аппаратной категории – одноканальное устройство, которое имитируется с помощью набора операторов

SEIZE stanok 1; имитирует поступление требования на канал обслуживания с именем stanok 1.

ADVANCE (Exponential(1,0,tоб)); имитирует временную задержку требования на обслуживание, распределенную по экспоненциальному закону со средним значением времени tоб.

RELEASE stanok 1; имитирует освобождение канала обслуживания с именем stanok 1 требованием.

Если система содержит n каналов, то необходимо добавить в программу n таких фрагментов.

Маршруты требований в системе

TRANSFER all, stanok 1, stanok n,5; задает ряд по которому определяется последовательность прохождения блоков, начиная с блока с меткой stanok 1, заканчивая блоком с меткой , stanok n с шагом 5 блоков.

Во втором – в безусловном режиме перехода.

TRANSFER, term; требование поступившее на этот блок направляется к блоку с меткой term.

Если накопитель требований заполнен не полностью, то требование направляется в него (блок ENTER). Если накопитель полностью заполнен, то требование должно направлять на выход из системы (блок TERMINATE). Таким образом, необходимо осуществить переход требования по условию, который реализуется с помощью оператора TEST.

TEST NE S$nakopitel,s_,term ;сравнивает текущее содержимое накопителя с его емкостью s_, если они не равны (символ NE) то требование направляется к следующему по порядку блоку, в противном случае – к блоку с меткой term.

Полный текст программы для исследования n-канальной разомкнутой СМО с ограниченной очередью на обслуживание требований выглядит следующим образом

nakopitel STORAGE s_

GENERATE (Exponential(1,0,tз))

TEST NE S$nakopitel,s_,term

ENTER nakopitel

QUEUE otchered

TRANSFER all,stanok_1,stanok_n,6

stanok_1 SEIZE stanok1

LEAVE nakopitel

DEPART otchered

ADVANCE (Exponential(1,0,tоб))

RELEASE stanok1

TRANSFER ,term

SEIZE stanok2

LEAVE nakopitel

DEPART otchered

ADVANCE (Exponential(1,0,tоб))

RELEASE stanok2

TRANSFER ,term

stanok_n SEIZE stanokn

LEAVE nakopitel

DEPART otchered

ADVANCE (Exponential(1,0,tоб))

RELEASE stanokn

term TERMINATE 1

Реализация имитационной модели в программной системе GPSSW

Запуск программы.

Программа находится по адресу C:\Program Files\Minuteman Software\GPSS World Student Version\GPSSW.exe. После запуска загрузочного файла появится главное окно программы (рис. 1).

Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru

Рисунок 1. Главное окно программной системы GPSSW.

Создание нового проекта.

Выбрать в меню File пункт New (можно непосредственно на панели инструментов навести курсор на ярлык Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru , и нажать левой клавишей мыши). Появится диалоговое окно (рис. 2) предлагающее создать новый документ одного из двух типов: Model – файл для записи моделей и сохраняемый с расширением .gps; Text file – текстовый файл, сохраняемый с расширением .txt. После выбора пункта Model появится окно (рис. 3).

Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru Рисунок 2. Создание нового документ Рисунок 3. Окно Model

Ввод имитационной программы.

В окне Model необходимо ввести программу, состоящую из последовательности блоков. Каждый блок вводится с новой строки. Блоки можно вводить набором вручную, а можно использовать шаблоны (рисунок 4), которые находится в меню Edit пункт Insert GPSS Bloks. Например, при выборе шаблона GENERATE появится окно (рисунок 5), которое содержит имя блока, его символическое обозначение, подполя переменных (A, B, C, D, E, F, G, H), поле метки блока (Label) и поле комментария (Comment). После заполнения подполя А и нажатия клавиши OK в окно Model будет введена соответствующая строка. Чтобы продолжить ввод программы нужно выбрать следующий шаблон блока, заполнить необходимые данные и выполнить ввод и т. д. до тех пор, пока не будет введена вся программа.

Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru

Рисунок 4. Шаблоны GPSS блоков Рисунок 5. Шаблон GENERAT

Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru

Рисунок 6. Ввод имитационной программы

Трансляция имитационной программы.

Чтобы оттранслировать программу необходимо выбрать в меню Command пункт Create Simulation. После запуска этой команды появится журнал отчета, в котором будет сообщение об успешной завершении трансляции или о допущенных в программе ошибках.

Редактирование файла выходной статистики.

Прежде чем осуществить запуск программы необходимо отредактировать файл выходной статистики. Для этого нужно активировать окно с программой, выбрать в меню Edit пункт Settings, открыть вкладку Reports и оставить флаги только напротив тех объектов, которые используются в модели, например, одноканальные устройства (Facilities), многоканальные устройства (Storages) и очереди (Queues) (рисунок 7).

Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru

Рисунок 7. Редактирование выходной статистики в окне Settings вкладка Reports.

Выполнение программы.

Для выполнения программы необходимо выбрать в меню Command команду START, в результате появится диалоговое окно с текстовой строкой, в которой набрана команда START 1 (рис. 8). Вместо единицы нужно ввести требуемое число и нажать кнопку OK.

Имитационное моделирование СМО, реализованные на базе общецелевой системы имитационного моделирования GPSSW - student2.ru

Рисунок 8. Ввод команды START

В результате выполнения программы будет создан файл стандартной выходной статистики, с расширением .gpr, в котором находятся все необходимые данные для оценки характеристик системы.

Результат программы при обработке 1000 деталей.

GPSS World Simulation Report - Untitled Model 1.2.2

Wednesday, April 27, 2011 14:42:33

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 11889.968 23 3 1

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

STANOK1 414 0.697 20.011 1 0 0 0 0 0

STANOK2 333 0.563 20.097 1 1001 0 0 0 0

STANOK3 239 0.440 21.899 1 0 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OTCHERED 3 0 986 700 0.227 2.734 9.427 0

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

NAKOPITEL 3 3 0 3 986 1 0.227 0.076 0 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

1001 0 11891.856 1001 15 16

1002 0 11928.725 1002 0 1

Результат программы при обработке 10000 деталей.

GPSS World Simulation Report - Untitled Model 1.2.3

Wednesday, April 27, 2011 14:43:58

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 122693.280 23 3 1

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

STANOK1 4149 0.672 19.858 1 10001 0 0 0 0

STANOK2 3274 0.541 20.267 1 0 0 0 0 0

STANOK3 2393 0.391 20.067 1 0 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OTCHERED 3 0 9816 7401 0.207 2.590 10.527 0

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

NAKOPITEL 3 3 0 3 9816 1 0.207 0.069 0 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

10002 0 122715.328 10002 0 1

10001 0 122757.862 10001 9 10

Результат программы при обработке 100000 деталей.

GPSS World Simulation Report - Untitled Model 1.2.4

Wednesday, April 27, 2011 14:44:25

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1206035.524 23 3 1

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

STANOK1 40676 0.678 20.113 1 0 0 0 0 0

STANOK2 32776 0.547 20.123 1 99999 0 0 0 0

STANOK3 24313 0.403 19.992 1 0 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OTCHERED 3 0 97765 72221 0.229 2.821 10.799 0

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

NAKOPITEL 3 3 0 3 97765 1 0.229 0.076 0 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

100002 0 1206040.545 100002 0 1

99999 0 1206062.032 99999 15 16

Наши рекомендации