利索能及
我要发布
收藏
专利号: 2021110880027
申请人: 燕山大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:通过在现有狼群算法游走行为中引入莱维飞行机制,在头狼确定过程中融合了模拟退火算法,用汉明距离来度量柔性作业车间个体编码的相似度距离来解决柔性作业车间调度问题。

2.根据权利要求1所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:所述调度方法具体包括以下步骤:

步骤1:初始化算法参数,以柔性作业车间最大完工时间最小为优化目标,算法达到最大迭代次数终止;

步骤2:初始化调度方案解种群,种群中的所有N个体采用双层的编码方式,上层为工序序列的编码,下层为机器序列的编码,且两段编码的长度相等,相同位置相互对应;

步骤3:计算所有初始化个体的目标函数值,取目标函数值最小的个体作为头狼个体,并将所有个体按目标函数值从小到大的顺序排列;

步骤4:探狼个体执行引入莱维飞行机制的游走行为,同时融合模拟退火算法确定头狼,即若在游走过程中发现目标函数值小于头狼的个体,则该个体替代当前头狼成为新的头狼,或者以预设的概率准则接受目标函数值大于当前头狼的个体成为新的头狼;否则,一直游走直到达到最大的游走次数Kmax;

步骤5:在步骤4确定头狼后,头狼发起召唤行为,猛狼听到召唤后向着头狼所在位置开始奔袭,若猛狼在奔袭的过程中发现目标函数值小于头狼的个体,则该个体代替当前头狼成为新的头狼,并继续发起召唤行为;

步骤6:在猛狼向头狼奔袭的过程中,当猛狼奔袭至与头狼之间的距离小于由汉明距离所定义的围攻判别距离时,猛狼发起围攻行为;

步骤7:将所有个体按目标函数值从小到大再次排序,将目标函数值最小的个体作为下一代的头狼个体,将目标函数数值最差的β*N个个体淘汰后重新初始化生成,继续执行步骤

4,直到达到最大迭代次数为止。

3.根据权利要求2所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:步骤1中,所述参数主要包括改进狼群算法中的狼群个体总数N、算法迭代次数M、探狼比例因子α、围攻距离判别因子ω、探狼的最大游走次数Kmax、步长因子S、群体淘汰比例因子β、探狼游走方向个数h、以及模拟退火算法中的初始温度T0、衰减因子γ。

4.根据权利要求2所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:步骤2中,所有N个体采用双层的编码方式具体为:以包含6个工件和8个机器为例,其中每个工件包含6道工序,则每个个体上下两层的编码长度均为36;图中J1:J6为工件,1:6表示工序,括号中为该机器的对应加工时间。假设初始化解种群中某个体的编码的上层为[4 3 2 1 5 4 2 3 6 3 4 5 1 2 6 2 3 1 2 4 5 3 2 

4 6 5 3 46 1 5 1 6 5 6 1],下层为[1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 2 

2 2 2 1 1 2 1 2 1 2 1 2 2 1];上层为工序序列的编码,从左至右表示按顺序依次加工工件4的第1道工序,工件3的第1道工序,工件2的第1道工序,工序1的第1道工序,工件5的第

1道工序,工件4的第2道工序……以此类推;下层为机器序列的编码,从左至右依次表示可用来加工上层对应位置处工序的机器集合中的第几台,例如下层第一个1为{M2}中第一个,而非实际的机器编号,故而下层从左至右依次对应的机器为M2、M6、M2、M4、M8、M5……以此类推;

将N个个体全部随机初始化,上层个体中元素的取值区间为[1,6]的整数,即randi([1,

6]);下层个体中每个元素的取值区间为 的整数,即 其中表示可加工i工件第j道工序的机器集合中的机器总数。

5.根据权利要求2所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:步骤3中,某个体的目标函数值f计算方法如下:设其中一个个体的上层编码为XS=(x1,x2,x3……xm),首先将其解码生成调度工序形式Ps=(p1,p2,p3……pm),即第几个工件的第几道工序的形式:(1)初始化所有工件计数器为0,以6个工件计数器为例,即temp=[0 0 0 0 0 0],用来记录同一工件在该个体的上层编码中第几次出现;遍历上层编码中的所有元素,例如若x1=4,即工件4第1次出现,temp变为[0 0 0 1 0 0],则该个体上层编码中的x1元素解码为p1,=100*4+1=401;以此类推直到上层编码中的所有元素解码完成;

(2)初始化所有机器的开机时间为0,初始化所有工件开始加工的时间为0;

(3)利用个体上层解码后的元素值,获取每个元素中含的工序部分即A=mod(p,100),含的工件部分即B=(p‑A)/100,进一步地根据获取的工件号B和工序号A确定出其对应的可加工的机器集合MBA和可加工机器集合相应的机器加工时间数组tBA;

(4)找到3.3中被解码的元素值在下层编码中对应的机器编码值c,从而确定出工件B的工序A所选中的加工机器为MBA(c)以及机器MBA(c)的加工时间tBA(c);

(5)比较机器MBA(c)加工上一个工件的完成时间tM和当前要加工工件B的上一道工序的完成时间ti,若tM>ti,则取tM为工件B当前需要加工工序的开始时间;反之,取ti为工件B当前需要加工工序的开始时间;各机器的开机时间和各工件的最早可加工时间在(2)中已初始化为0;故不难得出工件B当前需要加工工序的完成时间为CB=max(tM,ti)+tBA(c);

(6)依次遍历个体编码中的所有元素值,执行上述(3)、(4)、(5),能够求得该初始化个体所对应的调度解方案中所有工件的最终完工时间;进一步地,取所有工件最终完工时间的最大值即为该调度解方案对应的最大完工时间Cmax,以6个工件为例,Cmax=max(C1,C2,……C6)即为初始化个体中其中一个个体的目标函数值f;

