# 延误几天会不会拖总工期：把双代号网络图的关键线路、总时差、自由时差算一遍

从顺箭线取大、逆箭线取小这两条规则出发，用一张图把计算工期、关键线路和两个时差算出来，并据此判断一项延误到底影不影响总工期

> 施工进度管理 · 网络计划时间参数 · 案例题作答 · 约 7 分钟 · 09 月 30 日

## 本篇要点

1. 双代号网络图里箭线代表工作，节点只代表时刻，一项工作用两个节点编号表示。
2. 顺箭线从前往后取大，得到每项工作的最早开始和最早完成，终点节点的最早完成就是计算工期。
3. 各条线路中持续时间最长的那条是关键线路，它的长度等于计算工期，线路上的工作是关键工作。
4. 逆箭线从后往前取小，得到每项工作的最迟开始和最迟完成，最迟减最早就是总时差。
5. 总时差是不影响总工期的机动时间，自由时差是不影响紧后工作最早开始的机动时间，总时差永远不小于自由时差。
6. 延误天数不超过自由时差则毫无影响；超过自由时差但不超过总时差，只顶后紧后工作，工期不变；超过总时差，总工期延长延误天数减总时差。
7. 总时差为 0 的工作是关键工作，这个结论只在计划工期等于计算工期时成立；自由时差为 0 的工作不一定是关键工作。

---

上一篇说，《施工管理》第三、四、五章其实是同一套“收集实际值—比较—纠偏”的循环在工期、质量、成本三个对象上各跑一遍，你只需要补每章特有的工具。进度这一章的工具就是网络计划。

工地上最常被问的一句话是：“这道工序晚了几天，总工期还保得住吗？”要回答它，得先把图算一遍。这是进度这一章的重点，也最难靠背拿分，实务案例题里进度几乎年年出现[4]。

## 先看懂图在说什么

“双代号”指的是：每一项工作用两个节点编号表示，写成“工作 i—j”，箭线代表工作本身，节点只代表一个时刻（到这个点，前面的活都干完了）。箭线上面写工作名，下面写持续时间；节点编号沿箭线方向由小到大，所以顺着箭头走不会绕回来。

从唯一的起点节点沿箭线走到唯一的终点节点，任意一条通路叫一条线路。下面这张图里时间是“天”，粗箭线是关键线路——为什么是它，马上就算出来：

```mermaid
flowchart LR
  N1["①"] ==>|"A 3天"| N2["②"]
  N2 ==>|"B 4天"| N3["③"]
  N2 -->|"C 2天"| N4["④"]
  N3 ==>|"D 5天"| N5["⑤"]
  N4 -->|"E 3天"| N5
  N5 ==>|"F 1天"| N6["⑥"]
```

## 第一步：顺箭线取大，算出最快什么时候能完

最早开始 ES 和最早完成 EF 的规则就一句话：本工作的最早开始 = 它所有紧前工作最早完成时间的最大值；最早完成 = 最早开始 + 持续时间[3]。

取大的原因很直白：一项工作得等它所有紧前工作都干完才能开始。几条线并到同一个节点时，慢的那条才是真正的门槛。

顺箭头算下去：

- A：ES=0，EF=3；
- B 的紧前是 A，ES=3，EF=7；C 的紧前也是 A，ES=3，EF=5；
- D 的紧前是 B，ES=7，EF=12；E 的紧前是 C，ES=5，EF=8；
- F 有 D、E 两个紧前，ES = max(12, 8) = 12，EF = 13。

终点节点的最早完成就是计算工期，13 天。

把所有线路列出来也一样：A→B→D→F 是 3+4+5+1=13 天，A→C→E→F 是 3+2+3+1=9 天。持续时间最长的那条就是关键线路，它的长度就是计算工期[1][4]。本图的关键线路是 A→B→D→F，A、B、D、F 这四项就叫关键工作。

## 第二步：逆箭线取小，算出最晚能拖到什么时候

