第 18 章 · 网络图与关键路径计算实战

📖 综合知识 · 考点精讲(原创整理)约 2342 字🎯 配套练习:案例·网络图与进度

考点梳理

18.1 网络图计算五步法(“正推 → 逆推 → 浮动 → 关键 → 压缩”)

步方向公式说明
1 正推左→右ES = max(所有前置 EF);EF = ES + 工期起点 ES=0
2 逆推右→左LF = min(所有后续 LS);LS = LF − 工期终点 LF=项目工期
3 总浮动 TF—TF = LS − ES = LF − EF不延误项目可推迟时间
4 关键路径—TF = 0 的路径(最长路径)决定项目最短工期
5 自由浮动 FF—FF = min(后续 ES) − EF不影响后续活动可推迟时间

记忆锚:“正推 EF 累加,逆推 LS 倒减;关键路径 TF=0,自由浮动看后继”。

18.2 关键路径要点(“4 个高频结论”)

  1. 关键路径 = 最长路径(不是"最短"!经典陷阱);
  2. 关键路径可能有多条(“两条都 TF=0,都关键”);
  3. 关键路径上的活动 = 关键活动(“动它整个项目延期”);
  4. 非关键路径的 TF 会变(“关键路径延长后,原非关键路径可能变关键”)。

18.3 进度压缩(“2 招”)

招做法代价
赶工(crashing)加资源(加班/加人)压缩关键活动花钱;有压缩极限(“再加也不快”)
快速跟进(fast tracking)把串行活动改并行加风险(返工概率↑)

铁律:“只压关键路径上的活动”——“压非关键活动(TF>0)对项目工期毫无帮助”(“经典陷阱”)。

📝 深度精讲(5 道带解析算例)

例 1(基础正推逆推)

活动:A(2)→B(3)→D(4);A(2)→C(1)→D(4)。求各活动 ES/EF/LS/LF/TF 与关键路径。

解析:

  • 正推:A(ES0,EF2);B(ES2,EF5);C(ES2,EF3);D(ES=max(5,3)=5, EF9)。项目工期=9。
  • 逆推:D(LF9,LS5);B(LF5,LS2);C(LF5,LS4);A(LF=min(2,4)=2,LS0)。
  • TF:A=0,B=0,D=0,C=LS4−ES2=2。
  • 关键路径:A→B→D(工期 9);C 有 2 天浮动。

例 2(多关键路径)

A(3)→C(2);A(3)→B(2)→C(2)。求关键路径。

解析:

  • 正推:A(0,3);B(3,5);C(ES=max(3,5)=5, EF7)。工期=7。
  • 逆推:C(LF7,LS5);B(LF5,LS3);A(LF=min(5,3)=3,LS0)。
  • TF:A=0,B=0,C=0 → 两条路径都关键:A→C 和 A→B→C。
  • 结论:“压缩时必须两条关键路径同时压”(只压一条,另一条仍卡工期)。

例 3(进度压缩·赶工)

例 1 中项目要求工期从 9 天压到 7 天。各活动赶工成本:B(3天,2万/天),D(4天,5万/天),A(2天,1万/天)(都压 1 天)。怎么压最省?

解析:

  • 关键路径 A→B→D(9 天),需压 2 天。
  • 只能压关键活动(A/B/D)。单位赶工成本:A 1万、B 2万、D 5万。
  • 先压最便宜的 A(1万,压 1 天)→ A 变 1 天,关键路径变 8 天;
  • 再压 B(2万,压 1 天)→ B 变 2 天,关键路径 A(1)+B(2)+D(4)=7 天 ✓。
  • 总赶工成本 = 1 + 2 = 3 万。
  • 易错:直接压 D(5万/天)最贵,不选;“先便宜后贵,且每次压完要重看关键路径”。

例 4(陷阱:压非关键活动)

例 1 中,想把 C(TF=2)从 1 天压到 0 天,能让项目提前吗?

解析:不能。C 是非关键活动,TF=2,压掉 1 天它还有 1 天浮动,项目工期仍由关键路径 A→B→D 决定 = 9 天。“压非关键活动对总工期零贡献”(“除非压到它变成关键路径”)。

例 5(自由浮动 vs 总浮动)

活动 X:ES=3, EF=5, LS=5, LF=7。后继活动 ES=6。求 TF 和 FF。

解析:

  • TF = LS − ES = 5 − 3 = 2(或 LF−EF=7−5=2)。
  • FF = min(后继 ES) − EF = 6 − 5 = 1。
  • 区别:TF=2 指"X 最多可推迟 2 天不延误项目";FF=1 指"X 最多推迟 1 天不影响后继开始"。“TF ≥ FF 恒成立”。

🧠 记忆工具箱

口诀速记

  • 五步:“正推累加 EF,逆推倒减 LS,TF 看 LS 减 ES,关键路径 TF 零”;
  • 关键:“关键是最长不是最短,可能有多条,压要同时压”;
  • 压缩:“只压关键活动,先便宜后贵,压完重看路径”;
  • 浮动:“总浮动看自己 LS,自由浮动看后继 ES”。

场景锚点

  • 关键路径想象"“串珠项链”":你不是戴项链的人(不需要戴),你是"做项链的"——“每颗珠子 = 一个活动,珠子大小 = 工期;关键路径 = 那条最长的串(项链总长由它定)”——“想缩短项链?只能磨小最长串上的珠子(赶工),或把两串并排穿(快速跟进);磨短串上的珠子?项链总长纹丝不动(非关键活动有’空隙’=浮动)”。

⚠️ 易错提醒

  • “关键路径 = 最短路径” = 高频错:“关键路径是最长路径”(“它决定最短工期,但它本身是最长”);
  • 只压一条关键路径:“多条关键路径要同时压”(“漏一条 = 白压”);
  • 压非关键活动:“对总工期零贡献”(“除非它变成关键”);
  • TF 与 FF 混淆:“TF≥FF;FF 看后继 ES,TF 看自己 LS”;
  • 逆推起点错:“终点 LF = 项目工期(正推算出的),不是 0”。