所有初始化个体按照如上(1)~(6)计算,可得各自对应的调度解方案的目标函数值f1~fN,并将所有个体按目标函数值从小到大的顺序排列,取目标函数值最小的个体作为头狼个体。

6.根据权利要求2所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:步骤4中,设某探狼个体沿着第h1个方向游走,则个体的上层编码元素的位置更新公式为:

xk+1=xk+sin(2π*h1/h)*(stepa1+levy(β))式中,k为迭代次数,stepa1为个体上层编码元素对应的游走步长且stepa1=D1/S,D1为区间长度,在柔性作业车间调度问题中可取为工件个数,以6个工件为例,则D1=6,而levy(β)为服从莱维分布的变量;此时,上层元素变为连续型值,但柔性作业车间调度问题为离散型问题,需要进行连续‑离散转换;

将个体上层编码元素位置更新迭代后得到的值进行升序排列sort(XS),并保存其排序前在上层编码中的位次;初始化一个离散的按工件升序排列的调度解方案,以6个工件为例,即为[1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 

5 5 6 6 6 6 6 6],将该解方案按照所保存的XS排序前的位次进行排序,即得到离散的编码元素值即位置迭代后的调度解方案;

同样的,个体的下层编码元素的位置更新公式为:xk+1=xk+sin(2π*h1/h)*(stepa2+levy(β))式中,stepa2为个体下层编码元素对应的游走步长且step2=D2/S,D2为下层编码元素对应的区间长度,在柔性作业车间中可取为i工件的j工序对应的可加工机器的总数 最后对位置更新后的下层编码元素值离散化,这里四舍五入取整即可;

确定了上下层的离散调度解方案后,利用步骤3所述方法可求出探狼个体在h1方向上游走一步对应的目标函数值,同理可求出个体在所有h个方向游走一步后的目标函数值;取所有h个目标函数值中最小的,若其小于该个体上一代的目标函数值,则更新该个体;进一步地,若该个体对应的目标函数值小于当前头狼的目标函数值,则其替代当前头狼成为新的头狼,反之,则根据融合的模拟退火算法,按照Metropolis准则以预设概率,即若则接受该个体成为新的头狼;

遍历所有的探狼个体执行该步骤,直到有新的头狼出现则跳出该循环,或者达到最大游走次数Kmax结束该循环。

7.根据权利要求2所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:步骤5中,通过游走行为确定头狼后,头狼发起召唤行为,猛狼听到召唤后向着头狼所在位置开始奔袭,其上层编码元素的位置迭代更新公式为:xk+1=xk+stepb1*(xl‑xk)/|xl‑xk|式中,stepb1为猛狼个体上层编码元素对应的奔袭步长且stepb1=2*stepa1,xl为头狼个体与猛狼个体处在上层编码中同一位置的元素;此时猛狼个体的上层编码元素亦为连续型值,需要进行连续‑离散的转换,方法同步骤4中所述;同样的,猛狼个体下层编码元素的位置更新公式为:

xk+1=xk+stepb2*(xl‑xk)/|xl‑xk|式中,stepb2为猛狼个体下层编码元素对应的奔袭步长且stepb2=2*stepa2;这里的下层编码元素同为连续型值,离散化采用四舍五入取整即可;

计算猛狼个体在奔袭的过程中对应的目标函数值,若其小于该个体上一代的目标函数值则更新该猛狼个体;进一步地,若该猛狼个体对应的目标函数值小于当前头狼个体,则该个体代替当前头狼成为新的头狼,并重新发起召唤行为。

8.根据权利要求2所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:步骤6中,在猛狼向头狼奔袭的过程中,当猛狼奔袭至与头狼之间的距离小于本发明所提出的由汉明距离所定义的围攻判别距离时,猛狼发起围攻行为:设该头狼个体对应的调度解方案为X=(x1,x2,……xn),当前头狼个体对应的调度解方案为L=(l1,l2,……ln),以n=72为例,故该猛狼个体与当前头狼个体之间的汉明距离为△d=length(find((X(:)‑L(:))~=0)),所定义围攻判别距离为dp=(1/ω)*n,当猛狼个体与头狼个体之间的汉明距离△d

xk+1=xk+λ*stepc1*|xl‑xk|式中,λ为(‑1,1)均匀分布的随机数,stepc1为猛狼个体上层编码元素对应的围攻步长且stepc1=0.5*stepa1,此时猛狼个体的上层编码元素为连续值,需要进行连续‑离散的转换,方法同步骤4中所述;同样的猛狼个体在围攻时,下层编码元素的位置迭代更新公式为:xk+1=xk+λ*stepc2*|xl‑xk|式中,stepc2为猛狼个体下层编码元素对应的围攻步长且stepc2=0.5*stepa2,这里的下层编码元素同为连续型值,离散化采用四舍五入取整即可;

计算猛狼个体在围攻的过程中对应的目标函数值若其小于该个体上一代的目标函数值,则更新该猛狼个体;

遍历所有猛狼个体,依次执行步骤5和步骤6。

9.根据权利要求2所述的一种基于改进狼群算法的柔性作业车间调度方法,其特征在于:步骤7中,将头狼以及所有探狼和猛狼个体按目标函数值从小到大再次排序,将目标函数值最小的个体作为下一代的头狼个体,将目标函数数值最差的β*N个个体淘汰后重新初始化生成,继续执行步骤4;

循环执行上述步骤4~步骤7,直到达到最大迭代次数M为止,将所有个体中目标函数值最小的个体作为最终的生产调度解方案。