基于Q-learning和GA的多目标柔性作业车间调度自学习方法技术

技术编号:29016460 阅读:32 留言:0更新日期:2021-06-26 05:17
本发明专利技术公开了基于Q

【技术实现步骤摘要】
基于Q

learning和GA的多目标柔性作业车间调度自学习方法


[0001]本专利技术涉及制造生产车间的调度
,尤其涉及一种基于Q

learning和GA的多目标柔性作业车间调度自学习方法。

技术介绍

[0002]随着客户需求定制化和加工设备的多功能发展,传统作业车间调度(JSP)很难达到最优化排产调度,造成生产率较低、资源浪费、成本增加,因此设计并实现柔性作业车间调度的自学习智能化方法成为生产调度的关键任务,以满足制造企业的实际需求。
[0003]柔性作业车间调度(FJSP)在1990年由Bruker和Schlic首次提出,具有显著的离散性、计算复杂性、多约束性、不确定性和多目标性特征作为经典作业车间调度(JSP)问题的扩展,突破生产资源唯一性限制,每道生产工序可在不同机器上加工,更迎合实际生产环境,增加了调度的灵活性、可靠性和自适应性,且是一种公认的强NP

hard问题;实际生产中调度问题常常多目标的,有效的调度优化方案不仅能提高生产效率、设备利用率,保证按时交货,降低企业成本,而且还节能减排实现绿色生产。
[0004]目前,FJSP常用解决方法有遗传算法、禁忌搜索、蚁群算法、模拟退火、粒子群算法、蜂群算法等;遗传算法是一种隐含并行搜索的随机全局搜索算法,优越的全局搜索和较强的鲁棒性使得遗传算法非常适合求解多目标优化FJSP问题。但遗传算法中的交叉概率和变异概率等关键参数不能被动态精准调整,从而影响算法的效率和解的质量。

技术实现思路

[0005]本专利技术提供基于Q

learning和GA的多目标柔性作业车间调度自学习方法,以克服上述技术问题。
[0006]本专利技术基于Q

learning和GA的多目标柔性作业车间调度自学习方法,包括:
[0007]S1、建立柔性作业车间调度模型及其约束条件;
[0008]S2、初始化遗传算法基本参数;根据所述遗传算法的分段编码规则,并根据所述基本参数进行染色体种群初始化;
[0009]S3、对各染色体支配关系进行分类划定帕累托阶层,计算同一帕累托阶层内各染色体之间的拥挤距离,根据染色体所在的帕累托阶层及所述拥挤距离计算适应度值;
[0010]S4、判断种群迭代次数是否达到预设上限,若达到,则输出最优解;否则,利用增强学习算法,并根据所述适应度值优化所述遗传算法中的交叉概率P
c
和变异概率P
m

[0011]S5、选择参与交叉的染色体种群,根据所述交叉概率P
c
对所述参与交叉的染色体种群进行交叉操作,生成参与变异的染色体种群;
[0012]S6、根据所述变异概率P
m
对所述参与变异的染色体种群进行变异操作,生成新染色体种群;返回S3,基于所述新染色体种群进行计算。
[0013]进一步地,所述建立柔性作业车间调度模型及其约束条件,包括:所述柔性作业车间调度模型描述为:
[0014]n种独立工件J={J1,J2,J3…
J
n
},m台独立机器M={M1,M2,M3…
M
m
},每个工件J
i
有工序数为h
j
,O
ij
表示工件J
i
的第j个工序,j=1,2,3

,h
i
,工序O
ij
可被多台机器加工,O
ij
在机器M
k
上的加工时间t
ijk
,k=1,2,3

