融合路径重连的混合算法求解作业车间调度问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

融合路径重连的混合算法求解作业车间调度问题
孟悦; 赵诗奎
【期刊名称】《《机械工程师》》
【年(卷),期】2019(000)012
【总页数】6页(P32-36,39)
【关键词】作业车间调度问题; 遗传算法; 邻域结构; 路径重连
【作者】孟悦; 赵诗奎
【作者单位】济南大学机械工程学院济南250022
【正文语种】中文
【中图分类】TP391
0 引言
随着“中国制造2025”高科技战略计划的提出,我国制造业正向高速度、高质量方向发展,因此高效的生产调度优化技术是必不可少的,不仅可以提高产品生产率、设备利用率和缩短产品生产周期,同时对提高企业的生产力和竞争力具有重大意义。

作业车间调度问题(Job shop scheduling problem,JSP)作为生产调度的核心内容和关键技术,直接影响着企业的生产和管理效率,合理有效的调度方案能够为企业带来巨大的收益。

JSP问题作为典型的“NP-hard”问题,具有动态性、离散性、耦合性等多种特性,采用智能算法对其求解已成为重要的研究内容。

目前针对JSP问题求解的智能算法层出不穷,纵观目前文献中,大量学者融合路
径重连与智能算法优化求解JSP问题,2003年,Aiex等[1]将路径重连与贪婪随
机自适应搜索算法融合,在一定的约束条件下,重新进行路径组合,探索连接高质量解的轨迹;Nasiri等[2]在N1邻域结构的基础上,融合路径重连与禁忌搜索算
法高效求解JSP问题;Spanos等[3]融合遗传算法与具有路径重连思想的交叉变
异算子对JSP问题进行求解;Peng等[4]在基于N7邻域结构基础上,融合路径重连与禁忌搜索算法求解JSP问题,改进了JSP问题基础实例的当前最好解;
González等[5]融合路径重连与分散搜索算法,大大缩短了求解JSP问题的时间;Bierwirth等[6]融合路径重连方法与贪婪随机自适应搜索算法求解JSP问题,实现寻求更优解的过程。

Bakhtar等[7]、González等[8]分别将路径重连方法与贪婪
随机自适应搜索算法和禁忌搜索算法相融合求解柔性作业车间调度问题,并通过基准实例测试,改进了基准实例的当前最优解。

已有的这些研究成果充分证明了路径重连方法对求解JSP问题的重要性。

为进一步提高路径重连方法对求解JSP问题的有效性,本文针对融合路径重连方
法求解JSP问题进行深入研究,提出了一种融合路径重连、邻域结构与遗传算法
的混合算法求解JSP问题,采用国际通用的JSP问题基准算例进行仿真测试,验
证其有效性。

1 问题描述
JSP问题可以简单地描述为有n个工件,在m台机器上进行加工,每道工件对应
有多道工序,不同的工序对应着相应的加工时间和加工机器,在满足合理的约束条件下,以完工时间最小化为目标,设计合理有效的调度方案。

加工过程中满足的约束条件有:1)同工件的每道工序在加工过程中必须满足先后工艺顺序约束;2)
机器的某一时刻只能加工一道工序;3)工件的某一时刻最多只能由一台机器加工;4)某一工序一旦在机器上开始加工后就不能中断。

图1是一个4×4的JSP问题实例及其对应的主动调度甘特图,其中包含4个工件
和4台机器,每个工件包含4道工序,本文以最大完工时间Cmax最小化为目标,合理有效地安排工序在机器上的加工顺序,目标函数为
式中:n为工件总数目;Ci为工件Ji的完工时间。

图1 4×4 JSP问题实例
2 混合算法
单一算法在求解JSP问题时存在局部搜索或全局搜索能力不足等问题,综合多种
针对性不同的算法,可以有效避免该缺陷。

本文综合考虑求解JSP问题算法的局
部搜索和全局搜索能力,以遗传算法实现全局搜索,以邻域结构和路径重连方法实现局部搜索,设计求解JSP问题的混合算法,以有效减少搜索过程中的盲目性,
算法框架如图2所示。

