Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Этапы моделирования GPSS World



Создание имитационной модели

Используя диалоговое окно Новый документ, можно создать новый файл для моделирования с помощью пункта Model с расширением *.gps и текстовый файл с помощью пункта Text File с расширением *.txt. После двойного щелчка мышью по требуемому типу файла или щелчка по кнопке ОК при выделенном нужном файле появится соответствующее окно: для ввода моделируемой системы – Без названия модель 1 – или для создания текстового файла – Без названия текстовый файл 1.

В качестве примера рассмотрим задачу, где системой массового обслуживания (СМО) является парикмахерская: интервал прихода клиентов в парикмахерскую с одним парикмахером имеет равномерное распределение 18±6 мин. Время обслуживания клиентов равномерно распределено в интервале 16±4 мин. Промоделировать работу парикмахерской по обслуживанию 50 клиентов.

На рисунке 2 представлена концептуальная модель простейшей СМО.

Рис. 2. Простейшая СМО

Где:

- источник заявок (требование) – элемент СМО, выполняющий фиктивную операцию ожидания заявки, которая завершается генерацией (созданием) заявки;

- накопитель – это очередь заявок, ожидающих выполнения;

- прибор (канал, линия обслуживания) – элемент СМО, выполняющий реальные операции по обработке заявок.

Охарактеризуем каждое событие, возникшее в СМО:

1. Появление требования (клиента) в СМО (парикмахерской) (блок Generate – Генерировать).

2. Вход требования (клиента) в очередь (Queue – Очередь).

3. Определение занятости канала обслуживания (парикмахера) (Seize – Занять). Если канал занят, то требование остаётся в очереди, если свободен, то входит в канал обслуживания.

4. Выход требования (клиента) из очереди (Depart – Выйти).

5. Обслуживание требования (клиента) в канале обслуживания (парикмахера) (Advance – Задержать).

6. Освобождение канала обслуживания (парикмахера) (Release – Освободить).

7. Выход требования (клиента) из системы (парикмахерской) (Terminate – Завершить).


Эта программа в окне модели системы GPSSW будет выглядеть так, как показано на рис. 3.

Рис. 3. Окно Модель без названия 1 с введённой в него моделью одноканальной разомкнутой СМО (парикмахерская)

 
 

Вставить блоки в GPSS модель можно с помощью диалогового окна Вставить GPSS блоки… пункта главного меню Правка, в который входит 53 блока (рисунок 4). Если щёлкнуть мышью по любому из них, появится соответствующее диалоговое окно. Допустим, что вы выбрали блок Generate. Шаблон блока Generate появится в диалоговом окне Информация для ввода в блок, показанном на рисунке 5.

Рис. 4. Диалоговое окно Вставить блок GPSS в модель

Рис. 5. Диалоговое окно Информация для ввода в блок с шаблоном блока Generate

Использованные в программе операторы полностью соответствуют содержанию и логике моделируемой системы. Справа от операторов пишутся параметры (признаки, переменные), которые характеризуют данное событие. Так, в операторе Generate первая цифра – 18 – определяет средний интервал времени между поступлениями требований (клиентов) в систему (парикмахерскую) на обслуживание, а вторая – 6 – максимально допустимое отклонение от среднего времени. В операторах Queue и Depart цифра 1 определяет имя очереди, в которую вошло и из которой собирается выйти требование (клиент). В операторах Seize и Release символы PAR определяют символическое имя канала обслуживания (парикмахера), в который собирается войти требование (клиент), если он освободился, и выйти – если требование (клиент) уже в нём обслужилось. В операторе Advance первая цифра – 16 – определяет среднее время обслуживания требования (клиента), а вторая – 4 – максимально допустимое отклонение от среднего времени. Оператор Terminate выполняет удаление требования (клиента) из системы (парикмахерской). Цифра 50 в операторе Start означает число требований (клиентов), которые необходимо пропустить через систему (парикмахерскую).

Каждый оператор языка GPSS должен находиться на одной строке текста и включать в совокупности с другими элементами не более 250 символов. Он структурно состоит из нескольких полей. Выделяют следующие поля оператора:

номер строки (необязательное поле);

метка (необязательное поле);

имя оператора;

операнды (зависят от введённого оператора);

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

Поле – переменное число печатаемых символов, за которыми следует незаполненное пространство или разделитель.

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

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

Поле оператора – это поле, в котором записывается один из операторов языка имитационного моделирования GPSS.

Поле операндов – это поле ввода требуемых для данного процесса моделирования операндов (аргументов оператора). Большинство операторов имеют один или несколько операндов. Поля оператора часто называют полями переменных. Традиционно операнды разделяются запятыми. Допускается пропускать в операторах некоторые операнды – так называемые необязательные операнды. В поле переменных выделяют подполя, разделяемые при записи запятыми и служащие для указания числовых значений переменных, стандартных числовых атрибутов, числовых и символьных меток и т.п. Подполя могут быть пустыми.

Поле комментария – это поле размещения комментария, относящегося к используемому оператору. Существует два основных вида комментария: входные и промежуточные. Первый вид комментария начинается с символов; (точка с запятой) и * (звёздочка), а далее идёт любой текст.