,m;并按照一定工艺先后顺序进行加工,调度目标为最大完工时间最小、最大机器负荷最小及总机器负荷最小中一项或多项性能指标达到最优;其中,
[0015]最大完工时间最小C
max
目标函数如式(1):
[0016]minf1=C
max
=min{max(C
i
)1≤i≤n}
ꢀꢀ
(1)
[0017]最大机器负荷最小W
m
目标函数如式(2):
[0018][0019]总机器负荷最小W
t
目标函数如式(3):
[0020][0021]所述柔性作业车间调度模型的约束条件为:
[0022]s
ij
≥0,c
ij
≥0,i=1,2,3...n;j=1,2,3...h
i
表示工序的加工时间和完工时间必须是非负数;
[0023]c
ij
≤s
i(j+1)
,i=1,2,3
···
n;j=1,2,3
···
h
i
表示每一个工件的工序间遵循工艺先后顺序;
[0024][0025]表示同一台机器在同一时刻只能加工一个工件的一个工序;
[0026]表示同一工件在同一时刻只能被一台机器加工;
[0027]其中,C
i
表示工件J
i
加工完成时间;s
ij
表示工序O
ij
加工开始时间;c
ij
表示工序O
ij
加工完成时间;m
ij
表示工序O
ij
的可选加工机器数;U表示正数;
[0028][0029]进一步地,所述遗传算法基本参数,包括:全局机器选择概率P
gs
、局部机器选择概率P
ls
、随机选择机器概率P
rs
、种群规模Popsize和迭代次数Iteration;
[0030]所述根据所述遗传算法的分段编码规则,并根据所述基本参数进行种群初始化,包括:
[0031]S21、构建初始种群染色体的机器选择MS部分编码,并存入存储数据数量为Popsize*T
o
的二维数组machSelect[][]中;
[0032]其中,T
o
等于所有工件的工序数之和;机器选择MS部分的染色体长度为T
o
,每个基因位用整数表示,代表当前工序选择的加工机器号,并依次按照工件号和每个工件工序号递增排列;
[0033]S22、构建初始种群染色体的工序排序OS部分编码,所述工序排序OS部分编码采用
随机排序方式,并存入存储数据数量为Popsize*T
o
的二维数组OpeSort[][]中;
[0034]其中,工序排序OS部分的染色体基于工序进行编码,长度等于所有工件的工序数之和T
o
,每个基因位用工件号代表的整数表示,工件i第j次出现表示J
i
的第j道工序O
ij
,且工件i出现的次数等于J
i...

【技术保护点】

【技术特征摘要】
1.基于Q

learning和GA的多目标柔性作业车间调度自学习方法,其特征在于,包括:S1、建立柔性作业车间调度模型及其约束条件;S2、初始化遗传算法基本参数;根据所述遗传算法的分段编码规则,并根据所述基本参数进行染色体种群初始化;S3、对各染色体支配关系进行分类划定帕累托阶层,计算同一帕累托阶层内各染色体之间的拥挤距离,根据染色体所在的帕累托阶层及所述拥挤距离计算适应度值;S4、判断种群迭代次数是否达到预设上限,若达到,则输出最优解;否则,利用增强学习算法,并根据所述适应度值优化所述遗传算法中的交叉概率P
c
和变异概率P
m
;S5、选择参与交叉的染色体种群,根据所述交叉概率P
c
对所述参与交叉的染色体种群进行交叉操作,生成参与变异的染色体种群;S6、根据所述变异概率P
m
对所述参与变异的染色体种群进行变异操作,生成新染色体种群;返回S3,基于所述新染色体种群进行计算。2.根据权利要求1所述的基于Q

learning和GA的多目标柔性作业车间调度自学习方法,其特征在于,所述建立柔性作业车间调度模型及其约束条件,包括:所述柔性作业车间调度模型描述为:n种独立工件J={J1,J2,J3…
J
n
},m台独立机器M={M1,M2,M3…
M
m
},每个工件J
i
有工序数为h
j
,O
ij
表示工件J
i
的第j个工序,j=1,2,3

,h
i
,工序O
ij
可被多台机器加工,O
ij
在机器M
k
上的加工时间t
ijk
,k=1,2,3

,m;并按照一定工艺先后顺序进行加工,调度目标为最大完工时间最小、最大机器负荷最小及总机器负荷最小中一项或多项性能指标达到最优;其中,最大完工时间最小C
max
目标函数如式(1):min f1=C
max
=min{max(C
i
)1≤i≤n}
ꢀꢀꢀꢀ
(1)最大机器负荷最小W
m
目标函数如式(2):总机器负荷最小W
t
目标函数如式(3):所述柔性作业车间调度模型的约束条件为:s
ij
≥0,c
ij
≥0,i=1,2,3...n;j=1,2,3...h
i
表示工序的加工时间和完工时间必须是非负数;c
ij
≤s
i(j+1)
,i=1,2,3
···
n;j=1,2,3
···
h
i
表示每一个工件的工序间遵循工艺先后顺序;表示同一台机器在同一时刻只能加工一个工件的一个工序;i=1,2,3
···
n;j=1,2,3
···
h
i
表示同一工件在同一时刻只能被一台机器加工;其中,C
i
表示工件J
i
加工完成时间;s
ij
表示工序O
ij
加工开始时间;c
ij
表示工序O
ij
加工完
成时间;m
ij
表示工序O
ij
的可选加工机器数;U表示正数;3.根据权利要求2所述的基于Q

