首页 理论教育 优化算法设计:提升效率的方法与技巧

优化算法设计:提升效率的方法与技巧

时间:2023-07-06 理论教育 版权反馈
【摘要】:在将四个平行序链调整为顺序链的过程中,第1道工序的调整方案共有4!然后找到调整后的新增路线如表6-2所示,根据连续链定理进行有效删减后计算出每种调整方案新增路线的最大路长。表6-2四个平行序链第2道工序顺序调整方案的新增路线续表假设第i道调整为Ai→Bi→Ci→Di,则第i+1(i=2,3,…,n-1)步算法如下。a.若TBi+TCi<TAi+1<TBi+TCi+TDi,则Ai+1的紧后工序可以为Bi+1,也可以为Ci+1。

优化算法设计:提升效率的方法与技巧

在将四个平行序链调整为顺序链的过程中,第1道工序的调整方案共有4!种,例如C1→A1→B1→D1,D1→A1→B1→C1等。

假设第1道工序调整为A1→B1→C1→D1,推迟总工期的算法如下。

由于第1道工序调整为A1→B1→C1→D1,相当于网络图中新增加了过A1→B1,B1→C1,C1→D1,A1→B1→C1,B1→C1→D1,A1→B1→C1→D1路线。新增路线中的最大路长为max{},其中符合连续链定理条件的可以进行有效删减。

接下来就是其他平行工序的顺序调整。这里假设机器没有中断时间,在把第2道工序调整为顺序工序时,工序A2必然先开始做。

(1)若TA2<TB1即A2完成时,B1还在加工,则A2的紧后工序为B2,继续寻找B2的紧后工序。

1)若TB2<TC1+TD1,即B2完成时,C1或D1还在加工,则第2道工序调整为A2→B2→C2→D2

2)若TB2>TC1+TD1,即B2完成时,C1、D1都已加工完毕,则第2道工序调整为A2→B2→C2→D2或A2→B2→D2→C2

(2)若TA2>TB1,第一台机器加工完B1后,依次加工C1、D1,第二台机器继续加工A2

1)若TB1<TA2<TB1+TC1,即A2完成时,B1已加工完毕,第一台机器正在加工C1,则A2的紧后工序为B2,且A2加工完毕时,C1已加工的时间为(TA2-TB1),继续寻找B2的紧后工序。

a.若TB2<[TC1-(TA2-TB1)]+TD1,即B2完成时,C1或D1还在加工,则第2道工序调整为A2→B2→C2→D2

b.若TB2>[TC1-(TA2-TB1)]+TD1,即B2完成时,C1、D1加工完毕,则第2道工序调整为A2→B2→C2→D2或A2→B2→D2→C2

2)若TA2>TB1+TC1,第一台机器加工完B1、C1后加工D1,第二台机器继续加工A2

a.若TB1+TC1<TA2<TB1+TC1+TD1,即A2完成时,B1、C1已加工完毕,第一台机器正在加工D1,则A2的紧后工序可以为B2,也可以为C2

当A2的紧后工序为B2时,第一台机器加工完B1、C1后加工D1,第二台机器在完成A2后开始加工B2,此时D1已加工的时间为(TA2-TB1-TC1),继续寻找B2的紧后工序。

a)若TB2<TD1-(TA2-TB1-TC1),即B2加工完毕时,D1正在加工,则第2道工序调整为A2→B2→C2→D2

b)若TB2>TD1-(TA2-TB1-TC1),即B2正在加工时,D1已经加工完毕,则第2道工序调整为A2→B2→C2→D2或A2→B2→D2→C2

当A2的紧后工序为C2时,第一台机器加工完B1、C1后加工D1,第二台机器在完成A2后开始加工C2,此时D1已加工的时间为(TA2-TB1-TC1),继续寻找C2的紧后工序。

a)若TC2<TD1-(TA2-TB1-TC1),即C2加工完毕时,D1正在加工,则第2道工序调整为A2→C2→B2→D2

b)若TC2>TD1-(TA2-TB1-TC1),即C2正在加工时,D1已经加工完毕,则第2道工序调整为A2→C2→B2→D2或A2→C2→D2→B2

b.若TA2>TB1+TC1+TD1,即A2完成时,B1、C1和D1都已加工完毕,则第2道工序可以调整为A2→B2→C2→D2,A2→B2→D2→C2,A2→C2→B2→D2,A2→C2→D2→B2,A2→D2→C2→B2或A2→D2→B2→C2

