Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответник по Урусову.docx
Скачиваний:
104
Добавлен:
09.02.2015
Размер:
648.91 Кб
Скачать

14. Язык gpss. Остановка модели. Два варианта описания. Примеры использования

В языке GPSS продолжительностью процесса моделирования можно управлять двумя способами:

1) завершать моделирование после того, как модель покинет за­данное число транзактов определенного типа;

2) завершать моделирование по истечению заданного интервала времени.

Первый способ:

1. В команде START операнду А присваивается значение за­данного числа транзактов.

2. Во всех блоках TERMINATE, через которые транзакты за­данного типа покидают модель, операнду А присваивается значение «1» или другое, отличное от нуля (соответственно содержательному значению транзактов).

3. Во все других блоках TERMINATE используется значение операнда А по умолчанию (A = 0). Значение счетчика завершения не будет зависеть от этих блоков.

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

Второй способ:

Пусть разработчик выбрал за единицу модельного времени 1 мин и хочет смоделировать поведение системы на протяжении 8 ча­сов. Это можно сделать таким образом:

1. Ввести в модель таймер-сегмент, состоящий из двух блоков:

15. Arena – система имитационного моделирования, которая позво-

ляет создавать динамические модели разнородных процессов и систем,

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

удобным объектно-ориентированным интерфейсом, обладает широки-

ми функциональными возможностями по адаптации к различным

предметным областям.

Основой технологии моделирования Arena являются язык моде-

лирования SIMAN и анимационная система Cinema Animation. Отли-

чается гибкими и выразительными средствами моделирования. Ото-

бражение результатов моделирования в Arena выполняется с исполь-

зованием Cinema Animation. Процесс моделирования организован

следующим образом. Сначала пользователь шаг за шагом строит в ви-

зуальном редакторе программы Arena модель. Затем система генери-

рует по ней соответствующий код на SIMAN, после чего автоматиче-

ски запускается Cinema Animation.

Arena состоит из блоков моделирования (модули) и операций

(сущности). Сущности двигаются между модулями по мере их обслу-

живания.

Arena – система имитационного моделирования, которая позво-

ляет создавать динамические модели разнородных процессов и систем,

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

удобным объектно-ориентированным интерфейсом, обладает широки-

ми функциональными возможностями по адаптации к различным

предметным областям.

Основой технологии моделирования Arena являются язык моде-

лирования SIMAN и анимационная система Cinema Animation. Отли-

чается гибкими и выразительными средствами моделирования. Ото-

бражение результатов моделирования в Arena выполняется с исполь-

зованием Cinema Animation. Процесс моделирования организован

следующим образом. Сначала пользователь шаг за шагом строит в ви-

зуальном редакторе программы Arena модель. Затем система генери-

рует по ней соответствующий код на SIMAN, после чего автоматиче-

ски запускается Cinema Animation.

Arena состоит из блоков моделирования (модули) и операций

(сущности). Сущности двигаются между модулями по мере их обслу-

живания. Используется сеть блоков для моделирования системы. Сети блоков которые создаются в процессе построения модели линейные и описывают поток сущностей через систему. Эти сущности аналогичны транзактам в GPSS. Каждая сущность может обладать собственными атрибутами, которые характеризуют ее особенности. В языке СИМАН имеются 10 различных типов базовых блоков: QUEUE, STATION,BRANCH, PICKQ, Operation, HOLD, QPICK,SELECT, MATCH, TRANSFER. Причем блоки OPERATION HOLD TRANSFER выделяют как функциональные, в которых тип связанного с блоком действия определяется первым операндом блока. C помощью блоков STATION можно организовывать подсистемы(участки цехов и производственные ячейки). Тогда сущности будут поступать в них из блокаTRANSFER,а направляются в другие подмодели с помощью блока ROUTE.

16. Язык Arena. Блоки создания и удаления транзактов. Примеры использования.

Блок Create отвечает за генерацию транзактов и введение их в систему обслуживания. Блок имеет следующие настройки:

  • Name — имя блока;

  • Entity Type — тип сущности, позволяет задать, к какому типу будут относиться создаваемые транзакты.

  • Time Between Arrivals — время между поступлениями, задает длительность временных интервалов между моментами, в которые создаются транзакты.

    • Type — тип распределения длительности интервала:

      • Random (Expo) — экспоненциальное распределение с плотностью распределения p(x) = λ eλ x;

      • Schedule — заданные расписанием длительности интервалов;

      • Constant — постоянная длительность интервала;

      • Expression — позволяет задать выражение для длительности интервала.

    • Value — параметр распределения длительности интервалов. При различных типах распределения имеет разный смысл:

      • В случае, когда тип распределения — Random (Expo) — имеет смысл математического ожидания длительности интервала, равного λ–1 из формулы распределения;

      • В случае постоянной длительности интервала является непосредственно этой константой;

      • При остальных типах распределения это поле недоступно.

    • Schedule Name — имя расписания (поле доступно, если тип распределения — Schedule);

    • Expression — выражение (поле доступно, если тип распределения — Expression).

    • Units — единицы измерения времени, в которых измеряется временной интервал.

  • Entities per Arrival — количество транзактов, которое создается за одно поступление.

  • Max Arrivals — ограничение на максимальное число поступлений за симуляцию. По достижении указанного значения симуляция автоматически останавливается, и среда предлагает просмотреть отчеты.

  • First Creation — временной интервал между началом симуляции и самым первым поступлением.

Все числовые значения могут задаваться как константами, так и выражениями.

Блок Dispose отвечает за утилизацию транзактов, то есть за выведение их из модели. Блок имеет следующие настройки:

  • Name — имя блока;

  • Record Entity Statistics — если данный флажок установлен, то данные обо всех выводимых транзактах попадают в статистику и учитываются при построении отчетов, в противном случае все данные об утилизируемых сущностях теряются.

Пример будет включать в себя три блока — создание транзакта (Create), операция над ним (Process), и утилизация транзакта (Dispose).

В качестве операции в примере работает простая задержка без каких-либо условий или ограничений. Любой транзакт, поступающий в блок, задерживается на определенное время, независимо от того, сколько транзактов уже находится в блоке, и сколько еще поступит в дальнейшем. Такая схема является моделью какого-нибудь процесса, где детали подвергаются какому-либо пассивному действию без занятия ресурсов, например, сушка заготовок в помещении, площадь которого несравнимо больше размеров изделий. В терминах теории массового обслуживания данная система имеет бесконечное число обслуживающих приборов.

После соединения всех блоков, запустите симуляцию модели (Run — Go). Во время симуляции рядом с Create отображается количество созданных транзактов, рядом с Process — число транзактов, находящихся в блоке в данный момент, рядом с Dispose — количество блоков, выведенных из модели к данному моменту времени. Приостановить (Pause) и прекратить (Stop) симуляцию можно, также воспользовавшись меню Run. Во время паузы симуляции можно просмотреть отчеты (вкладка Reports), содержащие разнообразную статистическую информацию о модели. Смысл этих отчетов мы подробно рассмотрим далее.