在上一节的例10.3中,用全枚举法找出了关键路线。对于比较简单的小型统筹图,可以采用全枚举法寻找关键路线,但对大型工程的统筹图来说,工序数目繁多,工序关联关系复杂,再采用全枚举法寻找关键路线实属不易,因此需要建立一种方法来寻找关键路线。本节将介绍寻找关键路线的一种方法,即时间参数法。
1.相关参数及其计算
为了利用时间参数法寻找关键路线,需要给出相关参数的概念,也需要把时间参数计算出来,同时把时间参数值标在统筹图上,或列在相应的表格中,从而方便技术人员或管理人员合理组织、统筹安排,保证工程顺利进行。
(1)事项的参数及其计算。
① 事项最早时间。
一个事项j所能发生的最早时间称为事项最早时间。所谓事项j的最早时间,是指用事项j表示完工事项的那些工序都完工的时间。也就是说,以事项j为起点的任意一道工序的最早可能开工时间,即是指从始点事项开始到此事项j的最长路线的时间。用tE(j)表示事项j的最早时间,E是英文Early的第一个字母。
图10.11所示的示例中,只有当a、b、c三道工序全部完工以后,事项j的后续工序d、e才可以开工,也就是说,事项j才可以发生。由此可见,事项j的最早时间tE(j)可由下式计算出:
图10.11
tE(j)=max{tE(2)+t(2,j),tE(3)+t(3,j),tE(4)+t(4,j)}
其中t(2,j)、t(3,j)、t(4,j)分别是工序a、b、c的工序时间,tE(2)、tE(3)、tE(4)分别是事项2、事项3、事项4的最早时间。
由上式可以看出,如果按照这个思路推算的话,计算事项的最早时间应该从始点事项开始,依次自左向右对逐个事项进行顺推计算,直至终点事项为止。
事项j最早时间的通用推算公式如下:
tE(1)=0,tE(1)为始点事项最早时间,从零算起,也可从某一个具体时间或日期算起。
tE(j)=max{tE(i)+t(i,j) | j=2,…,n}
其中n为终点事项编号,i为与事项j相关联工序(i,j)的开工事项。
按照上述推算公式,计算出事项的最早时间以后,写在统筹图中相应事项的左下方,并用方框“□”标识起来。
针对例10.3的统筹图10.10,计算各个事项的最早时间如下:
tE(1)=0
tE(2)=max{tE(1)+t(1,2)}=max{0+4}=4
tE(3)=max{tE(2)+t(2,3)}=max{4+3}=7
tE(4)=max{tE(2)+t(2,4),tE(3)+t(3,4)}=max{4+2,7+6}=13
tE(5)=max{tE(2)+t(2,5),tE(4)+t(4,5)}=max{4+5,13+3}=16
tE(6)=max{tE(3)+t(3,6),tE(5)+t(5,6)}=max{7+5,16+5}=21
tE(7)=max{tE(5)+t(5,7),tE(6)+t(6,7)}=max{16+10,21+5}=26
tE(8)=max{tE(7)+t(7,8)}=max{26+5}=31
把计算出的各个事项最早时间,写在统筹图10.10中相应事项的左下方,并用方框“□”标识起来,如图10.12所示。
图10.12
② 事项最迟时间。
一个事项i最迟可以在何时发生而不会推迟工程的最早完工时间,这个时间就称为事项最迟时间。所谓事项i的最迟时间,是指事项i开始的最迟时间,即是指以事项i为终点的任意一个工序的最迟允许结束时间。也就是说,以事项i为终点的工序,如果迟于这个时间结束,就会造成以事项i为起点的后续工序推迟开工,从而可能会导致整个工程推迟。用tL(i)表示事项i的最迟时间,L是英文Latest的第一个字母。
图10.13所示的示例中,如果三道工序c、d、e能分别在tL(7)、tL(8)、tL(9)以前完成,就不会使事项7、事项8、事项9的后续工序推迟开工,这样也就不会推迟整个工程的最早完工时间。由此可见,事项i的最迟时间tL(i)需要满足下列条件:
图10.13
tL(i)+t(i,7)≤tL(7)
tL(i)+t(i,8)≤tL(8)
tL(i)+t(i,9)≤tL(9)
即有 tL(i)≤{tL(7)-t(i,7),tL(8)-t(i,8),tL(9)-t(i,9)}
则得出 tL(i)=min{tL(7)-t(i,7),tL(8)-t(i,8),tL(9)-t(i,9)}
其中t(i,7)、t(i,8)、t(i,9)分别是工序c、工序d、工序e的工序时间,tL(7)、tL(8)、tL(9)分别是事项7、事项8、事项9的最迟时间。
由上式可以看出,如果按照这个思路推算的话,计算事项的最迟时间应该从终点事项开始,依次自右向左对逐个事项进行逆推计算,直至始点事项为止。事项i最迟时间的通用推算公式如下:
tL(n)=tE(n)=TE
其中n为终点事项编号,tL(n)为终点事项最迟时间,等于终点事项最早时间tE(n),即等于工程的最早完工期TE。
tL(i)=min{tL(j)-t(i,j)|i=n-1,n-2,…,1}
其中j为与事项i相关联工序(i,j)的完工事项。
按照上述推算公式,计算出事项的最迟时间以后,写在统筹图中相应事项的右下方,并
用三角框“△”标识起来。
针对例10.3的统筹图10.10,计算各个事项的最迟时间如下:
tL(8)=tE(8)=TE=31
tL(7)=min{tL(8)-t(7,8)}=min{31-5}=26
tL(6)=min{tL(7)-t(6,7)}=min{26-5}=21
tL(5)=min{tL(6)-t(5,6),tL(7)-t(5,7)}=min{21-5,26-10}=16
tL(4)=min{tL(5)-t(4,5)}=min{16-3}=13
tL(3)=min{tL(4)-t(3,4),tL(6)-t(3,6)}=min{13-6,21-5}=7
tL(2)=min{tL(3)-t(2,3),tL(4)-t(2,4),tL(5)-t(2,5)}=min{7-3,13-2,16-5}=4 tL(1)=min{tL(2)-t(1,2)}=min{4-4}=0
把计算出的各个事项最迟时间,写在统筹图10.12中相应事项的右下方,并用三角框“△”标识起来,如图10.14所示。
有了事项的最早时间和最迟时间,就可以计算出关于工序的时间参数。(www.daowen.com)
(2)工序的参数及其计算。
工序的时间参数包括工序最早可能开工时间、工序最早可能完工时间、工序最迟必须开工时间、工序最迟必须完工时间,其表示方式分别由Earliest、Latest的第一个字母和Start、Finish的第一个字母组合而成,即有tES(i,j)、tEF(i,j)、tLS(i,j)、tLF(i,j)。
① 工序最早可能开工时间tES(i,j)。
任何一道工序都必须在它的所有紧前工序都结束以后才能开工,这个开工的时间称为工序最早可能开工时间。实际上,工序(i,j)的最早可能开工时间就等于事项i的最早时间,即有tES(i,j)=tE(i)。
② 工序最早可能完工时间tEF(i,j)。
一道工序的最早可能完工时间,就是该工序最早可能开工时间加上该工序的工序时间,即有tEF(i,j)=tES(i,j)+t(i,j)=tE(i)+t(i,j)。
③ 工序最迟必须开工时间tLS(i,j)。
在不影响紧后工序按期开工的前提下,工序最迟必须开工的时间称为工序最迟必须开工时间。实际上,工序(i,j)的最迟必须开工时间可以由事项j的最迟时间减去该工序的工序时间,即有tLS(i,j)=tL(j)-t(i,j)。
④ 工序最迟必须完工时间tLF(i,j)。
在不影响整个工程工期的前提下,工序最迟必须完工的时间,称为工序最迟必须完工时间。实际上,工序(i,j)的最迟必须完工时间就是事项j的最迟时间,即有tLF(i,j)=tL(j)。
特别提示
工序最迟必须完工时间就是工序最迟必须开工时间加上该工序的工序时间,即有tLF(i,j)=tLS(i,j)+t(i,j);
工序最迟必须开工时间也是工序最迟必须完工时间减去工序的工序时间,即有tLS(i,j)=tLF(i,j)-t(i,j)。
(3)时差。
基于以上的时间参数,还可以给出时差的概念:
① 工序总时差。
在不影响工程最早完工期的前提下,工序完工期可以推迟的时间称为工序总时差,用R(i,j)表示,其计算公式为
R(i,j)=tLF(i,j)-tEF(i,j)=tLS(i,j)-tES(i,j)=tL(j)-tE(i)-t(i,j)
工序总时差是以不影响整个工程的工期为前提的。如果工序(i,j)的总时差R(i,j)>0,说明该工序从最早可能开工到最迟必须完工这段时间内,除了完成本工序的工序时间外,还有一段机动的时间,也就是说,该工序的开工时间可以适当调整。但是如果总时差R(i,j)=0,说明该工序的最早可能开工时间与最迟必须开工时间是相等的,同时最早可能完工时间、最迟必须完工时间也是相等的,即有tES(i,j)=tLS(i,j),tEF(i,j)=tLF(i,j),这种情况说明该工序没有机动时间,这样的工序就是关键工序,或者说,关键路线上的关键工序的总时差均为0。
② 工序单时差。
在不影响紧后工序最早可能开工时间的前提下,工序最早可能完工时间可以推迟的时间量称为工序单时差,用r(i,j)表示,其计算公式为
r(i,j)=tE(j)-tE(i)-t(i,j)
③ 基于时差的相关性质。
根据工序总时差、工序单时差的定义和计算公式,可以得出以下性质:
· 关键工序的总时差一定为0,总时差为0的工序一定是关键工序;非关键工序的总时差一定不为0,总时差不为0的工序一定是非关键工序。
· 关键工序的单时差一定为0,但单时差为0的工序不一定是关键工序,也就是说,非关键工序的单时差也可能为0。
· 关键工序的总时差和单时差均为0,反之,总时差和单时差都为0的工序一定是关键工序。
· 基于总时差公式及关键工序总时差一定为0的结论,可以推出,在关键线路上,每一个事项的最早时间和最迟时间是相等的。
· 针对关键工序,开工的时间和完工的时间既不能提前也不能推迟,所以关键线路上各道工序的总时差必须保持为0。
· 在工程管理中,可以利用非关键工序的时差来协助关键工序,这样可以使整个工程提前完工。
2.关键路线的确定
由上述可知,关键路线的确定可以从两个方面进行:
(1)从标有事项最早时间和最迟时间的统筹图上确定关键路线。
根据事项最早时间的推算公式可知tE(j)=tE(i)+t(i,j),那么总时差R(i,j)就有更简洁的公式
R(i,j)=tL(j)-[tE(i)+t(i,j)]=tL(j)-tE(j)
这个公式说明,工序(i,j)的总时差R(i,j)即为该工序的完工事项j的最迟时间减去它的最早时间;同时又根据时差的相关性质可知,关键工序总时差一定为0,因此关键路线上每一个事项的最早时间和最迟时间是相等的,就可以通过寻找事项的最早时间和最迟时间相等的那些事项来确定关键路线。
这种方法能快速地确定关键路线,但只能是确定出关键路线而已,因为没有计算其他的参数,也就无法掌握其他的相关信息,同时也不利于对相应的工序和整个工程进行管理和控制。
(2)通过寻找总时差为零的工序形成的路确定关键路线。
根据给出的统筹图及其工序时间,可以计算出事项的最早时间和最迟时间,由此可以计算出工序的参数,同时也能计算出工序的总时差R(i,j)及工序单时差r(i,j),再根据时差的相关性质,就可以通过寻找总时差为零的工序形成的路来确定关键路线。
为了便于确定关键路线,一般将相关的信息和参数的计算结果列在一定的表格中,表格的形式如表10.4所示:
表10.4 确定关键路线的参数表
这种方法在只进行关键路线的确定时,相对繁琐一些,但这种方法将所有的相关参数都计算出来,这样就可以利用这些参数的信息进行分析和决策,从而更合理、系统地对相应的工序和整个工程进行管理和控制。
例10.4 确定统筹图10.15的关键路线。
图10.15
解 (1)从标有事项最早时间和最迟时间的统筹图上确定关键路线。
先计算事项最早时间和最迟时间,然后标在统筹图上,如图10.16所示。事项最早时间和最迟时间相等的事项有①、②、③、⑤、⑥、⑦、⑧。可以看出,关键路线有两条,分别为①→②→③→⑥→⑦→⑧和①→②→⑤→⑦→⑧,路长为33;关键工序是a、b、d、f、i、j、k,共有的关键工序是a、k。在图10.16中,关键工序用粗实线标出,共有的关键工序用双实线标出。
图10.16
(2)通过寻找总时差为零的工序形成的路确定关键路线。
计算出的事项参数已经标在图10.16中,再将计算出的工序参数、总时差、单时差列在表10.5中,确定出的关键工序也列在表10.5中。
表10.5 确定例题10.4关键路线的参数表
特别提示
需要说明的是,工序时间t(i,j)、总时差R(i,j)以及工序单时差r(i,j)表示的是时间,而其他的时间参数表示的是时间点,即时刻。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。