一种不相关并行机调度问题的学习型蜘蛛猴算法

文档序号:31338335发布日期:2022-08-31 09:24阅读:来源:国知局

技术特征:
1.一种不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:按下述步骤进行:步骤s1:通过混合迭代贪婪规则与随机规则,生成规模为n的初始种群p0;步骤s2:解码计算种群中每个蜘蛛猴个体sm
h
(h=1,2,

,n)的最大完工时间c
hmax
与适应度值f
h
,对种群进行随机分组确定局部领导者ll与全局领导者gl;步骤s3:判断是否满足终止条件,即达到迭代次数限制,若是,结束,否则,转下一步骤;步骤s4:执行局部领导者更新阶段,运用离散化的交叉方法对各个组内种群个体进行交叉操作,更新每一组种群;步骤s5:执行全局领导者更新阶段,运用离散化的交叉方法对种群个体进行交叉操作,更新整个种群;步骤s6:执行全局领导者学习阶段,判断全局领导者gl是否有更新,若是,转下一步骤,否则,转步骤s9;步骤s7:执行局部领导者学习阶段,判断局部领导者ll是否有更新,若是,转步骤s10,否则,转下一步骤;步骤s8:若任何局部领导者ll在设定的局部领导者限制次数n
lll
内没有更新,则通过局部领导者决策阶段重新引导组内个体进行更新,转步骤s10;步骤s9:若全局领导者gl在设定的全局领导者限制次数n
gll
内没有更新,则通过全局领导者决策阶段判断是否将种群划分为更小的组或将所有的组融合成一个组;步骤s10:通过预防性维护pm策略知识库指导当前种群p
t
中每个个体的pm决策,进行种群更新;步骤s11:解码计算种群中每个蜘蛛猴个体sm
h
的适应度值f
h
,确定局部领导者ll与全局领导者gl,令迭代次数t=t+1,返回步骤s3。2.根据权利要求1所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s1中的初始种群生成方法按下述步骤进行:步骤s1.1:问题描述与目标界定,考虑预防性维护的不相关并行机调度问题可以描述为将j={j1,j2,

,j
j

,j
n
}中的n个工件安排到m={m1,m2,

,m
i

,m
m
}中的m台不相关并行机上,机器m
i
上分配的工件数量为n
i
,机器在生产过程中需要进行基于状态的变周期预防性维护,机器的状态用可靠度表示,随着累计加工时间或役龄增加,机器的可靠度降低,工件的加工时间变长,即具有恶化效应;当机器的可靠度低于阈值上限时,工件的实际加工时间增加;一旦机器的可靠度低于阈值下限时,需要实施固定时长的预防性维护才能使机器恢复到初始状态,机器状态变化服从指数型函数,假设机器m
i
的当前役龄为l
i
,则机器的可靠度用函数表示为λ表示机器故障率;工件j
j
在机器m
i
上的基本加工时间为p
ij
,实际加工时间p

ij
与机器的可靠度相关,当可靠度处于上限r
th1
与下限r
th2
之间时,实际加工时间按照增长率w成比例增加;若可靠度低于下限r
th2
,实际加工时间为无穷大;实际加工时间与可靠度的关系如下所示:加工过程不可中断,工件的完工时间为c
j
,维护时长为mt,优化目标为最小化最大完工
时间c
max
=max{c
j
},决策内容是确定工件在机器上的分配、工件的加工顺序以及机器的维护时刻;步骤s1.2:根据混合方法中混合迭代贪婪规则以及随机规则的数量比例,即n=n
ig
+n
random
,按照步骤s1.4与步骤s1.5的方法生成初始种群p0;步骤s1.3:初始化每台机器的完工时间c1=c2=

=c
m
=0,工件j
j
在机器m
i
上的完工时间c
ij
=0,机器的役龄l1=l2=

=l
m
=0,每台机器上已调度工件的集合sj1=sj2=

