改进多邻域候鸟优化算法的柔性作业车间调度研究

杜凌浩,向凤红

(昆明理工大学 信息工程与自动化学院,昆明 650500)

摘要:针对最小化最大完工时间的柔性作业车间调度问题(FJSP),提出一种改进的多邻域候鸟优化算法。首先,采用随机和最优加工时间策略提高初始种群质量;其次,采用两段式编码解决FJSP的机器选择和工序排序问题,基于不同的插入和变异算子设计了6种邻域结构,采用联合邻域搜索策略扩大解空间的搜索范围;再次,采用二次种内竞争策略以增强优秀个体在种群中的作用,设计了种间协同策略来避免算法陷入局部最优。最后,通过实例和基准算例验证了所提算法在求解FJSP问题时的有效性。

关键词:柔性作业车间调度;多邻域结构;联合邻域搜索策略;二次种内竞争;种间协同策略

1 引言

近年来,我国高端制造业逐步兴起,柔性作业车间调度问题(Flexible job shop scheduling problem,FJSP)考虑了机器柔性,更加适用于当前实际生产情况而越来越受到关注[1]

因为采用精确算法在解决FJSP大规模算例时较为困难,近年来大多数学者将解决方案放在了智能优化算法上。文献[2]提出了基于协同优化算法的多群体协同遗传算法对FJSP的最大完工时间最小问题进行了研究。文献[3]将灰狼算法与遗传算法相结合研究了FJSP问题。文献[4-6]分别将蚱蜢优化算法、蜻蜓算法、花朵授粉算法进行改进,并将其应用在了FJSP问题上。虽然目前学者已经使用了很多经典的智能优化算法来解决FJSP问题,但还需要一些更具竞争力的算法来获得更好的优化结果。

候鸟优化算法(migrating birds optimization,MBO)是2012年由Duman等[7]受到候鸟迁徙过程中领飞鸟和跟飞鸟的行为而提出的一种新型智能算法。由于其求解问题的优越性,许多学者将其应用在了调度问题。文献[8]将候鸟优化算法与分布估计算法结合研究了阻塞批量流水车间调度问题。文献[9]对候鸟优化算法的邻域结构进行改进,并提出一种随机迭代排列解码方法应用在了混合流水车间调度问题。文献[10]将基于迭代贪婪算法、贪婪随机自适应搜索、路径重新链接技术和局部搜索与候鸟优化算法相结合研究了阻塞混合流水车间调度问题。文献[11]采用候鸟优化算法对置换流水车间调度问题进行了研究。但目前主要集中在流水车间调度问题,少有文献使用MBO算法研究了柔性作业车间调度问题。文献[12]和文献[13]采用变邻域搜索策略与候鸟优化算法相结合,研究了FJSP问题。但对算法的改进,只增加了算法的局部搜索能力,解空间的探索范围和全局性还有待提升。因此,本文提出一种改进的多邻域候鸟优化算法来解决FJSP问题。具体地,采用随机和最优加工时间策略初始化种群,并采用两段式编码,以插入和变异的方式构造了6种不同的邻域结构,采用联合邻域搜索策略扩大解空间的搜索范围。设计二次种内竞争策略来保证优秀个体在种群能够发挥更好的引导作用;最后设计了种间协同策略来解决MBO算法特殊的共享机制而容易导致算法容易陷入局部最优的问题。通过实例和基准算例进行测试,与其他算法进行对比验证了算法的有效性。

2 柔性作业车间问题

2.1 问题描述

柔性作业车间调度问题描述如下:有n个工件(J1, J2, …, Jn)需要在m台机器(M1, M2, …, Mm)上加工。其中每个工件含有一道或者多道工序,每个工件的工序数可以不同,且每道工序的加工顺序是固定的;每道工序可以选择在不同的机器上加工,加工时间取决于所选择的机器。一个工件同一时刻只能被一台机器加工;一台机器同一时刻只能加工同一工件的同一工序;工件一旦开始加工就不能中断;各工件之间具有相同的优先级;同一工件存在加工顺序,不同工件工序相互独立;开始前,所有工件机器应该准备就绪。本文出现的符号定义如表1所示。

