基于深度强化学习的智能工厂生产作业调度方法及系统

文档序号:26852685发布日期:2021-10-09 02:29阅读:389来源:国知局
基于深度强化学习的智能工厂生产作业调度方法及系统

1.本发明涉及智能工厂生产调度领域,具体涉及一种基于深度强化学习的智能工厂生产作业调度方法及系统。


背景技术:

2.作为工业4.0的核心,智能工厂旨在构建面向制造业的信息物理系统,通过集成信息系统与物理实体,实现工厂中机器、原料、产品的自组织生产,其中,生产作业的智能调度是提升工厂生产效率、节约生产成本的关键之一,在传统的工程生产作业调度中,调度往往需要工作人员凭借以往的经验手动选择一种或几种固定调度规则,这对于人员的经验有着较高的要求,调度质量也无法保证始终高效和稳健。随着软、硬件方面的不断成熟,ai辅助的智能技术开始被集成在智能制造中以提高盈利能力和竞争力,在过去的几年里,在输运、装配搬运、生产预测、设备预防性维护中已经出现了成功的应用,很自然的会考虑将机器学习用于生产作业的智能调度中以缩短最大完成时间,提升机器利用率。
3.目前智能工厂中的生产作业调度方法研究主要可分为三类:
4.基于知识的生产作业调度方法,基于知识的方法(如专家系统)其本质是通过专业从业人员的经验累积提出决策建议,来模拟一种原始的人工智能的调度决策系统。kumara等人引入了一个框架来开发了一个工作车间调度和故障诊断的专家系统,可以给出调度以及故障诊断的决策与建议;wang等人提出了一种将知识推理和语义数据集成的智能糖果包装方案,设计了推理引擎用于同时处理存在模型与来自生产过程的实时语义数据;同时为智能糖果包装应用程序构建了基准测试系统,能够直接支持客户定制和灵活的混合生产。
5.基于数学优化方法的生产作业调度方法,经典的生产调度问题常使用基于数学规划的方法来寻找调度解决方案,将生产调度问题描述为一个受限制的优化问题,目标是找到满足约束条件下的最优调度。ivan等人提出了短期供应链调度的动态模型和算法,同时考虑了机器结构与作业分配,提出一种基于作业执行非平稳解释与调度问题的时间分解的调度方法,通过连续最大原则的修改形式与数学优化混合,提供了一个多项式时间的调度解决方案。基于数学优化的生产作业调度方法通常能够寻找到问题的最优解,但是原始的优化模型面对调度问题时常会受限于各种变量以及多重的条件约束,在寻找最优解的过程中会产生较高的时间与计算成本,难以满足生产调度的及时性要求,需要进一步进行改进才能用于实际的生产调度问题。
6.基于群智能的启发式调度方法,law等人提出了使用调度规则来实现更高的效率,它集成了一个专家系统和启发式算法,用于解决在约束条件下的供应链调度问题;秦新立等提出的改进蚁群算法,实现了发电厂清洁机器人对太阳能电池板清洁工作的任务分配。基于群智能的启发式算法具有较强的寻优能力,能够探索各种调度可能方案,但是通常会面临陷入局部最优的问题,且调度执行时间会随着调度问题规模的增大而产生明显的增长。
7.伴随着深度学习在声音、视觉、医药、工业各领域的成功应用,人工智能激发了越
来越多的兴趣用于解决现实环境中的问题,深度强化学习作为深度学习和强化学习的结合,具有强化学习的优秀决策与深度学习的良好感知能力,能够自动提取各图像特征并通过强化学习训练给出明智的决策,在过往的工作中,深度强化学习主要用于游戏闯关训练以及棋类博弈,更多人期待它能够在实践领域中展现出实际应用,而智能工厂下的动态生产作业调度就是一个极好的实践环境。


技术实现要素:

8.有鉴于此,本发明的目的在于提供一种基于深度强化学习的智能工厂生产作业调度方法及系统,能够实现对当前生产作业快速且高效的调度。
9.为实现上述目的,本发明采用如下技术方案:
10.一种基于深度强化学习的智能工厂生产作业调度方法,包括以下步骤:
11.步骤s1:获取每个任务各个工序在对应机器上的处理数据,并预处理后构成训练集;
12.步骤s2:构建深度强化学习dqn模型,所述深度强化学习dqn模型包括dqn深度学习网络结构和dqn强化学习模块;
13.步骤s3:训练深度强化学习dqn模型,得到训练后的深度强化学习dqn模型;
14.步骤s4:将待生产任务调度数据进行预处理后输入训练后的深度强化学习dqn模型,得到生产任务工序的调度安排。
15.进一步的,所述预处理具体为:将生产任务调度数据转换成三维矩阵,包括处理时间矩阵、完成时间矩阵和任务执行矩阵。
16.进一步的,所述任务执行矩阵是一个布尔矩阵,初始化为全0,用于反应当前工序在是否执行,若执行,则矩阵对应位置置为1,反正则为0,所述三维矩阵大小为3
×
n
×
o其中n代表生产任务数量,o表示生产任务工序数量,对于生产工序小于o的任务,超出工序的部分处理时间设为0。
17.进一步的,所述dqn深度学习网络的卷积层采用大小不同的若干个卷积核进行,用于提取输入状态的特征;所述卷积核采用方形卷积核,卷积计算公式表示如下:
18.y=g(w
·
x+b)
19.其中w表示代表卷积核的权重向量,x表示当前卷积位置的矩阵向量,b属于偏置,g是激活函数。
20.进一步的,所述dqn强化学习模块包括动作决策单元、回报设定单元和算法更新单元。
21.进一步的,所述动作决策单元在深度学习网络得到所有可能输出调度动作对应的价值估计q后,采用ε

