一种基于混合灰狼算法的多目标柔性作业车间调度方法

文档序号:36966372发布日期:2024-02-07 13:13阅读:19来源:国知局
一种基于混合灰狼算法的多目标柔性作业车间调度方法

本发明属于柔性作业车间调度,具体涉及一种基于混合灰狼算法的多目标柔性作业车间调度方法。


背景技术:

1、作为经典的作业车间调度问题(job-shop scheduling problem,jsp)的扩展,柔性作业车间调度问题(flexible job-shop scheduling problem,fjsp)允许一台设备可以加工多种工件,更加符合现实生产情况。由于机器可加工的工件种类不唯一,因此在柔性作业车间调度问题中不仅要考虑工序的加工顺序,还要考虑机器的选择问题。柔性作业车间调度通常以完工时间为优化目标,然而随着经济发展,能源消耗的快速增长是一个重要的世界性问题。对于生产制造,仅仅以完工时间为优化目标已经无法满足现实生产的需要,在关注生产效率的同时也需要考虑节约能耗。

2、求解多目标柔性作业车间调度问题多使用nsga-ii算法,但其后期容易陷入局部最优。灰狼算法自提出以来已经在车间调度领域得到应用,但其多数是单目标优化,在多目标车间调度中应用较少。灰狼算法后期也同样容易陷入局部最优,如何提高算法的局部搜索能力需要解决的重要问题。


技术实现思路

1、针对现有技术中存在的上述问题,本发明的目的在于提供一种基于混合灰狼算法的多目标柔性作业车间调度方法,能够在合理时间内获得高质量的解决方案,提高调度问题求解效果,有利于提升生产效率。

2、本发明提供如下技术方案:一种基于混合灰狼算法的多目标柔性作业车间调度方法,包括以下步骤:

3、步骤1:算法初始化,包括确定问题解编码方式及设置算法参数;

4、步骤2:使用多种方式生成规模为n的初始种群并创建空的外部存档;

5、步骤3:对种群解码评估后进行非支配排序并更新外部存档;

6、步骤4:判断算法终止条件是否满足,否则转步骤5,是则转步骤9;

7、步骤5:确定当前种群的α狼、β狼、δ狼及ω狼;

8、步骤6:更新ω狼的工序编码及机器编码;

9、步骤7:将步骤6得到的子代与种群合并,选择种群中r*n个最优个体使用自适应变邻域搜索,并将得到的个体与种群合并;

10、步骤8:复制种群的帕累托最优解集到外部存档,并对种群使用精英保留策略选择下一代种群,然后转步骤4;

11、步骤9:算法结束,输出外部存档中的帕累托最优解集。

12、进一步的,所述问题解编码方式如下:对于上层工序编码,生成长度等于总工序数的数组,数组中每个数值为[-10n,10n]的随机实数,其中n为总工件数;对于下层机器编码的生成,首先需要将上层实数编码转化为整数编码,每个基因位转化的具体步骤如下:

13、1)按照工件的工序数依次生成一个长度等于总工序数的数组;

14、2)对加工序列编码从小到大排序得到一个新的加工序列;

15、3)找到原始加工序列中每个基因在新加工序列中的位置索引;

16、4)对3)中每个位置索引,找到其在1)中数组中对应的值。

17、经过转化后实数编码转化为长度等于总工序数的整数编码,从左到右每个位置的值表示工件,其出现的次数表示工序。对整数编码中每个位置代表的工序,从可加工该工序的机器集中选择一台机器,最终生成长度为总工序数的机器编码。将机器编码与实数编码组合成双层数组即代表一个解。

18、进一步的,所述步骤1中,算法参数包括迭代次数、种群规模n、突变率、自适应变邻域搜索选择的最优个体比例r;其中,三种初始化方法,即选择最小加工时间的机器策略、全局选择策略、随机生成策略产生的种群比例。

19、进一步的,所述步骤s2中,初始种群的产生方式包括工序选择最小加工时间的机器策略、全局选择策略、随机生成策略。

20、进一步的,所述步骤3中,种群解码评估方式如下:

21、首先将解的上层实数编码转化为整数编码,每个基因位转化的具体步骤同上述编码方式中的转化步骤。

22、转化完成后使用插入式解码;具体如下:对每个解的工序编码部分从左到右进行读取,根据每道工序选择的机器,在满足约束条件的情况下将工序插入到最早的位置进行加工。之后统计各工序的完工时间,各机器上第一道工序的开始加工时间,最后一道工序的完工时间,机器的空闲加工时间,即可计算每个解对应的目标函数值,画出调度甘特图。

23、进一步的,所述步骤5中,种群的α狼、β狼、γ狼及ω狼的确定方式如下:

24、1)当种群非支配层数小于3时,通过如下方式确定:

