一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于灰狼算法求解多目标分布式柔性车间调度优化方法

2022-12-07 09:57:14 来源:中国专利 TAG:


1.本发明属于车间调度技术领域,具体设计一种基于灰狼算法求解多目标分布式柔性车间调度优化方法。


背景技术:

2.在制造系统中,生产调度是非常重要的一个环节,而分布式柔性车间调度问题 (distributed flexible job-shop scheduling problem,dfjsp)是柔性车间调度问题的扩展。随着经济全球化的发展,多车间合作式生产越来越被人接受,并进行实际使用,因此,分布式柔性车间调度问题逐渐被人重视。据相关资料统计,车间生产过程中不足5%的时间用于加工装配,而超过95%的时间用于工件运输,这意味着工件的合理运输调度直接关系到车间生产的成本和能耗,因此,为了更贴近实际生产需要,满足用户需求,考虑工件的运输时间是很有必要的。另外,随着生产力日益上升,能源的消耗速度也日渐增长。因此,对加工任务和加工资源采用生产调度的方式进行合理的优化,在考虑生产效率和运输时间的同时,实现能耗的最小化,对实现绿色制造具有重要意义。
3.现今车间调度问题研究通常只考虑最小化完工时间这一个目标,考虑了多目标的研究也大都采用决策先于优化的方式,即先获取决策者的偏好信息,对多目标做线性加权求和处理,将多目标问题转化为单目标问题,只能得到一个最优解,但由于调度问题的复杂性,往往难以获取准确的偏好信息,所以最终得出的结果很可能不符合决策者的偏好。而优化先于决策的方式,即引入智能优化算法获取pareto最优解集,再由决策者按照一定的决策方法从中选出最适合的解,比起加权求和的方式,更能准确的获取决策者想要的解。目前,对于dfjsp的研究,大多研究者是采用智能优化算法来解决问题的,智能优化算法是极为有效的一种方法,其中,灰狼算法参数较少,易于实现,具备良好的收敛性,并且其具有并行性,比起其他智能优化算法,灰狼算法具有较强的全局收敛性和鲁棒性,很适合研究复杂问题。因此,设计一个基于灰狼算法求解考虑运输的多目标分布式柔性车间调度问题的方法是十分必要的。


技术实现要素:

4.本发明的目的在于提供一种基于灰狼算法解决多目标分布式柔性车间调度问题的优化方法,由于大多数分布式车间调度问题没有考虑一个工件能在多个工厂上加工,并且多数多目标研究只是简单的对不同目标进行加权处理,本发明基于灰狼算法,pareto 前沿,提出了一种解决考虑运输的多目标(以加工时间、机器负荷和能耗为目标)分布式柔性车间调度优化问题的方法。该方法提高了解的质量,从而提高了生产效率,并且提高了在实际生产中的可行性。
5.为了实现上述目的,本方法采用的技术方案如下:
6.基于灰狼算法求解多目标分布式柔性车间调度优化方法,其特征在于,包括如下步骤:
7.(1)初始化参数,产生初始种群,并通过插入式编码,更新为质量更高的初始种群;
8.(2)根据加工时间、机器负荷和能耗,进行非支配排序和拥挤度计算,确定α、β、δ三种狼并用灰狼算法对种群进行更新;
9.(3)对种群进行均匀交叉获得新的种群,再进行非支配排序,获得pareto解集;
10.(4)判断算法是否达到迭代次数,若达到,则输出pareto解集,若未达到,则转到(2)。
11.更新为质量更高的初始种群。所述种群初始化规则为:初始种群的编码机制采用长度相同的三段式编码,每段分别表示工序排序信息、机器选择信息和运输时间信息,其中运输时间信息为相邻工序在不同工厂加工所需的运输时间。工序排序是随机的,机器选择中按照预设概率部分个体选择加工该工序时长最短的机器,剩余个体随机选择,运输时间排序随工序排序和机器排序变化,生成初始三层编码后,对其进行插入式操作;
12.进一步地,对于所述的插入式编码,具体包含以下规则:
13.工序o
i,j
是在工厂f的机器l上加工的工件i的第j个工序,工序o
i,j-1
是在工厂u的机器 k上加工的工件i的第j-1个工序,o
i,j-1
为工序o
i,j
同工件的上个工序;在工厂f的机器l 上,工序o
i,j
的前序工序为o
q,z
,后序工序为o
g,h
;当工序o
i,j
非工件i第一个工序,并且工序o
i,j
加工使用的机器k也非第一次使用时,若满足以下条件之一,可对工序o
i,j
执行插入操作。
14.具体包含以下条件:
[0015][0016][0017][0018]
对于每个机器最后加工的一项工序,若满足以下条件之一,则可前移该工序。
[0019]
具体包括以下条件:
[0020][0021][0022]ci,j-1,k,u
为工序o
i,j-1
在工厂u的机器k上加工完成的时间,c
q,z,l,f
为工序o
q,z
在工厂f 的机器l上加工完成的时间;t
u,f
为工序从工厂u运输到工厂f的运输时间;p
i,j,l,f
为工序 o
i,j
在工厂f的机器l上的加工时间;s
g,h,l,f
为工序o
g,h
在工厂f的机器l上开始加工的时间。
[0023]
所述步骤(2)中,对初始种群进行非支配排序和拥挤度计算,根据拥挤度排序选择最优的三个个体作为α、β、δ三个狼;
[0024]
进一步地,非支配排序的规则如下:
[0025]
非支配排序是将每个个体按照他们的支配与非支配关系进行再分级,提出了拥挤度和拥挤度比较算子,代替了需要指定共享半径的适应度共享策略,并在快速排序后的同级比较重作为胜出标准,使准pareto域中个体能扩展到整个pareto域,并均匀分布;非支配排序后得到x个非劣前沿(用p1,p2,

,p
x
表示),各个非劣前沿满足以下性质:
[0026]
(1)且非支配排序后种群中各个个体相互独立;
[0027]
(2)非支配排序前后种群规模不变;
[0028]
(3)p1》p2》

