基本概念
描述了活动和活动间依赖关系的图,其中节点表示项目的里程碑(活动结束) ,线表示活动,线对应的时间表示活动的持续时间。
如图例中 ,A->B 的这条线代表的这个活动从 A 开始,需要做 3天,才能结束,到达 B 里程碑(标志着 A->B 这条线代表的活动的结束)。
注意:图中的点不代表活动,并不能说活动 A 用 3 天到达活动 B,这是不准确的
如到达 I 里程碑的边有两条, D->I, B->I,意思是有两个活动,完成后到达里程碑 I,并不能说 I 是个活动,如果这么理解会在计算最晚开始时间时出现错误。
估算项目完成时间
关键路径
定义: 从起点到终点总花费时间最长的路径,即这个项目的最短完成时间,因为如果这条路径无法完成那么整个项目都不能算完成。所以这条路径上的任务耽误一点都会影响最后项目完成时间。
如上图,其关键路径为 A->B->D->I->J->L = 20,其他路径都比它短。
冗余时间
在不耽误总体进度的前提下最晚开始时间和最早开始时间的差值,表示这个任务的机动开始时间,从最早开始时间开始,最晚可以拖的天数,再晚就会影响整个项目的完成时间。
简而言之,就是一个活动你可以偷几天的懒而不耽误最后的理论进度(不晚于关键路径的结束时间)
因此,路径越短,冗余时间越长
另外可以得出,关键路径就是冗余时间为0的路径;一个活动图可能会有多条关键路径。
最早最晚开始时间
以上图为例,开始逐步计算各个活动的最早最晚开始时间,(活动开始时间从1开始),表示方式为<最早开始时间,最晚开始时间,冗余时间>
:
- 首先计算关键路径,可以得出 L a b = < 1 , 1 , 0 > L_{ab}=<1,1,0> Lab=<1,1,0>, L b d = < 4 ( 1 + 3 ) , 4 ( 1 + 3 ) , 0 > L_{bd}=<4(1+3),4(1+3),0> Lbd=<4(1+3),4(1+3),0>, L d i = < 9 ( 4 + 5 ) , 9 ( 4 + 5 ) , 0 > L_{di}=<9(4+5),9(4+5),0> Ldi=<9(4+5),9(4+5),0>, L i j = < 11 , 11 , 0 > L_{ij}=<11,11,0> Lij=<11,11,0>, L j l = < 13 , 13 , 0 > L_{jl}=<13,13,0> Ljl=<13,13,0>
关键路径是完全不能拖延的,而其余的非关键路径,则会有一定的冗余时间,现在从后往前开始计算最晚开始时间
- l是结束里程碑,时间点为21,因此从l对应的非关键路径(该例仅有 L k l L_{kl} Lkl