关键路径.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a10=5
a11=5
9 a13=2 8
对于l(i)-e(i)=x,当x为0时,即没 有 时间余量,而这时活动 ai恰为关键路径上 的关键活动。 亦即满足条件: l(i)=e(i) 例如:上述AOE网中 A:a3 e(i)=5, l(i)=10,x=5 B:a10 e(i)=17,l(i)=17,x=0 其中B项的a10为关键活动,但A不是。
2 4 4 5 7 9 9 9
3 5 6 8
stack top 1
2
7 v4 v2 v6 v3 v5 v1
bottom
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
2 4 4 5 7 9 9 9
3 5 6 8
stack top 1
2
7 v4 v2 v6 v3 v5 v1
bottom
13
13 17 17 19 17 22
16
15 17 17 19 20 22
3
2 0 0 0 3 0 √ √ √ √
由上表选出ai=0活动序列
• a2,a4,a6,a9,a10,a11,a13
该活动序列决定的路径即为上 述AOE网的关键路径。
Βιβλιοθήκη Baidu
该工程AEO网的关键路径
4 1 a2=7 3
a4=6 a6=4 7 a9=2 5
(2)求得各活动的e(),l()表
j a1 a2 a3 1 1 2 k 2 3 4 e 0 0 5 l 5 0 10 l-e 5 0 5 √
a4
a5 a6
3
3 4
4
5 5
7
7 13
14
14 13
7
7 0 √
a7
a8 a9 a10 a11 a12 a13
4
4 5 5 7 6 8
6
7 7 8 9 9 9
(3)关键活动:关键路径上的所有活动。 例如: 上述AOE网中,v1为源点,v9为汇点; 〈v1,v3,v4,v5,v7,v9〉为一条关键 路径(不唯一但长度一定); a1,a3,a4为关键活动。 (4)最早发生时间:AOE网中,从源点v1 到任意vi的最长路径长度,叫事件vi的最 早发生时间。由该时间决定了所有以vi为 尾的弧所表示的活动的最早开始时间。
• 求ve(i)的公式:
ve(1)=0
ve(j)=max{ve(i)+dut(〈i,j〉)}
i
j
• 求vl(i)的公式:
vl(n)=vl(n) vl(j)=min{vl(j)-dut(〈i,j〉)} i
j
由以上工作可求得ve(i),vl(i)
Ve(i) 0
7 5 V1 V3 V2 0 7 10
13
三、求关键路径的步骤
1、从源点 v1开始,计算各事件的ve(i) ,令 ve(1)=0,按拓扑有序求其余各顶点的ve(i) (2≤i ≤ n)。如果得到的拓扑有序序列中 顶点个数小于网中顶点数 n ,则说明该网中存 在回路,不能求关键路径,算法终止;否则继 续执行步骤(2)
2、 、从汇点vn开始,计算各事件的vl(i) ,令 vl(n)=ve(n),按拓扑逆序求其余各顶点的 vl(i)(1 ≤ i≤ n-1)。
^
1 2 3 4
1 2 3 4
2 4 4 5
3
^
stack top
1
2
5 6
^ 7 ^
5
6
5
6
7
9 ^
8
^
7
8
7
8
9
9
^
^
9
9
^
bottom
V1
其中stack 1用于拓扑排序,2用于拓扑逆序
1 2
1 2 3 4 5 6 7 8 9
1 2 3 4 7 6 7 8 9 ^
2 4 4 5 8 9 9 9
17 17 22 19
V4
V6 V5 V8 V7
13
20 17 22 19
Vl(i)
24
v9
24
3、据ve,vl的值求活动的e(s)、l (s),找e(s)=l(s)的活动
(1)可由公式 e(i)=ve(j) ai的 l(i)=vl(k)-dut(〈j,k〉) 求得 。 示意图: ai=? j k
(5)在不推迟整个工程完成的前提下,ai 的最迟必须开始进行的时间,称活动ai的 最迟开始时间。 ================================= 对(4),(5)的变量描述设为: e(i):活动ai的最早开始时间 l(i) :活动ai的最迟开始时间 l(i)-e(i):活动ai的时间余量
AOE网的相关术语
(1)AOE网:在带权的有向图中,用顶点 表示事件,弧表示活动,权表示活动持 续的时间,这样组成的网。(又称边表 示活动的网) (2)关键路径: 一工程中某些子活动并 行进行的情况下,从源点到汇点最长路 径的长度,即该路径上所有活动持续时 间之和,就是完成整个工程所需最少时 间。称从源点到汇点具有最大长度的路 径为关键路径。
2
7
v7 v8 v5 v6 v4 v2 v3 bottom v9 v1
经过拓扑排序(借助stack 1)得到如下拓扑 序列: v1,v3,v2,v4,v6,v5,v8,v7,v9
而拓扑逆序(借助stack 2)为: v9,v7,v8,v5,v6,v4,v2,v3,v1
2、按拓扑有序求其余各顶点的ve(i)
3、根据各事件的ve和 vl值,求每个活动的e(s) 和l(s),满足e(s)=l(s)条件的所有活动 即关键活动。
四、上述AOE网求关键路径的 算法演示
1、根据三中的步骤建立如下邻接表: 1 1 2 3 ^ 2 2 4 ^ 3 3 4 5 ^ 4 4 5 6 7 5 5 7 8 ^ 6 6 9 ^ 7 7 9 ^ 8 8 9 ^ 9 9 ^
l(i)=vl(k)-dut(〈j,k〉
例如:上述AOE网中
活动a3由弧〈2,4〉表示,a3的e(3),l(3) 计算如下 e(3)=ve(2)=5 l(3)=vl(4)-dut(〈2,4〉)=13-3=10
2)其中ve(j)与vl(j)采用递推方法求得: (a)ve(1)=0 ve(j)=max{ve(i)+dut(〈i,j〉)} 〈i,j〉∈T,2≤j ≤ n 其中T是所有以j为弧头的弧的集合。 (b)vl(n)=ve(n) vl(i)=min{vl(j)-dut(〈i,j〉)} 〈i,j〉 ∈S,1 ≤ i ≤ n-1 其中S是所有以i为弧尾的弧的集合。
二、在AOE网中求关键活动
1、方法: 1)计算AOE网中各活动的e(i),l(i) 2)找出e(i)=l(i)的活动。 2、为求所做如下工作: 1)设活动ai由弧〈j,k〉表示,持续时间 dut(〈j,k〉)事件的最早开始时间为 ve(j),最迟开始时间为vl(j):则有
e(i)=ve(j) ai 的
1
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 2 4 4 5 7 9 9 9 3 5 6 8 stack top
2
7
bottom
v5 v6 v4 v2 v8 v3 v7 v1
1
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 2 4 4 5 7 9 9 9 3 5 6 8 stack top
3 ^ 5 ^ 6 ^ ^ ^ ^
top
7 ^
v3 bottom v2 v1
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
2 4 4 5 7 9 9 9
3 5 6 8
stack top
1
2
7
v2 v3 bottom v4 v1
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
关 键 路 径
内容梗概
一、AOE网及其基本术语; 二、在AOE网中求关键活动; 三、求关键路径的基本步骤; 四、算法演示。
一、一个工程的AOE网
a3=3
2 4
a7=4
6
a1=5 1 a2=7
3
a4=6 a8=4 a11=5 a12=4 a6=4 7 9 a9=2 a13=2 5 8 a5=3 a10=5
相关文档
最新文档