
- •Практикум «Моделирование систем в среде AnyLogic 6.4.1»
- •Введение
- •1. Дискретно – событийное моделирование
- •1.1. Моделирование колебательного процесса
- •Построение модели
- •Запуск модели
- •Размещение графика
- •Настройка презентации модели
- •Определение областей просмотра
- •1.2. Контрольные задания
- •2. Анимация презентации
- •2.1. Движение объекта по заданной траектории
- •2.2. Контрольное задание «Движение по параболе»
- •2.3. Модель «Жизнь»
- •2.4. Контрольное задание «Фигуры»
- •3. Реагирующие системы
- •3.1. Модель светофора для управления движением
- •3.2. Модель пешеходного перехода
- •3.3. Контрольное задание “Переход, управляемый пешеходом”
- •3.4. Контрольное задание “Модель кодового замка”
- •3.5. Модель трех разрядного счетчика
- •3.6. Контрольное задание «Запуск события по истечении контрольного времени»
- •4. Системная динамика
- •4.1. Модель реализации продукта по Бассу
- •4.2. Контрольное задание «Учет повторных покупок»
- •4.3. Контрольное задание «Модель распространения эпидемии»
- •4.4. Моделирование агентов
- •Моделирование покупки товара под влиянием рекламы
- •Сбор статистики
- •Учет влияния общения между потребителями
- •4.5. Контрольное задание «Учет повторных покупок агентами»
- •4.6. Взаимодействие активных классов
- •Активный класс сектора населения
- •Активный класс сектора жилищного строительства
- •Настройка корневого объекта модели
- •4.7. Контрольное задание «Визуализация модели динамики численности населения»
- •5. Задания для самостоятельной работы
- •Приложения Основные сведения о языке программирования Sun Java Классы Java
- •Типы данных Java
- •Присваивание значений в выражениях
- •Операции Java Арифметические операции языка
- •Приоритет в выражениях
- •Управляющие операторы
- •Массивы и их задание
- •Обработка строк
- •Класс Math. Математические функции
- •Обработка исключительных ситуаций
- •Цвет и его кодирование
- •Элементы управления и фигуры презентации Текстовое поле
- •Элемент слайдер
- •Командная кнопка
- •Элемент «Текст»
- •Элемент «Прямоугольник»
- •Список литературы
4.2. Контрольное задание «Учет повторных покупок»
Создайте модель, которая моделирует процесс реализации продукции по Бассу с учетом, того что продукт, купленный потребителем со временем приходит в негодность и потребитель покупает новый продукт на его замену.
Методические указания:
Модель реализации продукта примет вид:
Здесь DiscardRate – новый поток, отражающий повторные покупки. Для его определения в модели Басса вводится формула:
DiscardRate=f(AdoptionRate,ProductLifeTime).
Где: ProductLifeTime=2(года) – параметр, который задает время годности продукта в процессе его использования пользователем.
Функция f представляет собой задержку и вычисляется в зависимости от двух аргументов: основного потока и константы, которая характеризует задержку – время жизни продукта.
Чтобы получить такую функцию в AnyLogic нужно использовать встроенную функцию delay.
Модель реализации продукта примет вид, показанный на рисунке 4.6.
Рис.4.6. Модель, созданная с учетом совершения повторных покупок
Поток DiscardRate моделирует интенсивность повторных покупок по формуле:
Протестируйте модель. Динамика процессов модели должна соответствовать рисунку 4.7.
Рис.4.7. Реализация продукта, с учетом повторных покупок
На втором графике показана также динамика изменения интенсивности повторных покупок Discard rate.
4.3. Контрольное задание «Модель распространения эпидемии»
Постройте модель распространения эпидемии. Модель описывается системой уравнений:
Здесь get_stick – интенсивность протекания заболевания, get_well – интенсивность выздоровления. Параметры infection_rate=0.00218 и recovery_rate=0.5 – факторы, влияющие на процесс заболевания и выздоровления.
Накопители:
susceptible – не заболевшие;
infected – инфицированные;
recovered – выздоровевшие.
Постройте временные графики для трех накопителей. Динамика изменения процесса эпидемии показана на рисунке 4.8.
Рис. 4.8. Динамические процессы протекания заболевания
4.4. Моделирование агентов
Требуется построить динамическую модель реализации продукции, используя технологию агентного моделирования.
Создайте новую модель. При создании модели выберите шаблон агентной модели, так как это показано на рисунке 4.9.
Рис. 4.9. Создание модели по шаблону
После перехода к следующему шагу следует задать свойства агента, так как это показано на рисунке 4.10.
Рис.4.10. Задание свойств агента.
Затем на следующем шаге нужно задать свойства агентного пространства и анимации в соответствии с рисунком 4.11.
Рис. 4.11. Задание свойств пространства агентов
На следующем шаге нужно задать свойства сети, так как это показано на рисунке 4.12.
Рис.4.12 Параметры сети агентов
Последний шаг конфигурации модели заключается в задании поведения агентам, так как это показано на рисунке 4.13.
Рис.4.13. Задание поведения агента
Моделирование покупки товара под влиянием рекламы
На дереве проекта выберите активный класс Person. Настройте конечный автомат (стейчарт) объекта в соответствии с рисунком 4.14.
Рис.4.14. Модель класса Person
Цвет заливки состояний – серого цвета.
Действие при входе для состояния PotentialAdopter:
person.setFillColor(new Color(0,0,255));
Потенциальные потребители будут отображаться синим цветом.
Действие при входе для состояния Adopter:
person.setFillColor(new Color(255,0,0));
Потребители товара будут отображаться красным цветом.
Добавьте параметр AdEffectivenes=0.011, который задает влияние рекламы на процесс приобретения товара.
Переход выполняется с заданной интенсивностью равной параметру.
Настройте эксперимент. Модельное время измеряется в минутах, конечное время равно 8. Режим остановки в заданное время.
После запуска модели она будет иметь вид, показанный на рисунке 4.15.
Рис. 4.15. Модель после запуска