Во входном комментарии можно указать, что делает программа, какую систему моделирует, какие требуются входные данные, что получается в результате моделирования. Входные комментарии оформляются по определённым правилам. В первой позиции (колонке) ставится знак * или;. Далее с любой позиции (колонки) пишется необходимая поясняющая информация.

Промежуточные комментарии пишутся в поле переменных (операндов), отделяются знаком;. Промежуточные комментарии целесообразно писать с одной и той же позиции (колонки), например 30 или 35. Они должны указывать цель действия или объяснять логику моделирования при использовании того или иного оператора.

Трансляция модели

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

щёлкните мышью по пункту Команда главного меню. Появится выпадающее меню;

щёлкните мышью по пункту Создать выполняемую модель выпадающего меню. Если программа без ошибок и в ней присутствует управляющая команда (оператор) Start, которую не сопровождают символы NP (Not Print – Не печатать), то результаты моделирования появятся в окне Report (Отчёт).

В результате вышеуказанных действий появится окно Journal (Журнал), с сообщением даты и времени начала и окончания проведения трансляции, такое, как на рисунке 6. Файл, содержащий окно Journal (Журнал), сохраняется с расширением *.sim.

Окно Journal (Журнал) служит также и для отображения диагностических сообщений об ошибках в программе.


Рис. 6. Окно Journal (Журнал)

 
 

Допустим, вы сделали ошибку в операторе Advance, написав его имя неверно, например, Adance. Сообщение об этом появится в окне Journal (Журнал) (рис. 7).

Рис. 7. Окно Journal (Журнал) с указанием ошибки

В окне Journal (Журнал) указывается номер строки (Line 6) и позиция в строке (Col 8), где сделана ошибка. Ниже приводится некорректная строка программы:

Adance 16,4; Обслуживание клиента в интервале [12-20] мин.

Ещё ниже даётся сообщение:

**** Model Translation Aborted **** (Трансляция исходной модели прервана)

Чтобы быстро перейти на строку, где сделана ошибка, можно использовать пункт главного меню Поиск. Для этого:

щёлкните по пункту Поиск главного меню. Появится выпадающее меню;

щёлкните по пункту Перейти к строке выпадающего меню. Появится диалоговое окно Введите номер строки;

введите в текстовом поле номер строки, в которой сделана ошибка.

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

Перетранслировать программу можно следующим образом:

щёлкните по пункту Команда главного меню. Появится выпадающее меню;

щёлкните по пункту Перетранслировать выпадающего меню.

Выполнение модели и создание отчёта

Затем оттранслированная программа может быть запущена на выполнение. Для этого:

щёлкните по пункту Команда главного меню. Появится выпадающее меню;

щёлкните по пункту Пуск выпадающего меню. Появится диалоговое окно Start Command.

После щелчка по кнопке ОК появятся результаты моделирования. Файл, содержащий окно Report (Отчёт), сохраняется с расширением *.gpr. На рисунке 8 показан фрагмент результатов моделирования задачи с парикмахерской в окне Report (Отчёт).

В верхней строке окна Report (Отчёт) указываются:

Start Time (Начальное время) – 0.000;

End Time (Время окончания) – 958.138;

Blocks (Число блоков) – 7;

Facilities (Число каналов обслуживания) – 1;

Storages (Число накопителей) – 0.

Ниже перечисляются блоки модели и количество входов в них требований (клиентов). При этом каждый блок имеет свой числовой номер.

 
 

Рис. 8. Фрагмент результатов моделирования задачи с парикмахерской в окне Report (Отчёт)

Ещё ниже указываются результаты моделирования канала обслуживания под назначенным именем Par:

Entries (Число входов в прибор) – 51;

Util. (Коэффициент использования) – 0.843;

Ave. Time (Среднее время обслуживания) – 15.843;

Avail. (Доступность) – 1;

Owner (Возможное число входов) – 0;

Pend – 0;

Inter – 0;

Retry (Повтор) – 0;

Delay (Отказано) – 0.

Ещё ниже указываются результаты моделирования очереди с присвоенным именем 1:

Max (Максимальное содержимое) – 1;

Cont. (Текущее содержимое) – 0;

Entry (Число входов) – 51;

Entry (0) (Число нулевых входов) – 31;

Ave. Cont. (Среднее число входов) – 0.086;

Ave. Time. (Среднее время) – 1.609;

Ave. (-0) – 4.104;

Retry – 0.

До того как оттранслированная программа будет запущена на выполнение, можно установить содержимое будущего отчёта. Для этого:

щёлкните по пункту Правка главного меню. Появится выпадающее меню;

щёлкните по пункту Настройки… выпадающего меню. Появится диалоговое окно Settings (Установки) с пятью вкладками.

щёлкните по вкладке Сообщения и установите требуемое содержание отчёта. Например, как показано на рис. 9.

Рис. 9. Диалоговое окно Settings (Установки) с открытой вкладкой Сообщения для модели с парикмахерской.





Дата публикования: 2015-04-07; Прочитано: 891 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с)...