》p
x
,非支配排序后种群分成x个非劣前沿。
[0029]
非支配排序步骤为:
[0030]
步骤1:找到种群中所有n(x)=0的个体,将他们存入当前集合p(1);
[0031]
步骤2:对于当前集合p(1)中的每个个体y,考察它所支配的个体集s(y),将s(y)中的每个个体k的n(k)减1;
[0032]
步骤3:如果n(k)-1=0,则将个体k存入另一个集h,最后,将p(1)作为第一级非支配个体集合,并赋予该集合内个体一个相同的非支配序rank,然后继续对h作上述分级操作并赋予相应的非支配序,直到所有个体都被分级;其计算复杂度为o(mn

{2})。
[0033]
n(x)为在种群中支配个体x的解个体的数量,s(y)为被个体y所支配的解个体的集合, m为目标函数个数,n为种群大小;
[0034]
进一步地,拥挤度的计算公式如下:
[0035][0036]i(st1).d
和i
(s-1).d
分别是解s的后一个解与前一个解在d函数上的函数值,和分别是d函数上的最大和最小值,d函数为不同的目标函数;
[0037]
进一步地,个体拥挤度排序的规则如下:
[0038]
(1)非支配层更为优秀的个体在前,即个体的rank值小的在前;
[0039]
(2)若两个个体支配层相同,拥挤度大的个体在前。
[0040]
根据拥挤度大小排序后,选择最优的三个个体作为α、β、δ狼,然后根据灰狼算法对种群进行更新(详细灰狼算法参考文献[1])。
[0041]
所述步骤(3)中,对种群的机器编码进行均匀交叉获得新的种群,再次进行非支配排序后,p(1)为第一级非支配个体集合,即当前的pareto解集;
[0042]
进一步地,所述机器层均匀交叉具体步骤如下:
[0043]
步骤1:在种群中随机选择父代个体f1,f2,f3;
[0044]
步骤2:随机产生一个长度与工序总数一致的集合r,该集合由0和1组成;
[0045]
步骤3:在父代个体f2和f3中随机选出与集合r中的1对应位置的编码,复制到子代t1中的相应位置上;
[0046]
步骤4:在父代个体f1和f3上随机选出与集合r中的1位置对应的编码,复制到子代t2中的相应位置上;
[0047]
步骤5:选出f1和f2中的其他编码部分,分别保留到子代t1和t2中;
[0048]
步骤6:根据工序层和交叉后的机器选择层更新运输时间层。
[0049]
完成机器均匀交叉编码后,如果新的编码的解优于原来的编码,则取代原编码f1,f2,反之则维持原编码。
[0050]
与现有技术相比,本发明具有以下有益效果:
[0051]
(1)本发明基于灰狼算法,结合插入式编码、均匀交叉、pareto前沿,获得了一种优秀有效的求解多目标分布式柔性车间调度问题的优化方法。相对于现有技术,获得的解的质量大幅提高,更符合实际需求,提高了使用价值,减少了生产成本,适于实际应用;
[0052]
(2)本发明具有很强的实用价值,可用于解决多目标分布式柔性车间问题,适用于在多车间环境下获得最优的调度方案,相对于现有技术,更加符合实际需要,有很强的可扩展性和实用性。
附图说明
[0053]
图1为本发明的工作流程图。
[0054]
参考文献
[0055]
[1]seyedali mirjalili,seyed mohammad mirjalili,and andrew lewis.2014.grey wolfoptimizer.adv.eng.softw.69(march,2014),46

