首页 > 编程知识 正文

关键路径教程,关键路径算法图示

时间:2023-05-03 13:31:25 阅读:60311 作者:420

关键路径法是软测试的知识点。 分析并图解说明了常见的模糊知识点。 分享给现在准备参加软测试的很多考生。

01什么是关键路径法CPM? 关键路径法用于在进度模型中估计项目的最短工期,并确定逻辑网络路径的进度灵活性大小。 该进度网络分析技术不考虑任何资源限制,沿进度网络路径采用顺序进给和逆向方法计算所有活动的最早开始ES、最早结束EF、最晚开始LS和最晚完成LF日期。

这样得到的第一个和最后一个开始日期和结束日期不一定是项目的进度计划,而是将确定的参数(活动期间、逻辑关系、提前量、延迟量和其他已知的制约因素)输入进度模型的结果,表明活动可以在该期间内实施

02关键路径法关键路径是指项目中最长的活动顺序,决定可能项目的最短工期。

计算关键路径的长度时,必须将路径上所有活动的持续时间、提前量(负)和延迟量(正)相加。

最长路径的总上浮时间最少,通常为零; 进度网络图可能有多条关键路径。

长度仅次于关键路径的路径称为次关键路径,并且可以有多个次关键路径。

使用进度计划软件进行计划时,您可以定义自己的参数来确定关键路径,以满足相关人员的限制要求。

03关键路径法的作用关键路径法用于计算进度模型中的关键路径、总悬浮时间和自由悬浮时间,或者逻辑网络路径的进度灵活性的大小。

04最早和最晚时间1 .最早的开始结束时间ES :最早的开始时间(Earliest Start )是指某项活动可以开始的最早时间,只由项目计划决定,如果满足计划条件则可以开始。

EF :“最早完成时间”是指一个事件可以完成的最早时间。 其中,EF=ES DU,DU是活动持续时间,通过推测法提前知道开始时间。

2 .最晚结束时间和开始时间LF :“最晚结束时间”是指项目在请求完成时间内完成时必须完成的活动的最晚时间。 通常取决于利益相关者(客户或管理层)的限制。

(“最迟开始时间”(Latest Start )是指项目必须在请求完成时间内开始某项活动的最迟时间。 其中,LS=LF -DU,DU是持续时间,通过估计法提前知道结束时间。

3 .图形显示按照《PMBOK指南》推荐,以图6-24的方式显示活动的ES、EF、DU、LF、LS及活动名称(ID )

@提示:考试中不一定要画图6-24的格子,只要按照图的方向标注即可,具有计算TF和FF时不易出错的优点。 有关TF和FF的计算方法,请参照本节的后续内容。

4 .活动是从第0天开始,还是从第1天开始采用顺法和逆法进行进度网络路径计算,需要关注假设计算的结果因活动是从第0天开始还是从第1天开始而不同。 首先,需要明确以下概念。

活动持续时间DU是指活动的工作时间段。 例如,活动持续时间为24小时,是指3个工作日(每天8小时)。

活动的开始时间是指活动开始日的上班开始时间。活动结束是指开始日的结束时间。 也就是说,假设一个活动的持续时间为2天,则是指从第1天上班时间到第2天上班时间的所有工作时间段。

活动是第0天还是第1天是指是否把活动开始的日子计入工作时间段。 现实中不存在第0天,所以不需要计算活动开始的日期; 活动从第一天开始,第一天存在,所以必须在工作时间段计算。 这两种情况会导致当前活动的EF或LS,之后活动的ES和LF在计算时会考虑是扣除这一天还是加算这一天。

无论从第0天开始还是从第1天开始,都不会影响关键路径的计算方法和浮动时间的计算方法,但如果在考试中出错,就会影响计算结果。 在考试中,为了简化计算,通常从第0天开始,但实际上为了符合实际,通常从第1天开始。 就这两种方式举例说明。

图6-25

第一种情况:活动从第0天开始。 图6-25

计算公式如下。

(1)就目前的活动而言:

正向发送时EF=ES DU;

反按时ls=lfdu

)2)关于后续活动:

正向发送时ESi=EFi-1;

顺按时的LFi-1=LS i (例如逆按时的活动c相当于紧接活动d之后的活动) )。

其中从左向右,“I”表示当前活动,“i-1”表示紧接在“I”之前的活动。

例如,针对事件a、b最早的时间:

EFA=ESA DU=0 5=5,

ESB=EFA=5;

活动d和c的最晚时间:

LSD=lfddu=30-15=15,

LFC=LSD=15;

第二种情况:活动从第一天开始。 图6-26

图6-26

当前活动

正向按下时ef=(esdu )-1;

反向按下时ls=(lfdu ) 1

对于紧接着的活动

正向发送时ESi=EFi-1 1;

br> 逆推时LFi-1 = LS i -1
其中自左向右,“i”代表当前活动,则“i-1”代表“i”的紧前活动。例如:

对于活动A、B的最早时间:

EFA= ESA+DU-1 = 1+5-1 = 5,
ESB = EFA+1= 5+1 = 6;
对于活动D和C的最晚时间:

LSD= LFD – DU+1 = 30 -15 +1 =16,
LFC =LSD -1 = 15;
@提示:从上两种计算方法来看,活动从第0天开始显然对人工计算来说更加直观简便,这种方法的缺点是与日历日期的对应关系是不一致的。活动从第1天开始计算的结果与日历日期是一致的,但是计算过程是不直观的。好在考试中一般不会涉及具体的日历日期,所以推荐使用活动从第0天开始的计算方法。

05顺推法与逆推法

自左向右计算最早时间称为顺推;自右向左计算最晚时间称为逆推。


图6-27

在顺推时会出现如图6-27(左)的情况,即当前活动有两个和两个以上的紧前活动,那么当前活动的ES的取值应该遵循顺推取最大的原则,

即ES0 = MAX(EF1,EF2,……)

在逆推时也会出现如图6-27(右)的情况,即当前活动有两个和两个以上的紧后活动,那么当前活动的ES的取值应该遵循逆推取最小的原则,

即ES0 = MIN(EF1,EF2,……)。

@提示:顺推法得到的最早工期代表项目期望的计划工期;逆推法时设定的最晚工期代表相关方的期望工期。

1. 总浮动时间TF

定义:在任一网络路径上,进度活动可以从最早开始日期推迟或拖延的时间,而不至于延误项目完成日期或违反进度制约因素,就是总浮动时间或进度灵活性。
取值:在进行紧前关系绘图法排序的过程中,取决于所用的制约因素,关键路径的总浮动时间可能是正值、零或负值。
总浮动时间为正值,是由于逆推计算所使用的进度制约因素要晚于顺推计算所得出的最早完成日期,即给定的工期比计划的工期要长。
总浮动时间为负值,是由于持续时间和逻辑关系违反了对最晚日期的制约因素,即给定的工期要比计划的工期要短。
计算方法:TF = LS – ES = LF – EF,即按照图6-28箭头所示的方向求值。


图6-28

2. 负值浮动时间分析

关键路径出现负的浮动时间意味着,如果不采取措施项目将延期。
负值浮动时间分析是一种有助于找到推动延迟的进度回到正轨的方法的技术,从而找到保证工期的途径。
为了使网络路径的总浮动时间为零或正值,可能需要调整活动持续时间(可增加资源或缩减范围时)、逻辑关系(针对选择性依赖关系时)、提前量和滞后量,或其他进度制约因素。

3. 自由浮动时间FF

自由浮动时间就是指在不延误任何紧后活动最早开始日期或不违反进度制约因素的前提下,某进度活动可以推迟的时间量。
总浮动时间可能等于大于自由浮动时间,TF≥FF。
计算方法,如图6-29所示

图6-29

对于图6-29(左)的情况:活动0的FF0 = ES1 – EF0
对于图6-29(右)的情况:活动0的FF0 = MIN{ (ES1 – EF0),(ES2 – EF0) ,……}
@提示:由于自由浮动时间的计算涉及前后活动之间的参数不容易记忆,只要记住图6-29所示的计算方式就不容易搞错了。

4. 项目浮动

一个项目可以延误但不影响外界(如客户或发起人)限制的完工日期的时间。例如客户要求11.11号完工,项目团队的计划是在11.1完工,那么二者之间就有10天的浮动时间;如果按照客户要求日期完工,则项目浮动会反映在总浮动时间上。

关键路径常见考点小结,请参考表6-7。

表6-7

06关键路径法完整的计算示例

请计算如表6-8所列活动的关键路径,并完成顺推计算最早时间和逆推计算最晚时间,计算所有活动的TF和“活动C”的自由浮动时间FF。

表6-8

第一步,画出网络图。如图6-30(1)


图6-30(1)

第二步:计算关键路径。列出所有可能的路径,比较其长度

路径A-B-F长度为2+2+2 = 6
路径A-C-F长度为2+3+2 = 7
路径A-D-E-F长度为2+4+2+2 = 9
故关键路径为A-D-E-F,长度为9

第三步:顺推。计算最早时间,按照从第0天开始,如图6-30(2)


图6-30(2)

第四步:逆推。计算最晚时间,如图6-30(3)



图6-30(3)

第五步,计算所有活动的TF和活动C的FF。如图6-30(4)所示。活动C的FF为:

FFc = ESF-EFc=8 – 5 = 3
或者采取另一种方法:
FFc = 关键路径耗时 – 包含活动C的路径耗时 = 10 -- 7 = 3


===========我是华丽的分割线===========

更多知识:
点击关注专题:嵌入式Linux&ARM

或浏览器打开:https://www.jianshu.com/c/42d33cadb1c1

或扫描二维码:

扫我

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。