表1 数学符号及符号定义

Table 1 Mathematical symbols and their definitions

数学符号符号定义n工件总数m机器总数M总的机器集i,e机器序号j,k工件序号hj工件j的工序数hjl工件序号, l=1,2,…,hjmjh工件j的第h道工序的可选加工机器数Ojh工件j的第h道工序Mijh工件j的第h道工序在机器i上进行加工Pijh工件j的第h道工序在机器i上加工所需的时间Sjh工件j的第h道工序加工开始时间Cjh工件j的第h道工序加工结束时间L一个足够大的正数Cj每个工件的完工时间Cmax最大完工时间T0所有工件的工序总数Xijh如果工序Ojh在机器i上进行加工则其值为1,否为0yijhkl如果工序Ojh先工序Okl在机器i加工,则为1,否为0

2.2 模型建立

本文以最大完工时间为优化目标,其中f为完工时间,表达式如下所示:

f=min(max(Cj)), 1≤jn

(1)

Sjh+xxjh×pijhCjh, i=1,2,3,…,m;

j=1,2,3,…,n; h=1,2,3,…,hj

(2)

CjhSj(h+1), j=1,2,3,…,n;

h=1,2,3,…,hj-1

(3)

CjhjCmax, j=1,2,3,…,n

(4)

Sjh+pijhSkl+L(1-yijhkl), j=0,1,2,3,…,n;

k=1,2,3,…,n; h=1,2,3,…,hj;

l=1,2,3,…,hk; i=1,2,3,…,m

(5)

CjhSj(h+1)+L(1-yiklj(h+1)), j=1,2,3…,n;

k=0,1,2,3,…,n; h=1,2,3,…,hj-1;

l=1,2,3,…,hk; i=1,2,3,…,m

(6)

(7)

Sjh≥0, Cjh≥0,

j=0,1,2,…,n; h=1,2,3,…,hj

(8)

式(2)和式(3)表示每个工件工序的先后顺序约束;式(4)表示单个工件的完工时间小于总完工时间;式(5)和式(6)表示同一台机器的在某一时刻不能加工多道工序;式(7)表示机器约束,即不能有多台机器在某一时刻加工同一个工序;式(8)表示各个参数变量是正数。

3 改进候鸟优化算法解决FJSP问题

3.1 基本候鸟优化算法

基本候鸟算法详细步骤如下:

步骤1 算法初始化。算法初始化分为两部分,第一部分是设置MBO的参数,包括产生初始解的个数,邻域解的数量,共享解的数量以及巡回次数。第二个部分是生成初始种群,算法的性能受初始种群的影响。在基本MBO中,采用随机生成可行解的方式生成初始解。在所有可行解s当中,选择一个解作为领飞鸟,其余可行解作为跟飞鸟,跟飞鸟被平均分为2组,分别放到左队列和右队列中。其中各有(s-1)/2个解。

步骤2 领飞鸟进化。通过邻域结构生成k个邻域解,将邻域解中的最优解与领飞鸟进行对比,若最优解优于当前领飞鸟的解,则替换领飞鸟;之后将未使用的nx个邻域解给跟飞鸟使用。

步骤3 跟飞鸟进化。根据邻域结构,会产生k-nx个邻域,在新产生的k-nx个邻域和由前面候鸟产生的未使用的nx个邻域解中找到最好的解,若最优解优于当前解,则替换跟飞鸟,同时将本次未使用到的nx个最好解给下一只鸟使用。

步骤4 领飞鸟替换。判断有没有达到巡回次数,若未达到巡回次数,则转到步骤二,若达到巡回次数,领飞鸟移动到队伍的末端,在领飞鸟后面的鸟(左边或右边)成为新的领飞鸟。

3.2 编码和解码

本文采用两段式编码:机器编码,表示将工序分配给对应的机器;工序编码,表示工序被机器加工的顺序。

