Подготовка курса Имитационное моделирование

2024-12-01 · 6 мин. для прочтения
blog job

Подготовка курса Имитационное моделирование.

Содержание

1 Прагматика

1.1 Предыдущий вариант курса

  • Предыдущая инкарнация курса называлась Моделирование информационных процессов.
  • В рамках курса предлагались несколько подходов к имитационного моделирования.
  • Каждый метод демонстрировался на базе собственного средства моделирования.
  • Однако для студентов оказалось сложным осваивать несколько программных средств.

1.2 Разрабатываемый вариант курса

  • Предлагается использовать один язык программирования — Julia.
  • Для каждого метода имитационного моделирования используется своя библиотека.
  • Каждый метод демонстрируется на основе специфической задачи, а также на основе сквозной практической задачи.
  • У нас две школы математического моделирования с разными математическими аппаратами:
    • дифференциальные уравнения;
    • теория массового обслуживания.
  • Предлагается демонстрировать применение на основе следующих сквозных задач:
    • модель SIR (дифференциальные уравнения);
    • модель хищник–жертва (дифференциальные уравнения);
    • ? (теория массового обслуживания).
  • На каждый раздел имитационного моделирования предлагается выделить 3 лабораторных работы.
  • 2 лабораторных работы на специфические задачи, 1 лабораторная работа на сквозные задачи.
  • На каждую лабораторную работу по 2 задачи.

2 Используемые разделы имитационного моделирования

  • дискретно-событийное моделирование;
  • системная динамика;
  • агентное моделирование;
  • сети Петри.

3 Структура курса

3.1 Установка и настройка программного обеспечения

3.2 Сквозные задачи

  • Описываются сквозные задачи.
  • Сквозные задачи решаются с помощью методов аналитического моделирования.
  • Две сквозных задачи:
    • Модель SIR.
    • Модель хищник-жертва.

3.3 Агентное моделирование

3.4 Сети Петри

3.5 Дискретно-событийное моделирование

3.6 Системная динамика

  • Пока не понятно.
  • Будем делать позже.

4 Методические материалы

4.1 Лабораторные работы

  • Для выполнения лабораторных работ выделяются аудиторные и самостоятельные часы.
  • В часы самостоятельных занятий студенты могут работать как в аудитории (дисплейный класс), так и в любом другом месте (по желанию).
  • Университет обеспечивает студентов необходимой компьютерной техникой.
  • Студентам не запрещается также и использование собственной компьютерной техники (по желанию).
  • Предоставление видео-журнала работы входит в методические рекомендации по выполнению лабораторных работ.
  • Уровень доступа к видеоматериалам (публичный, по ссылке, приватный) студент выставляет сам (что является его личным решением).
  • Защита лабораторных работ перед широкой аудиторией не предусматривается.
  • Вопросы по выполнению лабораторных работ можно задать как во время аудиторных занятий, так и во время, предложенное преподавателями для консультаций.

4.2 БРС

АктивностьКоличествоБаллы за единицуОбщие баллы
А1 (работа 1)11616
А1 (работы 2–8)71284
100
  • Активности

    • А1: Лабораторные работы. Выполнение.
  • Разделы

    • Р1: Основы имитационного моделирования
    • Р2: Агентное моделирование
    • Р3: Аппарат сетей Петри
    • Р4: Дискретно-событийное моделирование
  • Темы
    • Подготовка стенда
    • Основные модели
    • Агентное моделирование
    • Реализация основных моделей в агентном подходе
    • Аппарат сетей Петри
    • Реализация основных моделей в подходе сетей Петри
    • Дискретно-событийное моделирование
    • Реализация основных моделей в дискретно-событийном подходе

5 Используемые библиотеки

5.1 Идеи реализации

5.2 Аналитические методы

5.2.1 ModelingToolkit

5.2.2 Modia

5.3 Агентный подход

5.3.1 Agents.jl

5.4 Сети Петри

5.4.1 Petri.jl

5.4.2 AlgebraicPetri.jl

5.5 Дискретно-событийное моделирование

5.5.1 ConcurrentSim.jl

6 Для СЭД

6.1 Подготовка стенда

6.1.1 Подготовка стенда

Знакомство с экосистемой Julia и пакетом DrWatson как основой для воспроизводимых вычислительных экспериментов. Настройка окружения проекта, управление зависимостями, организация директорий и параметризация запусков через конфигурационные файлы YAML. Создание шаблона проекта, который обеспечит единообразную структуру для всех последующих работ с моделями SIR и «хищник-жертва», а также автоматическое сохранение результатов.

