Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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




Язык 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 — тип распределения длительности интервала:

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

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

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

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

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

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

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

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

§ 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), содержащие разнообразную статистическую информацию о модели. Смысл этих отчетов мы подробно рассмотрим далее.

 

 

 

 

По структуре алгоритмы разделяют на линейные, разветвляющиеся и циклические.

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

Любое сложное логическое условие может быть представлено в виде простых.

Рассмотрим пример разветвляющегося алгоритма с простым логическим условием.

Пример 1.2. Даны два числа а и b.

Найти

Очевидно, что для определения ветви, по которому необходимо производить процесс вычисления значения х, достаточно проверить выполнение одного из условий, например а>b. Если условие а>b не выполняется, то очевидно и без дополнительной проверки, что будет выполнено условие а < b. Следовательно, вариант схемы алгоритма будет выглядеть следующим образом (рис 1).

Рис 1. Схема простого разветвляющегося алгоритма

В “Арене” за блок ветвления и проверки отвечает Decide (в Basic process).

 

 

Поле: Type – тип (по условию вероятность) [ 1) 2way by chance; 2) 2way by condition; 3) Nway by chance; 4) Nway by condition]

Condition – условия/вероятности

If – тип сравниваемого

Named – имя сравниваемого

Is– условие выполнения

Value – условие выполнения

 

При выборе Type номер:

1) Percent true (%)

2) If(Entity type)/ Named (Entity 1)

3) Percentages (Add, Edit, Delete list)

4) Conditions -//-

 

From Help of Arena: This module allows for decision-making processes in the system/ it include options to make decisions based on one or more conditions (e.g., if entity type is Gold Card) or based on ie or more probabilities (e.g. 75% true; 25% false), variable values (e.g., Number Denied), the entity type, or an expression(e.g. NQ(ProcessA.Queue)

Decide — ветвление

 

Транзакт, попадающий в блок, направляется в одну из 2 или N ветвей. Ветвление может быть условным (ветвь выбирается по некоторому условию) или вероятностным (заданы вероятности перехода в каждую из ветвей).

 

 

 

· Name — имя блока.

· Type — тип ветвления:

§ 2-way by Chance — вероятностное ветвление, выбор одной из двух ветвей. В поле Percent True записывается вероятность перехода транзакта на ветвь True (в процентах);

§ 2-way by Condition — условное ветвление, выбор одной из двух ветвей. В поле If записывается то, что подлежит проверке:

w Variable — переменная. Определяется в масштабах всей модели;

w Attribute — атрибут. Определяется в масштабах конкретного транзакта;

w Entity Type — тип сущности, к которой относится транзакт. Если тип сущности совпадает с указанным в поле Named, то условие считается выполненным;

w Expression — выполнение условия определяется выражением, записываемым в поле Expression.

§ N-way by Chance — вероятностное ветвление, выбор одной из N ветвей. В поле Percentages с помощью кнопок Add, Edit и Delete заносятся вероятности перехода в каждую из ветвей. Вероятность перехода на ветвь Else равна 100% – Sum, где Sum — сумма всех заданных значений вероятностей перехода.

§ N-way by Condition — условное ветвление, выбор одной из N ветвей. В поле Conditions заносятся условия переходов в каждую из ветвей. Набор условий в этом случае тот же, что и для условного ветвления с 2 ветвями. Транзакт переходит в ветвь Else, если ни одно из условий не выполнено.

 

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

 




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


Дата добавления: 2014-12-24; Просмотров: 2145; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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