61。
具体实施方式
[0056]
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
[0057]
实施例1
[0058]
如图1所示,本实施例提供的基于灰狼算法求解多目标分布式柔性车间调度优化方法,包括如以下具体步骤:
[0059]
步骤(1):初始化参数,产生初始种群,并通过插入式编码,更新为质量更高的初始种群,任务属性及其规则如下:
[0060]
初始种群的编码机制采用长度相同的三段式编码,每段分别表示工序排序信息、机器选择信息和运输时间信息,其中运输时间信息为相邻工序在不同工厂加工所需的运输时间。工序排序是随机的,机器选择中按照预设概率部分个体选择加工该工序时长最短的机器,剩余个体随机选择,运输时间排序随工序排序和机器排序变化,生成初始三层编码后,对其进行插入式操作。
[0061]
所述插入式编码规则如下:
[0062]
工序o
i,j
是在工厂f的机器l上加工的工件i的第j个工序,工序o
i,j-1
是在工厂u的机器 k上加工的工件i的第j-1个工序,o
i,j-1
为工序o
i,j
同工件的上个工序;在工厂f的机器l 上,工序o
i,j
的前序工序为o
q,z
,后序工序为o
g,h
;当工序o
i,j
非工件i第一个工序,并且工序o
i,j
加工使用的机器k也非第一次使用时,若满足以下条件之一,可对工序o
i,j
执行插入操作。
[0063]
具体包含以下条件:
[0064]
[0065][0066][0067]
对于每个机器最后加工的一项工序,若满足以下条件之一,则可前移该工序。
[0068]
具体包括以下条件:
[0069][0070][0071]ci,j-1,k,u
为工序o
i,j-1
在工厂u的机器k上加工完成的时间,c
q,z,l,f
为工序o
q,z
在工厂f 的机器l上加工完成的时间;t
u,f
为工序从工厂u运输到工厂f的运输时间;p
i,j,l,f
为工序 o
i,j
在工厂f的机器l上的加工时间;s
g,h,l,f
为工序o
g,h
在工厂f的机器l上开始加工的时间。
[0072]
步骤(2):根据加工时间、机器负荷和能耗,进行非支配排序和拥挤度计算,确定α、β、δ三种狼并用灰狼算法对种群进行更新,任务属性及规则如下:
[0073]
非支配排序是将每个个体按照他们的支配与非支配关系进行再分级,提出了拥挤度和拥挤度比较算子,代替了需要指定共享半径的适应度共享策略,并在快速排序后的同级比较重作为胜出标准,使准pareto域中个体能扩展到整个pareto域,并均匀分布。非支配排序后得到x个非劣前沿(用p1,p2,

,p
x
表示),各个非劣前沿满足以下性质:
[0074]
(1)且非支配排序后种群中各个个体相互独立;
[0075]
(2)非支配排序前后种群规模不变;
[0076]
(3)p1》p2》

》p
x
,非支配排序后种群分成x个非劣前沿。
[0077]
非支配排序步骤为:
[0078]
步骤1:找到种群中所有n(x)=0的个体,将他们存入当前集合p(1);
[0079]
步骤2:对于当前集合p(1)中的每个个体y,考察它所支配的个体集s(y),将s(y)中的每个个体k的n(k)减1;
[0080]
步骤3:如果n(k)-1=0,则将个体k存入另一个集h,最后,将p(1)作为第一级非支配个体集合,并赋予该集合内个体一个相同的非支配序rank,以此类推,继续对h作上述分级操作并赋予相应的非支配序,直到所有个体都被分级,得到非支配排序p(1)、 p(2)

p(x);其计算复杂度为o(mn

{2})。
[0081]
n(x)为在种群中支配个体x的解个体的数量,s(y)为被个体y所支配的解个体的集合, m为目标函数个数,n为种群大小;
[0082]
拥挤度的计算公式如下:
[0083][0084]i(s 1).d
和i
(s-1).d
分别是解s的后一个解与前一个解在d函数上的函数值,和分别是d函数上的最大和最小值,d函数为不同的目标函数;
[0085]
个体拥挤度排序的规则如下:
[0086]
(1)非支配层更为优秀的个体在前,即个体的rank值小的在前;
[0087]
(2)若两个个体支配层相同,拥挤度大的个体在前。
[0088]
根据拥挤度大小排序后,选择最优的三个个体作为α、β、δ狼,然后根据灰狼算法对种群进行更新(详细灰狼算法参考文献[1])
[0089]
步骤(3):对种群进行均匀交叉获得新的种群,再进行非支配排序,获得pareto解集,任务属性及规则如下:
[0090]
对种群的机器编码进行均匀交叉获得新的种群,再次进行非支配排序后,p(1)为第一级非支配个体集合,即当前的pareto解集;
[0091]
所述机器层均匀交叉具体步骤如下:
[0092]
(1)在种群中随机选择父代个体f1,f2,f3;
[0093]
(2)随机产生一个长度与工序总数一致的集合r,该集合由0和1组成;
[0094]
(3)在父代个体f2和f3中随机选出与集合r中的1对应位置的编码,复制到子代t1 中的相应位置上;
[0095]
(4)在父代个体f1和f3上随机选出与集合r中的1位置对应的编码,复制到子代t2 中的相应位置上;
[0096]
(5)选出f1和f2中的其他编码部分,分别保留到子代t1和t2中;
[0097]
(6)根据工序层和交叉后的机器选择层更新运输时间层。
[0098]
完成机器均匀交叉编码后,如果新的编码的解优于原来的编码,则取代原编码f1,f2,反之则维持原编码。
[0099]
步骤(4):判断算法是否达到迭代次数,若达到,则输出pareto解集,若未达到,则转到步骤(2)。
[0100]
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献