一种基于深度强化学习和遗传算法的分批调度优化方法与流程

    专利2022-07-08  115


    本发明属于生产制造调度领域,具体的说是一种基于深度强化学习和遗传算法的分批调度优化方法。



    背景技术:

    批调度问题源于半导体制造业中用于最终测试的老化操作。在此操作中,集成电路被成批地放在高温烘箱中,经过较长时间检测集成电路早期可能产生的故障。老化操作通常是半导体制造的一个瓶颈,因为在最终测试中,它的处理时间通常比其他操作要长。因此,对烤箱(或机器)进行有效的调度非常重要,可以极大地提高它们的利用率。目前,批调度问题不仅仅存在于半导体制造行业,也广泛存在于大多数制造行业,如铸造业、家具制造业、金属加工业、航空业、制药业以及物流货运。对于大多数制造行业而言,设计合理的调度策略也是提高生产效率,降低生产成本的有效途径之一。所以对批调度问题的研究,无论是对于提高生产管理水平,还是获取更高的经济效益都有着重要的现实意义。

    近年来,基于数据学习的深度神经网络可以发现问题本身的特性,从而用于求解问题。因此,深度神经网络为求解组合优化问题提供了一个新的方向。现有对于深度神经网络求解生产制造调度问题的研究和关注甚少,尚无深度神经网络在差异工件批调度问题中的应用。



    技术实现要素:

    本发明所要解决的技术问题在于提供一种针对生产中待加工工件具有尺寸和加工时间差异时,以最小化总制造时间跨度为目标的分批调度优化方法。

    本发明为解决技术问题采用如下技术方案:

    本发明基于深度强化学习和遗传算法的分批调度优化方法,按如下步骤进行:

    步骤i、建立差异工件批调度问题的数学模型;

    针对所述差异工件批调度问题作如下定义,工件集合j={1,2,…,n},其中,工件j的加工时间为pj,工件尺寸为sj;批处理机的机器容量为c,在满足容量约束的前提下,机器可同时加工多个工件;待加工批的集合为k,其中,批k的加工时间为pk,等于批k中工件加工时间的最大值。xjk表示决策变量,若工件j在批k中,则xjk=1,否则,xjk=0。yk表示决策变量,若批k被建立,则yk=1,否则,yk=0。

    根据上述定义,对单机不同尺寸工件的批调度问题可建如下数学模型:

    目标函数:

    约束条件:

    步骤ii、采用指针网络建立该问题的策略模型;

    步骤iii、利用actor-critic算法训练指针网络模型;

    步骤iv、定义并初始化遗传算法的参数:种群规模popnum、最大迭代次数tga、以及工件个数n,令当前已经完成的迭代次数tga=0;

    步骤v、使用步骤iii训练完成的指针网络优化遗传算法的初始种群;

    步骤vi、采用遗传算法对问题进行进一步求解;

    步骤vii、利用遗传算法得到的最优方案作为批处理机加工工件的生产方案。

    优选地,步骤ii所述的采用指针网络建立该问题的策略模型主要包括如下步骤:

    对于构建指针网络模型作如下定义,n表示编码器和解码器的长度,x={x1,x2,…,xn}表示编码输入工件信息序列,其中对任意输入xj都有xj=[sj,pj]t,sj和pj分别表示第j个工件的尺寸与加工时间。e={e1,e2,…,en}表示编码器的隐含层状态序列,d={d1,d2,…,dn}表示解码器的隐含层状态序列,y={y1,y2,…,yn}表示指针网络最终的输出序列。

    步骤i、构建指针网络的编码层网络,编码器网络由一个全连接网络层以及带有lstm(longshort-termmemory)模块的rnn(recurrentneuralnetwork)构成;

    步骤ii、构建指针网络的解码层网络,解码器网络由带有lstm模块的rnn构成;

    步骤iii、引入注意力机制用于指针网络对输出序列中工件的选择排序,如向输出序列中添加第t个工件时,剩余工件的被选概率计算如下:

    a(e,dt;w1,w2,v)=softmax(ut)(9)

    优选地,步骤iii所述的利用actor-critic算法训练指针网络模型主要包括如下步骤:

    步骤i、问题采用的actor网络模型;

    actor网络的模型即步骤ii中建立的指针网络模型。

    步骤ii、建立问题的critic网络模型;

    critic网络的结构由一个编码器(带lstm模块的rnn)、一个lstm处理模块以及一个2层的relu全连接神经网络的解码器构成。

    步骤iii、定义并初始化一次训练中样本数量b、训练集总样本数量d、迭代次数tptr=d/b、actor网络参数θa、critic网络参数θc以及训练次数e,令初始训练次数epoch=0,初始迭代次数tptr=0,已训练的批样本数i=0;

    步骤iv、将当前批样本中的工件信息序列xi经actor网络得到输出序列yi;

    步骤v、将当前批样本中的工件信息序列xi经critic网络得到对应的基线值bi;

    步骤vi、令i=i 1,判断i<b是否成立,若成立,跳转执行步骤iv,否则跳转到步骤vii;

    步骤vii、令i=0,并利用蒙特卡洛抽样近似强化学习算法求解actor网络的损失值,计算公式如下:

    步骤viii、使用均方误差作为critic网络的损失值,计算公式如下:

    步骤ix、使用adam算法对actor网络和critic网络的参数进行优化;

    步骤x、令tptr=tptr 1,判断tptr<tptr是否成立,若成立,跳转到步骤iv执行,否则执行步骤xi;

    步骤xi、令tptr=0,epoch=epoch 1,判断epoch<e是否成立,若成立,执行步骤iv,否则跳转到步骤xii;

    步骤xii、得到训练完成的actor网络模型;

    优选地,步骤v所述的使用训练完成的指针网络优化遗传算法的初始种群主要包括如下步骤:

    步骤i、采用实数编码方式以lpt(longestprocessingtime)启发式规则生成种群中的一个个体;

    步骤ii、种群中的popnum–1个个体采用三角模糊数的方式生成;

    步骤iii、将上述种群中的个体通过指针网络得到新的种群;

    步骤iv、将两个种群中的所有个体按适应度值升序排序,取前popnum个个体作为遗传算法的初始种群。

    优选地,步骤vi采用遗传算法对问题进行进一步求解主要包括如下步骤:

    步骤i、按照轮盘赌方式选择popnum个父代个体;

    步骤ii、将所有父代个体两两结合,采用改进的多点交叉方式生成子代个体;

    步骤iii、对所有子代个体采用单点变异方式执行变异操作;

    步骤iv、令tga=tga 1,并计算所有个体的适应度值;

    步骤v、判断tga<tga是否成立,若成立,跳转到步骤i,否则执行步骤vi;

    步骤vi、算法结束,输出最优调度方案。

    优选地,步骤ii采用改进的多点交叉方式生成子代主要包括如下步骤:

    步骤a、初始化子代为空、选择待交叉父代parent1与parent2、令当前遗传父代parent=parent1、基因复制起始位置index=0以及随机产生复制基因个数num,其中num的范围为1到n;

    步骤b、从parent中下标为index处开始,向左右两边查找不在子代中的num个基因,若查找的基因已存在于子代中则忽略,若查找下标已达边界,则停止当前方向的搜索,若所有基因都已经被复制,直接转到步骤d;

    步骤c、将上述步骤中搜索的基因段按其在parent中的顺序复制到子代中;

    步骤d、判断子代是否复制完父代中所有的基因,若复制完成,跳转到步骤f,否则执行步骤e;

    步骤e、令parent为另一个父代、index为当前子代最后一个基因的值、重新生成待复制基因个数num,并跳转到步骤b;

    步骤f、得到交叉后的子代个体。

    智能制造对于提高中国制造业的综合竞争力,实现中国制造业由大到强的战略转型具有重要意义。推动工业大数据的发展和应用,充分发挥工业大数据在制造业中的作用,是智能制造的主要方向之一。本发明以差异工件的分批生产调度问题为研究对象。利用深度强化学习等相关技术,设计了一种新的优化方法。与现有技术相比,本发明的有益效果在于:

    1、本发明针对差异工件批调度问题,以最小化最大完工时间为目标,通过actor-critic算法对指针网络模型进行训练,利用训练完成的指针网络模型,可以在短时间内得到高质量的调度策略。

    2、本发明中训练得到的指针网络模型具有较好的泛化能力,即在小规模问题下训练的指针网络模型,也可以有效求解大规模问题。因此,在实际生产过程中,当前期准备时间有限时,可以通过训练小规模问题下的指针网络模型,从而减少训练过程花费的时间。而当准备时间充足时,通过对指针网络模型进行充分训练,可以进一步提高模型的优化性能。

    3、本发明中的指针网络与现有的启发式规则相比,虽然求解时间相当,但是求解效果优于现有的启发式规则。因此,对于调度策略实时性较高的生产场景,可以直接采用上述步骤iii中训练完成的指针网络得到调度方案。

    4、本发明在遗传算法的交叉操作中,提出了一种新型的交叉方式,可以在指针网络所得调度方案的基础上,利用遗传算法的寻优能力,进一步提升方案的性能。

    附图说明

    图1为指针网络模型训练流程图。

    图2为ptr-ga优化算法的流程图。

    图3为改进交叉方式操作的示意图。

    图4为指针网络与bflpt启发式算法的求解性能对比图。

    图5为指针网络泛化能力图。

    图6为ptr-ga与ga求解性能对比图。

    具体实施方式

    为更加清晰地阐述本发明的目的、技术方案和优点,以下仅结合部分具体实施例,并参照附图,对本发明作进一步的详细说明。

    本申请针对尺寸以及加工时间均不同的工件序列,以最小化总制造时间跨度为目标提出了基于深度强化学习和遗传算法的分批调度优化方法,简化后的问题具体描述如下:

    (1)工件集合j={1,2,…,n},其中,工件j的加工时间为pj,工件尺寸为sj。

    (2)批处理机的机器容量为c,工件集合为j的工件分批进行加工,所有待加工批中的工件总尺寸不大于c。

    (3)待加工批的集合为k,其中,批k的加工时间为pk,pk表示批k中所有工件的最大加工时间。

    (4)制造跨度为所有加工批的加工时间的总和。

    如图1、2、3所示,基于上述问题的介绍,本实施例提供的基于深度强化学习和遗传算法的分批调度优化方法包括以下步骤:

    步骤i、建立差异工件批调度问题的数学模型;

    针对所述差异工件批调度问题作如下定义,工件集合j={1,2,…,n},其中,工件j的加工时间为pj,工件尺寸为sj;批处理机的机器容量为c,在满足容量约束的前提下,机器可同时加工多个工件;待加工批的集合为k,其中,批k的加工时间为pk,等于批k中工件加工时间的最大值。xjk表示决策变量,若工件j在批k中,则xjk=1,否则,xjk=0。yk表示决策变量,若批k被建立,则yk=1,否则,yk=0。

    根据上述定义,对单机不同尺寸工件的批调度问题可建如下数学模型:

    目标函数:

    约束条件:

    式(1)表示模型的优化目标是最小化制造跨度;式(2)表示一个工件只能限定在一个批中;式(3)表示批中待加工工件总尺寸不能超过批处理机的机器容量;式(4)表示批的加工时间不小于当前批中待加工工件的加工时间;式(5)~(7)为问题的基本约束。

    步骤ii、采用指针网络建立该问题的策略模型,指针网络的具体构建方式如下:

    对于构建指针网络模型作如下定义,n表示编码器和解码器的长度,x={x1,x2,…,xn}表示编码输入工件信息序列,其中对任意输入xj都有xj=[sj,pj]t,sj和pj分别表示第j个工件的尺寸与加工时间。e={e1,e2,…,en}表示编码器的隐含层状态序列,d={d1,d2,…,dn}表示解码器的隐含层状态序列,y={y1,y2,…,yn}表示指针网络最终的输出序列。

    步骤i、构建指针网络的编码层网络,编码器网络由一个全连接网络层以及带有lstm模块的rnn构成;

    步骤ii、构建指针网络的解码层网络,解码器网络由带有lstm模块的rnn构成;

    步骤iii、引入注意力机制用于指针网络对输出序列中工件的选择排序,如向输出序列中添加第t个工件时,剩余工件的被选概率计算如下:

    a(e,dt;w1,w2,v)=softmax(ut)(9)

    步骤iii、利用actor-critic算法训练指针网络模型,算法的具体训练步骤如下:

    步骤i、问题采用的actor网络模型;

    actor网络的模型即步骤ii中建立的指针网络模型。

    步骤ii、建立问题的critic网络模型;

    critic网络的结构由一个编码器(带lstm模块的rnn)、一个lstm处理模块以及一个2层的relu全连接神经网络的解码器构成。

    步骤iii、定义并初始化一次训练中样本数量b、训练集总样本数量d、迭代次数tptr=d/b、actor网络参数θa、critic网络参数θc以及训练次数e,令初始训练次数epoch=0,初始迭代次数tptr=0,已训练的批样本数i=0;

    步骤iv、将当前批样本中的工件信息序列xi经actor网络得到输出序列yi;

    步骤v、将当前批样本中的工件信息序列xi经critic网络得到对应的基线值bi;

    步骤vi、令i=i 1,判断i<b是否成立,若成立,跳转执行步骤iv,否则跳转到步骤vii;

    步骤vii、令i=0,并利用蒙特卡洛抽样近似强化学习算法求解actor网络的损失值,计算公式如下:

    步骤viii、使用均方误差作为critic网络的损失值,计算公式如下:

    步骤ix、使用adam算法对actor网络和critic网络的参数进行优化;

    步骤x、令tptr=tptr 1,判断tptr<tptr是否成立,若成立,跳转到步骤iv执行,否则执行步骤xi;

    步骤xi、令tptr=0,epoch=epoch 1,判断epoch<e是否成立,若成立,执行步骤iv,否则跳转到步骤xii;

    步骤xii、得到训练完成的actor网络模型;

    步骤iv、定义并初始化遗传算法的参数:种群规模popnum、最大迭代次数tga、以及工件个数n,令当前已经完成的迭代次数tga=0;

    步骤v、使用步骤iii训练完成的指针网络优化遗传算法的初始种群,初始种群的生成方式步骤如下:

    步骤i、采用实数编码方式以lpt启发式规则生成种群中的一个个体;

    步骤ii、种群中的popnum–1个个体采用三角模糊数的方式生成;

    步骤iii、将上述种群中的个体通过指针网络得到新的种群;

    步骤iv、将两个种群中的所有个体按适应度值升序排序,取前popnum个个体作为遗传算法的初始种群。

    步骤vi、采用遗传算法对问题进行进一步求解,具体的求解步骤如下:

    步骤i、按照轮盘赌方式选择popnum个父代个体;

    步骤ii、将所有父代个体两两结合,采用的改进多点交叉方式生成子代个体,改进的多点交叉方式的具体内容如下:

    步骤a、初始化子代为空、选择待交叉父代parent1与parent2、令当前遗传父代parent=parent1、基因复制起始位置index=0以及随机产生复制基因个数num,其中num的范围为1到n;

    步骤b、从parent中下标为index处开始,向左右两边查找不在子代中的num个基因,若查找的基因已存在于子代中则忽略,若查找下标已达边界,则停止当前方向的搜索,若所有基因都已经被复制,直接转到步骤d;

    步骤c、将上述步骤中搜索的基因段按其在parent中的顺序复制到子代中;

    步骤d、判断子代是否复制完父代中所有的基因,若复制完成,跳转到步骤f,否则执行步骤e;

    步骤e、令parent为另一个父代、index为当前子代最后一个基因的值、重新生成待复制基因个数num,并跳转到步骤b;

    步骤f、得到交叉后的子代个体。

    步骤iii、对所有子代个体采用单点变异方式执行变异操作;

    步骤iv、令tga=tga 1,并计算个体适应度值;

    步骤v、判断tga<tga是否成立,若成立,跳转到步骤i,否则执行步骤vi;

    步骤vi、算法结束,输出最优调度方案。

    步骤vii、利用遗传算法得到的最优方案作为批处理机加工工件的生产方案。

    性能验证

    为了验证本实施例提出的基于深度强化学习和遗传算法的分批调度优化方法的性能,将该算法与ga算法(damodaranp,manjeshwarpk,sriharik.minimizingmakespanonabatch-processingmachinewithnon-identicaljobsizesusinggeneticalgorithms[j].internationaljournalofproductioneconomics,2006,103(2):882-891.)和bflpt启发式算法(dupontl,ghazvinifj.minimizingmakespanonasinglebatchprocessingmachinewithnon-identicaljobsizes[j].journaleuropéendessystèmesautomatisés,1998,32(4):431-440.)进行比较。

    为了验证算法的性能,使用了不同的工件数n,工件尺寸sj和工件加工时间pj随机生成一系列的问题实例用于测试算法。本实施例中使用了四组工件数n={10,20,50,100};工件的尺寸sj设置为[4,8]的随机整数,采用均匀分布;工件的加工时间pj设置为[1,20]的随机整数,同样是均匀分布。为了试验数据的准确性,每种工件数量下随机生成1000个算例,用于指针网络与bflpt的比较,而考虑到求解消耗的时间,每种工件数量下随机生成100个算例用于采用指针网络优化初始种群的遗传算法(ptr-ga)与原始遗传算法(ga)的比较;机器容量设置为10。

    为了结果的客观性,ptr-ga的参数和用于对比的ga的参数设置与原文献保持一致,在训练指针网络时设置的学习参数如下:批样本数量b=128,训练集总样本数量d=128000,当工件数为10或20时,actor与critic网络参数的学习率η=0.001,当工件数为50或100时,actor与critic网络参数的学习率η=0.0001,训练次数e为40。

    本发明在上述算例参数设置的情况下,指针网络与bflpt启发式算法的求解性能对比如图4,指针网络在工件数为10时训练的模型,在其他工件规模的泛化能力如图5,ptr-ga与ga的求解性能的对比如图6。图4主要展示了在不同工件个数下的1000组算例中,指针网络求解问题的完工时间与bflpt启发式算法得到的结果的优劣性比较,可以看出,随着工件个数的增加,指针网络所得完工时间优于bflpt启发式算法的个数逐步增加。在小规模情况下,由于bflpt启发式算法也能求解出绝大部分的最优解,故指针网络优于bflpt启发式算法的算例占比少。因此,在大规模情况下,本发明中的指针网络较bflpt启发式算法具有更好的性能,在小规模情况下,指针网络的求解性能虽略优于bflpt启发式算法,但是求解时间却略高于bflpt启发式算法。图5主要展示了在小规模算例训练的指针网络模型,在其他工件规模下的泛化能力,其中纵坐标的含义为bflpt启发式算法求解的1000组算例的平均值与指针网络模型求解的1000组算例的平均值的差值,横坐标为工件个数。可以看出,即使在小规模算例训练的指针网络,随着工件个数的增加,其求解完工时间优于bflpt启发式算法的趋势也更加明显。因此,验证了本发明中的指针网络具有较好的泛化能力。图6主要展示了工件数为100时的ptr-ga与ga的求解性能的对比,其中纵坐标表示的含义为各算法对100组算例求解的完工时间的平均值,横坐标表示算法的迭代次数,可以看出,ptr-ga较ga具有更快的收敛速度以及更好的求解精度,充分体现了所提算法的优势。


    技术特征:

    1.基于深度强化学习和遗传算法的分批调度优化方法,其特征在于:是按如下步骤进行:

    步骤i、建立差异工件批调度问题的数学模型;

    针对所述差异工件批调度问题作如下定义,工件集合j={1,2,…,n},其中,工件j的加工时间为pj,工件尺寸为sj;批处理机的机器容量为c,在满足容量约束的前提下,机器可同时加工多个工件;待加工批的集合为k,其中,批k的加工时间为pk,等于批k中工件加工时间的最大值;xjk表示决策变量,若工件j在批k中,则xjk=1,否则,xjk=0;yk表示决策变量,若批k被建立,则yk=1,否则,yk=0;

    根据上述定义,对单机不同尺寸工件的批调度问题可建如下数学模型:

    目标函数:

    约束条件:

    步骤ii、采用指针网络建立该问题的策略模型;

    步骤iii、利用actor-critic算法训练指针网络模型;

    步骤iv、定义并初始化遗传算法的参数:种群规模popnum、最大迭代次数tga、以及工件个数n,令当前已经完成的迭代次数tga=0;

    步骤v、使用步骤iii训练完成的指针网络优化遗传算法的初始种群;

    步骤vi、采用遗传算法对问题进行进一步求解;

    步骤vii、利用遗传算法得到的最优方案作为批处理机加工工件的生产方案。

    2.根据权利要求1所述的基于深度强化学习和遗传算法的分批调度优化方法,其特征在于:步骤ii所述的采用指针网络建立该问题的策略模型主要包括如下步骤:

    对于构建指针网络模型作如下定义,n表示编码器和解码器的长度,x={x1,x2,…,xn}表示编码输入工件信息序列,其中对任意输入xj都有xj=[sj,pj]t,sj和pj分别表示第j个工件的尺寸与加工时间;e={e1,e2,…,en}表示编码器的隐含层状态序列,d={d1,d2,…,dn}表示解码器的隐含层状态序列,y={y1,y2,…,yn}表示指针网络最终的输出序列;

    步骤i、构建指针网络的编码层网络,编码器网络由一个全连接网络层以及带有lstm模块的rnn构成;

    步骤ii、构建指针网络的解码层网络,解码器网络由带有lstm模块的rnn构成;

    步骤iii、引入注意力机制用于指针网络对输出序列中工件的选择排序,如向输出序列中添加第t个工件时,剩余工件的被选概率计算如下:

    a(e,dt;w1,w2,v)=softmax(ut)。(9)

    3.根据权利要求1所述的基于深度强化学习和遗传算法的分批调度优化方法,其特征在于:步骤iii所述的利用actor-critic算法训练指针网络模型主要包括如下步骤:

    步骤i、问题采用的actor网络模型;

    actor网络采用步骤ii中建立的指针网络模型;

    步骤ii、建立问题的critic网络模型;

    critic网络的结构由一个编码器、一个lstm处理模块以及一个2层的relu全连接神经网络的解码器构成,其中编码器是带lstm模块的rnn;

    步骤iii、定义并初始化一次训练中样本数量b、训练集总样本数量d、迭代次数tptr=d/b、actor网络参数θa、critic网络参数θc以及训练次数e,令初始训练次数epoch=0,初始迭代次数tptr=0,已训练的批样本数i=0;

    步骤iv、将当前批样本中的工件信息序列xi经actor网络得到输出序列yi;

    步骤v、将当前批样本中的工件信息序列xi经critic网络得到对应的基线值bi;

    步骤vi、令i=i 1,判断i<b是否成立,若成立,跳转执行步骤iv,否则跳转到步骤vii;

    步骤vii、令i=0,并利用蒙特卡洛抽样近似强化学习算法求解actor网络的损失值,计算公式如下:

    步骤viii、使用均方误差作为critic网络的损失值,计算公式如下:

    步骤ix、使用adam算法对actor网络和critic网络的参数进行优化;

    步骤x、令tptr=tptr 1,判断tptr<tptr是否成立,若成立,跳转到步骤iv执行,否则执行步骤xi;

    步骤xi、令tptr=0,epoch=epoch 1,判断epoch<e是否成立,若成立,执行步骤iv,否则跳转到步骤xii;

    步骤xii、得到训练完成的actor网络模型。

    4.根据权利要求1所述的基于深度强化学习和遗传算法的分批调度优化方法,其特征在于:步骤v所述的使用训练完成的指针网络优化遗传算法的初始种群主要包括如下步骤:

    步骤i、采用实数编码方式以lpt启发式规则生成种群中的一个个体;

    步骤ii、种群中的popnum–1个个体采用三角模糊数的方式生成;

    步骤iii、将上述种群中的个体通过指针网络得到新的种群;

    步骤iv、将两个种群中的所有个体按适应度值升序排序,取前popnum个个体作为遗传算法的初始种群。

    5.根据权利要求1所述的基于深度强化学习和遗传算法的分批调度优化方法,其特征在于:步骤vi采用遗传算法对问题进行进一步求解主要包括如下步骤:

    步骤i、按照轮盘赌方式选择popnum个父代个体;

    步骤ii、将所有父代个体两两结合,采用改进的多点交叉方式生成子代个体;

    步骤iii、对所有子代个体采用单点变异方式执行变异操作;

    步骤iv、令tga=tga 1,并计算所有子代个体的适应度值;

    步骤v、判断tga<tga是否成立,若成立,跳转到步骤i,否则执行步骤vi;

    步骤vi、算法结束,输出最优调度方案。

    6.根据权利要求5所述的基于深度强化学习和遗传算法的分批调度优化方法,其特征在于:步骤ii采用改进的多点交叉方式生成子代主要包括如下步骤:

    步骤a、初始化子代为空、选择待交叉父代parent1与parent2、令当前遗传父代parent=parent1、基因复制起始位置index=0以及随机产生复制基因个数num,其中num的范围为1到n;

    步骤b、从parent中下标为index处开始,向左右两边查找不在子代中的num个基因,若查找的基因已存在于子代中则忽略,若查找下标已达边界,则停止当前方向的搜索,若所有基因都已经被复制,直接转到步骤d;

    步骤c、将上述步骤中搜索得到的基因段按其在parent中的顺序复制到子代中;

    步骤d、判断子代是否复制完父代中所有的基因,若复制完成,跳转到步骤f,否则执行步骤e;

    步骤e、令parent为另一个父代、index为当前子代最后一个基因的值、重新生成待复制基因个数num,并跳转到步骤b;

    步骤f、得到交叉后的子代个体。

    技术总结
    本发明属于生产制造调度领域,公开了一种基于深度强化学习和遗传算法的分批调度优化方法,包括步骤:建立差异工件批调度问题的数学模型;采用指针网络建立该问题的策略模型;利用actor‑critic算法训练指针网络模型;定义并初始化遗传算法的参数;使用训练完成的指针网络优化遗传算法的初始种群;采用遗传算法对调度方案进行进一步优化;利用遗传算法得到的最优方案作为批处理机加工工件的生产方案。本发明中的指针网络相较于传统的启发式算法,可以获得更优的解;并且在遗传算法的交叉操作中,提出了一种新型的交叉方式,可以在指针网络所得调度方案的基础上,利用提高遗传算法的寻优能力,进一步提升方案的性能。

    技术研发人员:谭琦;贾铖钰;余荣坤;孙晨皓;唐昊;夏田林
    受保护的技术使用者:合肥工业大学
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18606.html

    最新回复(0)