Имитационное моделирование
Имитационная модель воспроизводит поведение системы во времени, чтобы безопасно проводить эксперименты «что будет, если». Она особенно полезна, когда аналитическая формула слишком груба, а эксперимент на реальной системе дорог или опасен.
Виды
- дискретно-событийная модель — состояние меняется в моменты событий; подходит очередям и бизнес-процессам;
- системная динамика — исследует накопители, потоки и обратные связи;
- агентная модель — поведение целого возникает из правил отдельных агентов;
- Монте-Карло — многократные прогоны со случайными входами для оценки распределения результата.
Дискретно-событийный цикл
1. взять ближайшее событие из календаря;
2. перевести модельное время;
3. изменить состояние;
4. запланировать новые события;
5. записать показатели;
6. повторять до условия остановки.Как построить
- Сформулировать вопрос и метрики.
- Провести границу и выбрать уровень детализации.
- Задать входные распределения на реальных данных.
- Реализовать правила состояния и очередей.
- Верифицировать: правильно ли реализована задуманная модель.
- Валидировать: достаточно ли модель похожа на реальную систему для выбранного вопроса.
- Провести несколько независимых прогонов и оценить разброс.
- Проверить чувствительность к параметрам.
Ловушки
- принять среднее время за постоянное;
- не отбросить период прогрева;
- сделать вывод по одному запуску;
- подогнать параметры на тех же данных, которыми проверяется модель;
- добавить реализм, который не влияет на решение;
- забыть редкие, но дорогие отказы.
Имитация не предсказывает будущее точнее входных предположений. Её сильная сторона — сравнение сценариев на одной модели.
Связано: Методы статистического моделирования СМО, Динамические системы.
Самопроверка
- Чем верификация отличается от валидации?
- Почему средние значения искажают модель очереди?
- Зачем несколько прогонов с разными случайными последовательностями?