Skip to content

3.1 在 MS Project 中录入风险数据

阅读提示: 本章基于 Primavera Risk Analysis 与 MS Project 联合使用场景编写。菜单、按钮、字段名保留英文原文。

风险分析的起点不是软件,而是数据。本章教你如何在 MS Project 中为任务输入三点工期估算工期相关性概率分支任务存在性


添加 PRA 工具栏到 MS Project

不添加工具栏也能工作(直接用 MS Project 的 User Duration 字段),但建议安装——它能极大提升效率。

操作路径:在 Primavera Risk Analysis 中点击 File | Microsoft Project | Add Toolbar and Views to Project...,点击 Yes,启用宏后工具栏自动注册到 MS Project 的全局模板(Global.mpt)。

工具栏安装后会在 MS Project 界面顶部出现一排专用按钮:Duration Quick Risk、Progress Wizard、Open In PRA、Duration Inputs、Probabilistic & Cost Inputs、Criticality & Sensitivity Output、P50 Schedule、P80 Schedule 等。详见 3.9 工具栏集成


打开示例项目

安装工具栏后,打开教程附带的例子文件:

步骤操作
1启动 MS Project
2`File
3文件为只读,`File

这是一个房屋翻新项目,包含 17 个任务:搭脚手架、拆除屋顶覆盖层、砌下层砖墙、砌上层砖墙、电气测试等。

图:教程示例项目在 MS Project 中


输入三点工期估算

点击工具栏上的 Duration Inputs 按钮,MS Project 会切换到包含以下列的视图:

列名含义示例
Min Dur最乐观工期(Minimum Duration)10d
Likely Dur最可能工期(Most Likely Duration)13d
Max Dur最悲观工期(Maximum Duration)20d
Duration Correlation工期相关性见下文
Duration Function分布函数默认为三角分布

快捷操作:使用Duration Quick Risk 工具栏按钮,可以基于任务剩余工期按百分比自动批量填充三点估算值——省去逐行输入的麻烦。例如设置 Min=80%、Max=120%,系统自动为所有选中任务填充。

Duration Function 列用于指定非三角分布。例如输入 Uniform(2;10)` 表示均匀分布在 2 到 10 天之间。留空则默认使用三角分布。

图:三点估算已在 MSP 中输入完毕

PRA 三点估算存储在 MSP 的 User Duration 1、User Duration 2、User Duration 3 字段中。这些是 MSP 的内置自定义字段,无需额外配置。


工期相关性(Duration Correlation)

如果「砌下层砖墙」耗时很长,「砌上层砖墙」大概率也会耗时很长——因为同一个班组施工。工期相关性用来建模这种关联关系。

在 Duration Correlation 列中输入格式为 [Unique ID][Correlation%]。例如:

输入含义
9[85%]85% 正相关于 Unique ID=9 的任务

这意味着在蒙特卡洛模拟中,两个任务的工期分布会以 85% 的强度同步变化。

图:输入工期相关性 "9[85%]"

注意: 相关性值范围是 0%~100%。85% 表示强烈正相关——一个任务延误时另一个几乎必然延误。相关性设置过高会导致 P80/P95 被人为放大,确认有真实的逻辑关联再设置。


概率分支(Probabilistic Branching)

点击 Probabilistic & Cost Inputs 按钮,切换到概率分支输入视图。

「电气测试」这个任务:80% 的概率一次通过,20% 的概率失败需要返工。概率分支用来建模这种「互斥路线」。

输入格式为 [UPID][概率%];[UPID][概率%]`,概率之和必须为 100%:

输入含义
12[80%];11[20%]80% 走 Unique ID=12 的路径,20% 走 Unique ID=11 的路径

Unique ID 是 MSP 中每个任务的唯一编号(不同于行号),在任务信息中可查看。

图:概率分支和成本输入视图


任务存在性(Task Existence)

拆除屋顶覆盖层后,有 15% 的概率发现屋顶支撑腐烂需要更换。「屋顶支撑腐烂」这个任务有 15% 的概率出现。

在 % Existence 列直接输入概率值:

图:Task Existence 输入示例 15%

输入含义
15该任务有 15% 的概率存在

蒙特卡洛模拟时,这个任务在 15% 的迭代中出现并影响工期和成本;其余 85% 的迭代中它不存在,工期和成本贡献为零。


成本数据

每个任务在 MSP 中都有一个剩余成本(Remaining Cost)。PRA 会使用这个成本进行成本不确定性建模:

  • 模拟中任务的成本会按照工期比例同步缩放(工期长则成本高)
  • 概率性任务在它不存在的迭代中,剩余成本计为零

不需要额外操作——MSP 中已有的成本数据会自动带入 PRA。


实战案例:某住宅装修项目的风险数据录入

案例:深圳某精装住宅翻新项目

项目背景

深圳南山某 120m² 住宅精装翻新,设计工期 45 天(设计 3d + 拆除 2d + 水电改造 5d + 泥瓦 10d + 木工 8d + 油漆 8d + 安装收尾 5d + 验收 4d)。预算 ¥32 万。项目经理在 MSP 中建好计划后录入风险数据。

风险数据建模

任务MinLikelyMax风险来源
拆除1d2d5d原装修层厚,可能遇到混凝土
水电改造3d5d9d老旧管线需更换全屋
泥瓦铺砖7d10d18d瓷砖缺货、师傅排期冲突
油漆5d8d14d连续阴雨天没法干

相关性设置:泥瓦 → 油漆 65%(瓦工延误连锁影响漆工进场);水电 → 泥瓦 50%(同班组连续施工)。

概率分支:验收场景——一次通过 70%,整改返工 30%(加 3d)。

录入结果

27 个任务的三点估算全部录入完毕,2 组相关性、1 个概率分支设置完成。数据录入耗时约 45 分钟——因为有 Duration Quick Risk 的批量操作,大部分任务只需微调即可。


本章小结

要点一句话
工具栏File
三点估算Min / Likely / Max 工期,Duration Function 可改分布类型
工期相关性[Unique ID][Correlation%] 格式,范围 0%~100%,确认真实关联再设
概率分支[UPID][概率%];[UPID][概率%] 格式,概率之和 = 100%
任务存在性直接在 % Existence 列输入百分比
成本MSP 剩余成本自动带入 PRA

英文原版内容版权归 Oracle Corporation 所有。中文翻译、案例、习题由 计划工程师 独立创作。

广告位 · 合作联系