=sj
m
=φ,未调度工件的集合usj={j1,j2,

,j
n
},设置工件数量n,加工时间增长率w、机器故障率λ、维护时长mt、机器可靠度上限r
th1
、下限r
th2
与种群规模n的参数值,工件指标j=1,机器指标i=1,蜘蛛猴个体指标h=1;步骤s1.4:利用混合迭代贪婪规则生成数量为n
ig
的初始解;步骤s1.5:随机将n个工件分派到m台机器上,生成数量为n
random
的初始解;步骤s1.6:将混合迭代贪婪规则与随机规则生成的初始解合并,构成规模为n=n
ig
+n
random
的初始种群p0。3.根据权利要求2所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s1.4的具体步骤如下:步骤s1.4.1:判断usj={φ}是否成立,若是,结束,否则,i=1,转步骤s1.4.2;步骤s1.4.2:判断i≤m是否成立,若是,j=1,转步骤s1.4.3,否则,转s1.4.8;步骤s1.4.3:判断j≤|usj|是否成立,若是,转步骤s1.4.4,否则,i=i+1,转步骤s1.4.2;步骤s1.4.4:计算若r
th1
≤r
i
≤1,p

ij
=p
ij
,转步骤s1.4.6,否则,转步骤s1.4.5;步骤s1.4.5:若r
th2
≤r
i
<r
thl
,p

ij
=p
ij
+w*(r
th1-r
i
)*p
ij
,转步骤s1.4.6,否则,转步骤s1.4.7;步骤s1.4.6:计算机器役龄l
i
=l
i
+p

ij
,c
ij
=c
i
+p

ij
,j=j+1,转步骤s1.4.3;步骤s1.4.7:计算机器役龄l
i
=p
ij
,c
ij
=c
i
+p
ij
+mt,j=j+1,转步骤s1.4.3;步骤s1.4.8:筛选工件与对应机器满足满足将工件安排到机器上加工,并更新上加工,并更新返回步骤s1.4.1;步骤s1.4.9:循环步骤s1.4.1-步骤s1.4.8,生成数量为n
ig
的初始解。4.根据权利要求1所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s2中的解码与适应度计算按下述步骤进行:步骤s2.1:初始化参数,机器m
i
的完工时间集合机器m
i
上位置k的完工时间c
i[k]
=0,工件开始加工前的机器役龄为且工件加工完成后的机器役龄为设置加工时间增长率w,机器故障率λ,机器可靠度上限r
th1
、下限r
th2
与维护时长mt的参数值,种群中蜘蛛猴个体指标h=1,每个个体中机器指标i=1,机器上工件数量指标k=1;步骤s2.2:判断种群数量h>n是否成立,若是,结束,否则,i=1,转步骤s2.3;
步骤s2.3:判断机器数量i>m是否成立,若是,得到目标值c
hmax
=max{c
i[k]
,c
i[k]
∈mc},适应度值f
h
=1/c
hmax
,h=h+1,返回步骤s2.2,否则,k=1,转步骤s2.4;步骤s2.4:判断位置k>n
i
是否成立,若是,更新mc=mc∪c
i[k]
,i=i+1,返回步骤s2.3,否则,转步骤s2.5;步骤s2.5:计算若r
th1
≤r
i
≤1,p

i[k]
=p
i[k]
,转步骤s2.8,否则,转步骤s2.6;步骤s2.6:若r
th2
≤r
i
<r
th1
,p

i[k]
=p
i[k]
+w*(r
th1-r
i
)*p
i[k]
,转步骤s2.8,否则,转步骤s2.7;步骤s2.7:c
i[k]
=c
i[k-1]
+p
i[k]
+mt,k=k+1,返回步骤s2.4;步骤s2.8:c
i[k]
=c
i[k-1]
+p

i[k]
,k=k+1,返回步骤s2.4。5.根据权利要求1所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s4中的局部领导者更新阶段对各个组内种群个体更新包括如下步骤:步骤s4.1:依次选择种群中的每一个个体,先运用离散化的公式确定小组成员的更新方式,所述离散化的公式如下所示:上述公式给出的局部领导者种群个体交叉更新方法包括第一部分和第二部分;第一部分:上述公式中的g(sm
h
,ll
k
)表示蜘蛛猴个体sm
h
与其所在的第k组的局部领导者ll
k
执行交叉操作,得到新蜘蛛猴个体sm