25、若第一个非支配层的个体数量为1,则第一个非支配层中唯一的个体为α狼,从第二个非支配层随机选择2个个体分别为β狼和γ狼,种群中剩余个体为ω狼;

26、若第一个非支配层的个体数量为2,则第一个非支配层中第一个个体为α狼,第二个个体为β狼,从第二个非支配层随机选择1个个体为γ狼,种群中剩余个体为ω狼;

27、若第一个非支配层的个体数量大于2,则从该非支配层随机选择3个个体分别为α狼、β狼、γ狼,种群中剩余个体为ω狼;

28、2)当种群非支配层数不小于3时,从前三个非支配层各随机选择1个个体,分别为α狼、β狼、γ狼,种群中剩余个体为ω狼。

29、进一步的,所述步骤6中,工序编码的更新方式如下:

30、

31、其中,t表示迭代次数,d表示维度,f表示缩放因子,取值在[0,2]之间,这里f=2,xd(t)表示ω狼的位置,a,b,c分别表示灰狼向α狼,β狼和δ狼前进的步长,具体计算方式如下:

32、

33、

34、

35、其中,r1,r2,r3分别为[0,1]区间内的随机数,分别表示α狼,β狼和δ狼的位置。

36、进一步的,所述步骤6中,机器编码的更新方式如下:

37、使用交叉和突变算子来更新机器编码,具体如下:

38、首先从α狼、β狼、γ狼中随机选择一个作为交叉的父代其中一方,之后选择一个ω狼作为交叉父代的另一方,交叉算子为多点交叉;交叉概率p的计算方式如下:

39、

40、其中,pc表示交叉率,t,tmax分别表示当前的迭代次数,最大迭代次数;x为参数,其计算方式如下:

41、

42、其中,和分别表示父代中的ω狼适应度中第一个函数的目标值,第二个函数的目标值;和分别表示当前种群的适应度中第一个目标函数的最小值,第二个目标函数的最小值;

43、使用突变算子来更新机器编码的突变方式为:随机选择3道工序,在所选工序的可加工机器集中随机选择另一个机器。

44、进一步的,所述步骤7中,自适应变邻域搜索方式如下:

45、自适应变邻域搜索根据当前每个邻域结构的得分情况调整邻域结构的调用顺序,具有最高得分的邻域结构将首先被调用来产生邻域解,提升了邻域使用效率;

46、邻域结构包括以下四种:

47、邻域结构1:在工序编码中随机选择两个基因位并交换两个位置的值,检查新的工序编码序列,如果某个位置对应的加工机器不能加工该工序,则在其可加工机器集中选择具有最小基本加工时间的机器;

48、邻域结构2:找到最后完工的工序对应的加工机器,如果有多台则随机选择一台;在该机器上加工的工序中随机选择一道工序,如果其可加工机器数量小于2,则重新选择另一道工序;否则更换该工序的加工机器为可加工机器集中的另一台;

49、邻域结构3:选择一台机器并确保其上加工的工件数大于1;选择两道在该机器上加工且属于不同工件的两道工序,将在工序编码前面位置的工序移到另一工序后面,检查新的工序编码序列,如果某个位置对应的加工机器不在其可加工机器集中,则在其可加工机器集中选择具有最小基本加工时间的机器;

50、邻域结构4:找到累积加工时间最大的机器并统计该机器上可加工机器数量大于1的工序数量;如果数量不为0,则从中随机选择一道工序并更换其加工机器为可加工机器集中的另一台,否则输出原始解。

51、自适应变邻域搜索根据领域结构产生的解的情况更新该邻域结构的得分,在每次搜索开始时会根据邻域结构得分情况从大到小依次调用相应的邻域结构;邻域结构得分情况表如下:

52、

53、其中,f1,f2分别为原始解适应度中第一个目标函数值、第二个目标函数的值;f′1,f′2分别为原始解经过某个邻域结构得到的新的解适应度的第一个目标函数的值、第二个目标函数的值。

54、当某个邻域结构产生的邻域解支配原始解时,该解会替代原始解继续进行搜索;如果邻域解不同于原始解且与原始解互不支配,则该解不会替代原始解,但该解会保留。

55、通过采用上述技术,与现有技术相比,本发明的有益效果如下:

56、1)本发明使用多种初始化方法提高初始解的质量,加快了算法收敛速度;

57、2)本发明使用改进的灰狼位置更新方式能够提高算法的全局搜索能力;

58、3)本发明使用自适应交叉算子能够根据个体适应度调整交叉率,适应度好的个体交叉率较小,适应度差的个体交叉率高,增加了种群多样性;

59、4)本发明使用自适应变邻域搜索增强了算法的局部搜索能力;

60、5)本发明使用的存档没有存储规模限制,避免了有界存档因存储容量超过限制频繁更新而带来的时间消耗,同时提高了求解质量。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1