蒙特卡罗模拟商业

什么是蒙特卡洛模拟?

蒙特卡罗模拟是在处理不确定性时获得精确估计的一种方法。它们利用随机性来获取有意义的信息,并有效地计算业务风险和预测失败,如成本或调度超支。

斯坦尼斯拉夫乌兰
斯坦尼斯拉夫乌兰

这项技术是斯坦尼斯拉夫·乌拉姆(Stanislav Ulam)和约翰·冯·诺伊曼(John von Neumann)在20世纪40年代对核武器进行绝密研究时开发的,是曼哈顿计划(Manhattan Project)的一部分。蒙特卡罗的名字来自于需要为这项技术指定一个编码字,并且,有点不同于方法的结果,蒙特卡罗的名字不是由偶然决定的。

乌拉姆的同事尼古拉斯·大都会(Nicholas Metropolis)可能是受到乌拉姆赌博叔叔在蒙特卡洛(Monte Carlo)拿亲戚的钱赌博的故事的启发,建议以摩纳哥著名的赌场为这项技术命名。从那时起,这个名字就被沿用下来,这项技术也被广泛应用。

这种技术是一种改进决策的有力方法,可以用来做出准确的长期预测。它也被称为蒙特卡罗方法和多重概率模拟。

蒙特卡罗与Excel或仿真建模?

对于一些挑战,比如那些很容易在公式中捕捉到的挑战,可以使用常规的电子表格进行蒙特卡罗模拟。微软给出了他们可以解决的问题类型的例子介绍Excel中的蒙特卡罗模拟,它们包括一些任务,例如根据需求概率查找要排序的项目数量。

在Excel中创建的模型由简单的数学关系和公式驱动。因此,蒙特卡罗实验采取的形式是反复地从分布中插入随机数到模型的公式中,直到形成一系列可能的结果。

然而,当手边的挑战非常困难或不可能用公式令人满意地表示时,就需要另一种方法。这就是AnyLogic等仿真软件的用武之地。

如果底层模型是动态模拟,则该模型可能是复杂的、非线性的,并随时间变化。此外,模型可以具有内部随机性,因此,不管输入是随机的还是确定性的,模型的内部工作也可以具有随机元素。这样,例如,呼叫中心模型的输入参数可能包括人员和呼叫者的数量,而模型内部的呼叫长度随运行而随机变化。

安德烈·博尔谢夫和伊利亚·格里戈里耶夫仿真建模的大书详细涵盖的主题AnyLogic模型中的随机性[PDF,第15章(2020年更新)]。

当系统在仿真模型中被捕获时,系统的每个部分及其工作方式都被建模,因此当仿真运行时,系统的行为随着时间的推移变得明显。用这种方式表示系统意味着没有必要用公式(如Excel)来描述系统的所有过程,这使我们能够分析非常复杂的系统和场景。

云中的蒙特卡洛

乌拉姆能够开发蒙特卡罗技术的部分原因是由于他与冯·诺伊曼的工作和获得最新的先进计算能力。

蒙特卡罗模拟需要多次迭代,以产生有用的结果,并因此受益于快速的计算机处理。当模型非常复杂和动态时,处理需求会变得非常重要,运行时间会非常长。这降低了假设实验的可能性,并可能限制模型在决策中的有用性。

AnyLogic模拟自动利用多核处理器,并将并行运行蒙特卡罗迭代,以减少实验时间。为了获得更强大的处理能力,AnyLogic模拟还可以访问云计算提供的资源。18luck新利网页版使用复杂仿真模型和需要多次迭代的实验可以从服务器群的许多高性能处理核心中受益,以扩展并行迭代和复制的数量。

的公开可访问版本AnyLogic云有几个示例演示了蒙特卡罗模拟和云计算的功能。

相互连接的呼叫中心云模型如下图所示蒙特卡洛实验

要看这个模型的蒙特卡罗模拟例子,转到模型的仪表板

AnyLogic Cloud还提供了一个蒙特卡罗二阶实验。这个实验允许多次重复和迭代,这样实验的输入参数和内部参数都是根据概率分布随机设置的。例如,消费者信贷应用程序模型可以改变在线和离线应用程序的比例(输入参数)以及应用程序处理时间(内部参数)。蒙特卡罗一阶实验只会使模型的内部参数随机化。

如果一个消费信贷企业只有关于在线和离线应用程序分布的有限数据,蒙特卡罗二阶实验可以帮助分析人员配备水平与一系列不同的应用比例场景。这将有助于公司计划并更灵活地应对应用程序趋势的变化。

消费信贷的应用程序云模拟如下图所示蒙特卡罗二阶实验

消费信贷应用模型。蒙特卡罗二阶实验在模型的仪表板

上面的例子托管在公共的AnyLogic云中,为了简单起见,可以通过web浏览器访问。然而,AnyLogic云平台具有高度的适应性和可配置性。公司可以创建和集成他们自己的云模拟解决方案,这些解决方案可以由私人或内部托管,使用自定义接口,并通过RESTful API(见我们的博客JavaScriptPython).了解更多关于如何在在线运行AnyLogic蒙特卡罗模拟AnyLogic帮助AnyLogic云帮助

蒙特卡罗模拟在商业中的应用

蒙特卡罗模拟适用于商业中广泛的挑战,如相对简单的确定可能的产品需求或计算复杂的商业风险。由于现代计算的发展,蒙特卡罗模拟的这些应用是可能的。随着企业越来越多地获得更强大的多核处理器和云计算,模拟和蒙特卡洛优化所能应对的挑战将继续扩大。

AnyLogic能够对高度复杂的系统进行蒙特卡罗模拟。通过多方法建模,仿真系统可以是复杂的、动态的和非线性的。这些仿真模型的结果可以来自并行处理和云计算,并以各种方式提供,包括通过API和自定义UI。

要了解更多关于蒙特卡罗模拟的知识,以及AnyLogic如何应对复杂的业务挑战,联系我们的团队

相关的帖子

Baidu