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

Статистическое моделирование очереди нужно, когда аналитическая модель вроде M/M/1 не отражает реальные распределения, приоритеты, пакеты, таймауты или сеть из нескольких узлов.

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

Минимальные события:

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

Состояние включает очередь, занятые каналы и накопленную статистику.

Входные данные

Не подставляю только средние. По наблюдениям оцениваю:

  • распределение интервалов между заявками;
  • распределение времени обслуживания;
  • зависимость от типа заявки;
  • суточную нестационарность;
  • корреляцию и пакетность;
  • вероятность повтора и отказа.

Если данных мало, моделирую несколько правдоподобных сценариев и отдельно показываю чувствительность результата.

Эксперимент

  1. Выбрать период прогрева, не включаемый в итог.
  2. Выполнить независимые прогоны с разными seed.
  3. Для сравнения вариантов использовать одинаковые входные случайные последовательности.
  4. Собирать среднее, перцентили, вероятность отказа и загрузку.
  5. Строить доверительный интервал, а не одно число.

Для средних результатов прогонов :

Интервал отражает случайность симуляции, но не ошибку самой модели.

Проверка

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

Связано: Теория массового обслуживания, Имитационное моделирование.

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

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