基于麻雀搜索算法改进的多目标柔性作业车间调度方法

文档序号:36810933发布日期:2024-01-26 16:12阅读:21来源:国知局
基于麻雀搜索算法改进的多目标柔性作业车间调度方法

本发明涉及柔性作业车间调度领域,尤其涉及一种基于麻雀搜索算法改进的多目标柔性作业车间调度方法。


背景技术:

1、车间调度是生产制造系统的核心内容和关键问题,是实现产业升级的首要问题。作业车间调度问题(job shop problem,jsp)是经典的对工厂生产加工过程进行抽象和简化后的数学模型,大多数研究车间调度问题的学者都以jsp为基础进行研究。由于jsp属于np难问题,自它被提出以来就一直是调度和控制领域的研究热点。

2、随着人们生活水平的提高,对产品的需求不断向个性化、差异化方向发展。为了满足市场需求,制造业越来越青睐于能够快速切换生产产品类型的柔性制造模式。柔性制造系统具有高效性、稳定性和灵活性等特点,更加匹配当今市场需求。随着制造企业从传统的单一加工模式向柔性制造模式的转变,研究柔性作业车间调度问题(flexible job shopscheduling problem,fjsp)的数学模型及求解算法逐渐成为学术界的热门领域。

3、而现有车间调度算法存在种群多样性不足、算法容易收敛到局部最优,全局搜索能力不足等问题。


技术实现思路

1、本发明针对现有的算法存在的种群多样性不足、算法容易收敛到局部最优,全局搜索能力不足等问题,提出了一种基于麻雀搜索算法改进的多目标柔性作业车间调度方法,该方法引入了新的适应度计算公式以及工序串和机器串的交叉和变异操作,从而增加了种群的多样性,并提高了算法的全局搜索能力和避免了收敛局部最优。

2、本发明所采用的技术方案是:

3、提供一种基于麻雀搜索算法改进的多目标柔性作业车间调度方法,包括以下步骤:

4、s1、分析柔性作业车间调度问题fjsp,构建解决该问题的基于麻雀搜索算法的数学模型,该数学模型包括两个优化目标:最小化最大完工时间和最小化总机器负荷;

5、s2、初始化该数学模型中的多个工序、机器、加工时间以及工件优先级,将工序加工中使用到的工序串和机器串的顺序的组合作为麻雀个体,并将麻雀种群的一半作为发现者种群,另一半作为加入者种群;

6、s3、通过适应度计算公式计算适应度值,选出麻雀种群中适应度值最低的个体为最优的麻雀个体;

7、s4、根据最优的麻雀个体对麻雀种群中的发现者种群的麻雀个体进行工序交叉和机器交叉操作;

8、s5、根据最优的麻雀个体对麻雀种群中的加入者种群的麻雀个体进行工序变异和机器变异操作;

9、s6、判断优化目标之一的最小化最大完工时间是否有改进,如果有则结束搜索并更新;如果没有,则判断是否达到最大搜索次数,如果有,发现者转换为侦察者,并随机产生一个新的可行解替换达到阈值的解;

10、s7、判断是否达到最大迭代次数;若是,执行步骤s8;若否,执行步骤s3;

11、s8、计算所有麻雀个体的适应度的值,输出适应度最小对应的工件加工工序结果。

12、接上述技术方案,柔性作业车间调度问题fjsp表示为:

13、有n个待处理工件,每个工件用索引i表示,各个工件之间彼此互相独立,第i个工件表示为jobi,i=1,…,n;

14、每个工件jobi都有li道工序,以及约束顺序pi;

15、每个工件jobi的每道工序表示为oij,i=1,...,n,j=1,...,li;

16、有m个机器,每个机器用索引k表示;

17、对于每个工序oij,都有一系列机器有能力加工该工序;

18、工序oij在机器mk上的处理时间表示为tijk;

19、单一工序的加工过程不会被打断;

20、在任意时刻,单一的加工机器不能同时对两道工序加工;

21、基于麻雀搜索算法的数学模型的目标函数包括:

22、t-1:最小化最大完工时间f1,f1=min(max(cj)),1≤j≤n,其中,n为工件总数,cj为工件j的完成时间;

23、t-2:最小化总机器负荷f2,其中,m表示机器的总数,wk表示第k台机器的加工时间。

24、接上述技术方案,该算法具体描述为:

25、在麻雀觅食的过程中,分为发现者和加入者,发现者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而加入者则是利用发现者来获取食物;为了获得食物,麻雀采用发现者和加入者这两种行为策略进行觅食。其中,将工序加工中使用到的工序串和机器串的顺序的组合作为麻雀个体,最优的麻雀个体即为最佳的工序加工方式。根据最佳的工序加工方式分别对两个种群的麻雀个体对应的工序加工方式进行交叉变异操作,经过一定的迭代次数后,最终得到最优的麻雀个体即为最佳的工序加工方式。

26、接上述技术方案,各个工件优先级计算公式为:

27、

28、式中,n和m分别表示订单的数量和工件的种类数;oi,i=1,...,n,表示订单编号为i的订单等级;qij,i=1,...,n,j=1,...m表示订单i中工件jobj的总个数;pij,i=1,...,n,j=1,...m,表示订单i的工件jobj的生产优先级。