如图1所表示的是某一染色体的编码。机器编码层依次按照工件顺序进行加工。机器编码的数字表示当前工序在对应机器集中选择的机器,如图1的第一个数字2表示该工序选择在可加工机器集中第二台机器加工,即O12选择在机器集中的第二台机器M3上加工。第二个数字1表示选择O32在机器集中的第一台机器M2上加工。工序编码层的数字表示工件号,数字第几次出现就表示该工件的第几道工序,如上图对应所示。解码时首先通过工序编码获得当前工序的相关信息,然后在机器编码中找到对应的加工机器,从而确定当前工序的加工时间,然后依次对工序编码进行安排得到完整的调度解,绘制甘特图。

图1 染色体编码示意图
Fig.1 Chromosome coding diagram

3.3 种群初始化

为了获得较好的初始解,本文采用随机生成初始种群,同时针对FJSP在不同机器有不同加工时间的特点,提出最优加工时间策略来对种群进行初始化。最优加工时间策略即为每道工序分配机器时,选择机器加工时间最小的机器,进一步减少机器的加工时间,2种方式生成种群的比例为1∶1。

3.4 邻域结构

MBO算法通过对自身邻域解的搜索来引导种群进化,为扩大解空间的搜索范围,结合本文的编码方式,设计了6种不同的邻域结构产生邻域解。

邻域结构1:基于机器编码的单点变异,在机器编码中随机选择一个基因,同时在该工序的可选机器集里选择一个与它不同的机器替换原基因。

邻域结构2:基于工序编码的互换变异,随机选择2个工件的工序,交换2个不同基因在染色体中的位置。

邻域结构3:将基于机器编码的单点变异与基于工序编码的互换变异相结合的方式(图2)。

图2 邻域结构3示意图 Fig.2 Schematic diagram of neighborhood structure 3

邻域结构4:基于机器编码的前插操作,随机生成r1r2,且r1< r2,将机器编码位于r2处的基因插入到r1+1的位置,其余基因依次后移,由于不同工序的机器集不同,若某基因出现不可行解,则保持当前基因的原有机器编码不变。

邻域结构5:基于工序编码的前插操作,随机生成r1r2,且r1< r2,将工序编码中位于r2处的基因插入到r1+1的位置。

邻域结构6:将基于机器编码的前插操作与基于工序编码的前插操作行相结合的方式(图3)。

图3 邻域结构6示意图 Fig.3 Schematic diagram of neighborhood structure 6

3.5 联合邻域搜索策略

在该策略中,多种不同邻域共同引导种群进化。左队列的个体采用前3种基于变异的邻域结构;右队列的个体采用后3种基于插入的邻域结构。对于领飞鸟,在进化巡回过程中可以任意选择6种不同的邻域结构来构造邻域解。种群的进化过程中,左右跟飞鸟可以得到多种不同的邻域组合方式,使多种不同的邻域结构得到充分利用。

3.6 跟飞鸟二次种内竞争策略

跟飞鸟的进化依赖于前一只鸟共享的邻域解,前鸟的优劣影响着算法的进化,在传统的MBO中,领飞鸟的替换是轮换式的,这就导致优秀的个体可能需要很长一段时间才能拥有成为领飞鸟的机会,从而导致鸟群在进化过程中很难把优秀的邻域解传递给下一只鸟,如果较差的解排在队列前面,则后续跟飞鸟获得的共享解在进化过程中的作用将会不明显。为了让较好的个体能够更好的发挥对下一只鸟的引导作用,本文借鉴了文献[14]提出的一种竞争策略来保证适应度较好的鸟处于队伍前列。但文献[14]提出的竞争策略只针对于前后跟飞鸟的小范围竞争,无法对全局的跟飞鸟做出相应的调整,因此本文提出一种新的竞争策略,即在跟飞鸟每次巡回结束之后分别对左右种群以适应度从小到大的方式进行重排列。同时为增强该策略对种群进化的影响,采用跟飞鸟二次种内竞争策略,即在达到巡回次数以后再次采用竞争策略来保证较优个体处于队列前面,增加优良跟飞鸟成为领飞鸟的机会。

