Моделирование бизнес-процессов методом Монте-Карло

Что такое моделирование методом Монте-Карло?

Монте-Карло – это группа математических методов (далее «метод Монте-Карло»), которые используют генератор случайных чисел и применяют для моделирования процессов с неопределенностью. Они эффективны для расчета бизнес-рисков и прогнозирования неблагоприятных событий, например перерасхода средств или отставания от графика.

Американский ученый Станислав Улам
Станислав Улам

Метод был разработан американскими учеными Станиславом Уламом и Джоном фон Нейманом во время их секретной работы в рамках Манхэттенского проекта по созданию ядерного оружия в 1940-х годах. Само название «Монте-Карло» появилось из-за необходимости присвоить методу кодовое слово. Хотя метод имеет отношение к случайным величинам, назвали его так не случайно.

Коллега Улама, Николас Метрополис, предложил назвать разработанный метод в честь широко известного района княжества Монако. Существует предположение, что его вдохновила история о дяде Улама, который на деньги родственников играл в казино Монте-Карло. Название прижилось, а метод получил широкое распространение.

Сегодня Монте-Карло используется в моделировании и помогает более эффективно принимать решения и строить точные долгосрочные прогнозы.

Монте-Карло в Excel или AnyLogic?

Если задачу легко описать формулами, для моделирования с использованием Монте-Карло подойдут обычные электронные таблицы. Microsoft приводит примеры таких задач в своей статье «Общие сведения о моделировании Монте Карло в Excel». Компания описывает, как с учетом возможных значений спроса определить количество продукции, которое нужно закупить.

В основе моделей, созданных в Excel, — простые математические зависимости и формулы. Поэтому в такой модели эксперимент Монте-Карло — это многократная подстановка случайных чисел из распределения вероятностей в формулы, описывающие эту модель. Процесс повторяется до получения диапазона возможных значений.

Однако иногда задачу очень сложно или невозможно описать с помощью формул. Нужен другой подход. Тогда в дело вступает AnyLogic.

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

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

Подробнее о случайном распределении в моделях AnyLogic [англ., PDF, Глава 15] — в книге Андрея Борщева и Ильи Григорьева Big Book of Simulation Modeling.

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

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

Эксперимент Монте-Карло в AnyLogic и облачные вычисления

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

Дело в том, что для получения надежных результатов, эксперимент Монте-Карло в AnyLogic запускает модель много раз. А для большого количества запусков нужна быстрая компьютерная обработка данных. Это важно, если у вас сложная и динамическая модель, которой нужно больше времени на работу. В таких случаях вычислительная мощность играет ключевую роль. Если ее недостаточно, это ограничивает скорость выполнения экспериментов, и модель становится менее полезной для принятия решений.

Когда вы запускаете модели в AnyLogic, ПО автоматически определяет, сколько ядер у вашего процессора, и распределяет нагрузку между ними. Таким образом, запуски модели для эксперимента Монте-Карло будут выполняться параллельно. Для большей вычислительной мощности модели AnyLogic можно запускать в облаке. Там используются многоядерные процессоры группы серверов. Поэтому эксперимент со сложными имитационными моделями будет выполняться быстрее.

В AnyLogic Cloud для запуска эксперимента Монте-Карло используются облачные вычисления. Вот пример – модель сети колл-центров.

Настройки эксперимента Монте-Карло для этой модели смотрите в панели управления.

AnyLogic Cloud также поддерживает эксперимент Монте-Карло второго порядка со множеством итераций (запусков модели) и репликаций. В ходе эксперимента входным (регулируемым) и внутренним (нерегулируемым) параметрам модели присваиваются случайные значения в соответствии с распределением вероятностей.

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

Предположим, у банка, выдающего потребительские кредиты, недостаточно информации о доле онлайн и офлайн заявок. Эксперимент Монте-Карло второго порядка поможет проанализировать количество персонала для сценариев с разным соотношением заявок. Банк сможет использовать эти данные, чтобы лучше спланировать работу и подготовиться к непредвиденным обстоятельствам.

Облачная модель по обработке заявок на потребительские кредиты ниже показывает особенности эксперимента Монте-Карло второго порядка.

Модель обработки заявок на потребительские кредиты. Эксперимент Монте-Карло второго порядка смотрите в панели управления модели.

AnyLogic Cloud – облачная платформа для запуска имитационных моделей онлайн. Компании могут установить платформу на собственные или арендованные серверы, настроить ее под корпоративные стандарты безопасности и запускать модели в частном облаке. Онлайн-модели можно подключать к BI-платформам, расширять с помощью элементов веб-интерфейса, и управлять ими удаленно – все это с помощью RESTful API (читайте в наших блогах об API в AnyLogic Cloud на JavaScript и Python). AnyLogic Cloud также позволяет интегрировать облачную среду с IT-инфраструктурой компании для поддержки принятия оперативных решений.

Подробнее об эксперименте Монте-Карло в AnyLogic — в справке AnyLogic и AnyLogic Cloud.

Эксперимент Монте-Карло для бизнеса

Эксперимент Монте-Карло подходит для ряда бизнес-задач. Среди них — определить возможный спрос на продукцию или рассчитать бизнес-риски. Монте-Карло получил такое применения благодаря развитию компьютерных технологий. Поэтому чем больше компаний получают доступ к мощным многоядерным процессорам и облачным вычислениям, тем шире будет круг задач, которые можно решить с помощью Монте-Карло.

AnyLogic поддерживает эксперимент Монте-Карло для работы со сложным системами. Он также позволяет создавать нелинейные динамические модели для таких систем с помощью многоподходного моделирования. Для ускорения работы со сложными моделями можно использовать параллельную обработку данных и облачные вычисления. Результаты экспериментов можно выгружать разными способами, в том числе через API и настраиваемый пользовательский интерфейс.

Вы хотели бы узнать больше об имитационном моделировании с экспериментом Монте-Карло? Вам интересно, как с помощью AnyLogic можно решать сложные бизнес-задачи? Напишите нам.

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