6-14图-关键路径

关键路径

一.基础知识
1.AOE网(Activity On Edge NetWork)有向边表示活动的网络
(1)有向+带权
(2)仅有一个入度为0的顶点,称为开始顶点(源点),他表示整个工程的开始
(3)仅有一个出度为0的顶点,称为结束顶点(汇点),他表示整个工程的结束
在这里插入图片描述
其他性质:
(1)a2结束后V2才能发生
(2)V2发生后,a3才能开始
(3)a1和a2可以同时进行,但a2和a3不能同时进行

2.关键路径

early、late、vertex
(1)事件:顶点vk
(2)活动:有向边ai
(3)开销:边上的权值
(4)ve():所有事件最早发生时间
(5)vl():所有事件最迟发生时间
(6)e():所有活动最早发生时间
(7)l():所有活动最迟发生时间
(8)d():所有活动时间余量
d(i)=l(i)-e(i)

V1→V3→V4路径长度为4
V1→V2→V3→V4路径长度为6
我们将所有路径中的最大路径称为关键路径,关键路径上的活动称为关键活动

只有无环图(没有回路)才有关键路径
在这里插入图片描述
可以看到
(1)关键路径决定着工程完成的时间,如果关键活动不能按时完成,则工程时间会延长
(2)缩短关键活动的时间,可以缩短整个工程的时间。但当缩短关键活动到一定程度时,关键路径可能变为非关键路径(路径长度不再是最大),此时若继续缩短,总工程时间不再继续减小
(3)V1→V2→V3需要4分钟,而V1→V3需要2分钟,即a1拖后2分钟完成(时间余量d(1)=2)仍不影响工程完成时间,但关键活动不能延迟。即对于关键活动,时间余量d(i)一定为0(充要条件)
(4)可能存在多条关键路径(总路径长度一样),此时如果只提高一条关键路径上的关键活动并不能缩短总工程时间。只要加快关键路径上公共的关键活动才能缩短总工程时间
如:缩短a2
在这里插入图片描述
求关键路径的步骤:
ve()→vl()→e()→l()→d()

二.求所有事件的最早发生时间ve()
在这里插入图片描述
拓扑序列:V1、V3、V2、V5、V4、V6
按此序列依次遍历
ve(1)=0(一上来就能开始)
ve(3)=2(a2=2以后才能开始)
ve(2)=3
ve(5)=6
ve(4)=max{5,6}=6
解释:5完成时6没有完成。关键路径思想,必须都完成,选最大
ve(6)=max{ve(5)+a8,ve(4)+a7,ve(3)+a6}=max{7,8,5}=8

结果
在这里插入图片描述
得到结论:
借助拓扑排序
ve(源点)=0
ve(k)=Max{ve(j)+Weight(vj,vk)},vj是vk的任意前驱

三.求所有事件的最迟发生时间vl()
在这里插入图片描述
逆拓扑序列:V6、V5、V4、V2、V3、V1
按此序列依次遍历
vl(6)=8(与ve(6)相等)
vl(5)=7
vl(4)=6
vl(2)=min{vl(5)-a4,vl(4)-a3}=min{4,4}=4
vl(3)=min{vl(4)-a5,vl(6)-a6}={2,5}=2
解释:V3至少在第2分钟发生、至少在第5分钟发生,为保证都不耽误,选最小的2
vl(1)=min{vl(2)-a1,vl(3)-a2}=min{1,0}=0

此时结果
在这里插入图片描述
得到结论:
借助逆拓扑排序
vl(汇点)=ve(汇点)
vl(k)=Min{vl(j)-Weight(vk,vj)},vj为vk的任意后继

四.求所有活动的最早发生时间 e()

图中标注为ve()
在这里插入图片描述
e(1)=0、e(2)=0
e(3)=3、e(4)=3
e(5)=2、e(6)=2
e(7)=6、e(8)=6
在这里插入图片描述
得到结论
借助ve()数组
对于边<vk,vj>表示活动ai,e(i)=ve(k)

五.求所有活动的最迟发生时间 l()

图中标注为vl()
在这里插入图片描述
l(8)=7(vl(6)-a8=8-1=7)
l(7)=8-2=6
l(6)=8-3=5
l(5)=6-4=2
l(4)=7-3=4
l(3)=6-2=4
l(2)=2-2=0
l(1)=4-3=1

结果
在这里插入图片描述
得到结论
借助vl()数组
对于边<vk,vj>表示活动ai,l(i)=vl(j)-Weight(vk,vj)

六.求所有活动的时间余量

d(i)=l(i)-e(i)
在这里插入图片描述
d(k)=0的活动就是关键活动
由表格得到d(2)、d(5)、d(7)=0
a2、a5、a7是关键活动
V1、V3、V4、V6是关键路径
在这里插入图片描述

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡__卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值