greedy策略进行动作选择,用ε表示探索概率,生成一个0到1的随机数,当该随机数小于ε时随机选择任意一合法动作,反之选择具有最大q值的调度动作,探索率ε随着神经网络训练次数的增加而逐渐减低,直至0.05时保持不变持续到训练结束。
22.进一步的,所述回报设定单元,具体如下:
23.生产作业调度目的是最大化机器的平均利用率的同时最小化最大完成时间,机器平均利用率具体公式表示如下:
[0024][0025]
其中m、n、o分别表示生产线、生产任务、生产任务工序的数量,m、n、o表示生产线、生产任务以及工序对应的序号,p
nom
表示任务n的第o道工序在机器m上的执行时间;p表示所有工序的处理总时间,makespan表示所有工序的最晚结束时间,即最大完成时间;
[0026]
由上式可知,因为p、m值为常数,目标最小化最大完成时间等同于最大化机器平均利用率,将回报设定为动作选择前后利用率的差值,具体公式表示如下:
[0027][0028]
其中表示当前状态的机器平均利用率,表示上一状态的机器平均利用率。
[0029]
进一步的,所述算法更新单元,具体为:使用当前动作选择得到的立即回报与下一状态的最大动作价值估计q估计来更新q值,网具体公式表示如下:
[0030]
q(s,a)

q(s,a)+α[r+γmax
a
q(s

,a

)

q(s,a)]
[0031]
其中,s表示当前的状态,a表示当前的动作选择,q(s,a)表示当前状态动作选择的价值估计,r是当前动作选择得到的立即回报,s

表示下一状态,a

表示下一状态的动作选择,max
a
q(s

,a

)表示下一状态的最大状态动作选择的价值估计,γ∈(0,1]代表对未来状态价值估计的衰减,α∈(0,1]代表了算法更新的学习率。
[0032]
进一步的,所述训练深度强化学习dqn模型,具体如下:
[0033]
步骤s31:采用经验回放池进行采样,建立一个容量大小为d的经验回放池,存储由强化学习决策得到的过往状态经历序列(s,a,r,s

,done),用于神经网络的训练,其中done作为信号用于反应所有生产工序是否执行完毕,若执行完毕则重置调度模拟环境;
[0034]
步骤s32:从经验回放池中进行随机采样,训练深度强化学习dqn模型中的神经网络,使用adam优化器通过梯度下降来更新权重、偏置等参数,用于训练神经网络的损失函数由目标q值与当前q值的差值构成,具体公式为:
[0035]
l(w)=e[(r+γmax
a

q(s

,a

,w

)

q(s,a,w))2]
[0036]
其中,max
a

q(s

,a

,w

)是下一状态的最大状态动作价值估计,由网络结构完全相同但是参数更新更为缓慢的目标q网络计算得到,r+γmax
a

