一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种柔性制造系统的多机器人联合调度方法与流程

2022-02-20 14:18:33 来源:中国专利 TAG:
1.本发明涉及柔性制造
技术领域
:,具体涉及一种柔性制造系统的多机器人联合调度方法。
背景技术
::2.随着用户需求的不断细化和制造的灵活性,制造模式逐渐从产品驱动模式转变为用户驱动模式。在逐步提高生产效率、控制生产成本、缩短生产周期和提高生产质量的同时,柔性制造系统(fms)能够快速响应用户驱动的全球制造市场。随着生产自动化和信息集成的发展,现代工业生产对物流系统提出了更高的要求。自动引导车(agv)是一种能够在给定的路径和场景信息布局下完成指定运输任务的自动运输设备。agv运输管理系统是agv系统的重要组成部分,对agv的管理和调度起着重要的作用。由于加工和运输之间的紧密耦合关系,fms中机器和agv的同时调度对于提高系统灵活性和生产效率具有重要意义。然后相较于传统的车间调度问题,该联合调度问题增加了一类新的调度主体,传统的车间调度算法由于只对车间中的加工机器进行调度,已经不再能够胜任这类调度问题。从文献检索中发现,目前针对该问题的解决方法研究很少,且未发现使用强化学习与遗传算法求解该问题的研究。技术实现要素:3.有鉴于此,本发明提供了一种柔性制造系统的多机器人联合调度方法,能够通过强化学习的方法动态调节遗传算法的关键参数,控制遗传算法的迭代搜索过程,从而提高算法的求解效率,实现车间的高效联合调度。4.为达到上述目的,本发明的技术方案包括如下步骤:5.首先,采用机器序列、工序序列和agv序列相匹配的三层编码方式:工序序列中的每个基因表示带加工工件的编号,从工序序列左侧到该位置统计得到的出现该编号的次数表示加工工序的编号;机器序列中的每个基因表示加工对应工序的机器编号;agv序列中的每个基因表示搬运对应工件到对应机器上的agv编号;6.其次,在解码方式上,采用严格按照编码放中工序由前向后的出现顺序,在满足工序约束、加工约束的前提下对加工工序进行解码;7.步骤1:算法初始化:8.步骤1.1:遗传算法初始化内容包括:种群规模n、建立随机初始种群、迭代次数g_max、选择比例ps、交叉概率pc、变异概率pm;9.步骤1.2:q-learning算法初始化内容包括:q-table、状态集s、动作集a、、q-table更新系数β以及动作选择系数ε;其中,状态集s内元素的选取方式为:从遗传算法种群中提取状态数据,状态数据包括种群多样性sa、种群收敛速度sv和种群收敛趋势sc,离散化后的状态数据的组合为sd=《sda,sdv,sdc》,其中sda为离散的种群多样性值,sdv为离散的种群收敛速度值,sdc为离散的种群收敛趋势,以离散化之后的状态数据作为状态集s的元素;10.动作集a内元素的选取方式为:增加或者减小遗传算法的选择比例ps、交叉概率pc、变异概率pm的操作;q-table则以状态集s为行向量,以动作集a为列向量建立元素均为0的空的初始q-table表;11.步骤2:计算当前种群中所有个体的适应值,并记录目前已经搜索到的最佳个体;12.步骤3:根据适应度值计算当前代种群的状态数据,包括种群多样性sa、种群收敛速度sv、种群收敛趋势sc,与上一代种群的状态数据进行比较得到回报值r,更新q-table,然后对当前代种群的状态数据进行离散化处理;13.步骤4:根据sd=《sda,sdv,sdc》离散状态值、q-table对应行的元素值和ε-greedy策略选择动作值a;14.步骤5:根据选择的动作值a,执行对应的遗传算法参数调整动作;15.步骤6:根据调整后的参数执行遗传算法的选择算子、交叉算子和变异算子,形成新的种群;16.步骤7:判断种群迭代是否达到了最大迭代次数,如果满足条件则输出最佳个体及适应度值;否则跳至步骤2。17.进一步地,步骤1.2中种群多样性sa、种群收敛速度sv、种群收敛趋势sc的计算过程包括如下步骤:18.step201:计算第k代种群中所有个体的适应值的平均值如式(2)所示,其中y(k)表示第k代种群个体的适应值的平均值,f(xjk)表示第k代种群中第j个个体的适应值;[0019][0020]step202:计算连续10代种群中所有个体的适应值的平均值如式(3)所示,其中ave(i)表示第10i-9代到第10代种群个体的适应值的平均值。[0021][0022]其中i为q-learning算法的学习周期,i属于[1,iter_max/n],iter_max为设定的最大迭代次数;种群每迭代10次,q-learning学习一次。[0023]step203:计算连续10代种群多样性的平均值如式(4)所示,其中div(i)表示第10i-9代到第10代种群多样性的平均值。[0024][0025]step204:计算连续10代种群适应值平均值的一次线性拟合的斜率值con(i)如式(5)所示:[0026][0027]step205:计算遗传算法的种群多样性sa、种群收敛速度sv、种群收敛趋势sc如式(6)所示:[0028][0029]其中sa(i)为第i个学习周期的种群多样性,sv(i)为第i个学习周期的种群收敛速度,sc(i)为第i个学习周期的种群收敛趋势。[0030]step206:计算遗传算法的种群各类参数离散化后的状态集sd=《sda,sdv,sdc》如式(7)和式(8)所示;[0031][0032][0033][0034]sda(i)为第i个学习周期的种群多样性的离散化值;sdv(i)为第i个学习周期的种群收敛速度的离散化值;sdc(i)为第i个学习周期的种群收敛趋势的离散化值。[0035]进一步地,步骤3中回报值r的计算方法如式(10)所示:[0036][0037]r(i)为第i个学习周期的回报值。[0038]进一步地,步骤5,根据选择的动作值a,执行对应的遗传算法参数调整动作,其中pa为遗传算法中选择比例ps、交叉概率pc、变异概率pm的统称,三种参数均使用下式进行调整;[0039][0040]此处的i取值[0041]进一步地,步骤6,根据调整后的参数执行遗传算法的选择算子、交叉算子和变异算子,形成新的种群,具体步骤包括如下;[0042]选择算子:根据选择比例ps和精英保留策略,使用选择交叉变异策略生成n×ps个个体;使用随机产生的方法产生其余n×(1-ps)个个体;使用锦标赛算法选择个体作为交叉算子的父代个体;[0043]交叉算子:在每次执行交叉算子时,随机采用如下三种交叉方案的任一种;[0044]第一交叉方案:只交叉两个个体的特定工件的染色体位置信息,不改变《工件,机器,agv》组合关系;[0045]第二交叉方案:交叉《工件,机器》以及两个父代染色体对应工件的位置关系,不改变agv的基因位;[0046]第三交叉方案3:交叉《工件,机器,agv》以及两个染色体对应工件的位置关系。[0047]变异算子:在每次执行变异算子时,根据变异概率,从如下三种变异策略中选择一种对每个基因进行不同的变异操作:[0048]第一变异策略:交叉两个相邻的《工件,机器,agv》;[0049]第二变异策略:重新随机选择其他可以执行对应工序的机器;[0050]第三变异策略:重新随机选择其他可以执行对应搬运任务的agv。[0051]有益效果:[0052]1、本发明提供的一种柔性制造系统的多机器人联合调度方法,是针对柔性制造系统中的加工机器和agv的联合调度问题。由于该问题相较于传统的柔性车间调度问题增加了一类新的调度主体,因此传统的车间调度算法难以胜任这一新的问题。本发明提出了一种针对柔性制造系统的生产机器和agv联合调度问题的一种基于强化学习和遗传算法的进化优化方法。该方法使用通过强化学习的方法动态调节遗传算法的关键参数,控制遗传算法的迭代搜索过程,上层q-learning算法动态调节遗传算法参数、下层遗传算法迭代进化优化的多机器人联合调度算法,相较于传统的遗传算法在求解质量上有明显提升。[0053]2、本发明提供的一种柔性制造系统的多机器人联合调度方法,针对问题的多层编码方案提出了多种交叉策略和变异策略,实现对问题编码解空间的全覆盖搜索,提高算法的求解效率,实现车间的高效联合调度。附图说明[0054]图1为本发明提供的一种柔性制造系统的多机器人联合调度方法流程图;[0055]图2为本发明提供的一种柔性制造系统的多机器人联合调度方法中的编码方案示意图。具体实施方式[0056]下面结合附图并举实施例,对本发明进行详细描述。[0057]本
发明内容针对的柔性车间联合调度问题可描述如下:车间内存在多种不同能力的加工机器,集合为m={m1,...,mm,...,mn_m},第1~第n_m个加工机器;存在多个同构的转运agv,集合为r={r1,...,rr,...,rn_r}第1~第n_r个转运agv;待加工的工件集合为j={j1,...,jj,...,jn_j},其中n_m、n_r、n_j分别表示加工机器、转运agv和待加工工件的总数。不同的工件jj具有不同的加工工艺oji,并且在不同的加工机器mm上具有不同的加工时间pjim。车间联合调度问题需要解决的是为所有代加工工件的每个加工工艺找到一个高效的加工和转运流程,最小化所有工件完成时间的最大值,即最小化makespan。问题中需要考虑诸多假设和约束条件,包括:1)每个加工机器的入料/出料缓冲区存储能力无限;2)每个机器只允许在同一时刻加工一个工件;3)加工过程开始后不能停止;4)所有agv同构且均以相同的速度允许完成搬运任务;5)不考虑agv的能量消耗;6)当agv完成一个转运任务之后,agv将移动至下一个任务点等待转运任务。[0058]一种柔性制造系统的多机器人联合调度方法,提出一种上层q-learning算法动态调节遗传算法参数、下层遗传算法迭代进化优化的多机器人联合调度算法,相较于传统的遗传算法在求解质量上有明显提升,该方法流程如图1所示包括的步骤如下:[0059]首先,采用机器序列、工序序列和agv序列相匹配的三层编码方式,编码方案如图2所示:工序序列中的每个基因表示带加工工件的编号,从工序序列左侧到该位置统计得到的出现该编号的次数表示加工工序的编号;机器序列中的每个基因表示加工对应工序的机器编号;agv序列中的每个基因表示搬运对应工件到对应机器上的agv编号。[0060]其次,在解码方式上,采用严格按照编码放中工序由前向后的出现顺序,在满足工序约束、加工约束的前提下对加工工序进行解码。[0061]步骤1:算法初始化:[0062]步骤1.1:遗传算法初始化内容包括:种群规模n、建立随机初始种群、迭代次数g_max、选择比例ps=0.8,交叉概率pc=0.6,变异概率pm=0.05等;[0063]步骤1.2:q-learning算法初始化内容包括:q-table、状态集s、动作集a、α、β、ε等。其中,状态集s内元素的选取方式为:从遗传算法种群中提取关键信息如种群多样性sa、种群收敛速度sv、种群收敛趋势sc等数据,离散化之后形成多种信息数据的组合sd=《sda,sdv,sdc》,并以此作为状态集的元素。动作集a内元素的选取方式为:增加或者减小遗传算法的选择比例ps、交叉概率pc、变异概率pm的操作;q-table则以状态集s为行向量,以动作集a为列向量建立元素均为0的空q-table表;[0064]表1q-table初始化示例[0065]ps ps-pc pc-pm pm-s0000000s1000000s2000000…000000s14000000s15000000[0066]步骤2:计算当前种群中所有个体的适应值,并记录目前已经搜索到的最佳个体;[0067]步骤3:根据适应度值计算种群多样性sa、种群收敛速度sv、种群收敛趋势sc等数据,与上一代种群的状态数据进行比较得到回报值r,更新q-table,然后对其进行离散化处理;[0068]步骤3.1:计算第k代种群中所有个体的适应值的平均值如下式所示,其中y(k)表示第k代种群个体的适应值的平均值,f(xjk)表示第k代种群中第j个个体的适应值。[0069][0070]步骤3.2:计算连续10代种群中所有个体的适应值的平均值如下式所示,其中ave(i)表示第10i-9代到第10代种群个体的适应值的平均值。[0071][0072]步骤3.3:计算连续10代种群多样性的平均值如下式所示,其中div(i)表示第10i-9代到第10代种群多样性的平均值。[0073][0074]步骤3.4:计算连续10代种群适应值平均值的一次线性拟合的斜率值如下式所示。[0075][0076]步骤3.5:计算遗传算法的种群多样性sa、种群收敛速度sv、种群收敛趋势sc如下式所示。[0077][0078]步骤3.6:计算遗传算法的种群各类参数离散化后的状态集《sda,sdv,sdc》公式如下所示。[0079][0080][0081][0082]步骤3.7:回报值r的计算方法如下所示。[0083][0084]步骤3.8:q-table的计算公式如下所示。其中q为q-table向量;si 1表示下一代学习过程的状态值;si表示本代学习过程的状态值;ai 1表示下一代根据q-table得到的动作值;ai表示本代根据q-table得到的动作值;[0085]q(si,ai)←(1-α)·q(si,ai) α·(rt 1 γq(si 1,ai 1))ꢀꢀꢀ(10)[0086]步骤4:根据sd=《sda,sdv,sdc》离散状态值、q-table对应行的元素值和ε-greedy策略选择动作值a;[0087]步骤4.2:ε-greedy动作选择策略如下所示:[0088][0089]步骤5:根据选择的动作值a,执行对应的遗传算法参数调整动作;遗传算法参数调整策略如下式所示,其中pa为遗传算法中选择比例ps、交叉概率pc、变异概率pm的统称,三种参数均使用下式进行调整。[0090][0091]步骤6:根据调整后的参数执行遗传算法的选择算子、交叉算子和变异算子,形成新的种群;本发明中选择算子、交叉算子、变异算子的各类策略如下所示:[0092]选择算子:根据选择比例ps和精英保留策略,使用选择交叉变异策略生成n*ps个个体;使用随机产生的方法产生其余n*(1-ps)个个体;使用锦标赛算法选择个体作为交叉算子的父代个体。[0093]交叉算子:由于采用了三层编码方案,本发明设计了3种交叉方案,在每次执行交叉算子时,随机采用一种交叉方案。[0094]交叉方案1:只交叉两个个体的特定工件的染色体位置信息,不改变《工件,机器,agv》组合关系;[0095]交叉方案2:交叉《工件,机器》以及两个父代染色体对应工件的位置关系,不改变agv的基因位;[0096]交叉方案3:交叉《工件,机器,agv》以及两个染色体对应工件的位置关系。[0097]变异算子:由于采用了三层编码方案,每层编码的实际意义并不相同,本发明设计了3种变异策略,在每次执行变异算子时,根据变异概率,对每个基因进行不同的变异操作。[0098]变异策略1:交叉两个相邻的《工件,机器,agv》;[0099]变异策略2:重新随机选择其他可以执行对应工序的机器;[0100]变异策略3:重新随机选择其他可以执行对应搬运任务的agv;[0101]步骤7:判断种群迭代是否达到了最大迭代次数,如果满足条件则输出最佳个体及适应度值;否则跳至步骤2。[0102]实施例:以ex11为例,问题算例数据如下表所示,算例中存在5个待加工工件,4个加工机器及2个转运agv:[0103]表2车间节点转运时间[0104][0105]表3工件工艺信息[0106][0107]综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献