- •Введение
- •Лабораторная работа № 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. Просмотр результатов моделирования.
2. Создание процедуры на языке edl, реализующей запуск пользовательского интерфейса и передачу исходных данных переменным модели сводится к следующему.
2.1. В директории Procedures командой New Experiment Description контекстного меню создается новый эксперимент с описанием процедуры на языке Simplex-EDL:.
Для этого вводится оператор открытия процедуры EXPERIMENT и задается имя, например, Experiment.
EXPERIMENT Experiment
2.2. Для объявления внешней программы Delphi и ее вызова в разделе DECLARATION OF PROGRAMS необходимо ввести ссылку на программу Lotka.exe и указать типы входных и выходных параметров в следующей синтаксической форме:
DECLARATION OF PROGRAMS
<имя функции> (<типы входа> --> < типы выхода >)
DECLARATION OF PROGRAMS
Lotka(LOGICAL --> REAL,REAL,REAL,REAL,REAL,REAL,
REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL)
Если внешняя программа используется только для создания интерфейса, то входные параметры отсутствуют, но для соблюдения синтаксиса объявления внешней программы вводится любая фиктивная переменная например, Run (LOGICAL) := TRUE.
2.3. В разделе DECLARATION OF VARIABLES объявляются тип, название и исходное значение. переменных EDL, в которые будут переданы исходные данные из внешней программы
DECLARATION OF VARIABLES
Run (LOGICAL) := TRUE,
XE1(REAL):=0, XE2(REAL):=0, XE3(REAL):=0,
RE1(REAL):=0, RE2(REAL):=0, RE3(REAL):=0,
BE1_1 (REAL) := 0, BE1_2 (REAL) := 0, BE1_3 (REAL) := 0,
BE2_1 (REAL) := 0, BE2_2 (REAL) := 0, BE2_3 (REAL) := 0,
BE3_1 (REAL) := 0, BE3_2 (REAL) := 0, BE3_3 (REAL) := 0,
TE (REAL) := 2
2.4. Оператором BODY OF EXPERIMENT открывается тело процедуры с последовательным включением команд:
- снятия выбора модели UNSELECT,
- обнуления банка моделей RESETBANK <priv/LotkaVolterra>;
- проверки синтаксиса компонента
CHECK <priv/LotkaVolterra/BiosystemProc/Version0>;
- выбора банка моделей SELBANK<priv/LotkaVolterra>;
- инсталляции модели, например, Biosystem на основе компонента
LotkaVolterra - CRMODEL< ModBiosystem>, < LotkaVolterra >;
2.5. Активация модели осуществляется при помощи команды ACTIVATE, например ACTIVATE < ModBiosystem>;
2.6. Создание эксперимента.
Для этого необходимо ввести команду CREXP и название эксперимента. Например, CREXP BiosystemEx.
Выбор эксперимента осуществляется командой SELEXP. Например, SELEXP BiosystemEx.
2.7. Организация запуска эксперимента следует по команде CRRUN с указанием номера запуска и названия инсталлированной модели, например, CRRUN Run1, ModBiosystem.
Выбор запуска осуществляется командой SELEXP, например SELRUN Run1.
2.8. Создание обсервера эксперимента.
Для этого с помощью команды ADDVAR OBSCOMPLETE необходимо ввести название наблюдателя, исходную и конечную точки наблюдения и временной шаг. Далее оператором ADDVAR выбираются наблюдаемые переменные модели (в случае многоуровневой модели указывается полный путь доступа к данной переменной).
ADDVAR OBSCOMPLETE < ObsVol >, 0, 100, 0.1;
ADDVAR <ObsVol>, <X1>, <X2>, <X3>;
2.9. Присвоение значений переменных из внешней программы переменным EDL.
Для этого каждой переменной эксперимента присвоить соответствующее значение, полученное от внешней программы. В случае необходимости, воспользоваться оператором цикла LOOP. Синтаксис присвоения выглядит следующим образом:
(XE1, XE2, XE3, RE1, RE2, RE3, BE1_1, BE1_2, BE1_3,
BE2_1, BE2_2, BE2_3, BE3_1, BE3_2, BE3_3, TE):=Lotka(Run);
2.10. Присвоение переданных значений EDL переменным MDL-модели.
Для этого необходимо прописать полный путь до переменной MDL модели и присвоить ей значение соответствующей переменной EDL с помощью команды SETVAR.
SETVAR <X1>, XE1; SETVAR <X2>, XE2; SETVAR <X3>, XE3;
SETVAR <R1>, RE1; SETVAR <R2>, RE2; SETVAR <R3>, RE3;
SETVAR <B1_1>, BE1_1; SETVAR <B1_2>, BE1_2;
SETVAR <B1_3>, BE1_3; SETVAR <B2_1>, BE2_1;
SETVAR <B2_2>, BE2_2; SETVAR <B2_3>, BE2_3;
SETVAR <B3_1>, BE3_1; SETVAR <B3_2>, BE3_2;
SETVAR <B3_3>, BE3_3;
2.11. Запуск процесса моделирования.
Для этого необходимо ввести команду SIMULATE TO и количество машинных тактов, в течение которых должна проходить имитация.
SIMULATE TO, TE; # До времени TE
2.12. Вывод наблюдаемых данных.
Для это при помощи команды DRAW, необходимо ввести полный путь к переменной с указанием созданного наблюдателя и указать вариант представления present=Line - для графического представления, или present=Table - для представления результатов в виде таблицы. Например: DRAW <ObsVol#/BiosystemProc/X1>, <ObsVol#/BiosystemProc/X2>,
<ObsVol#/BiosystemProc/X3>, present=Line;
Также можно использовать оператор DISPLAY, синтаксис которого аналогичен Simplex-MDL
2.13. Удаление эксперимента и модели
Если с моделью и экспериментом в дальнейшем не предполагается производить каких либо действий ее возможно удалить посредством команд DELEXP и DELMODEL. Например:
SELEXP BiosystemEx;
DELEXP BiosystemEx;
SELMODEL ModBiosystem;
DELMODEL ModBiosystem;
2.14. Закрытие тела процедуры.
Для этого необходимо ввести оператор END OF и название процедуры, которое должно совпадать с названием в п. 2.1.
Полное описание эксперимента для ввода исходных данных через интерфейс внешней программы Delphi на языке EDL представлено в листинге 1.
EXPERIMENT Experim DECLARATION OF PROGRAMS
Lotka(LOGICAL --> REAL,REAL,REAL,REAL,REAL,REAL, REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL)
DECLARATION OF VARIABLES Run (LOGICAL) := TRUE, XE1(REAL):=0, XE2(REAL):=0, XE3(REAL):=0, RE1(REAL):=0, RE2(REAL):=0, RE3(REAL):=0, BE1_1 (REAL) := 0, BE1_2 (REAL) := 0, BE1_3 (REAL) := 0, BE2_1 (REAL) := 0, BE2_2 (REAL) := 0, BE2_3 (REAL) := 0, BE3_1 (REAL) := 0, BE3_2 (REAL) := 0, BE3_3 (REAL) := 0, TE (REAL) := 2
BODY OF EXPERIMENT
UNSELECT; RESETBANK <priv/LotkaVolterra>; CHECK <priv/LotkaVolterra/BiosystemProc/Version0>; SELBANK <priv/LotkaVolterra>; CRMODEL <ModBiosystemProc>, <BiosystemProc>; ACTIVATE <ModBiosystemProc>; CREXP BiosystemProcEx; SELEXP BiosystemProcEx; CRRUN Run1, ModBiosystemProc; SELRUN Run1;
OBSCOMPLETE <ObsVol>, 0, 100, 0.001; ADDVAR <ObsVol>, <X1>, <X2>, <X3>;
(XE1, XE2, XE3, RE1, RE2, RE3, BE1_1, BE1_2, BE1_3, BE2_1, BE2_2, BE2_3, BE3_1, BE3_2, BE3_3, TE):=Lotka(Run);
SETVAR <X1>, XE1; SETVAR <X2>, XE2; SETVAR <X3>, XE3; SETVAR <R1>, RE1; SETVAR <R2>, RE2; SETVAR <R3>, RE3; SETVAR <B1_1>, BE1_1; SETVAR <B1_2>, BE1_2; SETVAR <B1_3>, BE1_3; SETVAR <B2_1>, BE2_1; SETVAR <B2_2>, BE2_2; SETVAR <B2_3>, BE2_3; SETVAR <B3_1>, BE3_1; SETVAR <B3_2>, BE3_2; SETVAR <B3_3>, BE3_3;
SIMULATE TO, TE;
DRAW <ObsVol#/BiosystemProc/X1>, <ObsVol#/BiosystemProc/X2>, <ObsVol#/BiosystemProc/X3>, present=Line;
SELEXP BiosystemProcEx;
DELEXP BiosystemProcEx; SELMODEL ModBiosystemProc; DELMODEL ModBiosystemProc;
END OF Experim
|
