- •Введение
- •Лабораторная работа № 1 структурно-параметрическое моделирование систем
- •Теоретическое введение
- •Задание и порядок выполнения
- •Параметры биосырья (молока):
- •На базе статистических данных по формуле (1-1) сформирована матрица корреляционных коэффициентов связей между параметрами состояния системы (таблица 1.2). Матрица коэффициентов корреляции Rij
- •Матрица коэффициентов регрессии Pij
- •Матрица безразмерных характеристик связей Cij
- •Вопросы для самопроверки
- •Литература
- •Лабораторная работа № 2 идентификация аномальных состояний большой системы
- •Теоретическое введение
- •Задание и порядок выполнения работы
- •Варианты графов системы [2]
- •Вводится вектор текущих относительных отклонений x1,…,xn в виде
- •Ситуационная матрица аномального состояния системы Sij
- •Вопросы для самопроверки
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Лабораторная работа № 4 статистическое моделирование производственных систем
- •Теоретическое введение
- •Задание и порядок выполнения работы
- •Контрольные задания для самопроверки
- •Программа
- •Требования к отчету
- •Литература
- •Лабораторная работа № 5 универсальная система имитационного моделирования simplex 3
- •Теоретическое введение
- •Компоненты модели, описываемые на объектно-ориентированном языке, объединяются в иерархические модели различной сложности структурными компонентами вышестоящего (верхнего) уровня.
- •Порядок выполнения работы
- •5.2. Общий порядок подготовки и проведения эксперимента с моделью в имитационной системе Simplex3
- •Изучить диалоговый интерфейс имитационной системы.
- •Изучить общий порядок подготовки модели
- •Внешние функции (External functions).
- •При этом в окне содержания появляется таблица с перечислением компонентов и версий. В рассматриваемом примере в окне появляются три
- •Для этого:
- •1). Выделить директорию priv и в ее контекстном меню задать команду New library…(создать новую библиотеку) и ввести имя новой модели.
- •5.2.4. Диалоговый интерфейс подготовки и проведения эксперимента с моделью в имитационной системе Simplex3
- •Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Для описания непрерывных процессов в каждом случае требуется дифференциальное уравнение. В комбинированных моделях дифференциальные уравнения могут дополняться дискретными событиями.
- •Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Лабораторная работа № 7 многомерные массивы в моделировании параметрических полей
- •Теоретическое введение
- •Задание и порядок выполнения работы
- •Требования к отчету
- •Вопросы для самопроверки
- •Литература
- •38 # Конец обслуживания
- •Листинг 8.1. Mdl- описание модели Queue
- •Задание и порядок выполнения работы
- •Варианты заданий*
- •Пример выполнения задания По заданному описанию построить и реализовать в универсальной имитационной системе Simplex3 mdl- модель сборочного конвейера.
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Объектно-ориентированное моделирование систем
- •Теоретическое введение
- •Листинг 9.1. Базисный компонент Sun
- •Листинг 9.2. Базисный компонент Lake
- •Листинг 9.3. Компонент верхнего уровня Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Лабораторная работа № 10 многокомпонентная иерархическая модель
- •Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Лабораторная работа № 11 собственные функциональные компоненты
- •Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Лабораторная работа № 12 внешние с-функции и с- процедуры
- •Теоретическое введение
- •Листинг 12.1. Модель QueueExp
- •Листинг 12.2. С-функция для вычисления экспоненциально распределенных случайных чисел
- •Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Задание и порядок выполнения работы
- •Вопросы для самопроверки
- •Требования к отчету
- •Литература
- •Лабораторная работа № 14 мультиагентное моделирование систем в simplex 3
- •1. Теоретическое введение
- •2. Общее задание и порядок выполнения работы
- •3. Возможные варианты заданий
- •3.1. Моделирование маркетинговых ситуаций
- •3.2. Моделирование учебного процесса
- •3.4. Мультиагентное моделирование биологических систем
- •3.4.2. Имитационное моделирование динамического развития колоний и популяций микроорганизмов.
- •3.5.5. Объектно-ориентированное моделирование и имитация экологической системы.
- •4. Пример выполнения работы
- •И накопления знаний
- •В циклах учебного процесса
- •В цикле учебного процесса
- •Требования к отчету
- •Литература
- •Структурно-параметрическое описание технологических систем
- • Технологические режимы и параметры производства творога
- •Результаты наблюдений процесса производства кисломолочного продукта (ряженки жирностью 2,5%)
- •Корреляционная матрица тесноты связей между параметрами технологической системы производства ряженки жирностью 2.5%
- •Технологической системы производства ряженки жирностью 2.5%
- •Матрица безразмерных оценок множественной регрессии для технологической системы производства ряженки жирностью 2.5%
- •Пример ситуационной модели состояния технологической системы производства ряженки жирностью 2.5%
- •Результаты наблюдений процесса изготовления сметаны жирностью 15%
- •Корреляционная матрица тесноты связей между параметрами технологической системы производства сметаны жирностью 15%
- •Регрессионная матрица характера связей между параметрами технологической системы производства сметаны жирностью 15%
- •Безразмерная регрессионная матрица характеристик связей между параметрами технологической системы производства сметаны жирностью 15%
- •Пример ситуационной модели состояния технологической системы производства сметаны жирностью 15%
- •Результаты наблюдений процесса производства нежирного диетического творога
- •Регрессионная матрица характера связей между параметрами технологической системы производства нежирного диетического творога
- •Безразмерная регрессионная матрица характеристик связей между параметрами технологической системы производства нежирного диетического творога
- •Пример ситуационной модели состояния технологической системы производства нежирного диетического творога
- •Общий порядок создания пользовательского интерфейса с помощью внешней программы.
- •1. Создание пользовательского интерфейса с помощью внешней программы.
- •Межвидового взаимодействия.
- •2. Создание процедуры на языке edl, реализующей запуск пользовательского интерфейса и передачу исходных данных переменным модели сводится к следующему.
- •Листинг 1. Описание ввода исходных данных на языке Simplex-edl
- •4. Просмотр результатов моделирования.
Требования к отчету
Отчет должен содержать: задание, конечно-разностную модель решения уравнения математической физики в частных производных, начальные условия, алгоритм моделирования параметрического поля, описание компонента и модели нестационарного температурного поля на плоскости, графики нагрева тела в ключевых точках и их анализ.
Вопросы для самопроверки
1. Запишите синтаксическую форму объявления одномерного, двумерного и трехмерного массивов в базисном компоненте модели.
2. В каких случаях и как элементы массива задаются списком индексов?
3. Как осуществляется доступ к определенному элементу массива, выбор всего множества элементов и выбор по признаку?
4. В чем преимущества моделей с трехмерными массивами?
5. Опишите модель ступенчатого изменения состояния среды.
6. Как организовать протокол регистрации параметрического поля в дискретные моменты времени и вывести на экран области выхода наблюдаемого параметра за установленные границы ?
7. В чем отличие между алгоритмами моделирования симметричных и несимметричных полей?
Литература
1. Ивашкин Ю.А. Мультиагентное имитационное моделирование больших систем : учебное пособие / Ю.А. Ивашкин. – М. : МГУПБ, 2008. – 238 с.
2. Шмидт Б. Искусство моделирования и имитации. Введение в универсальную имитационную систему Simplex3 / Б. Шмидт; перевод с немецкого под редакцией Ю.А. Ивашкина и В.Л. Конюха. – Ghent, Belgium, 2003. – 550 с.
3. Беляева М.А. Моделирование тепломассообменных процессов в прикладной биотехнологии / М.А. Беляева, Ю.А. Ивашкин, А.С. Лукьянов // Современные энергосберегающие тепловые технологии (сушка и тепловлажностная обработка материалов) СЭТТ-2008 : труды Третьей МНПК. – М. : МГУПБ, 2008. – Том 1. – С.113-118.
Лабораторная работа № 8
МОДЕЛИРОВАНИЕ НА ЯЗЫКЕ SIMPLEX-MDL
ДИСКРЕТНЫХ СИСТЕМ
Накопительные массивы и мобильные компоненты,
имитационная модель СМО
Цель работы - приобретение навыков имитационного моделирования дискретных систем с событийным описанием динамики поведения и мобильными компонентами, а также моделирование систем массового обслуживания в универсальной имитационной системе Simplex3 с использованием мобильных компонентов и накопительных массивов.
Теоретическое введение
В дискретных системах переменные состояния модели изменяются в дискретные моменты времени (временные события) и объявляются как дискретные.
В имитационном моделировании дискретных систем выделяют временные события, происходящие в фиксированный момент или интервал времени, являющиеся функцией состояния модели в предшествующий период, и условные события внутри выделенного дискретного временного интервала (периода), происходящее в зависимости от некоторого условия и состояния модели в предшествующем i-м такте внутри фиксированного j-го временного события.
Описание события в определенной синтаксической форме содержит механизм запуска (включения), процедурную часть, описание переходов состояния.
Механизм включения имеет два варианта:
WHENEVER < условие > ׀ ON < индикатор > {OR < индикатор >}
DO
< изменение состояния переменных модели>
END
Механизм WHENEVER (пока) воспроизводит событие до тех пор, пока заданное в заголовке логическое условие истинно TRUE. Для исключения повторения события изменение состояния должно приводить условие к значению FALSE.
Конструкция ON (как только) обеспечивает однократный вызов события по условию, изменяющему свое значение с FALSE на TRUE. В этом случае событие воспроизводится только один раз при переходе условия от ложного FALSE к истинному значению TRUE.
Процедурный раздел события состоит из объявления переменных и последовательности операторов, подключенных к механизму включения. Результат вычисления присваивается вспомогательным переменным TRANSITIONS и передается в объявленное место события.
Расширение возможностей моделирования достигается разделением областей состояния внутри события по следующей синтаксической форме:
IF <условие> DO <изменение состояния> END
{ELSIF <условие>
DO <изменение состояния> END}
[ELSE <условие>
DO <изменение состояния> END]
Например, для светофора, переключающегося в моменты времени Т
,
с периодом повторяющегося временного события – цикла переключения светофора T = 12 единиц времени, описание последовательности событий имеет следующий вид:
WHENEVER T > = TNext
DO
IF (T > = TNext ) AND (T < TNext + 5)
DO State ^ : = ‘red’; END
ELSIF (T > = TNext + 5) AND (T < TNext + 6)
DO State ^ : = ‘yellow’; END
ELSIF (T > = TNext + 6 ) AND ( T < TNext + 11 )
DO State ^ : = ‘green’ ; END
ELSIF ( T > = TNext 11 ) AND ( T < TNext + 12)
DO State ^ : = ‘yellow’ ; END
TNext ^ : = TNext + 12 ;
END
То есть в начальный момент времени TNext = 0 при исходном состоянии
Z = ‘yellow’ (желтый) при включении машинного времени и временном условии T >= TNext в заданном временном периоде происходят условные события переключения светофора. В конце периода закладывается новое значение времени TNext, обновляющее временное событие в момент Т=12 с повторением цикла условных событий.
Если произошедшее событие переключения светофора обуславливает новое событие, то оно вводится в следующем такте того же временного периода.
После окончания всех условных событий тактовые переключения заканчиваются и имитационные часы переключаются вперед в новое временное событие оператором TNext ^ : = TNext + 12 . Таким образом, TNext является переменной состояния для временного переключения событий (имитационные часы).
Имитационное моделирование систем массового обслуживания
Рассмотрим модель «Очередь» [1,2], состоящую из источника заявок, очереди на обслуживание, станции обслуживания (сервера) и выходного приемника выполненных заявок (рис.8.1).
Средний интервал
появления заявки 15 временных единиц. Экспоненциальное
распределение
Очередь
Среднее время
обслуживания
10
временных единиц.
Экспоненциальное распределение
Условие
сброса - накопление
4-х
выполненных заявок.
Рис. 8.1. Блок-схема модели очереди Queue
В модели воспроизводятся следующие изменения состояния в зависимости от времени и условий:
Событие |
Условие |
1. Возникновение (поступление) заявок и постановка в очередь |
- время поступления |
2. Поступление заявки (клиента) из очереди и начало обслуживания |
- сервер свободен и есть хотя бы одна заявка |
3. Уход заявки после обслуживания в выходной приемник |
- сервер загружен и наступил конец обслуживания |
4. Очистка выходного приемника после накопления 4-х заявок |
- в приемнике находится 4 заявки |
Как правило, заявки имеют различные атрибуты и могут быть описаны в виде мобильных компонентов. Их примерами являются объекты, меняющие свое местонахождение во времени – покупатели, транспортные средства, клиенты, заявки, сообщения, детали и т.п. Мобильный компонент имеет декларирующую часть и не содержит описания динамического поведения. Свойства его могут быть изменены только из внешнего базисного компонента.
Мобильный компонент декларируется в базисном в соответствии с описанием:
BASIC COMPONENT < имя >
MOBILE SUBCOMPONENT[S] OF CLASS < имя > {, < имя > }
[ < переменные в физических единицах > ]
[ < локальные определения > ]
DECLARATION OF ELEMENТ
DYNAMIC BEHAVIOUR
END OF < имя >
Синтаксис описания собственно мобильного компонента аналогичен базисному, но без раздела динамики, так как изменение его состояния возможно только через базисный компонент.
MOBILE COMPONENT < имя >
[описание мобильных подкомпонентов]
[определение базовых единиц]
[локальные определения]
DECLARATION OF ELEMENТ
END OF < имя >
Так, например, мобильный компонент Customer c атрибутами Prioritet, TarriveMash и др, изменяющимися только из внешнего базисного компонента, может иметь следующее описание.
MOBILE COMPONENT Customer
DECLARATION OF ELEMENTS
STATE VARIABLES
DISCRETE
Prioritet (INTEGER):=1, # приоритет машины
ArriveMash (REAL):=1, # интервал прихода машин в систему
TArriveMash (REAL) :=1, # время прихода машины в систему
mves1(REAL):=1, # грузоподъемность машины
mves2(REAL):=1 # заказ машины на определенный вид
продукции
END OF Customer
Мобильные компоненты размещаются в накопительных массивах, как местах расположения, образуя очереди клиентов, размещение пассажиров в автобусе, накопление товаров на складе и т.п.
Описания накопительных массивов включаются в раздел описания элементов базисного компонента в виде списка LOCATION[S].
LOCATION[S]
< имя накопителя > ( < имя мобильного компонента >
[ORDERED BY <критерий>{,<критерий>}]) : = < числовое
значение > <имя мобильного компонента >
Модель Queue [2], использует мобильный компонент и воспроизводит четыре события (листинг 8.1).
Источник поставляет экспоненциально распределенные заявки с интервалом 15 вр. ед. Задания делятся на 3 класса по приоритетам 1, 2 и 3, причём приоритет 3 самый высокий.
Поступающие заявки выстраиваются в очередь по стратегии PFIFO с размещением в порядке убывания приоритета. Задания с одинаковыми приоритетами сортируются соответственно времени прибытия, т.е. используя FIFO стратегию. Сервер имеет одно место обслуживания, которое одновременно может обработать только одну заявку. Время обслуживания экспоненциально распределено со средним значением 10 ед. вр. После обслуживания задания покидают сервер и поступают в выходной накопитель, и при накоплении 4-х заявок происходит их сброс.
Описание мобильного компонента Customer, создаваемого с помощью команды NEW component, имеет вид
MOBILE
COMPONENT Customer DECLARATION
OF ELEMENTS STATE
VARIABLES DISCRETE Priority
(INTEGER) := 1 # приоритет END
OF Customer
и располагается за описанием базисного компонента Queue в соответствующем банке моделей.
1 BASIC COMPONENT Queue
2 MOBILE SUBCOMPONENTS OF CLASS Customer
3 DECLARATION OF ELEMENTS
4 STATE VARIABLES
5 DISCRETE
6 TArrive (REAL) := 0,
7 TWork (REAL) := 0,
8 Protocol (LOGICAL) := FALSE
9 RANDOM VARIABLES
10 Arrive (REAL) : EXPO (Mean := 15),
11 Work (REAL) : EXPO (Mean := 10),
Prio (INTEGER) : IUNIFORM (LowLimit:=1, UpLimit:=3)
14 LOCATIONS
15 WaitP (Customer1 ORDERED BY DEC Priority) := 0 Customer1,
16 Station (Customer1) := 0 Customer1,
Sink (Customer1) := 0 Customer1
18 DYNAMIC BEHAVIOUR
19 # Генерация заявок
20 WHENEVER T >= TArrive
21 DO
22 WaitP^ : ADD 1 NEW Customer1
23 CHANGING
24 Priority^ := Prio;
25 END
26 TArrive^ := T + Arrive;
27 IF Protocol
28 DO DISPLAY ("T= %f New Customer \n",T); END
29 END
30 # Начало обслуживания
31 WHENEVER (NUMBER(Station)=0) AND (NUMBER(WaitP)>0)
32 DO
33 Station^ : FROM WaitP GET Customer1[ 1];
34 TWork^ := T + Work;
35 IF Protocol
36 DO DISPLAY ("T= %f Customer enters Station \n",T); END
37 END