h
;p
r
为扰动率,p
r
=p
r
+0.4/t,t为进化次数,p
r
初始值为0.1;若随机生成的数p
x1
大于p
r
时,执行交叉操作,否则,保留原个体sm
h
,其中,p
x1
,p
r
~u(0,1);第二部分:上述公式中的f(sm

h
,sm
r
)表示蜘蛛猴个体sm

h
与种群中的随机蜘蛛猴个体sm
r
执行交叉操作,p1为交叉概率,若随机生成的数p
x2
小于p1,执行交叉操作;否则,保留原个体sm

h
,其中,p
x2
,p1~u(0,1);步骤s4.2:根据确定的交叉方式,对局部领导者阶段的组内个体利用两点交叉方法进行更新;如果两个交叉的蜘蛛猴个体编码中存在相同基因位,按照交叉方式1进行交叉,否则,按照交叉方式2进行交叉;交叉方式1:保留父代编码中的相同基因位,其余基因在机器的工件分配方式不变的前提下随机排序;交叉方式2:从每个父代中随机选择长度为[1,n+m-1]的一段基因保留,其余基因位通过映射的交叉方式得到;
计算执行交叉操作产生的子代的适应度值,若优于父代个体,保留新个体,否则,保留原来的父代个体,局部领导者未更新次数n
ll
加1。6.根据权利要求1所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s5的全局领导者更新阶段对种群个体更新包括如下步骤:步骤s5.1:依次选择种群中的蜘蛛猴个体,根据离散化的公式确定种群个体的更新方式,所述离散化的公式如下所示:上述公式的全局领导者种群个体交叉更新方法包括第一部分和第二部分;第一部分:上述公式中的g(sm
h
,gl)表示蜘蛛猴个体sm
h
与全局领导者gl执行交叉操作,得到新蜘蛛猴个体sm

h
,当随机生成的数p
y1
小于prob
h
,执行交叉操作;否则,保留原个体sm
h
;其中,p
y1
~u(0,1);上述公式中的prob
h
为蜘蛛猴sm
h
被选中更新的概率,根据个体适应度值计算,计算方法如下所示:其中个体的适应度值计算方法如下所示:第二部分:上述公式中的f(sm

h
,sm
r
)表示蜘蛛猴个体sm

h
与随机蜘蛛猴个体sm
r
执行交叉操作,p2为交叉概率,当随机生成的数p
y2
小于p2,执行交叉操作,否则,保留原个体sm

