ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.02.2024
Просмотров: 370
Скачиваний: 4
СОДЕРЖАНИЕ
1.1. Моделирование колебательного процесса
1.4. Контрольное задание «Фигуры»
1.5. Анимация поведения агента
2.1. Модель светофора для управления движением
2.2. Модель пешеходного перехода
2.3. Контрольное задание “Переход, управляемый пешеходом”
2.4. Контрольное задание “Модель кодового замка”
2.5 Модель трех разрядного счетчика
2.6. Контрольное задание «Запуск события при получении контрольного значения»
3. Моделирование элементов цифровых систем управления
3.2. Модели элементарных логических операций
4.1. Модель реализации продукта по Бассу
4.2. Контрольное задание «Учет повторных покупок»
4.3. Контрольное задание «Модель распространения эпидемии»
4.4. Взаимодействие активных классов
4.5. Контрольное задание «Визуализация модели динамики численности населения»
5.3. Учет влияния общения между потребителями
6. Задания для самостоятельной работы
Основные сведения о языке программирования Java
Класс Math. Математические функции
Обработка исключительных ситуаций
Практикум «Моделирование систем в среде AnyLogic 8»
Часть 1
МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ(МАДИ)
©Мезенцев К.Н
Доцент кафедры автоматизированных систем управления
Москва 2018
Оглавление
Введение 4
1. Событийное моделирование 6
1.1. Моделирование колебательного процесса 6
1.2. Контрольные задания 23
1.3. Модель «Жизнь» 25
1.4. Контрольное задание «Фигуры» 30
1.5. Анимация поведения агента 30
Контрольные вопросы 38
2. Реагирующие системы 39
2.1. Модель светофора для управления движением 39
2.2. Модель пешеходного перехода 44
2.3. Контрольное задание “Переход, управляемый пешеходом” 47
2.4. Контрольное задание “Модель кодового замка” 48
2.5 Модель трех разрядного счетчика 51
2.6. Контрольное задание «Запуск события при получении контрольного значения» 56
Контрольные вопросы 57
3. Моделирование элементов цифровых систем управления 58
3.1. Семи сегментный дисплей. 58
3.2. Модели элементарных логических операций 64
3.3. Полный сумматор 69
Контрольные вопросы 72
4. Системная динамика 73
4.1. Модель реализации продукта по Бассу 73
4.2. Контрольное задание «Учет повторных покупок» 76
4.3. Контрольное задание «Модель распространения эпидемии» 78
4.4. Взаимодействие активных классов 79
4.5. Контрольное задание «Визуализация модели динамики численности населения» 87
Контрольные вопросы 88
5. Агентное моделирование 89
5.1. Популяция агентов 89
5.2. Поведение агентов 95
5.3. Учет влияния общения между потребителями 98
Контрольные вопросы 100
6. Задания для самостоятельной работы 101
Приложение 107
Основные сведения о языке программирования Java 107
Классы Java 107
Типы данных Java 110
Присваивание значений в выражениях 111
Операции Java 112
Приоритет в выражениях 114
Управляющие операторы 114
Массивы и их задание 117
Обработка строк 118
Класс Math. Математические функции 119
Обработка исключительных ситуаций 121
Цвет и его кодирование 122
Элементы управления и фигуры презентации 122
Текстовое поле 122
Элемент слайдер 123
Командная кнопка 124
Элемент «Текст» 124
Элемент «Прямоугольник» 124
Ординарные события AnyLogic 125
Динамические события AnyLogic 127
Список литературы 129
Введение
Практикум по дисциплине «Моделирование систем» предназначен для освоения технологий моделирований различных объектов и устройств с помощью программного продукта AnyLogic версии 8.
В первой части практикума изучаются следующие технологии моделирования:
-
событийное моделирование; -
моделирование на основе метода системной динамики; -
агентное моделирование.
Практикум состоит из шести глав.
В первой главе рассматривается технология построения событийных моделей физических процессов на примере затухающих и не затухающих гармонических колебаний. Приводится описание модели клеточного автомата.
Во второй главе изучаются правила построения моделей на основе конечных автоматов и механизма передачи сигналов между подсистемами модели через коммутационные порты. Рассматриваются модели светофоров, счетчиков и кодирующих устройств.
Третья глава практикума преследует цель изучения правил моделирования элементов цифровых систем на основе передачи сообщений через порты модели. В этой главе рассмотрены модели логических вентилей и модель двоичного сумматора.
Четвертая часть практикума служит для изучения моделирования макро поведения систем на основе метода системной динамики. В качестве примера рассматриваются модели реализации товаров, услуг и модель изменения численности городского населения.
Пятая глава изучает правила построения моделей систем, поведение которых зависит от взаимодействия сущностей – агентов. Рассмотрена агентная модель взаимодействия потребителей товаров и услуг на рынке.
Каждая глава практикума содержит несколько заданий с необходимыми указаниями для их выполнения. Для контроля предлагается выполнить дополнительные задания.
В практикуме содержится раздел, в котором даются задания для самостоятельной работы.
В приложении приводятся сведения по объектно-ориентированному языку программирования Java в объеме необходимом для выполнения заданий практикума. Приводятся также сведения о методах объектов AnyLogic, которые используются при построении моделей заданий практикума.
1. Событийное моделирование
1.1. Моделирование колебательного процесса
Постановка задачи. Построить модель для исследования процесса незатухающих гармонических колебаний. Колебательный процесс описывается дискретным уравнением гармонических колебаний следующего вида:
где:
f – фаза колебаний;
f0 – начальная фаза;
w – угловая частота;
t[n] – дискретное время;
a – амплитуда колебаний.
Дискретное время вычисляется по формуле:
t[n]=T0n, где n=0,…,
здесь T0 – период дискретизации модели
Построение модели
Программа загружается путем выбора ссылки на нее в секции AnyLogic 8 Personal Learning Edition.
Рис. 1.1. Открытие программы
После загрузки программы следует для удобства работы привести ее окно к виду, показанному на рисунке.
Если какого либо окна нет, то оно выводится с помощью пункта меню «Вид» (рисунок 1.2, 1.3). Главными рабочими окнами программы являются:
«Проекты» – отображение структуры модели в виде дерева элементов;
«Палитра» – набор инструментов для построения модели;
«Свойства» – окно настройки свойств элементов модели;
Рис. 1.2. Окно программы
Процесс создания модели начинается с выбора команды «Создать» пункта меню «Файл». Далее выбирается команда «Модель» (рисунок 1.4).
Рис. 1.3. Пункт меню «Вид»
Модели задают имя по смыслу моделирования, выбирают требуемый носитель и папку, где будет размещена модель. Выбирают модельное время. Для модели колебаний нужно указать имя ModelSinus (рисунок 1.5), модельное время секунды и выбрать свою папку. Процесс создания новой модели завершается нажатием кнопки «Готово».
Рис.1.4. Окно первой фазы создания новой модели
Рис.1.5. Окно выбора типа модели
При моделировании в среде AnyLogic главным объектом модели является корневой агент Main – формируется автоматически. Он может быть переименован при создании модели. Такой объект при моделировании так же называют корневым (root). Структура модели показана на рисунке 1.6.
Рис. 1.6. Модель, структура
Модель строится в графическом поле этого агента с помощью соответствующих инструментов палитры. Разместим в графическом поле агента переменные и параметры. При моделировании нужно определить, какие значения модели будут представлены параметрами, а какие переменными. Переменные - изменяющиеся значения в процессе моделирования. В качестве параметров выбирают значения, которые остаются постоянными в течение периода моделирования, либо они могут изменяться исследователем модели для определения их влияния на рассчитываемые значения переменных.
В таблице 1.1. Приводится классификация переменных и параметров модели.
Таблица 1.1
Модельные характеристики
Характеристика модели | Тип характеристики |
Амплитуда колебаний (a) | Параметр |
Частота колебаний (w) | Параметр |
Период дискретизации (t0) | Параметр |
Начальная фаза (phi0) | Параметр |
Дискретное время (tn) | Переменная |
Текущее значение величины колебательного процесса (xn) | Переменная |
Счетчик дискретных шагов процесса (n) | Переменная |
При моделировании будем считать, что начальная фаза колебаний равна нулю. Период дискретизации t0 примем равным 0.1 секунде.
Для размещения в графическом поле агента Main нужных элементов следует использовать вкладку палитры
«Агент», секция «Компоненты агента». Используя технологию Drag & Drop, следует перенести в поле объекта пиктограмму «Параметр» и пиктограмму «Переменная» и разместить их, так как это показано на рисунке 1.7.
Рис.1.7. Переменные и параметры модели
Для задания свойств переменным и параметрам следует использовать окно «Свойства». При работе с переменными следует задать следующие основные свойства: «Имя», «Тип» и «Начальное значение». Для переменных задается «Значение по умолчанию» вместо свойства «Начальное значение» для параметров. В окне свойств нужно использовать для задания этих значений вкладку «Основные». Зададим имена переменным и параметрам в соответствии с рисунком 1.7, в таблице 1.2 приводится описание свойств.
Таблица 1.2
Переменные и параметры
Имя | Начальное значение/Значение по умолчанию | Тип |
a | 1 | double |
w | 0.25 | double |
t0 | 0.1 | double |
phi0 | 0 | double |
tn | 0 | double |
xn | 0 | double |
n | 0 | int |
Чтобы активизировать процесс моделирование в среде AnyLogic нужно использовать технологию управления процессом моделирования с помощью событий. В агента Main следует перенести из раздела палитры «Основная» пиктограмму «Событие». Для решения задачи моделирования следует настроить свойства этого элемента в соответствии с таблицей 1.3.
В результате вид графического поля класса Main примет вид, показанный на рисунке 1.8.
Рис.1.8. Размещение события
Таблица 1.3
Элементы класса Main
Свойство | Значение |
Имя | event |
Тип события | По таймауту |
Режим | Циклический |
Время первого срабатывания | time() |
Период | t0 |
Действие | getProc(); |