PERT/CPM 进度计算器 返回
项目管理

PERT/CPM网络项目进度计算器

自动计算最多12个活动的AON网络关键路径。使用PERT三点估算计算按时完成概率。实时绘制甘特图。

项目设置
活动数量
目标工期 T(天)
前置任务输入示例:用逗号分隔前置活动编号(例如:1,2)。无前置则留空。
# 名称 乐观a 最可能m 悲观b 前置
计算结果
项目工期(天)
关键路径
按时完成概率
最大浮动时间(天)
Net
理论与主要公式

PERT期望工期与方差:

$$t_e = \frac{a + 4m + b}{6},\quad \sigma^2 = \left(\frac{b-a}{6}\right)^2$$

前向传递: $ES_j = \max_i(EF_i)$,$EF = ES + t_e$

后向传递: $LF_i = \min_j(LS_j)$,$LS = LF - t_e$

浮动时间: $TF = LS - ES = LF - EF$

按时完成概率:

$$Z = \frac{T - \sum_{CP} t_e}{\sqrt{\sum_{CP} \sigma^2}},\quad P = \Phi(Z)$$

什么是PERT/CPM项目进度管理

🙋
老师,PERT和CPM听起来好复杂,它们到底是用来干嘛的?
🎓
简单来说,它们就像给项目做“体检”和“预测”。比如你要造一辆新车,设计、测试、生产这些活动环环相扣。CPM帮你找出哪个环节最不能耽误(关键路径),PERT则告诉你“在90天内完成”的可能性有多大。你可以在模拟器里试着增加“活动数量”,看看网络图是怎么连接起来的。
🙋
诶,真的吗?那“三点估算”里的a、m、b是怎么来的?感觉好主观啊。
🎓
在实际工程中,这通常基于历史数据或专家经验。比如CAE工程师估算“碰撞模拟求解”时间,乐观情况(a)是服务器空闲,8小时跑完;最可能(m)是16小时;悲观(b)是遇到硬件问题要32小时。你可以在模拟器里修改任意活动的这三个时间,然后观察关键路径和总工期是怎么跟着变化的。
🙋
我懂了!那“浮动时间”又是什么?为什么关键路径上的浮动时间是零?
🎓
问得好!浮动时间就是一个活动能“偷懒”或“拖延”多久而不影响总工期。关键路径上的活动就像多米诺骨牌,一个延迟,全线崩溃,所以浮动时间为零。试着在模拟器里把“目标工期T”设得比计算出的总工期短,你会看到很多活动的浮动时间变成负数,这意味着项目一开始就注定要延期了!

物理模型与关键公式

PERT期望工期与不确定性量化: 这是PERT的核心,用三点估算来得到一个更靠谱的平均工期,并估算其波动范围。

$$t_e = \frac{a + 4m + b}{6},\quad \sigma^2 = \left(\frac{b-a}{6}\right)^2$$

变量定义: $a$=乐观工期,$m$=最可能工期,$b$=悲观工期。$t_e$=期望工期(加权平均),$\sigma^2$=方差,表示工期的不确定性大小。$(b-a)$范围越大,方差越大,风险越高。

关键路径与按时完成概率计算: 将关键路径上所有活动的$t_e$和$\sigma^2$分别相加,然后用正态分布估算在目标工期$T$前完成的概率。

$$Z = \frac{T - \sum_{CP} t_e}{\sqrt{\sum_{CP} \sigma^2}},\quad P = \Phi(Z)$$

变量定义: $T$=目标工期,$\sum_{CP}t_e$=关键路径总期望工期,$\sqrt{\sum_{CP} \sigma^2}$=关键路径总标准差。$Z$=标准分数,$P$=按时完成概率(通过查标准正态分布表$\Phi$得到)。$Z$值越大,概率$P$越高。

现实世界中的应用

CAE仿真项目管理: 在汽车碰撞模拟中,网格生成、求解器计算、后处理分析是串行关键活动。使用PERT估算求解时间(受计算资源排队影响),能有效管理客户对报告交付日期的期望,并将资源集中投入关键路径。

新产品开发(NPD)流程: 从设计、模具制作、试产到量产,环节众多。CPM可以识别出“模具验收”为关键路径,任何延误都直接推迟上市时间。通过计算浮动时间,能合理协调“包装设计”等非关键活动的资源。

航空航天设计评审排期: 飞机子系统(如航电、飞控)的设计评审(DR)相互依赖。运用PERT/CPM网络规划所有评审节点,可以计算出项目最早完成时间,并为可能的技术难题预留缓冲(体现在悲观估算b中)。

大型活动或工厂停机维护: 例如化工厂年度大修,涉及设备拆卸、检查、更换、重组、测试。CPM网络能清晰展示数千个活动的依赖关系,找到关键路径(如反应炉内衬更换),确保检修按时完成,工厂尽快复产。

常见误解与注意事项

开始使用此工具时,有几个在PERT三点估算中容易出错的要点需要注意。首先,"乐观值a"和"悲观值b"并非简单的理想情况与最坏情况。它们是基于"99%概率落在此时间范围内"这一具有统计意义的区间设定的数值。例如,即使认为网格生成"绝对需要3天",若历史数据显示偶尔需要5天,则正确的b值应设为5。若凭感觉设定会导致方差过小,后续可能引发严重问题。

其次,关键路径并非固定不变。当修改某项工作的估算或变更依赖关系时,关键路径可能会转移到其他路线。例如,若过度增大非关键工作A(te=5天)的悲观值b,该工作的方差与期望工期将增加,可能导致其浮动时间归零,进而形成新的关键路径。切勿认为完成一次计算就万事大吉,应养成情况变化时重新计算的习惯。

最后,请牢记交付期限达成概率的计算本质是"近似估算"。该方法基于中心极限定理,假设关键路径工期服从正态分布。但当活动数量较少(本工具最多支持12个)或单项工作的分布严重偏离贝塔分布时,概率数值仅能作为参考指标。实践中应避免因90%的概率而松懈,或因30%的概率而绝望,需将其视为"风险程度指示器"来运用。