关键路径

来源:互联网 发布:国玺云计算最新消息 编辑:程序博客网 时间:2024/04/29 11:56

1.拓扑排序

在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们成为AOV网(Activity On Vertex).


设G=(V,E)是一个具有n个顶点的有向图,V中的顶点序列V1,V2...Vn若满足从顶点Vi到Vj有一条路径,则在顶点序列中顶点Vi必须在Vj之前,这样的顶点序列称为一个拓扑序列。


2.拓扑排序算法

(1)从AOV网中选择一个入度为0的顶点输出,然后删去此顶点,并删除以此顶点为尾的弧。

(2)重复上述步骤直到输出全部顶点或者AOV中不存在入度为0的顶点为止。


3.关键路径

(1)在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,用边上的权值表示活动的持续时间,这种有向图的边表示活动的网,我们称之为AOE网(Activity On Edge).

(2)路径上各个活动所持续的时间之和称为路径长度,从源点到汇点具有最大长度的路径叫做关键路径,在关键路径上的活动叫关键活动。

(3)关键路径算法

          1)事件最早发生时间etv(earliest time of vertex):顶点Vk的最早发生时间

          2)事件最晚发生时间ltv(latest time of vertex):顶点Vk的最晚发生时间,也就是每个顶点对应的事件最晚需要开始的时间,超出此时间将会延误整个工期。

         3)活动最早开工时间ete(earliest time of edge):弧ak最早发生时间。

         4)活动最早开工时间lte(latest time of edge):弧ak最晚发生时间,也就是不推迟工期的最晚开工时间。










(1)求etv:

V0=0
V1=V0+3=3
V2=v0+4=4
V3=max{V1+5=8,V2+8=12}=12
V4=max{V1+6=9,V3+3=15}=15
V5=V2+7=11
V6=V4+9=24
V7=max{V4+4=19,V5+6=17}=19
V8=V7+5=24
V9=max{V6+2=26,V8+3=27}=27

(2)求ltv:
V9=27
V8=V9-3=24
V7=V8-5=19
V6=V9-2=25
V5=V7-6=13
V4=min{V7-4=15,V6-9=16}=15
V3=V4-3=12
V2=min{V5-7=6,V3-8=4}=4
V1=min{V4-6=9,V3-5=7}=7
v0=min{V1-3=4,V2-4=0}=0

(3)找出etv和ltv相等的点就是关键路径
关键路径为V0-V2-V3-V4-V7-V8-V9



----------大话数据结构
0 0
原创粉丝点击