Подготовка курса Имитационное моделирование
Подготовка курса Имитационное моделирование
2024-12-01
·
2 мин. для прочтения
Подготовка курса Имитационное моделирование.
Содержание
1 Прагматика
1.1 Предыдущий вариант курса
- Предыдущая инкарнация курса называлась Моделирование информационных процессов.
- В рамках курса предлагались несколько подходов к имитационного моделирования.
- Каждый метод демонстрировался на базе собственного средства моделирования.
- Однако для студентов оказалось сложным осваивать несколько программных средств.
1.2 Разрабатываемый вариант курса
- Предлагается использовать один язык программирования — Julia.
- Для каждого метода имитационного моделирования используется своя библиотека.
- Каждый метод демонстрируется на основе специфической задачи, а также на основе сквозной практической задачи.
- У нас две школы математического моделирования с разными математическими аппаратами:
- дифференциальные уравнения;
- теория массового обслуживания.
- Предлагается демонстрировать применение на основе следующих сквозных задач:
- модель SIR (дифференциальные уравнения);
- модель хищник–жертва (дифференциальные уравнения);
- ? (теория массового обслуживания).
- На каждый раздел имитационного моделирования предлагается выделить 3 лабораторных работы.
- 2 лабораторных работы на специфические задачи, 1 лабораторная работа на сквозные задачи.
- На каждую лабораторную работу по 2 задачи.
2 Используемые разделы имитационного моделирования
- дискретно-событийное моделирование;
- системная динамика;
- агентное моделирование;
- сети Петри.
3 Структура курса
3.1 Установка и настройка программного обеспечения
3.2 Сквозные задачи
- Описываются сквозные задачи.
- Сквозные задачи решаются с помощью методов аналитического моделирования.
- Две сквозных задачи:
- Модель SIR.
- Модель хищник-жертва.
3.3 Агентное моделирование
- Задачи типа взаимодействия множества агентов.
- Модель хищник-жертва:
- Маргаритковый мир:
- Пожар в лесу:
3.4 Сети Петри
- Перенос лабораторных с курса Моделирование информационных процессов.
- Хищник-жертва:
- SIR:
3.5 Дискретно-событийное моделирование
- Задачи теории массового обслуживания.
- Задача ремонта:
- Очередь M/M/c:
3.6 Системная динамика
- Пока не понятно.
- Будем делать позже.
4 Используемые библиотеки
4.1 Идеи реализации
- Идея лабораторных почерпнута из репозитория SIR model in Julia.
- Репозиторий: https://github.com/epirecipes/sir-julia
4.2 Аналитические методы
4.2.1 ModelingToolkit
- Репозиторий: https://github.com/SciML/ModelingToolkit.jl
- Документация: https://docs.sciml.ai/ModelingToolkit/stable/
4.2.2 Modia
- Репозиторий: https://github.com/ModiaSim/Modia.jl
- Документация: https://modiasim.github.io/docs/
4.3 Агентный подход
4.3.1 Agents.jl
- Репозиторий: https://github.com/JuliaDynamics/Agents.jl
- Документация: https://juliadynamics.github.io/Agents.jl
4.4 Сети Петри
4.4.1 Petri.jl
- Репозиторий: https://github.com/AlgebraicJulia/Petri.jl
4.4.2 AlgebraicPetri.jl
- Репозиторий: https://github.com/AlgebraicJulia/AlgebraicPetri.jl
- Документация: https://algebraicjulia.github.io/AlgebraicPetri.jl
4.5 Дискретно-событийное моделирование
4.5.1 ConcurrentSim.jl
- Репозиторий: https://github.com/JuliaDynamics/ConcurrentSim.jl
- Документация: https://juliadynamics.github.io/ConcurrentSim.jl
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.