最迟完成 LF 和最迟开始 LS 的规则正好对称：本工作的最迟完成 = 它所有紧后工作最迟开始时间的最小值；最迟开始 = 最迟完成 − 持续时间[3]。

取小是因为：一项工作必须在它所有紧后工作都还来得及赶上的最晚时刻之前收尾。哪条后续线路最紧，就按哪条倒排。

假设没有额外的工期要求，计划工期就取 13 天，从终点往前算：

- F：LF=13，LS=12；
- D、E 的紧后都是 F，LF 都取 LS(F)=12，于是 D：LS=7，E：LS=9；
- B 的紧后是 D，LF 取 LS(D)=7，LS=3；
- C 的紧后是 E，LF 取 LS(E)=9，LS=7；
- A 的紧后是 B 和 C，LF 取 min(3, 7)=3，LS=0。

A 这里能看出取小的意义：B 最迟只能第 3 天开始，比 C 紧得多，A 就得按 B 的时间表倒排。这个“最紧的紧后”通常正好在关键线路上。

## 两个“差”算的是两件不同的事

总时差 TF = 最迟开始 − 最早开始（也等于最迟完成 − 最早完成）。它回答的是：在不拖累总工期的前提下，这项工作一共能动用多少机动时间[3]。

自由时差 FF = 该工作所有紧后工作中最早开始时间的最小值 − 本工作最早完成。它回答的是：在不影响任何一个紧后工作最早开始的前提下，这项工作能动用多少机动时间[3]。如果它是最后一项工作，就用“计划工期 − 最早完成”。

两者结果不同，因为保护的对象不同：总时差保护整个工程的总工期，自由时差只保护紧后工作。自由时差是“下一道工序进场之前”的余量，总时差是“整条线还能宽容你多少”。所以永远有 总时差 ≥ 自由时差[5]。

把六个数填进一张表：

| 工作 | 紧前工作 | 持续时间 | 最早开始 | 最早完成 | 最迟开始 | 最迟完成 | 总时差 | 自由时差 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| A | — | 3 | 0 | 3 | 0 | 3 | 0 | 0 |
| B | A | 4 | 3 | 7 | 3 | 7 | 0 | 0 |
| C | A | 2 | 3 | 5 | 7 | 9 | 4 | 0 |
| D | B | 5 | 7 | 12 | 7 | 12 | 0 | 0 |
| E | C | 3 | 5 | 8 | 9 | 12 | 4 | 4 |
| F | D、E | 1 | 12 | 13 | 12 | 13 | 0 | 0 |

## 回到那个问题：三个区间，三种答案

设某工作被延误了 d 天：

- d ≤ FF：什么也不影响，紧后工作照原计划开工；
- FF < d ≤ TF：紧后工作的最早开始被顶后，但这条线的余量还兜得住，总工期不变；
- d > TF：总工期延长，延长的天数 = d − TF。

对着表看具体数字：

- C 的总时差 4 天、自由时差 0 天。C 晚 2 天：2 已经超过自由时差，E 的最早开始从第 5 天推到第 7 天，E 最早第 10 天完成，还没顶到 12 天，所以总工期仍然是 13 天。反过来说，C 一天都不能拖而不影响紧后工作——这就是自由时差为 0 的含义。如果 C 晚 6 天：E 第 11 天开工、第 14 天完成，终点节点被推到 14 天，总工期变成 15 天，比原计划多 6−4=2 天。
- E 的总时差和自由时差都是 4 天。晚 3 天没有超过自由时差，F 照原样第 12 天开工；晚 5 天超过总时差 1 天，总工期延长 1 天。
- D 是关键工作，总时差 0，晚 1 天总工期就晚 1 天。

所以案例题里的标准动作是：先把图算一遍，找到这项工作位置上的总时差，再拿延误天数和它比。只回答“确实晚了”是拿不到分的，要落到数字上[4]。

## 三个容易踩空的边界

