Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Отладка моделей




Ready.

Model Translation Begun.

Рис. 6.

Теперь можно запустить процесс моделирования. Для этого выбрать Command ► Start. Появится диалоговое окно (рис. 7):

Рис. 7. Диалоговое окно Start

 

После нажатия ОК может произойти останов по ошибке выполнения, например, если в строках будет записано Rem, а не Rem1:

ADVANCE 360,120; Имитация ремонта

RELEASE Rem1; Освободить ремонтное подразделение,

то в окне Journal будет выдано сообщение об этом (рис. 8):

Рис. 8. Окно с сообщением об ошибке выполнения

 

There are no Transactions. Check Transaction limits and blocking - означает «Попытка освободить незанятое устройство», что транзакт пытается освободить ОКУ, которое не было им занято, т.е. в блоке RELEASE в данной модели нужно было указать Rem1, а не Rem. При ошибках выполнения строка с ошибкой ищется самостоятельно, иногда номер строки с ошибкой указан в сообщении словом Line №. Перейти к строке с этим номером можно с помощью команды Search ► Go TO Line. Но будьте внимательны, иногда бывает, что найденная строка по сообщению об ошибке ее не содержит, ошибка находится в соседних строках.

Когда успешно завершается первоначальная трансляция модели, создаются:

1. последовательность блоков;

2. регистрационный список процедур;

3. список команд.

Все это передается объекту «Процесс моделирования». Последовательность блоков и список команд сохраняются отдельно.

После первоначальной трансляции модели, созданному объекту «Процесс моделирования» можно передавать любые операторы модели. Такие операторы называются интерактивными. Это могут быть:

· команды;

· определения Plus - процедур;

· блоки.

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

Интерактивные блоки называются операторами ручного режима моделирования. Только блоки GENERATE не могут использоваться в этом режиме. Вместо них для создания транзактов могут быть применены блоки SPLIT.

Во время первоначальной трансляции также создается список команд, образующих очередь. Команды делятся на срочные и несрочные. К срочным относятся только команды HALT и SHOW. Срочные команды выполняются сразу же после того, как были переданы объекту «Процесс моделирования». Все остальные ставятся в очередь команд, которые не были еще выполнены.

Есть несколько способов передать оператор модели процессу моделирования:

· использовать меню Command. Нужно выбрать Command ►Custom, набрать список команд и нажать ОК. Список команд будет оттранслирован и передан для выполнения.

· комбинации горячих клавиш;

· закрепить с помощью журнала установок модели оператор GPSS за функциональной клавишей;

· можно поместить список наиболее употребляемых команд в текстовый файл. Затем применить команду INCLUDE для передачи списка команд объекту «Процесс моделирования». Закрепить команду INCLUDE за функциональной клавишей и иметь готовый список команд, выполняемый одним нажатием клавиши.

Команды GPSS World в соответствии со своим назначением делятся на две группы:

· команды определения объектов GPSS;

· команды управления процессом моделирования.

Таблица 3

Описание команд

Команда Описание Примечание
SHOW Предназначена для передачи объекту «Процесс моделирования» выражения для вычисления и записи результата в строку состояния окна Model. Формат команды: SHOW Х, где Х – арифметическое или логическое выражение. Переменные применяемые в выражении Х должны быть предварительно заданы с помощью команды EQU. Например, SHOW XN1 – показать номер активного транзакта; SHOW LOG(AC1) – вычислить и вывести в строку состояния натуральный логарифм абсолютного модельного времени; SHOW N$Met1/N$Met2 – показать результат деления количества транзактов в блоке с меткой Met1 на количество транзактов в блоке с меткой Met2. SHOW является срочной командой и выполняется немедленно.
EQU Присваивает значение переменной пользователя.  

Запустите процесс моделирования. Выберите Command u Create Simulation. В главном меню выберите Window u Simulation u Blocks Window (рис. 9).

Рис. 9. Окна GPSS

 

Делаем пошаговую отладку ИМ и исследуем некоторые показатели в процессе моделирования.

Выберите Command u SHOW и в диалоговом окне наберите Q$RemQ и нажмите ОК.

Закрепите команды SHOW за функциональными клавишами. Выберите Edit ►Setting ► и перейдите на вкладку Function Keys (рис. 10):

Рис. 10. Страница Edit ►Setting

Обратите внимание на все клавиши. Рядом с клавишами [F8] и [F9] наберите две команды (рис. 11):

SHOW Q$RemQ1

SHOW Q$RemQ2

Рис.11. Вкладка Function Keys

 

Нажмите ОК. Если будет допущена ошибка, после нажатия ОК появится соответствующее сообщение. Если ошибок нет – команды закреплены за функциональными клавишами. Во время выполнения процесса моделирования можно интерактивно исследовать текущие длины очередей RemQ1 и RemQ2 нажатием одной соответствующей клавишей.

При нажатии [F8] в строке состояния главного окна и в окне Journal отобразится длина очереди неисправных СС 1-го типа, а при нажатии [F9] – длина очереди неисправных СС второго типа. Просмотр удобнее с помощью Window u Simulation Window u Queues Window. Откроется окно с подробным обзором состояния очередей (рис. 12).

Рис. 12.Окно Queues (очереди)

 

Для наблюдения за изменением параметров очередей нажмите несколько раз [F5]. Закройте окно.

Выберите Window u Simulation Window u Facilites Window (Окно Устройства) (рис. 13).

Рис. 13. Окно Facilites (обслуживающие устройства (ОУ))

 

Цвет значка устройства может быть в двух вариантах: серого цвета – устройство свободно; красный – устройство занято. Значок можно рассмотреть покрупнее, для этого сделайте общий обзор окна командами View u Entity Details (рис. 14). Маленькая белая полосочка в правой части значка показывает небольшую очередь. Большая белая полосочка означает, что очередь превышает 10 транзактов. Закройте окно.