图2 混合算法框架图
2.1 遗传算法
1)编码与解码。

本文采用基于工序的编码方式对遗传算法的染色体进行编码,以图1(a)中的问题数据为例,编码后的染色体如图3所示,染色体上出现的数字
基因值代表加工工件,同一基因值的先后出现顺序代表第几道工序,同一基因值出现的总次数代表该工件的总工序数,例如染色体编码上的第三个位置基因值是2,对应的工件工序为O21,表示的是第二个工件的第一道工序。

图3 基于工序的编码方式
解码的实质是将编码后的染色体恢复成一个可行调度方案的过程,本文采用主动调度的解码方式。

2)选择操作。

通过选择操作可以对较好的个体进行保留,本文采用锦标赛的选择方法,在父代种群中,通过随机产生两个个体,对其适应度值进行比较,选择适应度值好的个体进行保留,进入下一代。

3)交叉操作。

交叉操作是遗传算法中较为重要的一步,能够有效提高算法的搜索能力,本文采用优先操作交叉和改进优先操作交叉混合的方式[9],可以令子代较
好地继承父代染色体的优良特征,优先操作交叉如图4所示。

图4 优先操作交叉示意图
4)变异操作。

变异操作在遗传算法中是为了确保种群的多样性,本文采用两点互换的变异方式,随机选择两个不同的染色体位置,且位置的基因值不同,将对应的工序进行互换,如图5所示。

图5 两点互换操作
2.2 邻域搜索算法
针对JSP问题,纵观目前文献中大量高效的求解算法都融合邻域结构的领域知识,典型的邻域结构主要有Nowicki等[10]、Balas[11、Zhang等[12]、赵诗奎[13]
分别提出的N5、N6、N7以及新型邻域结构。

本文采用的是文献[13]中的新型邻域结构。

1)关键工序与工序块。

关键路径上的工序称之为关键工序,同一机器上相邻的关键工序可以组成工序块。

在一个可行的调度方案中,每道工序间没有时间间隔连接成的路径称为关键路径,以图1(b)中的调度甘特图为例,从最后完工的工序
O44开始,查找的关键路径如图6所示,图中带箭头线段所经过的工序为关键工序。

以图6中的可行调度方案为例,可以形成如图7所示工序块,图中填充部分为关
键工序,圆圈区域代表工序块。

图8为该可行调度方案对应的甘特图,图中填充
工序为关键工序,无填充部分为非关键工序,圆圈区域代表工序块。

图6 关键路径查找示意图
图7 关键工序及工序块
图8 关键工序及工序块对应的甘特图
2)关键工序移动方式。

依据关键工序在工序块中的位置可以分为不同类型的关键工序,包括块内工序、块首工序、块尾工序。

对不同的工序定义了不同的移动方式,使搜索范围尽可能的扩大,以图7中的机器1为例,形成如图9所示的3种不同
的移动方式。

对于机器3中的单独关键工序16,不构成工序块,所以不进行邻域
移动搜索。

2.3 路径重连
路径重连是通过探索两高质量解之间的运动轨迹来生成新解的过程。

现已被认为是结合强化性和多样性策略较好的算法[15],如图10所示,从图中可以看出,与邻
域结构相比,路径重连能够移动更多的工序数目,可以通过移动多个工序形成多个路径解,有效弥补邻域结构的搜索能力。

1)起始解与导向解。

起始解与导向解作为路径重连的基础,其选择至关重要,它不仅仅关系到子解的质量,还关系着搜索的效率与求解结果。

本文将初始化的种群通过遗传算法与邻域结构搜索后,进行主动调度解码,选择当前最优解作为路径重连的起始解,将当前最优解的逆解设置为导向解,如图11所示。

图9 关键工序移动方式
图10 路径重连示意图
图11 起始解与导向解
2)建立路径。

