01

什么是蒙特卡洛模拟?

学过pmp的应该对蒙特卡洛模拟不陌生,这个方法在pmbok中经常出现,是项目管理用于做项目定量风险分析的一个工具。

蒙特卡洛模拟是一种统计学的方法,基本概念是利用随机性来解决理论上可能是确定性的问题。根据输入数据的特征,模拟出大量输入数据,得到相应输出的结果及其累积概率分布图,最后形成一些确定性的结论。

这样的解释还是既抽象又拗口,下面我们通过一个浅显易懂的例子并用excel来演示一下整个模拟过程,保证每个人都能看懂。

02

案例:蒙特卡洛模拟的过程

假设我们有一个新项目,包含开发、验证、试制这三个要素,三要素的工期(单位:天)都符合正态分布,工期的最悲观/最乐观的估计定在均值正负3个标准差的位置,汇总如下表:

这时,作为一个项目经理,往往要回答这类问题:平均总工期是65天,那么在65天内项目能如期完成的概率有多少?

接下来我们就通过蒙特卡洛模拟来定量回答这个问题

基本步骤是:

◉ 第一步:随机生成每个要素的工期值作为输入(根据要素的均值与标准差生成随机值),用excel中的norminv函数生成随机数,再用round函数取整。

 

◉ 第二步:把三个要素的随机生成值相加得到整个项目的工期值,完成了一次模拟。

 

◉ 第三步:重复以上两步,通过这样一次次的模拟,得到大量的项目总工期的数值,在这个例子中,我们生成了300组数据。

 

◉ 第四步:再对这些模拟得到大量总工期数值进行统计分析,计算出每个总工期值出现的概率,以及累积概率,最后得出其项目总工期估计的概率分布。

 

此时,我们已经能回答项目经理面对的那个问题了:项目在65天内能完成的概率是52%,不能如期完成的风险挺大的。

 

通过这个概率分布s曲线,我们可以预测整个项目在多少天内完工的概率。比如我们需要预测整个项目在69天完工的概率,通过s曲线了解到69天对应的累积概率是80%左右,那么69天内不能完工的概率就是1-80%=20%,这就是项目风险。

蒙特卡洛模拟的基本概念和操作介绍到这,基本逻辑就是这么简单。

03

蒙特卡洛模拟

在新产品导入中的应用

上文的例子中,我们分析的是变量对结果的影响。这个逻辑能做项目风险定量分析,也能应用到过程变量对过程结果的定量影响分析上。

假设你公司设计了一个全新的产品,具有许多的新功能,可以创造更好的客户体验。现在,你必须确保新产品高标准、高质量地制造出来,这样它才能从客户那里获得长期的良好声誉。

你需要快速、无缝地从研发转移到大规模生产。为了高质量的新产品导入,研发设计团队必须向供应商提供正确的零部件与组件规格,这些规格再转化为制造过程的工艺规范。

 

如果规格的合理设置(产品规格与工艺窗口的综合考虑)没有妥善执行,制造工程师将不得不依靠自己的“创造力”来解决各类规格不匹配的问题。

我们知道,所有的过程都受到变化源的影响(环境波动和过程变量),这些变异通常会导致重大质量问题。如果产品规格与整个工艺变异相比足够大,那么低成本的高质量产品(具有高ppk能力值)将有可能。否则,不合格产品比例将大幅增加且质量水平不稳定。

一个过程会有很多的输入,只有一个输出。某些输入是可控因素,但有些输入是不可控的噪声因素。

 

在产品开发阶段,往往只有少数的原型样机可用于验证概念设计。我们更需要研究输入变异是如何传导到最终输出的,基于中试规模实验设计(doe)、计算机辅助设计等方式可以建立起这个模型,然后,你就可以预测全面生产启动时的能力指数。

基于建立的输入输出模型,我们可以通过蒙特卡洛模拟来生成大量随机样本,以模拟复杂系统中的变异,以便我们能够预测质量问题,避免后期高成本的的设计更改。

04

敏感性分析

在进行蒙特卡洛模拟时,如果预测出来的能力指数不足,就需要做一些改进,减少某些输入的变异。然而,减少输入变异也往往成本很高。因此,要找到那个关键的输入变量来加以改进,而不是全面铺开。蒙特卡洛模拟就能使决策者看到单个输入对结果的影响,这就是敏感性分析。

下图是敏感性分析的一个例子,模型有时间与温度两个变量。通过模拟可以发现,时间变量标准偏差的减少预计会使得最终规格超标的比例大幅度降低,那么我们就能清晰确定改进方向了,而不是盲目地广撒网。

05

总结

蒙特卡洛模拟通常是六西格玛设计(dfss)的关键部分。随着各个公司在创新方面的投入越来越多,这种基于模拟的方法也将变得更加重要。以前蒙特卡洛模拟需要很高的计算成本,但随着各类越来越强大的模拟软件的出现,现在这已经不是问题了。