第六章——关键路径
一、定义
从源点到汇点的所有路径中,具有最大路径长度的路径称为关键路径。
二、AOE网
在带权有向图中,以顶点表示事件,以有向边表示活动,以边上的权值表示完成该活动的开销,比如完成活动所需要的时间。这样的网络称为用边表示活动的网络,也就是AOE网。
三、关键路径的求解
1.求所有事件的最早发生时间ve()。
.按拓扑排序序列,依次求各个顶点的ve(k):
ve(源点)=0
ve(k)=Max{ve(j)+Weight(vj,vk)},vj为vk的任意前驱
2.求所有事件的最迟发生时间vl()。
.按逆拓扑排序序列,依次求各个顶点的vl(k):
vl(汇点)=ve(汇点)
vl(k)=Min{vl(j)-Weight(vk,vj)},vj为vk的任意前驱
3.求所有活动的最早发生时间e()。
.若边<vk,vj>表示活动ai,则有e(i)=ve(k)
4.求所有活动的最迟发生时间l()。
.若边<vk,vj>表示活动ai,则有l(i)=vl(j)-Weight(vk,vj)
5.求所有活动的时间余量d()。
.d(i)=l(i)-e(i)
d(i)=0的活动就是关键活动,由关键活动可得关键路径
四、整个栗子
答案:
最终得到的关键路径为(v1, v3, v4, v6)。
最后注意的几点:
- 关键路径上的所有活动都是关键活动, 它是决定整个工程的关键因素,因此可以通过加快关键活动来缩短整个工期。但是也不能任意缩短,因为一旦缩短到一定的程度,该关键活动就可能变成非关键活动了
- 网中的关键路径不唯一,对于有好几条关键路径的网,只加快其中某一条关键路径上的活动并不能缩短工期。只有加快存在于所有关键路径上的关键活动才能达到缩短工期的目的。