Управление процессом моделирования

После набора текста и выбора команды Command/Create Simulation (создать процесс моделирования) транслятор проверяет на наличие синтаксических ошибок и выдаёт их в окне Journal. Для поиска ошибок и их исправления удобно пользоваться командой Seach/Next Еrror. При остановке по ошибке транслятор не создаёт список ошибок, тогда нужно самостоятельно найти строку, указанную в сообщении с помощью команды Seach/Go To Line. После исправления всех ошибок происходит процесс моделирования, запустить его можно с помощью команды Command/Start. В появившемся диалоговом окне можно установить нужное количество прогонов модели START n.

Для управления процессом моделирования можно пользоваться командами:

CONDUCT – запустить эксперимент;

HALT – остановить процесс и удалить все команды их очереди;

CONTINUE – продолжить процесс моделирования;

CLEAR – сбросить накопленную статистику в ноль и удалить из модели все транзакты;

RESET – сбросить статистику в ноль без удаления транзактов, без сброса генераторов случайных величин и таймера модельного времени (удобно для сбора статистики в установившемся режиме).

В конце моделирования автоматически создаётся отчёт, содержащий накопленную статистику по всем объектам модели (Рисунок 4). Собственно это и есть то, ради чего происходил весь процесс моделирования.

Управление процессом моделирования - student2.ru

Рисунок 4 – Вид GPSS/World с окнами программы, ошибок и отчета

Рассмотрим результаты моделирования, представленные в отчете на рисунке 4:

Файл статистики в стандартном отчете состоит из подразделов, со­держащих стандартную статистику об объектах GPSS, используемых в данной модели (FACILITY, QUEUE, STORAGE и т.д.). Начинается файл статистики с заголовка, который берется из поля комментария, распо­ложенного перед началом программы. Заголовок появляется на каждой странице файла статистики.

1) Строка заголовка отчёта содержит имя файла модели, по которой создан отчёт и дату, время прогона модели.

Tuesday, August 03, 2014 19:11:31

2) Общая информация о времени начала и конца моделирования, количества используемых в модели блоков, одноканальных и многоканальных устройств.

START TIME END TIME BLOCKS FACILITIES STORAGES

720.000 19 1 1

Элементы статистики, представленные в этой строке имеют сле­дующее содержание:

- START TIME – абсолютное системное время в момент начала мо­делирования. Оно эквивалентно абсолютному системному времени после последнего применения операторов RESET или CLEAR;

- END TIME – абсолютное время, когда счетчик завершений при­нимает значение 0;

- BLOCKS – количество блоков, использованных в текущей моде­ли, к моменту завершения моделирования;

- FACILITIES – количество устройств, использованных в модели, к моменту завершения моделирования;

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

3) Информация об именах, которые присвоены пользователем различным объектам модели и которые просматривает GPSS в ходе моделирования. Информация об именах имеет следующий вид:

NAME VALUE

MAN 10003.000

NEOBS 17.000

OCHMAN 10002.000

OCHPRICH 10001.000

PRICH 10000.000

VYIHOD 16.000

Z_MAN 10.000

Z_PRICH 3.000

Поле NAME отмечает имена, содержащиеся в программе модели.

Поле VALUE определяет числовое значение, соответствующее имени. Система назначает каждому имени его числовое значение, причём отсчёт начинается с 10 000, меньшие числа нумеруют метки.

4) Информация о блоках.Блоки текущей модели имеют вид:

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 69 0 0

2 TRANSFER 69 0 0

Z_PRICH 3 TEST 42 0 0

4 QUEUE 26 2 0

5 ENTER 24 0 0

6 DEPART 24 0 0

7 ADVANCE 24 2 0

8 LEAVE 22 0 0

9 TRANSFER 22 0 0

Z_MAN 10 TEST 29 0 0

11 QUEUE 18 0 0

12 SEIZE 18 0 0

13 DEPART 18 0 0

14 ADVANCE 18 0 0

15 RELEASE 18 0 0

VYIHOD 16 TERMINATE 38 0 0

NEOBS 17 TERMINATE 27 0 0

18 GENERATE 1 0 0

19 TERMINATE 1 0 0

Где:

LABEL – метка блока, которая определяет номер строки в рабочей модели, связанный с блоком GPSS;

LOC – номер позиции данного блока в модели;

BLOK TYPE – тип блока GPSS;

ENTRY COUNT – количество входов в блок (определяет количество транзактов, вошедших в данный блок, после последнего выполнения блоков RESET или CLEAR, или с начала работы программы);

CURRENT COUNT – число транзактов, находящихся в блоке на момент конца процесса моделирования (определяет количество транзактов, находящихся в данном блоке в конце моделирования);

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

5)Если в модели используются объекты типа "устройство", то далее в файле статистики идет информация об этих объектах.В данном случае – это информация об одноканальных устройствах. Общий вид:

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

MAN 18 0.80132.035 1 0 0 0 0 0

В данном примереИнформация об одноканальных устройствах, включает:

