关键路径2--计算

本文详细解析了项目管理中源点和汇点的概念,关键路径的求解,以及如何计算活动的最早和最晚开始时间。通过实例说明了活动时间余量的计算和关键活动的识别。重点在于理解ve(最早开始时间)和vl(最晚发生时间)的计算方法,以及如何确保关键路径的合理安排以避免延误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源点和汇点

关键路径和路径长度

求解关键路径

ve:early最早开始时间

源点最早开始时间定义成0:ve(v1)=0

vl:late最迟发生时间:和最晚结束时间是同一个时间,结束了才能开始

这是关于顶点的,即事件的。

接下来是活动的:

时间余量:活动的最迟开始时间-活动的最早开始时间

没有时间余量:最早开始时间和最晚开始时间是一样的,差值为0,称为关键活动

怎么求活动的最早和最晚开始时间?


i是第i个活动,e(i)等于弧尾顶点的最早发生时间ve(j):e(i)=ve(j)

 最晚开始时间l(i):

k顶点的最晚发生时间减去边的权值:vl(k)-w

要计算e(i)和l(i),就要计算ve(i)和vl(k)

所以接下来就要看如何计算ve(i)和vl(k),即某一个顶点的最早发生时间和最晚发生时间

最早发生时间:

从第一个顶点往前推,它自己规定为0,从这一刻就可以开始

下一个顶点怎么算呢?上一个顶点(可能不止一个)加上当前活动持续的时间,结果可能不一样,那就从这里头选一个最大的(因为后一个事件的开始必须是要所有分支活动都完成),作为这一个顶点的最早发生时间

最晚发生时间:

公式有点难理解,看一下例子

从i顶点到j顶点的一条弧:也是找到j顶点的最晚发生时间,减去这条弧的权值,由i发出的弧也可能有很多个,那就在若干个里头找最小的

要找某一个顶点的最早发生时间,我们从源点开始(为0,不用求了)

边表示活动,如果后面还有活动,这些活动最早什么时候开始?得等最长的活动结束了才能开始,所以要找到当中的最大值,

这里vj什么时候开始?去求其他的所有顶点,即以vj为弧尾的所有顶点的最早发生时间,再加上权值,找最大,

最晚是从汇点往前推:

 

现在已知汇点在第10天结束,对于第一条路径,它最迟可以在第8天开始,它再用两天时间,第8天就可以结束了,对于第二条路径,最迟在第6天开始,经过4天,第10天就可以结束,第3条路径,最迟得在第7天开始,要是第8天,还要3天,那就完不成了,最后一条,第3天就要开始,不然经过7天,完成不了,所以3就是最晚开始。要保证它最迟在第10天结束,那就要保证他的前一个活动最迟在--10-权值得最小值--开始

(用网友的例子:用ddl- 花费时间=最迟开始天数,而又因为时间越长被减数越大所得差就越小(都是十二月考试学那么多内容,你学的越慢你就得越早开始复习,所以取最小值

v5:选7还是选5?选最大值7,最早可以什么时候开始。

每个顶点得最晚发生时间:


从汇点算,v9的不用求,和他的最早发生时间相同

 

用前一个顶点的最晚时间减去权值......继续往前推,v5就要分别计算和比较,但7=7,不用理;v1,连接的顶点有3个,6-6=0最小,通常最后一个顶点一般也不用算,就是0

总结:一个取最大,一个取最小,一个正着来,一个倒着来

然后,我们每个活动的最早和最晚开始时间就可以开始求了

i表示第i个活动,即从j到k的一个边,ve(j)求的是j顶点最早发生时间--刚才已求,查阅填即可

a2,a3,a1的弧尾都是v1,所以都是0

接下来是a4活动,直接查v2的最早发生时间......依次查就行了

再看每个活动的最迟开始时间:

公式:从j到k的弧,vl(k)是弧头顶点的最晚发生时间-弧

a1查到v2的vl是6,减去权值6=0,所以a1最迟现在开始

差值直接减就行,a1,a4,a7,a8,a10,a11,是关键活动,关键活动构成的路径(蓝色)就是关键路径

 

总结:

1.

2.

3.不能缩短太多

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值