Имитационное моделирование

Имитационная модель воспроизводит поведение системы во времени, чтобы безопасно проводить эксперименты «что будет, если». Она особенно полезна, когда аналитическая формула слишком груба, а эксперимент на реальной системе дорог или опасен.

Виды

  • дискретно-событийная модель — состояние меняется в моменты событий; подходит очередям и бизнес-процессам;
  • системная динамика — исследует накопители, потоки и обратные связи;
  • агентная модель — поведение целого возникает из правил отдельных агентов;
  • Монте-Карло — многократные прогоны со случайными входами для оценки распределения результата.

Дискретно-событийный цикл

1. взять ближайшее событие из календаря;
2. перевести модельное время;
3. изменить состояние;
4. запланировать новые события;
5. записать показатели;
6. повторять до условия остановки.

Как построить

  1. Сформулировать вопрос и метрики.
  2. Провести границу и выбрать уровень детализации.
  3. Задать входные распределения на реальных данных.
  4. Реализовать правила состояния и очередей.
  5. Верифицировать: правильно ли реализована задуманная модель.
  6. Валидировать: достаточно ли модель похожа на реальную систему для выбранного вопроса.
  7. Провести несколько независимых прогонов и оценить разброс.
  8. Проверить чувствительность к параметрам.

Ловушки

  • принять среднее время за постоянное;
  • не отбросить период прогрева;
  • сделать вывод по одному запуску;
  • подогнать параметры на тех же данных, которыми проверяется модель;
  • добавить реализм, который не влияет на решение;
  • забыть редкие, но дорогие отказы.

Имитация не предсказывает будущее точнее входных предположений. Её сильная сторона — сравнение сценариев на одной модели.

Связано: Методы статистического моделирования СМО, Динамические системы.

Самопроверка

  • Чем верификация отличается от валидации?
  • Почему средние значения искажают модель очереди?
  • Зачем несколько прогонов с разными случайными последовательностями?