本发明涉及深度强化学习和车间智能调度,更具体地,涉及一种基于多智能体d3qn(double dueling deep q-network)的混流制造车间实时调度方法。
背景技术:
1、车间作业调度问题作为具有广泛工程背景的组合问题,其理论与求解方法的研究对指导制造企业的生产有着重要意义。过往该类问题的求解算法主要包括启发式调度算法和元启发式调度算法,但是它们存在着求解过程比较耗时,算法场景适用性不强等问题。
2、随着深度强化学习理论的提出以及在游戏决策、组合优化问题等领域成功应用,为解决车间作业调度问题提供了新的思路和新方法。深度强化学习结合调度规则可以弥补传统调度方法对历史数据应用不足的缺陷,获得满足生产实际需要的调度方案。强化学习是智能体通过与环境进行的不断交互,使其获得最大的奖励的过程。在学习过程中,智能体会根据环境当前状态输出一个动作,该动作会影响环境,使得环境的状态发生改变,同时反馈智能体决策这个动作的奖励,智能体会根据获得的奖励优化自身后续对动作的选择,在不断试错的过程中,完成智能体的策略优化。
3、尽管有许多学者使用深度强化学习在车间作业调度问题上已经取得了很好的效果,但总结发现,过往对于车间调度问题的求解,无论是使用近似计算方法还是使用深度强化学习方法都大多集中在单一的调度目标上,例如缩小最大完工时间等。但是由于企业不同部门对生产的要求也各不相同,生产部门的目标是让产品的成本最小并且在最短的时间内完成任务,销售部门希望生产部门能按期交货,企业高层希望减少资源浪费等,因此车间调度问题常会出现多个目标需要同时优化的问题。
4、现有的专利文件中公开了一种基于d3qn强化学习的面向工件流转智能车间实时调度方法,先采集车间的作业数据并处理成马尔可夫决策链数据,训练一个d3qn的在线q网络和目标q网络,并利用训练好的在线q网络作为知识网络,匹配车间实时状态,择优排产,反复执行直至生产结束;然而该方案是为了克服传统算法在面对大规模制造车间时存在的易陷入局部最优解和求解时间长等问题,仍然属于单一调度目标的求解,对于多个调度目标的优化效果较差。
技术实现思路
1、本发明为克服上述现有技术难以处理多个目标需要同时优化的车间调度问题的缺陷,提供一种基于多智能体d3qn的混流制造车间实时调度方法,能够在一次调度计算过程中得到不同目标为导向的混流制造车间排产策略,提高整体生产效率和经济效益。
2、为解决上述技术问题,本发明的技术方案如下:
3、一种基于多智能体d3qn的混流制造车间实时调度方法,包括以下步骤:
4、s1:根据混流制造车间中工件和加工设备的运转关系构建基于petri网的mpn(manufacturing petri net)模型;
5、s2:获取混流制造车间待执行订单的作业数据并输入mpn模型,获取初始化后的mpn模型,初始化后即可构建一个针对该混流制造车间的生产场景,以便后续引入多智能体;所述作业数据包括:待执行订单的工件数量、种类,以及每个工件在加工过程中加工设备的状态信息;
6、s3:基于所述初始化后的mpn模型进行随机调度模拟,获取模拟数据;根据模拟数据和作业数据构造马尔科夫决策链数据并载入预设的样本数据池;
7、s4:初始化多个智能体,为每个智能体构建d3qn模型;每个所述智能体的调度目标不同;
8、所述d3qn模型包括两个结构一致的efficientnet神经网络,分别作为d3qn模型的在线评估网络q和目标价值网络q-;
9、s5:从样本数据池中随机抽取若干条马尔科夫决策链数据并训练每个智能体的d3qn模型,获取每个智能体训练好的d3qn模型;
10、s6:获取混流制造车间的车间实时状态并输入mpn模型,获取实时mpn模型;调用每个智能体训练好的d3qn模型对实时mpn模型进行调度计算后,得到以不同调度目标为导向的若干条车间排产策略,根据所述车间排产策略进行调度生产。
11、优选地,所述步骤s1包括:
12、将混流制造车间中每道工序平行运行的多台加工设备分别抽象化为一个库所,表示工件在某工序加工时可转移到加工设备;不同库所通过一个中间的变迁路径相连,表示工件在不同工序间转移,即在一台加工设备加工完毕后转移到下一台加工设备的一条路径;
13、整个mpn模型的表达式如下:
14、mpn=<token,place.transition>
15、token={token1,token2,…,tokeni}
16、place={place1,place2,…,placej}
17、transition={transition1,transition2,…,transitionh}
18、其中,token为工件在mpn模型中的表达式集合,tokeni为第i个工件的表达式;place为加工设备在mpn模型中的表达式集合,placej为第j个加工设备的表达式;transition为mpn模型中变迁路径的表达式集合,transitionh为第h条变迁路径。
19、优选地,所述第i个工件在mpn模型中的表达式如下:
20、
21、其中,tokeni表示第i个工件,n为工件数量;id1为第i个工件的编号,满足id1∈n,n为自然数集合;c为工件类型,满足c∈{color1,color2,…,colorc},color1~colorc分别为第1~第c种工件类型;为第i个工件在第j个加工设备上的加工时间,m为加工设备的数量;p为第i个工件当前所在的加工设备编号,满足p∈n;t为第i个工件在当前设备中的剩余加工时间,满足t∈r,r为实数集合;
22、所述第j个加工设备在mpn模型中的表达式如下:
23、
24、其中,placej表示第j个加工设备;id2为第j个加工设备的编号,满足id2∈n;capacity为加工设备可容纳工件数量,为第j个加工设备中存在的工件;
25、所述mpn模型中的第h条变迁路径的表达式如下:
26、transitionh=<id3,inplace,outplace>
27、其中,id3为变迁的编号,满足id3∈n,inplace为当前加工设备的编号,满足inplace∈n;outplace为下一个加工设备编号,满足outplace∈n。
28、优选地,所述步骤s2中,从所述作业数据中提取每个工件的工件数量、工件编号和工件类型,以及每个工件在加工过程中所在的加工设备、工件剩余加工时间,并将提取到的所有信息加载到所述mpn模型中进行初始化,获取初始化后的mpn模型。
29、优选地,所述步骤s3中,使用随机调度策略模拟待执行订单的全部工件加工起始至结束全过程,产生批量的模拟数据,并结合作业数据构建工件排产时间矩阵st(scheduletime matrix)、工件位置转移标识矩阵mm(marking matrix)和工件在设备延时矩阵mt(machining time matrix);
30、根据得到的所述三个矩阵构建三通道的车间状态si,将车间状态si、si下选择的动作ak、动作ak对应的奖励r,以及下一个车间状态si+1共同构造马尔科夫决策链数据<si,ak,r,si+1>并载入预设的样本数据池。
31、优选地,所述车间状态si的表达式如下:
32、si=<stn×m,mmn×m,mtn×m>
33、其中,n×m为矩阵的大小,n为mpn模型中工件数量,m为mpn模型中加工设备数量;
34、获取mpn模型在当前车间状态si下可触发的动作集job(si),其中动作是指具体某工件从某道工序设备转移至下道工序设备的过程,动作ak表达式如下:
35、ak=<id1,inplace,outplace,time>
36、其中,time为该动作触发的时间,满足time∈r;
37、由所述车间状态si下工件可触发的多个动作构成集合job(si),动作集job(si)表达式如下:
38、job(si)={a1,a2,...,ak}
39、所述动作集job(si)用于表示车间状态si下工件可选择转移的方向,实际生产转移时将从众多动作中选择一个动作执行,执行完毕后车间状态si更新为si+1,动作集job(si)也对应更新为job(si+1);
40、根据随机调度模拟的结果t与预设的调度目标tar之间的契合程度,赋予车间状态si下执行动作ak进入新状态si+1相应的奖励r;
41、所述混流制造车间从订单下放状态s0开始至完工状态sn结束,按n次调度排产顺序形成逐条马尔可夫决策链数据<si,ak,r,si+1>。
42、优选地,所述步骤s4中,初始化多个智能体包括:分别以最短完工时间、最短平均完工时间和最高设备使用率为调度目标tar,设置不同的智能体和不同的奖励函数;
43、所述奖励函数为:
44、
45、其中,r+和r-分别表示固定的正和负奖励值,tar为调度目标;
46、每个所述智能体分别设置有d3qn模型;
47、所述d3qn模型包括两个结构一致的efficientnet神经网络,分别作为d3qn模型的在线评估网络q和目标价值网络q-。
48、优选地,所述步骤s5中,从所述样本数据池中批量读取数据并输入在线评估网络q获得估计价值,输入目标价值网络q-获得目标价值,以估计价值和目标价值的均方误差作为d3qn模型的损失函数进行监督训练;
49、所述d3qn模型的损失函数具体为:
50、
51、
52、其中,le(θe)为d3qn模型的损失函数值;下标e为训练步长,表示均方误差计算,(si,ak,r,si+1)~u(db)表示从样本数据池抽取的训练样本数据,ye表示目标价值;q(si,ak;θe)表示将当前车间状态si和动作ak输入到在线评估网络q得到的估计价值;γ为折扣因子,折扣因子越大,网络训练越注重未来状态的变化;argmaxaq(si+1,a;θe)表示在线评估网络q评估下一状态si+1的最具价值动作为a;
53、使用随机梯度下降策略,对在线评估网络q的权重参数进行反向更新训练;每训练一定步长,复制在线评估网络q最后一次更新的参数对目标价值网络q-的参数进行更新;反复训练直至d3qn模型的损失函数值小于预设阈值时,获取训练好的d3qn模型。
54、优选地,所述步骤s6中,获取混流制造车间的车间实时状态并输入mpn模型,获取实时mpn模型以及实时状态下的待排产任务;
55、将实时状态输入每个智能体训练好的d3qn模型中,各个智能体分别根据预设的调度目标,从实时状态下的待排产任务中选取最优价值的排产动作进行执行,并更新下一个实时状态和对应的待排产任务;重复选取最优价值的排产动作进行执行,直至全部工件生产结束,得到以不同调度目标为导向的若干条车间排产策略;
56、对于相同的待执行订单,直接根据不同的调度目标调用对应的车间排产策略进行调度生产。
57、优选地,所述步骤s6还包括:
58、使用加权综合评分法分别对每条车间排产策略在不同调度目标下进行评分,获取不同调度目标下的每条车间排产策略的优先级;
59、根据不同调度目标下的每条车间排产策略的优先级,选取一条在不同调度目标下优先级均满足预设条件的车间排产策略作为最优排产策略,根据所述最优排产策略进行综合调度生产。
60、与现有技术相比,本发明技术方案的有益效果是:
61、本发明提供一种基于多智能体d3qn的混流制造车间实时调度方法,首先根据混流制造车间中工件和加工设备的运转关系构建基于petri网的mpn模型;获取混流制造车间待执行订单的作业数据并输入mpn模型,获取初始化后的mpn模型;随后基于初始化后的mpn模型进行随机调度模拟,获取模拟数据;根据模拟数据和作业数据构造马尔科夫决策链数据并载入预设的样本数据池;初始化多个智能体,为每个智能体构建d3qn模型;每个智能体的调度目标不同;之后从样本数据池中随机抽取若干条马尔科夫决策链数据并训练每个智能体的d3qn模型,获取每个智能体训练好的d3qn模型;最后获取混流制造车间的车间实时状态并输入mpn模型,获取实时mpn模型;调用每个智能体训练好的d3qn模型对实时mpn模型进行调度计算后,得到以不同调度目标为导向的若干条车间排产策略,根据车间排产策略进行调度生产;
62、本发明采用efficientnet神经网络作为d3qn模型的基础网络,利用efficientnet神经网络高效和轻量化的特性,在保持高精度的同时显著减少了计算量和参数量,从而提高了d3qn算法在处理大规模调度问题时的性能和训练速度;同时,本发明通过引入多智能体的机制,能够让调度算法在一次调度计算过程中得到不同目标为导向的混流制造车间排产策略,让生产管理者可以在多个维度上进行考虑和决策,从而更好地优化生产调度和资源利用,提高整体生产效率和经济效益。
1.一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述步骤s1包括:
3.根据权利要求2所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述第i个工件在mpn模型中的表达式如下:
4.根据权利要求3所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述步骤s2中,从所述作业数据中提取每个工件的工件数量、工件编号和工件类型,以及每个工件在加工过程中所在的加工设备、工件剩余加工时间,并将提取到的所有信息加载到所述mpn模型中进行初始化,获取初始化后的mpn模型。
5.根据权利要求3所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述步骤s3中,使用随机调度策略模拟待执行订单的全部工件加工起始至结束全过程,产生批量的模拟数据,并结合作业数据构建工件排产时间矩阵st、工件位置转移标识矩阵mm和工件在设备延时矩阵mt;
6.根据权利要求5所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述车间状态si的表达式如下:
7.根据权利要求6所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述步骤s4中,初始化多个智能体包括:分别以最短完工时间、最短平均完工时间和最高设备使用率为调度目标tar,设置不同的智能体和不同的奖励函数;
8.根据权利要求7所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述步骤s5中,从所述样本数据池中批量读取数据并输入在线评估网络q获得估计价值,输入目标价值网络q-获得目标价值,以估计价值和目标价值的均方误差作为d3qn模型的损失函数进行监督训练;
9.根据权利要求8所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述步骤s6中,获取混流制造车间的车间实时状态并输入mpn模型,获取实时mpn模型以及实时状态下的待排产任务;
10.根据权利要求1~9任意一项中所述的一种基于多智能体d3qn的混流制造车间实时调度方法,其特征在于,所述步骤s6还包括: