例图
如上图,是一个AOE网,点表示状态,边表示活动及其所需要的时间。为了求出关键路径,我们使用一下算法:
这个过程是要从源点开始向汇点顺推:
这样,我们可以得到各个状态的最早时间的表:
最早时间表
这个过程是要从汇点开始向源点逆推:
逆推
按最小计
这样,我们可以得到各个状态的最晚时间的表:
最晚时间表
事实上,源点和汇点的最晚时间和最早时间必定是相同的。
求出关键活动,则关键活动所在路径即为关键路径
对于a1:
这表明,a1最早只能从0时刻开始,最晚也只能从(6-6=)0时刻开始,因此,a1是关键活动。
对于a2:
a2最早要从0时刻开始,但是它最晚开始时间却是(6-4=)2。也就是说,从0开始做,4时刻即完成;从2开始做,6时刻恰好完成。从而在[0,2]区间内任意时间开始做a2都能保证按时完成。(请区别顶点的最早最晚和活动的最早最晚时间。图示中的最早最晚是顶点状态的时间,活动的最早最晚开始时间却是基于此来计算的)。
由于a2的开始时间是不定的,所以它不能主导工程的进度,从而它不是关键活动。
一般的,
活动用时X时间,它最早要从E1时刻开始(一开始就开始),最晚要从L2-X时刻开始(即恰好完成)。所以,如果它是关键活动,则必然有E1=L2-X,否则它就不是关键活动。
值得注意的是,顶点的最早开始时间等于最晚开始时间 是 该顶点处于关键路径 的 不充分不必要条件。
上表中蓝色底纹表示的点即为处于关键路径的点。尽管它们的最早时间与最晚时间都相同,但是这与它们是否为关键路径的点无关。因为这还取决于起始点的最早时间以及活动时间。
作者:KyrinWoo
链接:https://www.jianshu.com/p/1857ed4d8128
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。