【技术实现步骤摘要】
基于GEP
‑
VNS进化动态作业车间调度规则中的特征选择方法
[0001]本专利技术涉及一种基于GEP
‑
VNS进化动态作业车间调度规则中的特征选择方法。
技术介绍
[0002]随着产品需求不断向个性化发展,制造工艺更加多样,制造企业之间的竞争越来越激烈。为了提高自身的竞争力,制造企业越来越关注如何对车间复杂工况下生产节点的多变性和网络环境下生产扰动的随机性进行高效的调度,以满足多样化的客户需求。传统的车间调度优化方法很难立即响应复杂制造系统中工况变化所引起的各类扰动。调度规则由于在算法求解时具有较低的时间复杂度,并且针对车间动态变化和扰动具有及时响应的能力,适用于求解实际生产中高度复杂的动态作业车间调度问题。
[0003]调度规则由考虑当前作业车间状态和待加工工序特征的优先级函数组成,因此调度规则的性能表现与调度环境有关,所以需要根据不同的车间场景相应地设计和选择调度规则。诸多文献对调度规则的动态设计和选择方法进行了总结,调度规则的设计方法可以分为手工方法和智能方法。由于涉及不同的等待工序和作业车间状态的复杂交互,人工获取所有的潜在交互关系来设计一个性能良好的调度规则是非常困难的,可以通过使用机器学习来解决这一困难,尤其是基因表达式编程(Gene Expression Programming,GEP),来创建特定于车间场景的调度算法。基因表达式编程(Gene Expression Programming,GEP)成功的综合了GA和GP的优点,克服了两者的缺陷,给出了用于求 ...
【技术保护点】
【技术特征摘要】
1.一种基于GEP
‑
VNS进化动态作业车间调度规则中的特征选择方法,包括以下步骤:S1,设置GEP
‑
VNS算法的基本参数:总迭代次数ITER,种群大小popsize,基因个数n,头部长度head,尾部长度tail,变异概率p
m
,重组概率p
r
和移项概率p
s
邻域个数z,函数集FS{+,
‑
,
×
,
÷
,min,max,if},终端集TS即动态作业车间原始特征集,包含车间相关、工件相关和机器相关特征;设置的ITER参数是算法的结束条件,当iter>ITER时,算法结束并给出动态作业车间场景的优秀调度规则集,一个调度规则对应GEP
‑
VNS算法中的一个多基因染色体;popsize参数是要产生的染色体总数,popsize个染色体组成一个种群;基因由头部和尾部组成,头部和尾部的长度满足tail=head
×
(n
‑
1)+1;该算法的函数节点使用FS{+,
‑
,
×
,
÷
,min,max},其中+,
‑
,
×
,
÷
为基本的算术运算符,
“÷”
为保护性除法,即当除数为零时返回1;“min”和“max”分别为接受两个参数并返回较小或较大值;终端集TS即动态作业车间原始特征集见下表:序号特征名称特征含义1AT当前时刻2PT工件当前工序的加工时间3NPT工件后道工序的加工时间4OWT工序的等待时间5NOPS工件的工序数6WIQ工件当前工序的加工设备的等待集合中工序的总加工时间7WINQ工件后道工序的加工设备的等待集合中工序的总加工时间8NOIQ当前等待队列中所有工序数9NOINQ下个等待队列中的所有工序数10DD工件的交货期11RPT工件的剩余加工时间12SL工件松弛时间13MWT机器等待时间14NOR工件剩余工序数15FDD工序的流经时间16W工件权重S2,根据S1中的函数集FS、终端集TS以及算法参数对种群进行随机初始化操作,得到种群大小为popsize的初始种群Pop,即候选调度规则集R,种群中的每个个体代表一个车间调度规则r,r∈R;S21,对多基因染色体编码,每个染色体由3个基因组成,每个基因分为头部和尾部,头部的元素来自函数集FS和终端集TS,尾部的元素只来自终端集TS,每个基因的头部长度为8,尾部长度为9,这些基因分别映射而成的子表达式树通过“加”的方式连接起来形成一个多子树表达式树;S22,对种群进行随机初始化操作,得到种群大小为popsize的初始种群Pop,即候选调度规则集R,种群中的每个染色体代表一个车间调度规则r,r∈R;S23,对多基因染色体进行解码操作,具体如下:
根据深度优先遍历的逆过程将初始种群中染色体的每个基因分别转换为一个子表达式树;将这些子表达式树按照“加”的方式互相连接起来,构成一个结构复杂的多子树表达式树;S3,种群个体的适应度评价:将S2中得到的初始种群Pop传递到动态作业车间场景中,根据场景的性能指标评价种群个体的适应度,并取出10%的优秀个体存入精英库中,令循环次数iter=0;S31,设置作业车间基本结构参数,记设备数量m、产品类型x;考虑车间不确定因素中4个关键变量:工件总数量N,交货期紧迫因子C,设备故障水平F,车间利用率Ug,并对这些关键变量均可设置J(J≥3)个参数水平,组合出J4种生产场景,从而构建作业车间动态多场景集合S;S32,将S2中得到的初始种群Pop,即候选调度规则集R应用动态作业车间场景s
i
,s
i
∈S进行调度,每当有机器空闲时,将候选调度规则r,r∈R用于等待在此机器上的加工工件队列,选择优先级最高的工件在此机器上加工;S33,根据动态作业车间场景s
i
(i=1,
…
J4)的调度目标计算每个调度规则r,r∈R的适应度值,适应度函数定义为其中,f(r,s
i
(I))表示调度规则r应用到动态车间场景s
i
中得到的调度方案的性能指标值,f
ref
(s
i
(I))表示参考调度规则应用到车间场景s
i
中得到的调度方案的性能指标值,II
train
表示场景s
i
的训练集,I表示一个实例,场景的调度目标为最小化最大完工时间、或最小化平均流经时间或最小化平均延迟时间;S34,根据适应度值的计算结果,从初始种群Pop取出10%的优秀个体存入精英库中,令循环次数iter=0;S4,将初始种群Pop平均划分为L个子种群,在每个子种群中按照基因表达式编程GEP进行遗传操作,遗传操作包括变异、移项、重组,评价每个子种群中各个体的适应度值,将每个子种群中的最优个体存入精英库中,并替换掉原精英库中的L个较差解;S41,将全体种群平均划分为L个子种群,对分组后的每个子种群以变异概率p
m
、移项概率p
s
、重组概率p
r
进行遗传操作;S42,变异;首先,在染色体中随机选择若干个位置,然后将其替换为另一个元素:基因头部的任何符号可以变成另外一个表示函数或终端的符号,而基因尾部中的终端符只能变成另一个终端符;S43,移项;移项操作是将染色体中的某个基因片段激活,激活的基因片段称为转位因子,将转位因子跳转到染色体的另一个位置形成新染色体,包括三种移项,IS移项、RIS移项和基因移项;S431,IS移项:在染色体的基因中随机地选择任意基因片段即IS因子,将其副本插入到首位置之外的基因头部的任何位置,同时基因头部的末端删除与转位因子同样数目的符号,以保证头部和尾部的分割线不被破坏;
S432,RIS移项:在染色体的基因中随机地选择以函数开头的任意基因片段即RIS因子,其副本插入到基因头部的首位置,同时基因头部的末端删除与转位因子同样数目的符号,以保证头部和尾部的分割线不被破坏;S433,基因移项:首先随机选择要移动的基因,然后将所选中的基因整个的插入到染色体的起始位置,原始位置上的基因整个删除;S44,重组;重组操作是将两个染色体配成对,并互换部分物质,形成两个新的染色体,包括三种重组操作,单点重组、两点重组和基因重组;S441,单点重组:两个父辈染色体构成一对然后同一位置被切开,切开位置后面的物质进行互换;S442,两点重组:两个父辈染色体结对后随机地选择两个交叉点,随后交叉点之间的物质在两个父辈染色体之间互换,生成两个新的子代染色...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。