q(s

,a

,w

)构成了目标q值,γ∈(0,1]代表对未来状态价值估计的衰减。
[0037]
步骤s33:每隔一定训练时间步,将当前dqn神经网络参数传入目标q网络,返回步骤s31直到当前训练轮数达到训练预设要求。
[0038]
一种基于深度强化学习的智能工厂生产作业调度系统,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如权利要求上述基于深度强化学习的智能工厂生产作业调度方法中的步骤。
[0039]
本发明与现有技术相比具有以下有益效果:
[0040]
本发明利用深度学习来自动理解并提取各生产任务的工序特征,再通过设定的回报奖励辅助强化学习进行学习决策,最后通过使用训练完成深度强化学习dqn模型,实现对当前生产作业快速且高效的调度,来达成最小化最大完成时间以及最大化生产线平均利用率的目标。
附图说明
[0041]
图1是本发明一实施例中的方法流程;
[0042]
图2是本发明一实施例中dqn模型q值网络更新示意图。
具体实施方式
[0043]
下面结合附图及实施例对本发明做进一步说明。
[0044]
请参照图1,本发明提供一种基于深度强化学习的智能工厂生产作业调度方法,包括以下步骤:
[0045]
步骤s1:在云端计算分解往期或模拟产生的生产任务数据,得到每个任务各个工序在对应机器上的处理时间,并预处理后构成训练集;
[0046]
步骤s2:构建深度强化学习dqn模型,所述深度强化学习dqn模型包括dqn深度学习网络结构和dqn强化学习模块;
[0047]
步骤s3:训练深度强化学习dqn模型,得到训练后的深度强化学习dqn模型;
[0048]
步骤s4:将待生产任务调度数据进行预处理后输入训练后的深度强化学习dqn模型,得到生产任务工序的调度安排。
[0049]
在本实施例中,dqn深度学习网络结构包括输入层,卷积层和全连接层;
[0050]
输入层:状态输入是模拟图像的rgb三通道输入的三个二维矩阵的叠加,由处理时间矩阵(用于反应各生产任务各工序在机器上的执行时间)、完成时间矩阵(即生产任务各工序在机器上的完成时间)、任务执行矩阵构成。任务执行矩阵是一个布尔矩阵,初始化为全0,用于反应当前工序在是否执行,若执行,则矩阵对应位置置为1,反正则为0。最终的状态输入是大小为3
×
n
×
o的三维矩阵,其中n代表生产任务数量,o表示生产任务工序数量,对于生产工序小于o的任务,超出工序的部分处理时间设为0。
[0051]
卷积层:多层卷积采用大小不同的多个卷积核进行,用于提取输入状态的特征,此处采用方形卷积核,不同于图像卷积,为了首先尽可能理解每个工序的特征,而后再挖掘全局特征,卷积核大小设置随着卷积层数的增加而减少,步长随着层数的增加从1逐步增大,且网络不采取池化操作,卷积计算公式表示如下:
[0052]
y=g(w
·
x+b)
[0053]
其中w表示代表卷积核的权重向量,x表示当前卷积位置的矩阵向量,b属于偏置,g是激活函数,在此处采用非线性激活函数relu。
[0054]
全连接层:在全连接层将卷积层的三维输出转换成同等大小的一维输入,经过隐藏层的权重调整、偏置加入、relu函数激活后,最终输出是所有可能的调度动作选择的估计值。
[0055]
在本实施例中,优选的,dqn强化学习模块包括动作决策单元、回报设定单元和算法更新单元。
[0056]
动作决策单元:在深度学习网络得到所有可能输出调度动作对应的价值估计q后,采用ε

greedy策略进行动作选择,用ε表示探索概率,生成一个0到1的随机数,当该随机数小于ε时随机选择任意一合法动作,反之选择具有最大q值的调度动作,探索率ε随着神经网络训练次数的增加而逐渐减低,直至0.05时保持不变持续到训练结束。
[0057]
回报设定单元:生产作业调度目的是最大化机器的平均利用率的同时最小化最大
完成时间,机器平均利用率具体公式表示如下:
[0058][0059]
其中m、n、o分别表示生产线、生产任务、生产任务工序的数量,m、n、o表示生产线、生产任务以及工序对应的序号,p
nom
表示任务n的第o道工序在机器m上的执行时间;p表示所有工序的处理总时间,makespan表示所有工序的最晚结束时间,即最大完成时间;
[0060]
由上式可知,因为p、m值为常数,目标最小化最大完成时间等同于最大化机器平均利用率,将回报设定为动作选择前后利用率的差值,具体公式表示如下:
[0061][0062]
其中表示当前状态的机器平均利用率,表示上一状态的机器平均利用率。
[0063]
算法更新单元:使用当前动作选择得到的立即回报与下一状态的最大动作价值估计q估计来更新q值,网具体公式表示如下:
[0064]
q(s,a)

q(s,a)+α[r+γmax
a
q(s

,a

)

q(s,a)]
[0065]
其中,s表示当前的状态,a表示当前的动作选择,q(s,a)表示当前状态动作选择的价值估计,r是当前动作选择得到的立即回报,s

表示下一状态,a

表示下一状态的动作选择,max
a
q(s

,a

)表示下一状态的最大状态动作选择的价值估计,γ∈(0,1]代表对未来状态价值估计的衰减,α∈(0,1]代表了算法更新的学习率。
[0066]
在本实施例中,训练深度强化学习dqn模型,具体如下:
[0067]
步骤s31:采用经验回放池进行采样,建立一个容量大小为d的经验回放池,存储由强化学习决策得到的过往状态经历序列(s,a,r,s

,done),用于神经网络的训练,其中done作为信号用于反应所有生产工序是否执行完毕,若执行完毕则重置调度模拟环境;
[0068]
步骤s32:从经验回放池中进行随机采样,训练深度强化学习dqn模型中的神经网络,使用adam优化器通过梯度下降来更新权重、偏置等参数,用于训练神经网络的损失函数由目标q值与当前q值的差值构成,具体公式为:
[0069]
l(w)=e[(r+γmax
a

q(s

,a

,w

)

q(s,a,w))2]
[0070]
其中,max
a

q(s

,a

,w

)是下一状态的最大状态动作价值估计,由网络结构完全相同但是参数更新更为缓慢的目标q网络计算得到,r+γmax
a

q(s

,a

,w

)构成了目标q值,γ∈(0,1]代表对未来状态价值估计的衰减。
[0071]
步骤s33:每隔一定训练时间步,将当前dqn神经网络参数传入目标q网络,返回步骤s31直到当前训练轮数达到训练预设要求。
[0072]
一种基于深度强化学习的智能工厂生产作业调度系统,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,具体执行如权利要求上述基于深度强化学习的智能工厂生产作业调度方法中的步骤。
[0073]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产
品的形式。
[0074]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0075]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0076]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0077]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1