工程进度网络图
(2020.09.01)
属于工程管理范围, 有点像工程流图, 有一些计算上有点坑的地方, 总体来看还是比较简单的, 直接上定义和公式先 :
// 变量 ES - Early Start 最早开始时间 EF - Early Finish 最早完成时间 LS - Late Start 最晚开始时间 LF - Late Finish 最晚完成时间 TF - Total Float 总时差 [一项活动的 最早开始时间 和 最迟开始时间 不相同时, 它们之间的差值是该活动的总时差] FF - Free Float 自由时差 [在不影响紧后活动完成时间的条件下, 一项活动最大可被延迟的时间] // 计算对象 D = 工作量 或 活动时间 ES = Max{ 所有紧前活动EF } -- 最早开工时间是紧前任务的最晚完成时间 EF = ES + D LF = Min { 所有紧后活动LS } -- 最晚完成需要在所有紧后开始之前 LS = LF - D TF = LS - ES 或是 LF - EF FF = Min{ 所有紧后活动的ES } - EF -- 完工时间跟下个工作开始时间的差值, 可以摸鱼的时间 // 默认计算方法 三点估算法 : N = ( 最悲观 + 最乐观 + 4*最可能 ) / 6 -- 估计时间方法
计算对象并不一定是需要计算的, 比如 ES 可以是一个定义的时间点, 比如哪天开工是领导定的. 看公式如果都是通过计算得来的, 那么 ES 和 EF 就是一个死循环了, 很多时候都是给定一些条件的.
// 作图
PDM(Precedence Diagramming Method,前导图) 圈表示工作, 圈外表示工期 [比较直观的图]
ADM(Arrow Diagramming Method,箭线图法) 箭头表示 [比较蛋疼的图]
这些是简单的工期计算总图, 详细一些的计算图例可以做成格子装的, 在每个格子中计算出相关变量 :
可以简单说明一下, 每个工作都有预期的工期 D, 就是格子 中间上方 的数字, 其它变量如下图 :
可以通过实际变量填入和计算得来, 最后只需要套入计算就可以了, 只不过有那么几个坑 :
1. TF 的概念有点奇怪, TF 应该是最大可延期时间, 不能影响后项开发
2. FF 的概念有点奇怪, FF 的公式表明它是在最快结束这个工作后, 跟下一个工作的时间差(下一个工作的最早的开工时间点), 需要看下图 :
在这个图中, B 和 C 只需要合起来8天完工即可, 所以 B,C 的 TF 为 3-2 和 6-5.
而 B 的 FF = 5 - 5 , 而 C 的 FF = 10 - 9, 同样是可能划水的工作, 为什么会有这个差异呢?
我们看到 A,D 节点的 TF, FF 都是0, 因为他们是关键节点, 一定要按照工期来, 对比可以看到 TF 可以作为一个节点是否时间更严格的参考.
不过 FF 又是个什么意思? 因为 B,C 点的 FF 不同, 它们的差别在哪? 比如B在2号开工, 那么C就可以选择5号或6号开工, 可是如果B在3号开工, 那么C就只能选择6号开工了, 可以知道B是可以选择开工时间点的, 然而C只能在B选择2号开工后才能选择开工时间点, 从划水自由度来看, B点肯定高于C点......