learning和GA的多目标柔性作业车间调度自学习方法,其特征在于,所述遗传算法基本参数,包括:全局机器选择概率P
gs
、局部机器选择概率P
ls
、随机选择机器概率P
rs
、种群规模Popsize和迭代次数Iteration;所述根据所述遗传算法的分段编码规则,并根据所述基本参数进行种群初始化,包括:S21、构建初始种群染色体的机器选择MS部分编码,并存入存储数据数量为Popsize*T
o
的二维数组machSelect[][]中;其中,T
o
等于所有工件的工序数之和;机器选择MS部分的染色体长度为T
o
,每个基因位用整数表示,代表当前工序选择的加工机器号,并依次按照工件号和每个工件工序号递增排列;S22、构建初始种群染色体的工序排序OS部分编码,所述工序排序OS部分编码采用随机排序方式,并存入存储数据数量为Popsize*T
o
的二维数组OpeSort[][]中;其中,工序排序OS部分的染色体基于工序进行编码,长度等于所有工件的工序数之和T
o
,每个基因位用工件号代表的整数表示,工件i第j次出现表示J
i
的第j道工序O
ij
,且工件i出现的次数等于J
i
的工序总数;OS部分从左至右的工件号的先后顺序表示工件工序间的先后加工顺序;S23、构建初始种群Population;依次按行组合machSelect[]和OpeSort[],存入存储数据数量为Popsize*2T
o
的数组Population[][]中,数组Population[][]中每一行元素代表一条染色体。4.根据权利要求3所述的基于Q

learning和GA的多目标柔性作业车间调度自学习方法,其特征在于,所述依次按照工件号和每个工件工序号递增排列,包括:S211、按照全局机器选择概率P
gs
,以所有机器负荷均衡化的角度,使用贪心算法设计策略为每个工序选择加工机器;S212、按照局部机器选择概率P
ls
,以所有机器负荷均衡化的角度,使用贪心算法设计策略为每个工件工序选择加工机器;当下一个工件的第一个工序选择机器时,每台机器负荷重新设置为0;S213、按照随机机器选择概率P
rs
,为每个工序在可加工机器集中随机选择一个加工机器。5.根据权利要求4所述的基于Q

learning和GA的多目标柔性作业车间调度自学习方法,其特征在于,所述步骤S3,包括:S31、通过对染色体中机器选择MS部分信息解码,结合已知每个工件的工序在每台机器上加工时间信息,转换成每个工件工序选择机器矩阵ML、每个工件工序在所选机器上加工时间矩阵PT和每台机器负荷向量MT;S32、根据每个工序选择的加工机器和加工时间,读取染色体中工序排序OS部分,得到调度结果;S33、利用快速非支配排序法对染色体支配关系进行分类划定帕累托阶层,将初始种群
Population划分成互不相交的且具有支配关系的子群体Population1<Population2<

<Population
n
;S34、通过式(4)、(5)计算同一帕累托阶层内每个染色体的拥挤距离;d
pq
=|C
max
(p)

C
max
(q)|+|W
m
(p)

W
m
(q)|+|W
t
(p)

W
t
(q)|(p≠q)
ꢀꢀ
(4)C
d
(p)=min{d
p1
,d
p2
,

d
pk

d
pn
}(p≠k)
ꢀꢀ
(5)式中,d
pq
表示同一帕累托阶层内两个染色体之间的距离,则染色体p到同层染色体距离的最小值为p的拥挤距离C
d
(p)...

【专利技术属性】
技术研发人员:常镜洳康玲张明会石冬凌彭钰莹邱谦
申请(专利权)人:大连东软信息学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1