Моделирование случайных событий в AnyLogic

Случайности вокруг нас

Неопределенность – неотъемлемая часть нашей повседневной жизни. Вот простой пример: представьте, что вы владеете кафе, где подают горячие напитки и вкусную выпечку. Его проходимость в среднем 100 человек в день.

Кафе открыто каждый день с 9 утра до 7 вечера. Однако, в один день первые посетители могут прийти в 10 утра, а в другой день – в 9:50; одновременно могут зайти два человека или целая компания. Ни одно из этих событий не дает нам информации о том, когда произойдет следующее.

Когда мы строим имитационные модели, мы хотим, чтобы они отражали реальное положение дел как можно точнее. Для этого нам нужно учесть случайные события в имитационной модели.

Как добавить элемент случайности в модель AnyLogic?

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

Из своего опыта вы знаете, что это занимает минимум 10, чаще всего 20, но максимум – 40 минут. Как это можно смоделировать? В AnyLogic это задается с помощью вероятностного распределения.

Распределение вероятностей и эмпирическое распределение

В AnyLogic доступны распределения вероятностей для моделирования недетерминистических процессов, таких как изменение погоды, изменение спроса или любых других случайных событий. Программа поддерживает различные типы распределений: равномерное, треугольное, экспоненциальное и другие.

Но что, если ни одна из стандартных функций распределения не подходит? Вы можете задать собственное (эмпирическое) распределение и использовать его в своей модели.

Внутренние источники случайности в AnyLogic

Существуют 2 типа моделей: стохастические и детерминированные.

Детерминированная модель не имеет элемента случайности. Она запускается с одними и теми же входными параметрами и выдает одни и те же выходные данные. Например, если среди 10 000 особей шанс выжить в течение одного года есть у 95%, то мы можем утверждать, что 9 500 из них выживут.

У стохастической модели, наоборот, элемент случайности есть. Таким образом, каждый ее запуск (даже при одинаковых входных данных) будет выдавать разный результат.

Источники случайности внутри и за пределами модели. Эксперимент Монте-Карло
Источники случайности внутри и за пределами модели. Эксперимент Монте-Карло (нажмите, чтобы увеличить)

Вы не сможете получить репрезентативные результаты, если запустите стохастическую модель только один раз. Вам понадобится запустить ее несколько раз, даже если входные параметры останутся теми же. Такая серия запусков модели со стохастикой называется экспериментом Монте-Карло.

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

Читайте также: Внутренние источники случайности в различных видах моделей AnyLogic [англ., PDF]

Генераторы случайных чисел

Компьютер – это детерминированное устройство. Тогда откуда в имитационных моделях берется случайность?

У программы нет реальной стохастики (случайности) до тех пор, пока она не подключена к внешнему физическому генератору случайных чисел. Однако, мы можем использовать псевдо-случайность, созданную с помощью генератора псевдослучайных чисел.

Генераторы псевдослучайных чисел основаны на детерминированных алгоритмах, которые производят длинные последовательности на вид случайных результатов. Эти результаты на самом деле полностью определяются более коротким начальным значением, известным как «начальное число», и являются периодическими. Поэтому их называют генераторами псевдослучайных чисел.
– «Большая книга по имитационному моделированию» – Глава 15 – Случайность в моделях AnyLogic (на англ.).

Воспроизводимые и уникальные эксперименты

Несмотря на то, что генераторы псевдослучайных чисел не дают «истинно случайных» числовых значений, у них есть важная особенность. В зависимости от выбранного начального числа они генерируют уникальную или одну и ту же числовую последовательность при каждом запуске модели.

Благодаря этому вы можете проводить как уникальные (случайные), так и воспроизводимые эксперименты со стохастическими моделями в AnyLogic.

Воспроизводимые эксперименты полезны, когда вы хотите работать только над одним сценарием или отладить свою модель. При разработке модели лучше поддерживать воспроизводимость прогонов, поскольку стохастика затрудняет отслеживание ошибок и понимание того, что их вызвало.
– Руслан Ибрагимов, Команда поддержки пользователей AnyLogic.

Узнайте, как настроить модель так, чтобы она выдавала случайные или воспроизводимые результаты:



Еще больше обучающих видео смотрите на нашем YouTube-канале.


Чтобы не пропустить новые статьи, подписывайтесь на нашу ежемесячную рассылку.


Похожие материалы