关键路径法的公式计算

如题所述

第1个回答  2016-05-12

上面介绍了活动的最早和最迟时间的计算方法,以上的过程可以用比较简单的公式来表达。 上面所讲述的方法,我们一般称为节点计算法,节点和活动的最早时间按照正推法进行计算,起点节点未规定时间时,我们取其时间为1,即
ETi=1(i=1)
对于任意一个节点,如果其之前只有一条活动时,则其最早时间按照下式计算,
ETj= ETi+Di-j
如果该节点之前有多条活动时,则其最早时间按照下式计算,ETj= max{ETi+Di-j}
其中Di-j为活动i-j的工期
对于活动的最早时间,最早开始时间为:
ESi-j=ETi
最早结束时间为
EFi-j= ESi-j+ Di-j
计划的总工期
T=ETn-1
节点和活动的最迟时间以逆推法计算,计算时,首先令最后一个节点的最迟时间等于其最早时间,即
LTn=ETn
对于其之后只有一条活动的节点,最迟时间如下式所示
LTi=LTj-Di-j
对于其之后有多条活动的节点,最迟时间如下式所示
LTj=min{ LTj-Di-j}
工作i-j的最迟完成时间以下式计算,
LFi-j=LTj
最迟开始时间为
LSi-j=LFj- Di-j 以上的算法是节点计算法,另外,也可以采用一种叫做工作计算法的方法进行活动时间的计算,具体如下。
对于最早时间,采用正推法计算。在没有指定节点的开始时间时,则起点开始活动的最早开始时间定为1,即
ESi-j=1
当工作i-j只有一条紧前工作h-i时,其最早开始时间按如下公式计算ESi-j=ESh-i+ Dh-i
当工作i-j有多条紧前工作时,其最早开始时间按照以下公式计算
ESi-j=max {ESh-j+ Dh-i}
工作i-j的最早完成时间按照下式计算
EFi-j=ESi-j+ Di-j
网络计划的计算工期按照下式确定
T=max {EFi-n}-1
活动的最迟结束时间和最迟开始时间需要采用逆推法计算。
以终点节点为箭头节点的活动的最迟完成时间按照网络计划的工期确定,即
LFi-j=T+1
其它活动的最迟开始时间按照下式计算
LFi-j=min {LFj-k- Dj-k}
活动的最迟开始时间以下式确定
LSi-j=LFi-j- Di-j
对于总时差和自由时差可以采用如下的公式计算。
总时差可以按照下式计算:
TFi-j= LSi-j- ESi-j
或者
TFi-j= LFi-j- EFi-j
当工作i-j有紧后工作j-k时,自由时差可以按照下式计算:
FFi-j=ESi-k- ESi-j- Di-j
或者
FFi-j=ESj-k-EFi-j
由于引入了多种逻辑关系,前导图(PDM)的时间计算和箭线图(ADM)有一些差别。除了前导图(PDM)中不存在节点最早时间和最迟时间,在箭线图(ADM)中提及的其它时间参数也都适合前导图(PDM)。 对于活动的最早开始和最早结束时间,采用正推法计算,其算法如下所示:
⒈将第一个活动的最早开始时间设置为1.
⒉在活动的最早开始时间上加上其工期,得到活动的最早结束时间。
⒊根据该活动与后置活动的逻辑关系,计算后置活动应该的最早开始时间,并与其已有的最早开始时间对比,如果其后置活动还没有设置最早开始时间,则将此时间设为其最早开始时间,如果此时间早于其后置活动已有的最早开始时间,则保留后置活动的原有最早开始时间,如果此时间迟于其后置活动已有的最早开始时间,则将此时间设置为后置活动的最迟开始时间。
⒋重复步骤2和3,直到所有活动的时间被计算完为止。
对于以上所示的最早时间的计算过程,可以以公式的形式表示如下:
当活动间的逻辑关系为SS,则计算如下
ESj=max{ ESi+ STS}
当活动间的逻辑关系为FS,则计算如下
ESj= max{ESi+ Di+ FTS}
当活动间的逻辑关系为FF,计算如下
ESj= max{ESi+ Di- Dj+FTF}
当活动间的逻辑关系为SF,计算如下
ESj=max{ ESi- Dj+STF}
在计算出各个活动的最早开始和结束时间之后,就可以计算活动的自由时差,在计算前导图(PDM)的自由时差时应注意,由于引入了多种逻辑关系,并且活动间可以存在延时,所以其计算方法与箭线图(ADM)的计算方法不一样。 对于前导图(PDM)的活动间,除了延时还可以存在时间间隔(LAG),一般可以按照下面的方式计算。
当活动间的逻辑关系为SS,则计算如下
LAGi-j= ESj- ESi- STS
当活动间的逻辑关系为FS,则计算如下
LAGi-j= ESj- EFi- FTS
当活动间的逻辑关系为FF,计算如下
LAGi-j= EFj- EFi- FTF
当活动间的逻辑关系为SF,计算如下
LAGi-j= EFj- ESi- STF
则对于任意一个活动,其自由时差为
FFi=min{ LAGi-j}
最后一个活动的自由时差为0.
对于总时差,终点节点的总时差为0,对于其它任意一个节点,总时差按照下式进行计算
TFi=min{TFj+ LAGi-j}
对于任意一个活动的最晚开始时间可以由其最早开始时间加上总时差得到,同样,其最晚开始时间可以由最早结束时间加上其总时差得到,公式表示如下
LSi=ESi+TFi
LFi=EFi+TFi

相似回答