3.7 种间协同策略

MBO算法中基于邻域的搜索方式使算法具备极强的局部搜索能力,但由于其特殊的共享机制,容易导致种群陷入局部最优。结合文献[15]的研究发现,种群内多次执行交换操作能够增加种群的多样性,有效避免算法陷入局部最优。考虑到候鸟优化算法特殊的V字型结构,本文提出种间协同策略避免算法陷入局部最优,引导算法探索更优秀的解空间。采用遗传算法中的交叉操作来实现该理论,即采用基于机器编码的单点交叉和基于工序编码的POX交叉。不同于传统遗传算法,在本文算法中,父代母代分别来自左右跟飞鸟种群。

基于机器编码的单点交叉如图4所示,随机选择机器编码的任意位置,然后交换该位置右侧部分的基因。若某基因出现不可行解,则保持当前基因的原有机器编码不变。P1代表来自左队列的候鸟,P2代表来自右队列的候鸟,C1和C2表示采用基于机器编码的单点变异之后,而产生的新工序编码。

图4 基于机器编码的单点交叉示意图 Fig.4 Single point crossing based on machine coding

POX交叉与其他交叉操作相比是效果最好的操作之一,它能够有效的保证任意工序之间的约束关系,其主要思想为把总工件集分为2个不同的子工件集J1和J2,分别在左右队列中找到J1或J2中所有工件的位置,本文选择J2工件集对应的基因。将左右队列包含J2工件位置的基因互换得到新的个体,如图5所示,表示的是5个工件共15道工序的工件的调度解。P1代表左队列的候鸟,P2代表右队列的解,J2表示当前的工件集,C1和C2表示通过POX交叉以后新的工序编码(图5)。

图5 基于工序编码的pox交叉示意图 Fig.5 POX cross based on process coding

3.8 IMBO算法流程

IMBO算法流程如图6所示。

图6 IMMBO流程框图 Fig.6 IMMBO flow diagram

4 仿真测试与分析

本文采用Matlab 2019a编程,并在Windows 10系统、内存为8GB、处理器为[Intel]i5-4200H、64位操作系统的计算机上运行。为验证算法的有效性,选择Kacem算例和Brandimate算例[16-17]进行仿真,同时为保证算法的有效性,采用3个文章实例进行验证。文献[10]和文献[11]的参数设置,经过大量测试,本文设置参数如下,种群规模size=51,领飞鸟和跟飞鸟产生邻域解的数量nk=5,共享邻域解nx的个数为2,巡回次数G=5,迭代次数为200。

4.1 基准算例仿真实验

首先采用Kacem算例和Brandimarte进行仿真实验,将每个算例运行10次,取其中的最优值与已有文献[3]和文献[18-21]的最优值进行比较,并给出各算法对应的最佳值和相对百分比偏差(relative percent deviation,RPD),RPD的计算公式为其中Cmax为算法结果,为所有算法中最小的值。RPDavg表示所有算例RPD的平均值,粗体表示当前算例的最优解,“-”表示该文献没有对应的结果。

从表2可以看出,本文算法能够获得最多的最优解,并且RPD的平均值也是最低的,因此本文提出的IMMBO算法具有一定的优越性。

表2 Brandimate和Kacem算例对比

Table 2 Comparison of Brandimate and Kacem examples

算例n×m文献[18]CmaxRPD文献[19]CmaxRPD文献[3]CmaxRPD文献[20]CmaxRPD文献[21]CmaxRPDIMMBOCmaxRPDKacem014×5--110110110110110Kacem028×8--157.1140157.1140140Kacem0310×7--1318.1110110110110Kacem0410×10--7070707070Kacem0515×10--120138.31201416.7120MK0110×6400425400400400400MK0210×63214.3280293.6280280280MK0315×82071.520402040204020402040MK0415×8673.07515.4650719.2673.0661.5MK0515×41888.71793.51751.11793.51761.71730MK0610×1585236907914.5735.8735.8724.3MK0720×51547.01493.51493.51461.41493.51440MK0820×1052305556.1523052815235235230MK0920×1043736.13426.53251.232103344.03251.2MK1020×1538061.72423.02537.7235025910.22579.4RPDavg15.534.552.661.873.01.09