6.1.2 Основные модели

Математическая постановка двух классических динамических систем: эпидемиологической модели SIR (Susceptible–Infected–Recovered) и экологической модели Лотки–Вольтерры «хищник-жертва». Для SIR разбираются система нелинейных ОДУ, базовое репродуктивное число R₀, порог эпидемии и аналитическое поведение компонент. Для «хищник-жертва» выводятся уравнения для численности жертв x и хищников y, поясняются фазовые портреты, стационарные точки, колебательный режим и правило Лотки–Вольтерры.

6.2 Агентное моделирование

6.2.1 Агентное моделирование

Введение в парадигму агентного моделирования, где глобальная динамика возникает из локальных правил поведения множества автономных сущностей. Обсуждаются понятия агента, среды, шага модельного времени, синхронного и асинхронного обновления. Рассматриваются примеры клеточных автоматов и базовые принципы реализации агентных моделей в Julia с акцентом на легковесные структуры, планирование событий и сбор статистики.

6.2.2 Реализация основных моделей в агентном подходе

Превращение моделей SIR и «хищник-жертва» в агентные симуляции. Для SIR агенты — индивидуумы с дискретными состояниями, взаимодействие происходит вероятностным заражением в случайно формируемой контактной сети или на решётке. Для «хищник-жертва» агентами становятся особи хищников и жертв на двумерном поле; задаются правила движения, размножения при накоплении энергии и гибели. Анализируются макроскопические кривые, получаемые усреднением по множеству прогонов, и сравниваются с решением ОДУ.

6.3 Аппарат сетей Петри

6.3.1 Аппарат сетей Петри

Формальный аппарат сетей Петри как инструмент моделирования параллельных дискретно-распределённых систем. Изучается структура сети: позиции, переходы, дуги, кратность дуг, маркировка (разметка). Разбирается правило срабатывания перехода, условия возбуждения, свойство живости, ограниченности, достижимости. Обсуждаются расширения классических сетей Петри — ингибиторные дуги, временны́е и стохастические сети Петри, пригодные для моделирования динамических процессов с задержками и вероятностными решениями.

6.3.2 Реализация основных моделей в подходе сетей Петри

Представление эпидемического процесса SIR в виде стохастической сети Петри, где позиции соответствуют численности восприимчивых, инфицированных и выздоровевших, а переходы — заражению и выздоровлению с экспоненциально распределёнными задержками. Модель «хищник-жертва» строится как трофическая сеть Петри: переходы «рождение жертвы», «поедание» (уничтожение жертвы с одновременным порождением хищника) и «естественная смерть хищника». Анализируются динамика маркировки, средние значения и сопоставление с точечными процессами.

6.4 Дискретно-событийное моделирование

6.4.1 Дискретно-событийное моделирование

Принципы дискретно-событийного подхода (DES), в котором состояние системы изменяется лишь в моменты наступления событий, а время между ними не моделируется. Рассматриваются три стратегии продвижения времени: событийная (event-driven), процессно-ориентированная и пошаговая с постоянным шагом. Детально изучаются календарь будущих событий, генерация случайных потоков, очередность одновременных событий и типичные паттерны реализации на Julia: использование priority queue, цикл обработки событий и сбор временных рядов.

6.4.2 Реализация основных моделей в дискретно-событийном подходе

Кодирование SIR и «хищник-жертва» как дискретно-событийных имитаций. В SIR событиями становятся моменты заражения и выздоровления, запланированные по соответствующим интенсивностям перехода, а при модификации следующего события пересчитываются актуальные интенсивности (алгоритм Гиллеспи для химических реакций). В модели «хищник-жертва» события включают размножение жертвы, поедание и смерть хищника; параметры событий зависят от текущих популяций. Проводится верификация полученных траекторий с эталонными ОДУ и обсуждаются стохастические эффекты исчезновения популяций.

7 Литература

  • Кутузов О. И., Татарникова Т. М. Моделирование систем. Имитационный метод. 2-е изд. — Лань, 2024.
  • Боев В. Д. Имитационное моделирование систем. — Юрайт, 2024.
  • Макаров В. Л., Бахтизин А. Р. и др. Агент-ориентированные модели: учебное пособие. — ГАУГН, 2022.
  • Питерсон Дж. Теория сетей Петри и моделирование систем. — М.: Мир, 1984
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы. Научные интересы относятся к области теоретической физики и математического моделирования.