(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點......