4.2 联合邻域搜索验证实验

然后对联合邻域搜索的有效性进行验证,这里采用单一邻域结构与采用多种邻域结构联合搜索的方式进行验证。本文选择邻域结构1和4来进行验证。为保证验证实验的合理性,领飞鸟采用单一邻域结构,选择邻域结构1,跟飞鸟采用多种不同邻域结构。其中MBO1代表左右跟飞鸟都采用邻域结构1,MBO4代表左右跟飞鸟都采用邻域结构4,MBO14代表左右跟飞鸟分别采用邻域结构1和4。每个算法分别针对Brandimate的10个算例独立运行10次,取平均值进行验证。从表3的数据中可以看出采用联合邻域搜索MBO14的算法明显优于只采用单一邻域结构的MBO1的MBO2算法。

表3 联合邻域搜索验证

Table 3 Joint neighborhood search validation

算例n×mMBO1MBO4MBO14MK0110×642.242.341.3MK0210×629.329.328.6MK0315×8204.0204.0204.0MK0415×869.268.668.2MK0515×4176.3177.2175.8MK0610×1576.275.875.6MK0720×5149.0147.3145.8MK0820×10523.0523.0523.0MK0920×10330.6328.8328.6MK1020×15262.3264.6261.5

4.3 不同候鸟优化算法对比实验

最后为进一步验证本文改进候鸟优化算法与使用其他不同方法改进候鸟优化算法的优越性,选择文献[12]的HMBO1算法和文献[13]的MBOA和VNS_MBOA算法,采用Brandimarte算例在相同条件下运行10次取平均值进行比较。结果如表4所示,可以看出除少部分算例本文算法未获得较优的值外,其余算例都获得优于其他方法的解,可以看出IMMBO优于其余算法。

4.4 实例仿真

实例1:实例1包括3个工件,6台机器,共15道工序,实验数据来自文献[22],文献[22]采用PST层次结构的遗传算法和文献[23]采用鲸鱼群优化算法得到的最优解为134。文献[24]采用改进的离散粒子群算法得到的最优解是129。利用IMMBO算法对实例进行优化求解,得到的最优解是116,相比于文献[22]和文献[23],最优加工时间缩短了18,相比于文献[24],最优加工时间缩短了13,对应的甘特图如图7所示。

表4 4种候鸟优化算法对比结果

Table 4 Comparison results of four migratory bird optimization algorithms

算例n×mHMBO1HMBOVNS_MBOAIMMBOMK0110×641.542.041.841.0MK0210×629.329.429.128.6MK0315×8204.0204.0204.0204.0MK0415×869.068.867.567.2MK0515×4178.4179.5178.4174.5MK0610×1575.176.375.875.1MK0720×5152.1149.0147.5145.5MK0820×10523.0523.0523.0523.0MK0920×10316.6328.5325.3328.3MK1020×15255.1264.2261.2261.3

图7 实例1甘特图 Fig.7 Example 1 Gantt diagram

实例2:实例2包括10个工件,8台机器,共35道工序,实验数据来自文献[25],文献[26]和文献[27]对蝙蝠算法进行改进分别获得了82和79的最小完工时间,采用IMMBO算法得到的最优解为69,相比于文献[26]和文献[27],最优加工时间分别缩短了13和10,其甘特图如图8。

图8 实例2甘特图 Fig.8 Example 2 Gantt diagram

实例3:实例3包括6个工件,8台机器,共26道工序,实验数据来自于文献[28],其中文献[29]采用的量子粒子群算法得到的最优解为67,文献[28]采用双层粒子群优化算法得到的最优解为60,文献[27]采用改进的蝙蝠算法得到最优解为为56,文献[30]的混合遗传蝙蝠算法得到的最优解为55,采用IMMBO算法得到的最优解为53,相比于文献[27]和文献[28],最优加工时间分别缩短了3和7,与文献[30]和文献[24]相比,最优加工时间分别缩短了14和2,其甘特图如图9。