路径重连的主要过程是根据上一小节设置的起始解与导向解进行重连,产生一系列路径解,依据起始解与导向解之间的差异进行重连,重连过程中,最先产生的路径解属性最接近于起始解,随着不断重连,路径解的属性逐渐靠近于导向解,直到最后一个路径解与起始解属性完全相同,停止重连,产生路径解集合。

以图1(a)中的问题数据为例,选择一个可行调度方案,本文路径重连过程如图12所示,首先比较起始解与导向解第一个位置元素是否相同,如果不同,从起始
解中寻找与导向解第一个位置相同的元素,与起始解第一个位置进行互换,产生第
一个路径解;如果相同,比较第二个元素,以此类推。

产生第一个路径解后,将当前路径解按上述原理同导向解进行重连,产生多个路径解,直至路径解同导向解完全一致,结束重连过程。

图12 路径重连过程
3)路径解的评价。

针对上一小节产生的路径解集合,对其进行一个合理的取舍,保证初始解集合中解的质量。

本文采用基于目标函数的评价函数,将产生的全部路径解进行主动调度解码,并与当前种群中的每个个体进行比较,选择较好的解替代当前种群中较差的解。

表1 本文算法的测试数据结果算例规模已知最优值本文算法N C* e/% Tav
LA01 10×5 666 300 666 0 0.016 LA02 10×5 655 300 655 0 0.499 LA03
10×5 597 300 597 0 1.155 LA04 10×5 590 300 590 0 0.390 LA05 10×5 593 300 593 0 0.015 LA06 15×5 926 300 926 0 0.016 LA07 15×5 890 300 890 0 0.842 LA08 15×5 863 300 863 0 1.045 LA09 15×5 951 300 951 0 0.031
LA10 15×5 958 300 958 0 0.015 LA11 20×5 1222 300 1222 0 0.032 LA12 20×5 1039 300 1039 0 1.326 LA13 20×5 1150 300 1150 0 0.031 LA14 20×5 1292 300 1292 0 0.031 LA15 20×5 1207 300 1207 0 0.671 LA16 10×10 945 300 945 0 3.900 LA17 10×10 784 300 784 0 4.399 LA18 10×10 848 300 848 0 1.451 LA19 10×10 842 300 842 0 2.121 LA20 10×10 902 300 907 0.55 0.999 LA21 15×10 1046 300 1046 0 138.904 LA22 15×10 927 1000 927 0 155.190 LA23 15×10 1032 300 1032 0 2.680 LA24 15×10 935 1000 941 0.64 83.757 LA25 15×10 977 1000 977 0 129.184 LA26 20×10 1218 300 1218 0 21.231 LA27 20×10 1235 1000 1240 0.44 411.000 LA28 20×10 1216 300 1216 0 94.300 LA29 20×10 1152 1000 1164 1.04 416.881 LA30 20×10 1355 300 1355 0 9.485 LA31 30×10 1784 300 1784 0 13.635 LA32 30×10
1850 300 1850 0 16.099 LA33 30×10 1719 300 1719 0 13.135 LA34 30×10 1721 300 1721 0 14.320 LA35 30×10 1888 300 1888 0 11.685 LA36 15×15 1268 300 1281 1.03 43.400 LA37 15×15 1397 1000 1407 0.72 164.925 LA38 15×15 1196 1000 1205 0.75 276.715 LA39 15×15 1233 1500 1243 0.81 337.898 LA40 15×15 1222 300 1229 0.57 355.000 FT06 6×6 55 300 55 0 0.160 FT10 10×10 930 300 930 0 9.875 FT20 20×5 1165 300 1165 0 36.598 3 仿真研究
为了验证本文提出算法的有效性,采用JSP问题的国际通用算例进行仿真测试,包括40个LA算例、3个FT算例,通过Visual Basic 6.0编程实现,在CPU主频为3.40 GHz,内存为16 GB的计算机上进行数据测试。

相关参数设置为:遗传算法中交叉概率为0.7,变异概率为0.2,终止条件为设置循环代数为200代或者连续40代当前最优解不更新。