h
,其中,p
y2
,p2~u(0,1);步骤s5.2:利用两点交叉的方法对全局领导者更新阶段的种群个体进行更新;如果两个交叉的蜘蛛猴个体编码中存在相同基因位,按照交叉方式1进行交叉,否则,按照交叉方式2进行交叉;交叉方式1:保留父代编码中的相同基因位,其余基因在机器的工件分配方式不变的前提下随机排序;交叉方式2:从每个父代中随机选择长度为[1,n+m-1]的一段基因保留,其余基因位通过映射的交叉方式得到;计算执行交叉操作产生的子代的适应度值,若优于父代个体,保留新个体,否则,保留原来的父代个体,全局领导者未更新次数n
gl
加1。7.根据权利要求1所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s10中通过预防性维护策略知识库指导种群个体的pm决策包括如下步骤:步骤s10.1:算法进化前k代的pm策略知识学习阶段;
步骤s10.2:算法进化后期通过pm策略知识库中每种策略的执行概率指导蜘蛛猴个体的pm决策;所述pm策略包括pm-ia,pm-ib,pm-ma和pm-mb四种,所述pm-ia的具体步骤如下:步骤a1:按照机器的完工时间对机器进行降序排列,依次找到机器可靠度在[r
th2
,r
th1
)区间没有pm的位置;步骤a2:插入pm;所述pm-ib的具体步骤如下:步骤b1:提取种群中前10%精英个体的pm序列,将可靠度区间[r
th2
,r
th1
)划分为q等分,统计每个子区间q
i
的pm次数则第q1个子区间执行pm的概率为步骤b2:按照机器的完工时间对机器进行降序排列,依次用轮盘赌的方式选择一个子区间位置插入pm;所述pm-ma的具体步骤如下:步骤c1:按照机器完工时间对机器进行降序排列,依次找到机器可靠度在[r
th1
,1]区间有pm的位置;步骤c2:移除此pm;所述pm-mb的具体步骤如下:步骤d1:选择机器可靠度在[r
th1
,1]区间,且存在pm的位置,按照pm-ib中的方法计算[r
th2
,r
th1
)区间内每个子区间执行pm的概率;步骤d2:按照完工时间对机器进行降序排列,并用轮盘赌的方式选择一个位置,将原pm移动至此。8.根据权利要求7所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s10.1的具体步骤如下:步骤s10.1.1:初始化参数,设置种群中所有个体sm
h
执行pm策略s的评分矩阵第t代种群p
t
的pm策略评分矩阵设置迭代次数指标t=1,种群中的蜘蛛猴个体指标h=1;步骤s10.1.2:判断t>k是否成立,若是,结束,终止学习,否则,转步骤s10.1.3;步骤s10.1.3:判断h>n是否成立,若是,计算每种策略下的平均评分并更新c
ts
矩阵,t=t+1,返回步骤s10.1.2,否则,转步骤s10.1.4;步骤s10.1.4:判断策略数量s>4是否成立,若是,h=h+1,返回步骤s10.1.3,否则,转步骤s10.1.5;步骤s10.1.5:对个体sm
h
执行策略s,得到新个体sm

h
,若f

h
>f
h
,c
hs
=c
hs
+1,否则,c
hs
=c
hs
,令s=s+1,转步骤s10.1.4。9.根据权利要求7所述的不相关并行机调度问题的学习型蜘蛛猴算法,其特征在于:所述步骤s10.2的具体步骤如下:
步骤s10.2.1:初始化参数,设置个体sm
h
执行策略s的评分矩阵第k代种群p
k
的维护策略评分矩阵的维护策略评分矩阵设置迭代次数指标t=k+1,最大迭代次数maxt;步骤s10.2.2:判断t>maxt是否成立,若是,结束,否则,计算第t代种群p
t
维护策略s的执行概率转步骤s10.2.3;步骤s10.2.3:根据维护策略的执行概率p
ts
,采用随机遍历抽样方法生成每个个体sm
h
的pm策略,并更新c
hs
,转步骤s10.2.4;所述随机遍历抽样方法是指四种pm策略的概率构成一个轮盘,一次在轮盘上生成n个种群的策略选择,先在[0,1/n]之间产生第一个随机的pm策略选择指针,再以1/n等间隔生成n个策略选择指针;步骤s10.2.4:根据每个蜘蛛猴个体sm
h
执行pm策略s的评分c
hs
计算整个种群执行pm策略的平均评分,并更新到pm策略的评分矩阵c
ts
,令t=t+1,返回步骤s10.2.2。

技术总结
本发明公开了一种不相关并行机调度问题的学习型蜘蛛猴算法,按下述步骤进行:S1:混合迭代贪婪与随机规则生成初始种群P0;S2:种群解码,并随机分组确定局部领导者LL与全局领导者GL;S3:判断是否满足终止条件,不满足转下一步骤;S4:分别运用离散化交叉算子更新各组与整个种群个体;S5:分别判断GL与LL是否有更新,若达到限制次数没有更新,对LL所在小组执行强制更新,对整个种群重新分组或融合成一组;S6:利用学习优秀个体的PM策略知识库实现种群个体的PM自决策;S7:解码,确定LL和GL,转步骤S3。本发明具有快速求解考虑预防性维护与恶化效应的不相关并行机调度问题和提高车间机器利用率的特点。用率的特点。用率的特点。


技术研发人员:陈亚绒 钟静燕 朱立夏 沈纯纯 王陈 黄沈权 钟柳艳
受保护的技术使用者:温州大学
技术研发日:2022.04.14
技术公布日:2022/8/30
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1