图9 实例3甘特图 Fig.9 Example 3 Gantt diagram

从上面3个实例可以看出IMBO都获得了比其他算法更加优良的解,说明所提算法优于其他算法,表明了算法的有效性。

5 结论

针对FJSP问题,提出了一种基于改进的多邻域候鸟优化算法。首先采用两段式编码解决FJSP的工序排序和机器选择问题;为增大解空间的搜索范围设计了6种不同的邻域结构;为扩大候鸟进化过程中前鸟对后鸟的影响作用,设计了二次种内斗争策略增强较好的个体在算法迭代过程中的效果。最后,为解决候鸟优化算法基于邻域搜索方式,容易陷入局部最优的问题,提出了种间协同策略。通过实例和标准算例测试,IMBO算法在求解FJSP问题时的有效性,下一步将对算法继续改进应用到求解多目标FJSP问题。

参考文献:

[1] 彭建刚,刘明周,张铭鑫,等.多目标柔性作业车间调度算法研究综述[J].中国机械工程,2014,25(23):3244-3254.

Peng J G,Liu M Z,Zhang M X,et al.A review of multi-objective flexible job-shop scheduling algorithms[J].China mechanical engineering,2014,25(23):3244-3254.

[2] Cuiyu W,Yang L I,Xinyu L I.Solving flexible job shop scheduling problem by a multi-swarm collaborative genetic algorithm[J].Journal of Systems Engineering and Electronics,2021,32(02):261-271.

[3] 姜天华.混合灰狼优化算法求解柔性作业车间调度问题[J].控制与决策,2018,33(03):503-508.

Jiang T H.Hybrid grey Wolf optimization algorithm for flexible job-shop scheduling problem[J].Control and decision,2018,33(03):503-508.

[4] Feng Y,Liu M,Yang Z,et al.A Grasshopper Optimization Algorithm for the Flexible Job Shop Scheduling Problem[C]//2020 35th Youth Academic Annual Conference of Chinese Association of Automation (YAC).IEEE,2020:873-877.

[5] Yang D,Wu M,Yang Z,et al.Dragonfly algorithm for solving flexible jobshop scheduling problem[C]//2020 35th Youth Academic Annual Conference of Chinese Association of Automation (YAC).IEEE,2020:867-872.

[6] 黄海松,刘凯,初光勇,等.离散花朵授粉算法求解多目标柔性车间调度[J].计算机集成制造系统,2018,24(11):2808-2818.

Huang H S,Liu K,Chu G Y,et al.Discrete flower pollination algorithm for multi-objective flexible shop scheduling[J].Computer Integrated Manufacturing Systems,2018,24(11):2808-2818.

[7] Duman E,Uysal L M,Alkaya A F.Jobshop migrating birds optimization:A new meta heuristic approach and its performance on quadratic assignment problem[J].Information Sciences,2012,217(25):65-77.

[8] Han Y,Li J,Sang H,et al.An improved discrete migrating birds optimization for lot-streaming flow shop scheduling problem with blocking[C]//International Conference on Intelligent Computing.Springer,Cham,2018:780-791.

[9] 任彩乐,张超勇,孟磊磊,等.基于改进候鸟优化算法的混合流水车间调度问题[J].计算机集成制造系统,2019,25(03):643-653.

Ren C L,Zhang C Y,Meng L L et al.Hybrid flow shop scheduling problem based on improved migratory bird optimization algorithm[J].Computer Integrated Manufacturing Systems,2019,25(03):643-653.

[10] 朱标.基于优化ORB算法的图像角点特征匹配方法[J].重庆工商大学学报(自然科学版),2021,38(04):42-51.

Zhu B.An Image corner features matching method based on optimized ORB algorithm[J].Journal of Chongqing Technology and Business University(Natural Science Edition),2021,38(04):42-51.