29、接上述技术方案,计算适应度值的适应度函数fitness为:

30、

31、其中f1为最小化最大完工时间,f2为最小化总机器负荷,m表示机器的总数。接上述技术方案,步骤s4中,对发现者种群的两种交叉操作方法为:

32、工序交叉:

33、用于工序串的交叉操作,从种群中选择一条工序串作为父代f1,根据概率选择种群中适应度最好的个体的工序串作为父代f2,其中f2不能与f1相同;把n个待处理工件job1,job2,...,jobn分为两部分,随机选择k个作为工件集p1,剩下的作为工件集p2;将父代f1中包含在工件集p1中的工序号按照在f1中的位置复制到子代s1中,将父代f2中包含在工件集p2中的工序号按照在f2中的位置复制到子代s1的空缺处;将父代f2中包含在工件集p1中的工序号按照在f2中的位置复制到子代s2中,将父代f1中包含在工件集p2中的工序号按照在f1中的位置复制到子代s2的空缺处;计算子代s1和s2的适应度的值,选择适应度最好的作为子代;

34、机器交叉:

35、用于机器串的交叉操作,选择与工序串父代f1对应的机器串作为机器串父代m1,选择与工序串父代f2对应的机器串作为机器串父代m2;随机生成一个只由0和1组成的长度与机器串相等的二进制串;把机器串父代m1中与二进制串中与0位置相同的机器号复制到子代c1的相同位置;把机器串父代m2中与二进制串中与1位置相同的机器号复制到子代c1的相同位置;把机器串父代m1中与二进制串中与1位置相同的机器号复制到子代c2的相同位置;把机器串父代m2中与二进制串中与0位置相同的机器号复制到子代c2的相同位置;计算子代c1和c2的适应度值,选择适应度最好的作为子代。

36、接上述技术方案,步骤s5中,对加入者种群的两种变异操作方法为:

37、工序变异:

38、在工序串中随机选择一个位置pos,将该位置两边的工序编码串的顺序分别进行逆序处理,形成了一个新的工序编码串;

39、机器变异:

40、在机器串中随机选择一个位置,找到该位置的候选机器集合,随机选择与原机器不同的机器来进行加工。

41、本发明还提供一种基于麻雀搜索算法改进的多目标柔性作业车间调度系统,包括:

42、数学模型构建模块,用于分析柔性作业车间调度问题fjsp,构建解决该问题的基于麻雀搜索算法的数学模型,该数学模型包括两个优化目标:最小化最大完工时间和最小化总机器负荷;

43、初始化模块,用于初始化该数学模型中的多个工序、机器、加工时间以及工件优先级,将工序加工中使用到的工序串和机器串的顺序的组合作为麻雀个体,并将麻雀种群的一半作为发现者种群,另一半作为加入者种群;

44、寻找最优位置模块,用于通过适应度计算公式计算适应度值,选出麻雀种群中适应度值最低的个体为最优的麻雀个体;

45、特殊操作模块,用于根据最优的麻雀个体对麻雀种群中的发现者种群的麻雀个体进行工序交叉和机器交叉操作;根据最优的麻雀个体对麻雀种群中的加入者种群的麻雀个体进行工序变异和机器变异操作;

46、更新模块,用于判断优化目标之一的最小化最大完工时间是否有改进,如果有则结束搜索并更新;如果没有,则判断是否达到最大搜索次数,如果有,发现者转换为侦察者,并随机产生一个新的可行解替换达到阈值的解;

47、迭代模块,用于判断是否达到最大迭代次数;若否,则转入寻找最优位置模块执行,若是,则计算所有麻雀个体的适应度的值,输出适应度最小对应的工件加工工序结果。

48、各个模块均是用于实现上述方法实施例的具体步骤,在此不赘述。

49、本发明还提供一种计算机存储介质,其特征在于,其内存储有可被处理器执行的计算机程序,该计算机程序执行上述技术方案所述的基于麻雀搜索算法改进的多目标柔性作业车间调度方法。

50、本发明产生的有益效果是:本发明基于麻雀搜索算法,采用了两个优化目标,且设计了一种新的适应度函数,该适应度函数综合考虑了这两个优化目标,使表现较好的个体更容易被选中,从而显著提高了全局搜索的效率。

51、进一步地,本发明设计了一种新型的工件优先级计算公式,计算得到各个工件优先级,再与[0,1]中随机生成的数相乘并排序,最终得到初始随机工序编码。将工件优先级大小融入种群初始化,这样的改进能够提高初始化种群的整体质量以及加快算法的收敛速度。

52、进一步地,本项发明设计了一个全新的适应度值计算公式,适应度通过最小化最大完工时间以及机器负荷的平均数的和的开方得来,通过适应度的大小来选出最优的个体并更新种群,从而实现了对最小化最大完工时间以及最小化总机器负荷两个目标的求解。

53、进一步地,本发明基于麻雀搜索算法,对发现者、加入者所对应的工序串和机器串进行相应的交叉和变异操作,这样的改进扩大了算法的搜索范围,保证了算法的全局搜索能力,并通过随机性提高了局部搜索的能力,有效提高了最终解的质量。

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