然后找到调整后的新增路线如表6-2所示,根据连续链定理进行有效删减后计算出每种调整方案新增路线的最大路长。

表6-2 四个平行序链第2道工序顺序调整方案的新增路线

(www.xing528.com)

续表

假设第i道调整为Ai→Bi→Ci→Di,则第i+1(i=2,3,…,n-1)步算法如下。

(1)若TAi+1<TBi,则Ai+1的紧后工序为Bi+1,继续寻找Bi+1的紧后工序。

1)若TBi+1<TCi+TDi,则第i+1道工序调整为Ai+1→Bi+1→Ci+1→Di+1

2)若TBi+1>TCi+TDi,则第i+1道工序调整为Ai+1→Bi+1→Ci+1→Di+1或Ai+1→Bi+1→Di+1→Ci+1

(2)若TAi+1>TBi,第i台机器加工完Bi后,依次加工Ci、Di,第i+1台机器继续加工Ai+1

1)若TBi<TAi+1<TBi<TCi,则Ai+1的紧后工序为Bi+1,且Ai+1加工完毕时,Ci已加工的时间为(TAi+1-TBi),继续寻找Bi+1的紧后工序。

a.若TBi+1<[TCi-(TAi+1-TBi)]+TDi,则第i+1道工序调整为Ai+1→Bi+1→Ci+1→Di+1

b.若TBi+1>[TCi-(TAi+1-TBi)]+TDi,则第i+1道工序调整为Ai+1→Bi+1→Ci+1→Di+1或Ai+1→Bi+1→Di+1→Ci+1

2)若TAi+1>TBi+TCi,第i台机器加工完Bi、Ci后加工Di,第i+1台机器继续加工Ai+1

a.若TBi+TCi<TAi+1<TBi+TCi+TDi,则Ai+1的紧后工序可以为Bi+1,也可以为Ci+1

当Ai+1的紧后工序为Bi+1时,第i台机器加工完Bi、Ci后加工Di,第i+1台机器在完成Ai+1后开始加工Bi+1,此时Di已加工的时间为(TAi+1-TBi-TCi),继续寻找Bi+1的紧后工序。

a)若TBi+1<TDi-(TAi+1-TBi-TCi),则第i+1道工序调整为Ai+1→Bi+1→Ci+1→Di+1

b)若TBi+1>TDi-(TAi+1-TBi-TCi),则第i+1道工序调整为Ai+1→Bi+1→Ci+1→Di+1或Ai+1→Bi+1→Di+1→Ci+1

当Ai+1的紧后工序为Ci+1时,第i台机器加工完Bi、Ci后加工Di,第i+1台机器在完成Ai+1后开始加工Ci+1,此时Di已加工的时间为(TAi+1-TBi-TCi),继续寻找Ci+1的紧后工序。

a)若TCi+1<TDi-(TAi+1-TBi-TCi),则第i+1道工序调整为Ai+1→Ci+1→Bi+1→Di+1

b)若TCi+1>TDi-(TAi+1-TBi-TCi),则第i+1道工序调整为Ai+1→Ci+1→Bi+1→Di+1或Ai+1→Ci+1→Di+1→Bi+1

b.若TAi+1>TBi+TCi+TDi,则第i+1道工序调整为Ai+1→Bi+1→Ci+1→Di+1,Ai+1→Bi+1→Di+1→Ci+1,Ai+1→Ci+1→Bi+1→Di+1,Ai+1→Ci+1→Di+1→Bi+1,Ai+1→Di+1

Bi+1→Ci+1或Ai+1→Di+1→Ci+1→Bi+1

找到调整后的新增路线如图6-9所示,根据连续链定理进行有效删减后计算出每种调整方案新增路线的最大路长。这样就找到了所有的可行方案,计算出了各可行方案新增路线的最大路长,选择所有最大路长中的最小值减去原路长,即为当第1道工序调整为A1→B1→C1→D1时,缩短工期的最小值,所对应的方案就是要寻找的最佳调整方案。其中第i+1(i=2,3,…,n-1)步流程如图6-9所示。依次方法找到其他调整方案中缩短工期的最小值进行比较,最小者对应的方案即为最佳调整方案。

图6-9 算法的第i+1(i=2,3,…,n-1)步流程图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