FACILITY – имя или номер устройства;

ENTIES – количество входов в устройство (определяет количество раз, когда устройство было занято или прервано после последнего выполнения блоков RESET или CLEAR или с начала работы программы);

UTIL – коэффициент использования устройства, определяет долю времени, в течение которого устройство было занято в процессе моделирования;

AVE.TIME – среднее время занятия устройства одним транзактом (определяет среднее время занятости устройства одним сообщением в течение периода моделирования после последнего выполнения операторов RESET или CLEAR );

AVAIL– определяет состояние устройства в конце пе­риода моделирования: 1 – занято, 0 – свободно.

Поле OWNER определяет номер последнего сообщения, занимавшего устройство. 0 означает, что устройство не занималось.

Поле PEND определяет количество сообщений, ожидающих устройство, находящееся в "режиме прерывания".

Поле INTER определяет количество сообщений, прерывающих устройство в данный момент (счетчик сообщений в списке прерывания).

Поле RETRY определяет количество сообщений, ожидающих специальных условий, зависящих от состояния объекта типа "устройство".

Поле DELAY определяет количество сообщений, ожидающих занятия устройства. Сюда входят также сообщения, ожидающие освобождения устройства в "режиме прерывания" (блок PREEMPT).

6)Если в модели использовались объекты типа "многоканальное устройство", то далее в файле статистики идет информация об этих объектах:

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

PRICH 2 0 0 2 24 1 1.871 0.936 0 2

В данном случае - этоИнформация о многоканальных устройствах (памяти):

STORAGE определяет имя или номер многоканального устройства (МКУ);

САР определяет ёмкость МКУ, заданную оператором STORAGE;

REMAINопределяет количество единиц свободной ёмко­сти МКУ в конце периода моделирования;

MIN определяет минимальное количество используемой ёмкости (каналов) МКУ за период моделирования;

МАХ определяет максимальное количество используемой ёмкости МКУ (каналов) за период моделирования;

ENTRIESопределяет количество входов в МКУ за период моделирования.

AVL определяет состояние готовности МКУ в конце пе­риода моделирования: 1 – МКУ готов, 0 – не готов;

AVE.C определяет среднее значение занятой ёмкости за период моделирования.

UTIL определяет средний коэффициент использования всех устройств МКУ.

RETRYопределяет количество транзактов, ожидающих специальных условий, зависящих от состояния МКУ;

DELAYопределяет количество транзактов, ожидающих возможности входа в блок ENTER.

7)В случае использования в модели объектов типа "очередь", далее следует информация об этих объектах:

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

OCHPRICH 2 2 26 4 0.96426.686 31.538 0

OCHMAN 2 0 18 2 0.935 37.417 42.095 0

Статистика об очередях:

QUEUE – имя или номер очереди;

MAX – максимальная длина очереди (определяет максимальное содержимое объекта типа "очередь" в течение периода моделирования, который начинается с начала работы программы или с последнего оператора RESET или CLEAR);

CONT. – текущая длина очереди (определяет текущее содержимое объекта типа "оче­редь" в конце периода моделирования);

ENTRY – общее количество входов(определяет общее количество входов в очередь в течение периода моделирования - счетчик входов);

ENTRY(0) – количество «нулевых» входов (определяет общее количество входов в очередь с нулевым временем ожидания);

AVE.CONT. – средняя длина очереди;

AVE.TIME – среднее время пребывания транзактов в очереди;

AVE.( – 0) – среднее время пребывания в очереди без учёта «нулевых» входов;

RETRY – количество транзактов, ожидающих специальных условий (определяет количество сообщений, ожидающих специальных условий, зависящих от состояния объекта типа "очередь").

ВЫВОДЫ ПО ПОЛУЧЕННОМУ ОТЧЕТУ для нашего примера: всего в салон пришло 69 клиентов, из них 27 покинули салон из-за очереди более одного человека, 26 человек обслуживаются в зале причёски, 18 – в маникюрном. Маникюрный мастер занят 80,1 % времени, зал причёсок – 93,6 %. Средняя длина очереди в оба зала равна 0,964 и 0,935 соответственно, и среднее время нахождения в очереди 26,6 и 37,4 мин , т. е. очередь в один человек практически всегда присутствует – салон не справляется с таким потоком посетителей и теряет треть клиентов.

Можно сделать предложение об организации ещё одного места обслуживания в зале причёсок и возможно в маникюрном зале. Для этого необходимо провести моделирование при условии, что устройство PRICH будет трёхканальным, а после анализа полученной статистики посмотреть, есть ли необходимость приглашать второго мастера на маникюр (делать 2-канальным устройство MAN).

Способ оценки результатов

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

Контрольные вопросы к защите

1. Перечислите основные объекты языка GPSS.

2. Что такое симулятор, транзакция?

3. Охарактеризуйте основные операторы GPSS.

4. Какие шаги необходимо выполнить транзакту для использования одноканального устройства?

5. Как выполняется моделирование многоканальных устройств?

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