[11] Benkalai I,Rebaine D,Gagné C,et al.Improving the migrating birds optimization metaheuristic for the permutation flow shop with sequence-dependent setup times[J].International Journal of Production Research,2017,55(20):6145-6157.

[12] 姚妮.混合候鸟迁徙优化算法求解柔性作业车间调度问题[J].华中师范大学学报(自然科学版),2016,50(01):38-42,60.

Yao N.Mixed migratory birds optimization algorithm to solve the flexible job-shop scheduling problem[J].Journal of Central China Normal University (Natural Science Edition),2016,50 (01):38-42,60.

[13] 朱颢东,何保锋.面向柔性作业车间调度的变邻域搜索候鸟优化算法[J].微电子学与计算机,2017,34(04):28-32,38.

Zhu H D,He B F.Variable neighborhood search for flexible job shop scheduling migratory birds optimization algorithm[J].Journal of Microelectronics and Computers,2017(04):28-32,38.

[14] Zhang B,Pan Q,Gao L,et al.An effective modified migrating birds optimization for hybrid flowshop scheduling problem with lot streaming[J].Applied Soft Computing,2017,52:14-27.

[15] Defersha F M,Chen M.Mathematical model and parallel genetic algorithm for hybrid flexible flowshop lot streaming problem[J].International Journal of Advanced Manufacturing Technology,2012,62(1/4):249-265.

[16] Kacem I,Hammadi S,Borne P.Approach by localizationandmultiobjective evolutionary optimization for flexiblejob-shop scheduling problems[J].IEEE Transactions on Systems,Man,and Cybernetics,Part C (Applicationsand Reviews),2002,32(01):1-13.

[17] Brandimarte P.Routing and scheduling in a flexible jobshop by tabu search[J].Annals of Operations Research,1993,41(03):157-183.

[18] Henchiri A,Ennigrou M.Particle swarm optimization combined with tabu search in a multi-agent model for flexible job shop problem[C]//International Conference in Swarm Intelligence.Springer,Berlin,Heidelberg,2013:385-394.

[19] Ziaee,Mohsen.A heuristic algorithm for solving flexible job shop scheduling problem[J].International Journal of Advanced Manufacturing Technology,2014,71(1/4):519-528.

[20] 黄梅根,庞瑞琴,刘亮,何大聪,汪涛.基于SDN的数据中心网络中考虑等待时间的流调度策略研究[J].重庆邮电大学学报(自然科学版),2021,33(02):202-208.

Huang M G,Pang R Q,Liu L,et al.Research on flow priority scheduling algorithm considering wait time in data center network based on SDN[J].Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition),2021,33(02):202-208.

[21] 姜天华.猫群优化算法求解柔性作业车间调度问题[J].计算机工程与应用,2018,54(23):259-263,270.

Jiang T H.Cat swarm optimization algorithm for flexible job-shop scheduling problem[J].Computer Engineering and Applications,2018,54(23):259-263,270.

[22] 栾飞,王雯,傅卫平,等.基于PST层次结构的改进GA求解柔性车间调度问题[J].计算机集成制造系统,2014,20(10):2494-2501.

Luan F,Wang W,Fu W P,et al.FJSP solving by improved GA based on PST hierarchy structure[J].Computer Integrated Manufacturing Systems,2014,20(10):2494-2501.

[23] 栾飞,吴书强,李富康,等.一种求解柔性作业车间调度问题的鲸鱼群优化算法[J].机械科学与技术,2020,39(02):241-246.

Luan F,Wu S Q,Li F K,et al.A whale swarm optimization algorithm for flexible job-shop scheduling problem[J].Mechanical Science and Technology for Aerospace Engineering,2020,39(02):241-246.

[24] 徐华,张庭.改进离散粒子群算法求解柔性流水车间调度问题[J].计算机应用,2015,35(05):1342-1347,1352.

Xu H,Zhang T.Improved discrete particle swarm optimization for flexible flow-shop scheduling problem[J].Computer Applications,2015,35(05):1342-1347,1352.

