АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Описание элементов модели

Читайте также:
  1. A. моделирование потока капитальных вложений
  2. A. Определение элементов операций в пользу мира
  3. B. моделирование потока амортизации
  4. C. моделирование потока прибыли
  5. C. прогнозирование потока прибыли и ее элементов
  6. C. Число элементов в операции
  7. F. моделирование потока собственных оборотных средств
  8. I. Описание практики.
  9. II. Описание экспериментальной установки
  10. II. Перенесение лингвистической модели в структурную антропологию
  11. III. Виды понятий, выделяемые по характеру элементов объема.
  12. III. Описание мнении (doxography)

Описание элементов модели связано с понятием переменной. Лю­бая переменная используется для описания какой-либо характеристи­ки системы, например, бензоколонка может находиться в одном из двух состояний:



Часть 2. Имитационное моделирование


Введение в систему Micro Saint



 


занята (идет заправка автомобиля),

• свободна (нет заправки — колонка простаивает).

Мы можем имитировать эти состояния с помощью переменной Status, которая будет принимать два значения:

Status:= 1; (колонка переходит в состояние «Занята»),

Status:= 0; (колонка переходит в состояние «Свободна»).

Оператор «:=» называется оператором присваивания, он назначает переменной Status то значение, которое записано справа от оператора присваивания. В этом примере Status — имя переменной, а 0 и 1 — возможные значения переменной. Во многих случаях перечислить все значения переменной трудно (или невозможно), поэтому в таких си­туациях переменную характеризуют типом, определяющим ее возмож­ные значения.

Например, переменную N — количество автомобилей, обслужен­ных на автозаправке, резонно охарактеризовать типом Integer (целое число), а переменную V — количество заливаемого бензина — типом Real (действительное число).

В процессе имитации исследуемой системы переменные модели будут изменять свои значения, поэтому перед запуском модели всем переменным необходимо назначить исходные начальные значения (Initial Value), которые будут определять исходное состояние системы.

Все переменные модели должны быть внесены в список перемен­ных.

Открытие такого списка реализуется нажатием кнопки §§| (сред­ний ряд, вторая кнопка слева, см. рис. 2.1). При этом откроется окно списка переменных (рис. 2.3).

Рис. 2.3. Окно списка переменных (Name — имя, Value — значение переменной)

В этом списке представлены системные переменные. Такие пере­менные используются в любой модели, важнейшими из них для нас являются переменные clock — модельное время и tag (тэг) — индивиду­альный номер динамического объекта.


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

Кроме системных в.модели присутствуют переменные, которые определяются непо-средственно пользователем применительно к его модели.

В нашем случае это переменные Status — состояние бензоколонки и N — количество автомобилей, обслуженных на автозаправке. Для того чтобы ввести эти переменные в список, необходимо нажать кнопку???(нижний ряд панели инструментов рис. 2.1, справа) При этом откроется окно рис. 2.4, в котором задается имя переменной, ее смысловое содержание, тип и начальное значение.

Рис. 2.4. Окно описания переменной

Нажатие кнопки,Accept вводит переменную в список, только по­сле этого она становится полноправным участником процесса моде­лирования.


90


Часть 2. Имитационное моделирование


Введение в систему Micro Saint


91


 


               
   
 
 
 
   
   
 

 

Описание задачи

Окно описания задачи открывается после двойного клика на со­ответствующем блоке сетевой структуры модели.

На рис. 2.5 приведено такое окно для первого блока сетевой структуры рис. 2.1 «Gar coming».

Рис. 2.5.Окно описания задачи

Поля Time Distribution, Mean Time и Standart Deviation используют­ся для задания интервала времени между приходами автомобилей на заправочную станцию. В списке Time Distribution содержатся различ­ные законы распределения вероятностей. Для нашего примера мы ис­пользовали равномерное распределение (Rectungular) со средним зна­чением 10 (мин) и отклонением от среднего, равным 3 (мин). (В поле Standart Deviation в этом случае записывается 10 — 3 = 7 (мин), т. е. нижняя граница равномерного распределения.) Такое задание приве­дет к тому, что в нашу модель будут поступать автомобили (тэги) че­рез интервал времени (10 ± 3) мин. Выбор в качестве единицы време-


ни 1 мин. обусловлен только исследователем. В общем случае это мо­жет быть произвольная единица (день, час и т. п.).