仿真算例结果如表1所示(表中:N为种群规模;C*为当前算例求得的最优值;e为相对误差;Tav为平均求解时间)。

为了验证本文算法的有效性,将本文算法同近几年国内外高水平的期刊文献进行对比(如表2),从表2中可以看出本文算法能够有效地求解JSP问题。

表2 本文算法与其它算法性能比较算例规模已知最优值本文算法文献[13]2016 年最优值文献[16]2016 年最优值文献[17]2015 年最优值文献[18]2013 年最优值文献[19]2019 年最优值最优值相对误差/%LA01 10×5 666 666 0 666 666 666 666 666 LA02 10×5 655 655 0 655 655 655 655 655 LA03 10×5 597 597 0 597 597 597 597 597 LA04 10×5 590 590 0 590 590 590 590 590 LA05
10×5 593 593 0 593 593 593 593 593 LA06 15×5 926 926 0 926 926 926 926 926 LA07 15×5 890 890 0 890 890 890 890 890 LA08 15×5 863 863 0 863 863 863 863 863 LA09 15×5 951 951 0 951 951 951 951 951 LA10
15×5 958 958 0 958 958 958 958 958 LA11 20×5 1222 1222 0 1222 1222
1222 1222 1222 LA12 20×5 1039 1039 0 1039 1039 1039 1039 1039 LA13 20×5 1150 1150 0 1150 1150 1150 1150 1150 LA14 20×5 1292 1292 0 1292 1292 1292 1292 1292 LA15 20×5 1207 1207 0 1207 1207 1207 1207 1207 LA16 10×10 945 945 0 945 946 956 945 945 LA17 10×10 784 784 0 784 784 784 784 784 LA18 10×10 848 848 0 848 848 849 848 848 LA19
10×10 842 842 0 842 842 847 842 842 LA20 10×10 902 907 0.55 907 907 902 902 902 LA21 15×10 1046 1046 0 1046 1058 1056 1048 1052 LA22
15×10 927 927 0 927 937 936 932 927 LA23 15×10 1032 1032 0 1032 1032 1036 1032 1032 LA24 15×10 935 941 0.64 938 947 937 944 941 LA25
15×10 977 977 0 978 992 980 978 982 LA26 20×10 1218 1218 0 1218 1218 1219 1218 1218 LA27 20×10 1235 1240 0.44 1240 1269 1238 1250 1256 LA28 20×10 1216 1216 0 1216 1253 1221 1216 1216 LA29 20×10 1152 1164 1.04 1164 1247 1160 1187 1191 LA30 20×10 1355 1355 0 1355 1355 1371 1355 1355 LA31 30×10 1784 1784 0 1784 1784 1784 1784 1784 LA32 30×10 1850 1850 0 1850 1850 1850 1850 1850 LA33 30×10 1719 1719 0 1719 1719 1719 1719 1719 LA34 30×10 1721 1721 0 1721 1721 1723 1721 1721 LA35 30×10 1888 1888 0 1888 1888 1888 1888 1888 LA36 15×15 126812811.0312811293128612761278LA3715×151****4070.72 14071439140514071407LA3815×151****2050.75120212221221 12191215LA3915×151****2430.81 1238 1259 1258 1241 1250 LA40 15×151****2290.5712291246123512331229FT066×6555505555 55 55 55 FT10 10×10 930 930 0 930 930 937 930 930 FT20 20×5 1165 1165 0 1165 1173 1180 1165 1165
将本文算法与相关文献中其他算法进行统计分析,统计结果如表3所示,从表中
可以看出,同文献[16]相比,有29个算例解取得相等的结果,有14个算例解优于文献[16]所提出的算法,有0个算例解劣于文献[16],算例优于解的数码明显多于劣于解数目,因此表明本文算法的有效性。

同其他文献算法相比较,从表3中可以看出优于解的数码明显多,验证了本文算法的有效性。

表3 解质量对比结果?
图13为本文算法求解JSP问题基准算例的部分调度结果甘特图。