[25] 张超勇,董星,王晓娟,等.基于改进非支配排序遗传算法的多目标柔性作业车间调度[J].机械工程学报,2010,46(11):156-164.

Zhang C Y,Dong X,Wang X J,et al.Improved NSGA-Ⅱ for the multi-objective flexible job-shop Scheduling problem[J].Journal of Mechanical Engineering,2010,46(11):156-164.

[26] 徐华,张庭,包哲人,等.求解柔性作业车间调度问题的改进蝙蝠算法[J].信息与控制,2016,45(06):722-728.

Xu H,Zhang T,Bao Z R,et al.Improved bat algorithm for flexible job shop scheduling problem[J].Information and Control,2016,45(06):722-728.

[27] 李帆,高东,许欣,等.改进蝙蝠算法柔性作业车间调度问题研究[J].计算机工程与应用,2018,54(21):265-270.

Li F,Gao D,Xu X,et al.Research on flexible job-shop scheduling problem based on improved bat algorithm[J].Computer Engineering and Applications,2018,54(21):265-270.

[28] 孔飞,吴定会,纪志成.基于双层粒子群优化算法的柔性作业车间调度优化[J].计算机应用,2015,35(02):476-480.

Kong F,Wu D H,Ji Z C.Optimization of flexible job-shop scheduling based on double-layer particle swarm optimization algorithm[J].Computer Applications,2015,35(02):476-480.

[29] 周恺,纪志成.关于柔性作业车间调度问题的仿真研究[J].计算机仿真,2016,33(03):282-287,375.

Zhou K,Ji Z C.Simulation research on flexible job-shop scheduling problem[J].Computer Simulation,2016,33(03):282-287,375.

[30] 徐华,程冰.混合遗传蝙蝠算法求解单目标柔性作业车间调度问题[J].小型微型计算机系统,2018,39(05):1010-1015.

Xu H,Cheng B.Hybrid genetic bat algorithm for single-objective flexible job-shop scheduling problem[J].Journal of Microcomputers,2018,39(05):1010-1015.

Research on flexible job shop scheduling based on improved multi-neighborhood migratory bird optimization algorithm

DU Linghao, XIANG Fenghong

(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, China)

Abstract: An improved multi-neighborhood migratory bird optimization algorithm is proposed for the Flexible Job Shop Scheduling Problem (FJSP) that minimizes makespan. Firstly, random and optimal processing time strategies are used to improve the quality of initial population; secondly, two-step coding is used for machine selection and process sequencing of FJSP. Six neighborhood structures are designed by means of different insertion and variation operators, and the joint neighborhood search strategy is used to enlarge the search scope of solution space. Then, the second intra-species competition strategy is adopted to enhance the role of excellent individuals in the population, and an interspecific cooperative strategy is designed to avoid the local optimal problem. Finally, the effectiveness of the proposed algorithm in solving FJSP problems is verified by empirical evidence and benchmark examples.

Key words: flexible job shop scheduling; multi-neighborhood structure; joint neighborhood search strategy; secondary intra-species competition; inter-species coordination strategy

收稿日期:2022-03-11; 修回日期:2022-04-21

基金项目:国家自然科学基金项目(61163051);云南省重大科技专项计划项目(202002AC080001)

作者简介:杜凌浩(1998-),男,硕士研究生,E-mail:1169026651@qq.com。

通信作者:向凤红(1964-),男,博士,教授,E-mail:xiangfh5447@sina.com。

doi: 10.11809/bqzbgcxb2022.12.044

本文引用格式:杜凌浩,向凤红.改进多邻域候鸟优化算法的柔性作业车间调度研究[J].兵器装备工程学报,2022,43(12):299-306.

Citation format:DU Linghao, XIANG Fenghong.Research on flexible job shop scheduling based on improved multi-neighborhood migratory bird optimization algorithm[J].Journal of Ordnance Equipment Engineering,2022,43(12):299-306.

中图分类号:TP301.6

文献标识码:A

文章编号:2096-2304(2022)12-0299-08

科学编辑 王军强(西北工业大学教授、博导)责任编辑 唐定国