- •Введение
- •Лабораторная работа № 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. Просмотр результатов моделирования.
Задание и порядок выполнения работы
Составить структурную схему иерархической имитационной модели CedarBog экологической системы с базисными компонентами: Sun, Natur, Lake, Environ, Organic с описанием всех переменных состояния и сенсорных переменных модели. Компонент Natur содержит подкомпоненты: plants (растения), herbivores (травоядные), carnivores (хищники), а компонент Lake – подкомпоненты layer1 - layer 3. Компоненты environ (окружающая среда) и organic (донные отложения) находятся на одном уровне с компонентами Natur и Lake.
Составить рабочие версии описания базисных компонентов двух смежных иерархических уровней: sun (солнце), plants (растения), herbivores (травоядные), carnivores (хищники), environment (окружающая среда) и organic (донные отложения) и инсталлировать общую модель системы с помощью двух компонентов верхнего уровня Lake_High и CedarBog_High.
В имеющуюся многоуровневую модель CedarBog добавить 4-й слой layer 4 с параметрами f:=0.4; инициализировать константы.
Запустить компонент Lake как независимый с начальным значением сенсорной переменной sun = 95,9. Посмотреть результаты имитации для переменных состояния sun.
Дополнить двухуровневую модель изменением солнечной активности по сезонам в году с генерацией случайного состояния погоды по дням по заданным законам распределения вероятностей.
Вопросы для самопроверки
1. Что такое декомпозиция модели?
2. Что дает использование многокомпонентных моделей?
3. Структура компонента верхнего уровня в иерархических моделях.
4. Для чего служат сенсорные переменные и примеры их использования?
5. Формы определения связей между переменными состояния и сенсорными переменными и могут ли многокомпонентные модели не использовать сенсорные переменные?
6. В чем различие объектно- и агентно-ориентированных моделей?
Требования к отчету
Отчет должен содержать задание с описанием моделируемой системы и среды, описание событий и алгоритмов динамики состояния, структурную блок-схему и MDL-описания базисных и мобильных компонентов и модели в целом, диалоговый интерфейс и формы представления данных с анализом результатов имитационного моделирования.
Литература
1. Ивашкин Ю.А. Мультиагентное имитационное моделирование больших систем : учебное пособие / Ю.А. Ивашкин. – М. : МГУПБ, 2008. – 238 с.
2. Шмидт Б. Искусство моделирования и имитации. Введение в универсальную имитационную систему Simplex3 / Б. Шмидт; перевод с немецкого под редакцией Ю.А. Ивашкина и В.Л. Конюха. – Ghent, Belgium, 2003. – 550 с.
3. Schmidt B. The Art of modelling and simulation / B. Schmidt. – SCS - Europe BVBA, Ghent, Belgium, 2001. – 504 c.
Лабораторная работа № 11 собственные функциональные компоненты
SIMPLEX- MDL
Цель работы – создание внутренних функций-процедур и функциональных компонентов Simplex-MDL, выполняющих повторяющиеся громоздкие вычисления, их описание и включение в имитационные модели интеллектуальных агентов и сложных систем.
Теоретическое введение
Процедурные составляющие языка Simplex-MDL выделяются в отдельные функциональные компоненты в следующей форме:
FUNCTION <имя компонента>
[MOBILE SUBCOMPONENTS of CLASS <имя мобильного компонента>]
[USE OF UNITS]
[LOCAL DEFINITION]
[DECLARATION OF SUBFUNCTIONS]
DECLARATION OF ELEMENTS
[CONSTANTS ]
INPUT PARAMETER[S]
OUTPUT PARAMETER[S]
[LOCAL VARIABLES]
[RANDOM VARIABLES]
<процедурная часть>
END OF <имя компонента>
В раздел объявления элементов модели включаются в заданном порядке константы, параметры ввода-вывода, локальные и случайные переменные. Группы элементов, отмеченных в квадратных скобках, могут быть пропущены, но заданный порядок объявления должен быть сохранен. Локальные переменные действуют только в функциональных компонентах и используются для хранения промежуточных результатов.
Аналогично функции-процедуре входные параметры – это актуальные параметры обращения (как минимум один), а выходные – результирующие параметры, возвращаемые в место вызова с помощью оператора RETURN.
Процедурная часть начинается с ключевого слова BEGIN и использует указатели для локальных переменных и параметров вывода, а также операторы DISPLAY, IF, циклы FOR и WHILE:
LOOP <имя цикла>
WHILE <условие>
REPEAT
<тело цикла>
[EXIT <имя цикла>]
END LOOP <имя цикла>
Цикл повторяется пока условие истинно и при его невыполнении заканчивается по команде EXIT.
Функциональный компонент объявляется в разделе LOCAL DEFINITION базисного компонента после ключевых слов DECLARATION OF SUBFUNCTIONS c указанием имени и интерфейса по форме:
< имя функции > (< тype > : <Inputparameter1> {, (< тype >
< Inputparameter >} → <тype outparameter1> {, <тype outparameter> })
Организация вызова зависит от числа возвращаемых параметров. В случае одного параметра используется указатель функции, который может включаться в любой оператор. Возвращение более одного параметра соответствует процедуре - подпрограмме в алгоритмическом языке.
При объявлении функции в базисном компоненте указываются ее формальные параметры, их тип (real, integer, logical, location, array) и единицы измерения.
Фактические параметры задаются при вызове функции в указателе или операторе вызова. При этом тип, порядок и единицы измерения должны быть одинаковыми. Для гарантии соответствия проводится проверка на совместимость между объявлениями и вызовом. При этом проверяется число, тип и размерность параметров ввода-вывода, а также исключается возможность использования случайных переменных в качестве входных параметров при решении дифференциальных уравнений.
Рассмотрим пример MDL-функции, выполняющей в модели CedarBog очистку озера от органических отложений:
BASIC COMPONENT Organic
USE OF UNITS
TIMEUNIT = [a]
LOCAL DEFINITIONS
DECLARATION OF SUBFUNCTIONS # Объявление MDL -функции
Sbros (REAL[t],REAL[t] --> REAL[t],REAL[t])
DECLARATION OF ELEMENTS
STATE VARIABLES
CONTINUOUS
o (REAL[t]) := 0 [t],
omax (REAL[t]) := 200 [t]
SENSOR VARIABLES
CONTINUOUS
p (REAL[t]),
h (REAL[t]),
c (REAL[t])
DYNAMIC BEHAVIOUR
DIFFERENTIAL EQUATIONS
o' := 2.55[1/a] * p + 6.12[1/a] * h + 1.95[1/a] * c ;
END
ON ^o >= omax ^
DO
(o^, omax^) := Sbros (o,omax); # Вызов внутренней MDL -функции
END
END OF Organic
Внутренняя MDL- функция к компоненту Organic:
FUNCTION Sbros
USE OF UNITS
TIMEUNIT = [a]
DECLARATION OF ELEMENTS
INPUT PARAMETERS # Объявление входных параметров функции
In1 (REAL[t]) ,
In2 (REAL[t])
OUTPUT PARAMETERS # Объявление выходных параметров
Out1 (REAL[t]),
Out2 (REAL[t])
BEGIN
Out1:= 0.2* In 1; # Тело процедуры - функции
Out2:= 3* In2 / 2;
RETURN
END OF Sbros
Данная MDL-функция описывает событие очистки озера при накоплении органических отложений о больше некоторой критической массы omax с выходными параметрами Out1, Out2.
Вызов функции в базисном компоненте осуществляется оператором
(o^,omax^) := Sbros(o,omax); .