Рис. 14. Окно Entity Details

 

Откройте окно Window u Simulation Window u Expression Window (окно процесса моделирования). В строке Label введите комментарий Вероятность ремонта; в строке Expression (редактор выражений) (N$Met1/QC$RemQ) нажмите кнопки View и Memorize и ОК. Вы увидите вероятность ремонта СС (рис. 16).

Рис. 15. Окно Expression

 

Рис. 16. Определена вероятность ремонта СС

 

Построение графиков и диаграмм.

Запустите процесс моделирования Command u Create Simulation. Выберите Window u Simulation Window u Table Window (окно таблица). В окне Open Table

Рис. 17. Окно Table

 

выберите VRREM и нажмите ОК. Запустите процесс моделирования Command u START1 и вместо 1 поставьте 10 прогонов:

Рис. 18. Установка 10 прогонов для ИМ

 

Понаблюдайте за изменением диаграммы. По завершению 10 прогонов, в появившейся гистрограмме (рис. 19) видно, что среднее время ремонта СС обоих типов составляет 5490,823 мин со стандартным отклонением 2521,028.

 

Рис. 19. Окно Table

 

График постром так же для 10 прогонов. Запустите процесс моделирования Command u Create Simulation.

Для каждого графика должен быть указан интервал времени. Для 10 прогонов заданное время 4320 умножим на количество прогонов и введем в поле Time Rang после того, как выберите Window u Simulation Window u Plot Window (редактор графика):

В поле Label ставим метку – пояснения к графику, в нашем примере это – Вероятность ремонта (рис. 20), в поле Expression вводим первую переменную для построения графика:

(N$Met1/QC$RemQ).

Это ожидаемая вероятность ремонта, определяемая как отношение отремонтированных СС к поступившим всего в ремонт. Количество поступивших СС всего в ремонт считается равным общему числу входов в общую модель.

В поле Title задайте имя графика, которое описывало бы обе переменные:

Вероятность выполнения ремонта & Время ремонта

Временной интервал для оси Х мы уже ввели в Time Rang – 43200. Для оси Y сами устанавливаем конец интервала 10 (по умолчанию интервал от 0 до 100). Нажмите кнопки Plot и Memorize.

 

Рис. 20. Диалоговое окно редактора графика

 

Вводим вторую переменную (для второго графика). В поле Label ставим метку (рис. 21):

Время ремонта

В поле Expression вводим переменную для построения второго графика:

((QT$RemQ+FT$Rem1)/1000)

Это среднее время ремонта, определяемое как сумма среднего времени пребывания в очереди и среднего времени пребывания непосредственно в ремонте. Так как вероятность не может быть больше 1, а время ремонта может превысить 1000 мин, то для времени ремонта ввели масштабный множитель 1/1000, что бы рассмотреть оба графика на одном поле (в одном окне). Нажмите кнопки Plot и Memorize.

Нажмите ОК.

Рис. 21. Заполнение полей окна графика информацией о втором графике

 

Теперь запустите процесс моделирования Command u START1 и вместо 1 поставьте 10 прогонов (рис. 22).

Рис. 22. Окно Plot

 

По завершению указанного числа прогонов график можно будет рассмотреть, прокручивая линейку внизу графика (рис. 23):

 

 

Рис. 23. Окно Plot с двумя построенными графиками

 

Промоделируйте самостоятельно ИМ составленную для решения задачи 2.

Задача 2. Требуется построить и проверить ИМ работы ремонтного подразделения с одним каналом обслуживания. В ремонтное подразделение поступают вышедшие из строя средства связи (СС), требующие текущего ремонта (ТР). Интервалы времени поступления СС распределены равномерно в интервале 18±8 часов. Время ремонта также распределено равномерно в интервале 16±4 часа. Ремонт производится по мере поступления: первым поступила – первым отремонтировано.

Нелходимо промоделировать функционирование ремонтного подразделения в течение 3 суток (72 часа). Модель на GPSS должна обеспечить сбор статистики об очереди.

Строим модель в виде последовательности блоков с элементами для управления моделированием: неисправные СС поступают; если необходимо, то ждут очереди; затем передаются в ремонтное подразделениедля ремонта.

Единица модельного времени равна 1 мин, переводим все числовые значения задачи в мин:

18 часов = 1080 мин,

8 часов = 480 мин,

16 часов = 960 мин,

4 часа = 240 мин,

3 суток = 72 часа = 4320 мин.

 

При построении и проверке ИМ используются параметры:

Таблица 1

Обозначение идентификатора Наименование идентификатора Примечание
Rem1 Ремонтное подразделение с одним каналом обслуживания  
RemQ Общая очередь неисправных СС первого типа  
RemQ1 Общая очередь неисправных СС второго типа  
VrRem Имя таблицы, в которой будет табулироваться общее время нахождения неисправного СС в ремонте  

 

Текст ИМ:

 

Пример 2

VrRem TABLE M1,800,50,10; задание и определение таблицы

; Сегмент моделирования процесса ремонта

GENERATE 1080,480; Источник неисправных СС

QUEUE RemQ; Встать в очередь

SEIZE Rem1; Занять ремонтное подразделение

DEPART RemQ; Покинуть очередь

ADVANCE 960,240; Имитация ремонта

RELEASE Rem1; освободить ремонтное подразделение

TABULATE VrRem; Данные в таблицу

TERMINATE; Отремонтированные СС

; Сегмент задания времени моделирования

GENERATE 4320

TERMINATE 1

START 1000

 

 

Моделирование начинается сразу после трансляции, так как в модели имеется команда START.

 




Поделиться с друзьями:


Дата добавления: 2015-06-30; Просмотров: 2499; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.061 сек.