一，关键工作的总时差不一定等于 0。定义是“总时差最小的工作为关键工作”，只有计划工期等于计算工期时，关键工作的总时差才是 0[2]。如果计算工期是 13 天、而合同要求的计划工期是 15 天，关键工作的总时差就是两者之差 2 天，这时再拿“总时差是不是 0”去判断关键工作就会判断错。

二，自由时差为 0 不等于总时差为 0，也就不等于关键工作。C 就是现成的反例：它对紧后工作一天都让不出来，但对总工期还有 4 天余地。

三，关键线路可能不止一条；某项工作延误超过它的总时差后，原本有余量那条线也被拖满，它自己就成了关键线路[5]。判断的落脚点始终是总时差，不是线路的名字。

还有一点是算法本身的边界：“延长天数 = d − TF”是只考虑这一项延误时最常用的算法。如果同时有多项延误，或者上游工序本身也变了，稳妥做法是把时间参数重算一遍，而不是拿几个数字相加减。

## 这套算法在案例题里怎么用

实务案例题里，判断工期能不能顺延，第一道门槛就是“这个延误有没有超过相应工作的总时差”；能不能索赔，还要看延误是不是施工方自己的责任，那是合同那一章的事。单代号网络计划用的是同一套顺推逆推的骨架，以后单独讲。

## 术语表

- 双代号网络图：一项工作用两个节点编号（i—j）表示，箭线代表工作本身，节点只代表“前面的活都干完了”这个时刻。
- 最早开始／最早完成（ES／EF）：顺着箭线从前往后取大算出来，表示这项工作最快什么时候能开始和完成。
- 最迟开始／最迟完成（LS／LF）：逆着箭线从后往前取小算出来，表示在不拖累总工期的前提下最晚必须开始和完成的时间。
- 关键线路与关键工作：从起点到终点各条线路中持续时间最长的那条叫关键线路，它的长度就是计算工期；总时差最小的工作叫关键工作，关键工作连成的线路一般是关键线路。
- 总时差（TF）：最迟开始减最早开始，即在不影响总工期的前提下这项工作能动用的全部机动时间。
- 自由时差（FF）：紧后工作最早开始时间的最小值减本工作最早完成时间，即不影响紧后工作最早开始的机动时间；总时差永远不小于自由时差。

## 来源

1. [二建《施工管理》工程进度计划网络图考点汇总 — 顺推逆推的计算步骤与关键线路判定方法](https://www.233.com/jzs2/sggl/fudao/201911/29115320889.html)
2. [2025年二建施工管理教材第三章考点：关键工作及关键线路确定方法 — 总时差最小的工作为关键工作，计划工期等于计算工期时总时差为零的工作才是关键工作](https://www.233.com/jzs2/sggl/fudao/202406/17144121716186.html)
3. [2020年二建管理计算题考点十六：双代号网络计划 — 六个时间参数的定义，最早时间顺箭线取大、最迟时间逆箭线取小的计算规则](https://m.233.com/jzs2/sggl/fudao/202001/17150217783.html)
4. [穷举法计算双代号网络图关键线路与工期 — 关键线路为总持续时间最长的线路、计算工期等于关键线路长度，以及实务案例题中判断延误是否影响工期的常见问法](https://www.233.com/jzs2/382/202004/17003952031.html)
5. [2024年二建《管理》新教材10个必考点6：工程网络计划 — 总时差与自由时差的大小关系、关键线路可能有多条并发生转移](https://www.233.com/jzs2/sggl/xueba/202405/12111001607611.html)

---

原文：https://pangzhengboyin.com/articles/double-arrow-network-total-float-critical-path-44158cdf

> **庞征博引** · 想学的，慢慢都会
>
> 庞征博引是把想学的东西写成连载的 AI 学习工具。说出想学什么，它会先了解你的基础，再把主题写成一篇篇 5–10 分钟能读完的文章；边读边问，接下来学什么跟着你走。这篇就是这样写出来的。
>
> 开始你自己的连载 → https://pangzhengboyin.com