Поле Release Condition в общем случае содержит условие возмож­ности входа тэга в соответствующий блок. Если в этом поле присутст­вует любое число, большее 0, вход в блок открыт (в нашем примере для блока «Gar coming» любой автомобиль может въехать на запра­вочную станцию). Для блока «Gas station» в поле Release Condition должно быть размещено условие входа в этот блок: Status= =0, т. е. вход автомобиля в блок возможен только тогда, когда бензоколонка свободна. В противном случае автомобиль не сможет подъехать к бен­зоколонке и будет находиться в очереди (символ «= =» используется как отношение равенства).

Поля Beginning Effect, Launch Effect и Ending Effect предназначены для размещения в них описаний действий, которые необходимо вы­полнить соответственно при входе тэга в блок, при прерывании его обслуживания в блоке и при выходе тэга из блока (поле Launch Effect в дальнейшем не используется).

В нашем примере для блока «Саг coming» (рис. 2.5) мы использо­вали только поле Beginning Effect, в котором разместили оператор: tag:=tag+l. Этот оператор присваивания (см. выше) реализует алго­ритм накопления: каждый раз при входе вновь приехавшего автомо­биля в блок «Саг coming» входной эффект будет увеличивать индиви­дуальный порядковый номер автомобиля на 1. Таким образом, через структуру модели будут последовательно проводиться тэги-автомоби­ли с номерами 0, 1, 2 и т. д.

В аналогичном окне для блока «Gas station» в полях входного и выходного эффектов будут размещены действия по изменению состо­яния бензоколонки. В поле входного эффекта определяется действие по занятию бензоколонки: Status:=l; а в поле выходного — по ее освобождению: Status:=O. Кроме того, в этом поле определяется дей­ствие, связанное с подсчетом количества автомобилей, «прошедших» через автозаправочную станцию: N:=N+1.

В полях Time Distribution, Mean Time и Standart Deviation блока «Gas station» следует указать характеристики времени заправки автомобиля (например, равномерное распределение в интервале 12 ± 6 мин.).

Исполнительная система, реализующая проводку тэгов через структуру модели, вычисляет описанные эффекты в следующем по­рядке:

• условие входа в блок (Release Condition);

• Beginning Effect;


Введение в систему Micro Saint


         
   
 
 
 
   

Описание разветвителя

• определение времени задержки в блоке (поля Time Distribution,
Mean Time и Standart Deviation);

• Ending Effect.

Рис. 2.6. Окно описания очереди

Описание регистратора очереди

Окно регистратора очереди вызывается двойным кликом на знач­ке соответствующей очереди (табличка) в структуре модели.

Поле Sorting Order определяет порядок элементов (тэгов) в оче­реди:

• FIFO (First In-First Out, первым вошел — первым вышел);

• LIFO (Last In-First Out, последним вошел — первым вышел);

• Sorted (очередь упорядочена по значениям выражения, которое
размещено в поле Priority).

В последнем случае из очереди для входа в блок задачи выводится тот тэг, для которого значение выражения в поле Priority максимально. Обычно это выражение использует индивидуальный номер тэга.

Использование полей Entering Effect и Departing Effect аналогично использованию полей входного и выходного эффекта в окне описа­ния задачи.


 


Окно описания разветвителя открывается двойным кликом на изображении разветвителя на структурной схеме модели.

Разветвитель может использовать один из трех типов разветвления (Decision Type): Multiple, Probabilistic и Tactical. Первый тип разветв­ления уже обсуждался выше — он создает множество копий тэга, во­шедшего в разветвитель, и отправляет их на все выходы разветвителя. Такой режим позволяет моделировать параллельные (одновременно протекающие) процессы в исследуемой системе.

Единицы в полях Routing Condition интерпретируются так же, как и в полях Release Condition описания задачи (см. рис. 2.5).

Тип Probabilistic определяет стохастический (случайный) механизм выбора тэгом направления дальнейшего движения. Для такого выбора в полях Routing Condition задаются вероятности переходов по выбран­ному направлению (их сумма должна быть равна 1).


94


Часть 2. Имитационное моделирование


Введение в систему Micro Saint


95


 


Тип Tactical использует поля Routing Condition для записи выраже­ний, значения которых определяют направление дальнейшего движе­ния тэга. Тэг, проходящий через разветацтель типа Tactical, будет на­правлен в ту задачу, для которой выражение, записанное в соответст­вующем поле Routing Condition, примет (в момент перехода) максимальное значение.

Этап проведения компьютерного эксперимента

с моделью

Запуск модели

После составления описаний всех элементов модели она может быть запущена для выполнения задач. Ддя запуска и управления про­цессом выполнения модели используется правая часть средней пане­ли инструментов (рис. 2.8).


тора halt () в поле Entering Effect очереди (см. рис. 2.6) приведет к тому, что, когда первый тэг войдет в очередь и произойдет вычисле­ние этого эффекта, модель будет остановлена.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)