图13 JSP问题部分基准算例的调度结果甘特图
4 结论
路径重连作为邻域结构的有效弥补方式,将其同遗传算法与邻域结构搜索方法相融合,求解以最小化最大完工时间为目标的作业车间调度问题,通过遗传算法进行全局搜索,邻域结构与路径重连实现局部搜索,并以43个JSP问题的基准算例进行验证,同其相关算法文献进行比对分析,可以看出融合路径重连对JSP问题进行求解,可以有效地提高搜索能力,减少搜索过程的盲目性。

[参考文献]
【相关文献】
[1] AIEX R M,BINATO S, RESENDE M G C. Parallel grasp with path-relinking for job shop scheduling[J].Parallel Computing,2003, 29(4):393-430.
[2] NASIRI M M, KIANFAR F. A guided tabu search/path relinking algorithm for the job shop problem[J].International Journal of Advanced Manufacturing Technology, 2012, 58 (9-12):1105-1113.
[3] SPANOS A C, PONIS S T, TATSIOPOULOS I P, et al. A new hybrid parallel genetic algorithm for the job-shop scheduling problem[J]. International Transactions in Operational Research,2013, 21(3):479-499.
[4] PENG B, LYU Z, CHENG T C E. A tabu search/path relinking algorithm to solve the job shop scheduling problem[J].Computers & Operations Research, 2015, 53:154-164.
[5] GONZALEZ M A, ODDI A, RASCONI R, et al. Scatter search with path relinking for the job shop with time lags and setup times[J].Computers & Operations Research, 2015,
60(8):37-54.
[6] BIERWIRTH C, KUHPFAHL J. Extended grasp for the job shop scheduling problem with total weighted tardiness objective
[J].European Journal of Operational Research, 2017, 261(3):48-52.
[7] BAKHTAR S, JAZAYERIY H,VALINATAJ M. A multi -start path-relinking algorithm for the flexible job -shop scheduling problem[C]//IEEE Information and Knowledge Technology.2015:1-6.
[8] GONZALEZ M, VELA C,VARELA R. Scatter search with path relinking for the flexible job shop scheduling problem[J]. European Journal of Opera tional Research, 2015, 245(1):35-45.
[9] 张超勇,董星,王晓娟,等.基于改进非支配排序遗传算法的多目标柔性作业车间调度[J].机械工程学报,2010,46(11):156-164.
[10] NOWICKI E, SMUTNICKI C. A fast taboo search algorithm for the job shop problem[J]. Management Science,1996,42(6):797-813.
[11] BALAS E. Guided local search with shifting bottleneck for job shop scheduling[J]. Manege Science, 1998, 44(2):262-275.
[12] ZHANG C Y, LI P G, GUAN Z L, et al. A tabu search algorithm with a new neighborhood structure for the job shop scheduling problem[J]. Computers and Operations Research, 2007, 34(11):3229-3242.
[13] 赵诗奎.基于新型邻域结构的混合算法求解作业车间调度[J].机械工程学报,2016,52(9):141-151.
[14] 赵诗奎,方水良,顾新建.作业车间调度的空闲时间邻域搜索遗传算法[J].计算机集成制造系
统,2014,20(8):1930-1940.
[15] GLOVER F, LAGUNA M. Tabu Search[M]. Boston: Kluwer Academic Publishers, 1997.
[16] KURDI M. An effective new island model genetic algorithm for job shop scheduling problem[J].Computers and Operations Research, 2016, 67(2):132-142.
[17] ZHAO G, ZHANG J L, ZHANG C, et al. An improved shuffled-complex evolution algorithm with sequence mapping mechanism for job shop scheduling problems[J].Expert Systems With Applications, 2015, 42(8):3953-3966.
[18] 赵诗奎,方水良.基于工序编码和邻域搜索策略的遗传算法优化作业车间调度[J].机械工程学
报,2013,49(16):160-169.
[19] PONGCHAIRERKS P. A Two-level metaheuristic algorithm for the job-shop scheduling[J].Complexity, 2019(4):1-11.。

相关文档
最新文档