1. 一个具体问题

一个项目有几项工序,工时都不确定,某些工序还会受到同一供应商延误的影响。只把各项“最可能工时”相加,会得到一个看似精确的交付日,却无法回答延期概率或需要多少缓冲。此时可以把不确定性放进模型,再反复运行不同情境。

2. 一句话解释

蒙特卡洛方法通过重复随机抽样,把难以直接计算的问题转化为可统计的模拟结果。

3. 出处与原意

现代蒙特卡洛计算与 Ulam、von Neumann 等人在二十世纪四十年代的工作紧密相关。这个名称后来覆盖了随机积分、风险模拟等广泛方法。它是一类计算技术,不是关于市场走势的定律,也不特指某个固定概率分布。

4. 原理与机制

先定义输出,例如利润或交付时间;再给不确定输入指定有依据的分布与相关关系;每轮抽取一组输入,计算一次输出;最后汇总分位数、超标概率等。抽样次数主要影响数值误差,不能消除假设偏差。还应区分现实自身的随机变化,与自己对参数了解不足产生的不确定性。

模拟报告还应区分输入不确定性与模拟噪声。前者来自不知道任务时长、收益或故障概率究竟如何分布,后者来自只抽取了有限次数。把模拟次数从一千次提高到一百万次,可能让错误的输入得到更精确的输出。对输入做情景变化,通常比单纯增加次数更能揭示模型风险。

5. 一个完整案例

假设案例:两项顺序任务的工时分别为:A 有一半机会耗时 2 天、一半机会耗时 4 天;B 独立地以相同概率耗时 1 天或 3 天。四种组合总工期为 3、5、5、7 天,因此超过 5 天的概率是 25%。程序重复抽样应近似得到这个结果。若两项任务总是同时处于快或慢状态,总工期只会是 3 或 7 天,超期概率变为 50%。相关性假设比多跑几千轮更重要。

6. 适用条件与反例

适合路径复杂、输入较多或解析求解困难的问题。反例是把历史平均值周围随意加一点随机噪声,再把结果称为完整风险评估:罕见冲击、结构变化和共同失效都可能被遗漏。输出的“百分之九十五”是模型内部概率,不能自动成为现实保证。

7. 今天可以尝试的行动

拿一个自己熟悉的两变量问题,先列出可手算的全部组合,再模拟。核对均值与概率是否一致,最后有意改变一个分布或相关假设,观察结论是否仍稳定。

8. 参考资料与关联条目