基于深度强化学习的智能作业分批方法、装置及电子设备

文档序号:191181 发布日期:2021-11-02 浏览:24次 >En<

阅读说明:本技术 基于深度强化学习的智能作业分批方法、装置及电子设备 (Intelligent operation batching method and device based on deep reinforcement learning and electronic equipment ) 是由 刘亮 郑霄龙 马华东 江呈羚 罗梓珲 于 2021-08-23 设计创作,主要内容包括:本发明公开了一种基于深度强化学习的智能作业分批方法、装置及电子设备,涉及工业互联网技术领域。本发明实例包括以下步骤:获取每个作业的静态特征和动态特征,所述作业的静态特征包括作业交货期、作业的规格和工艺要求,所述作业的动态特征包括接收时刻;将所述各作业的静态特征和动态特征输入作业分批模块,作业分批模块利用马尔可夫决策过程将待组批作业集合中具有相似特征的作业组合为同一个批次,使最终组成的批次总数尽量少,且每个批次中的作业特征差异值尽量小。本发明可以充分利用工业互联网中大量的未标记数据学习稳定分批策略,并能处理有多维度特征的输入数据,给出稳定的、高效的作业分批解决方案,适用于作业量较大的应用场景中。(The invention discloses an intelligent operation batching method and device based on deep reinforcement learning and electronic equipment, and relates to the technical field of industrial internet. An embodiment of the present invention comprises the steps of: acquiring static characteristics and dynamic characteristics of each operation, wherein the static characteristics of the operation comprise an operation delivery date, an operation specification and a process requirement, and the dynamic characteristics of the operation comprise a receiving moment; and inputting the static characteristics and the dynamic characteristics of each operation into an operation batching module, and combining the operations with similar characteristics in the operation set to be batched into the same batch by using a Markov decision process by the operation batching module, so that the total number of the finally formed batches is as small as possible, and the difference value of the operation characteristics in each batch is as small as possible. The method can fully utilize a large amount of unmarked data in the industrial Internet to learn the stable batch strategy, can process input data with multi-dimensional characteristics, provides a stable and efficient operation batch solution, and is suitable for application scenes with large operation amount.)

基于深度强化学习的智能作业分批方法、装置及电子设备

技术领域

本发明涉及工业物联网技术领域,尤其涉及一种基于深度强化学习的智能作业分批方法、装置及电子设备。

背景技术

随着工业物联网(Industrial Internet of things,IIoT)的蓬勃发展,传统产业正在向智能制造升级。多品种小批量柔性生产是智能制造的重要组成部分。为了提高设备利用率和生产效率,生产企业往往将具有类似特征的作业组成一个批次再以批次为单位进行生产。作业分批问题广泛存在于化工、纺织、半导体、医疗、炼钢等领域。以炼钢领域为例,每个作业都有多个特征,如钢号、厚度、宽度、重量等。由于不同的客户需要不同的钢铁产品,炼钢领域的作业通常具有不同的特征值。

为提高生产效率,在满足生产设备产能约束的情况下,将具有类似钢种、类似厚度等相似特征的作业组合成一个批次进行生产。在实际生产中,这种作业分批过程通常由人工进行。然而,由人工进行作业分批往往具有以下问题:(1)待分批作业总数大、分批总数未知、作业特征多、分批约束多使得作业分批排列组合复杂,技术人员不可能在短时间内穷尽一切可行解;(2)技术人员很难在短时间内从大量可行的解决方案中选择合理的解决方案。

图1展示了理想的工业互联网中的智能工厂。通过智能设备对生产数据的全面感知、无线通信对生产数据的实时传输以及作业分批模块在云中快速计算,可以实现整个生产过程的自动化、智能化、无人化。显然,云中的作业分批模块的好坏直接影响了整个生产流程的效率。为了实现该工业互联网的的美好愿景,需要一个高效的作业分批模块。

现有的作业批处理研究主要集中在聚类算法和元启发式算法上,这两种方法都并没有利用海量数据来学习先验知识。聚类算法需要事先知道最终要分成的批次总数,然而,这在实际应用场景中是未知的。元启发式算法严重依赖于技术人员的经验,且元启发式算法结果不稳定,不适用于实际生产。此外,随着作业数量的增加,聚类算法以及元启发式算法的推断时间会呈爆炸式增加。因此,针对工业物联网场景设计一种高效、智能的作业分批方法具有十分重要的紧迫性和现实意义。

强化学习(Reinforcement Learning,RL)是机器学习的一个重要分支,主要研究作业分批模块在环境中如何采取行动,从而获得最大的累积回报。虽然强化学习训练可能会花费较多的时间,但是一旦一个作业分批模块被训练完成,它就可以很快地对遇到的新的问题做出正确的行为。目前,强化学习已经成功地应用于各种场景,包括对机器人的控制、生产制造以及游戏方面等。深度学习(Deep Learning,DL)具有较强的感知能力,但是缺乏一定的决策能力;而强化学习具有决策能力,对感知问题束手无策。因此,深度强化学习便应运而生。近几年来,深度强化学习(Deep Reinforcement Learning,DRL)将强化学习的决策能力与深度学习能处理多维特征的感知能力结合起来,已经成功地解决了各种实际问题。因此,本发明创新性地采用深度强化学习的方法来解决工业互联网中的作业分批问题。

发明内容

本发明的目的是提供一种基于深度强化学习的智能作业分批方法、装置及电子设备,该方法能适用于工业互联网中作业数量比较大的分批场景。

为了实现上述目的,本发明提供如下技术方案:

第一方面,本发明提供了一种基于深度强化学习的智能作业分批方法,包括以下步骤:

S1、获取每个作业的静态特征和动态特征,所述作业的静态特征包括作业交货期、作业的规格和工艺要求,所述作业的动态特征包括接收时刻;

S2、将所述各作业的静态特征和动态特征输入作业分批模块,作业分批模块利用马尔可夫决策过程将待组批作业集合中具有相似特征的作业组合为同一个批次,使最终组成的批次总数尽量少,且每个批次中的作业特征差异值尽量小;

其中,马尔可夫决策过程为:在每一个时间步,作业分批模块获得当前环境的状态,作业在t时刻的状态包括作业的静态特征、作业在t时刻的需求量大小以及在t时刻当前批次n的剩余可用容量,当前环境在t时刻的状态为所有作业在t时刻的状态的集合;再根据当前环境的状态做出相应的动作,该动作的效果由一个正向或负向的奖励值来衡量,所述奖励值是目标函数值的相反数;然后环境受上一个动作的影响由上一个状态转移到下一个新的状态。

进一步地,步骤S2根据状态做出动作的过程为:将虚拟节点与其他作业节点一起作为模型的输入序列,在每个决策时间点t,作业分批模块依次从所有输入序列中选择一个作为输出节点;默认作业分批模块的第一个输出为虚拟节点,表示组批工作的开始;当作业分批模块选择虚拟节点作为输出节点,则表示当前批次划分结束;当所有作业都组合进对应的批次,根据作业分批模块的决策,会得到一个输出序列,该输出序列即为作业集合的组批结果。

进一步地,步骤S2所述的作业分批模块包括编码器和解码器两部分,编码器使用以一维卷积层作为嵌入层,将输入序列中每一作业的静态特征映射虚拟一个输出矩阵;解码器主要由长短期记忆网络、指针网络以及Mask向量组成,其工作过程为:在每个决策时间点t,长短期记忆网络读取上一决策时间点的长短期记忆网络隐含层状态以及上一决策时间点的输出节点,输出t时刻的隐含层状态;指针网络根据编码器的输出矩阵、t时刻长短期记忆网络隐含层状态、t时刻所有输入序列的动态特征向量、以及t时刻当前批次n的剩余容量,结合Mask向量计算出各个输出节点的概率分布,所述的Mask向量长度与输入序列相等,分别与入输序列一一对应,Mask向量每一位的取值为0或1,虚拟节点所对应的Mask向量位的值始终为1;最后选择概率值最大的节点作为t时刻输出节点;当完成t时刻的决策后,立即根据决策结果更新Mask向量、输入序列的动态特征向量、当前批次n的剩余容量,作为下一决策时间点模型的输入。

进一步地,所述的指针网络的工作过程为:在每一个解码时间步t,使用注意力机制得到t时刻针对输入序列的权重,将权重通过Softmax函数归一化后得到输入序列的概率分布。

进一步地,所述的作业分批模块的训练方法使用actor-critic算法,actor-critic算法由actor网络与critic网络组成;actor网络用于在每个决策时间点预测输入序列中各节点的概率,选取概率最大的节点作为输出节点;critic网络用于计算输入序列可获得奖励的估计值。

进一步地,actor-critic算法的步骤为:随机初始化actor网络和critic网络的参数,在每个迭代步epoch,从训练集中随机抽取J个实例,针对每个实例,依次确定其输出序列,直到该实例中所有作业都组合进相应的批次,计算当前输出序列所能获得的奖励值;J个实例的分批任务都完成后,分别计算actor网络和critic网络的梯度并更新。

第二方面,本发明提供了一种基于深度强化学习的智能作业分批装置,所述装置包括:

特征获取模块,用于获取各待分批作业的静态特征和动态特征,所述作业的静态特征包括作业交货期、作业的规格和工艺要求,所述作业的动态特征包括接收时刻;

作业分批模块,用于将所述各作业的静态特征和动态特征,输入作业分批模块,利用马尔可夫决策过程将待组批作业集合中具有相似特征的作业组合为同一个批次,使最终组成的批次总数尽量少,且每个批次中的作业特征差异值尽量小;

其中,所述作业分批模块的马尔可夫决策过程为:在每一个时间步,作业分批模块获得当前环境的状态,作业在t时刻的状态包括作业的静态特征、作业在t时刻的需求量大小以及在t时刻当前批次n的剩余可用容量,当前环境在t时刻的状态为所有作业在t时刻的状态的集合;再根据当前环境的状态做出相应的动作,该动作的效果由一个正向或负向的奖励值来衡量,所述奖励值是目标函数值的相反数;然后环境受上一个动作的影响由上一个状态转移到下一个新的状态。

进一步地,所述的动作做出过程为:将虚拟节点与其他作业节点一起作为模型的输入序列,在每个决策时间点t,作业分批模块依次从所有输入序列中选择一个作为输出节点;默认作业分批模块的第一个输出为虚拟节点,表示组批工作的开始;当作业分批模块选择虚拟节点作为输出节点,则表示当前批次划分结束;当所有作业都组合进对应的批次,根据作业分批模块的决策,会得到一个输出序列,该输出序列即为作业集合的组批结果。

进一步地,所述的作业分批模块包括编码器和解码器两部分,编码器使用以一维卷积层作为嵌入层,将输入序列中每一作业的静态特征映射虚拟一个输出矩阵;解码器主要由长短期记忆网络、指针网络以及Mask向量组成,其工作过程为:在每个决策时间点t,长短期记忆网络读取上一决策时间点的长短期记忆网络隐含层状态以及上一决策时间点的输出节点,输出t时刻的隐含层状态;指针网络根据编码器的输出矩阵、t时刻长短期记忆网络隐含层状态、t时刻所有输入序列的动态特征向量、以及t时刻当前批次n的剩余容量,结合Mask向量计算出各个输出节点的概率分布,所述的Mask向量长度与输入序列相等,分别与入输序列一一对应,Mask向量每一位的取值为0或1,虚拟节点所对应的Mask向量位的值始终为1;最后选择概率值最大的节点作为t时刻输出节点;当完成t时刻的决策后,立即根据决策结果更新Mask向量、输入序列的动态特征向量、当前批次n的剩余容量,作为下一决策时间点模型的输入。

进一步地,所述的指针网络的工作过程为:在每一个解码时间步t,使用注意力机制得到t时刻针对输入序列的权重,将权重通过Softmax函数归一化后得到输入序列的概率分布。

进一步地,所述的作业分批模块的训练方法使用actor-critic算法,actor-critic算法由actor网络与critic网络组成;actor网络用于在每个决策时间点预测输入序列中各节点的概率,选取概率最大的节点作为输出节点;critic网络用于计算输入序列可获得奖励的估计值。

进一步地,actor-critic算法的步骤为:随机初始化actor网络和critic网络的参数,在每个迭代步epoch,从训练集中随机抽取J个实例,针对每个实例,依次确定其输出序列,直到该实例中所有作业都组合进相应的批次,计算当前输出序列所能获得的奖励值;J个实例的分批任务都完成后,分别计算actor网络和critic网络的梯度并更新。

第三方面,本发明提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一基于深度强化学习的智能作业分批方法的步骤。

第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于深度强化学习的智能作业分批方法的步骤。

第五方面,本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一基于深度强化学习的智能作业分批方法的步骤。

与现有技术相比,本发明的有益效果为:

本发明提供的基于深度强化学习的智能作业分批方法、装置及电子设备,将作业分批问题描述为一个马尔可夫决策过程,并采用了一种基于深度强化学习的方法来解决该问题,该方法可以处理多维输入数据,并且不需要标签数据对模型进行训练。同时本发明将作业分批过程看作一个序列到另一个序列的映射过程,并提出了一种基于指针网络的作业分批模块,其目的是在批次容量的约束下最小化作业分批总数及批次内作业的特征差异。

本发明提出了一种基于深度强化学习的智能作业分批方法、装置及电子设备,可以充分利用工业互联网中大量的未标记数据学习稳定分批策略,并能处理有多维度特征的输入数据,给出稳定的、高效的作业分批解决方案。特别的,即使在作业数量较大的实际应用场景中,本方法也可以快速生成对应的解决方案。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为在工业互联网中理想的智能工厂示意图。

图2为本发明实施例提供的输入序列示意图。

图3为本发明实施例提供的输出序列示意图。

图4为本发明实施例提供的作业分批模块的编码器示意图。

图5为本发明实施例提供的作业分批模块的解码器示意图。

图6为本发明实施例提供的一种基于深度强化学习的智能作业分批装置的结构示意图;

图7为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为了更好地理解本技术方案,下面结合附图对本发明的方法做详细的说明。表一是对本申请实施例涉及的符号含义进行的说明。

表一

本发明提供一种基于深度强化学习的智能作业分批方法,包括以下步骤:

S1、获取每个作业的静态特征和动态特征,所述作业的静态特征包括作业交货期、作业的规格和工艺要求,所述作业的动态特征包括接收时刻;

S2、将所述各作业的静态特征和动态特征输入作业分批模块,作业分批模块利用马尔可夫决策过程将待组批作业集合中具有相似特征的作业组合为同一个批次,使最终组成的批次总数尽量少,且每个批次中的作业特征差异值尽量小。

在本发明中,我们主要考虑在工业互联网必须面对的一个典型的作业分批问题。具体来说,给定一个待组批的作业集合X={Xi,i=1,2,…,M}。每个作业Xi可定义为Xi={fi,di},其中fi表示作业Xi的特征,如作业交货期、作业的规格、工艺要求等(由具体应用场景定义),可用一个元组fi={fik,k=1,2,…,K}表示;di表示作业Xi的需求量大小。

已知一个批次的最大容量为C,作业组批的目的是在满足批次容量大小的约束下,将待组批作业集合中具有相似特征的作业组合为同一个批次,使得最终组成的批次总数N尽量少,且作业特征差异值D尽量小。

该问题的数学模型如下;

min(αD+βN) (1)

其中,

α+β=1 (2)

其中,

式(1)为目标函数,其中D表示所有批次的批次内作业特征差异值之和。式(1)中包含2个子目标:一个为最终组成的作业批次总数尽量少;另一个为每个批次中的作业的特征差异值尽量小(即将具有相似特征的作业划分为一个批次)。

式(2)表示式(1)中两个子目标的重要程度约束。

式(3)表示作业各属性特征对作业划分结果的影响程度约束。

式(4)表示根据企业生产要求,每个批次中作业的总量不能超过一个批次的容量上限。

式(5)表示一个作业最多只能组合进一个批次。

马尔可夫决策过程:

作业组批过程可以视为作业分批模块通过序列决策与环境不断交互,进而将各个作业组合成多个批次的过程,这个过程可以用马尔可夫决策过程(Markov DecisionProcess,MDP)来表示。

具体地,在每一个时间步,作业分批模块都会获得一个当前环境的状态(state),并根据这个状态做出相应的动作(action),该动作的效果会由一个正向或负向的奖励值(reward)来衡量。然后,环境受上一个动作的影响由上一个状态转移到下一个新的状态。作业分批模块就在这样不断的循环中逐步学习出更好的决策,完成更好的作业组批。

(1)状态(state):本发明设定当作业Xi被组合进一个批次n时,该作业的产品需求量大小会由di变为0,表明该作业已被成功划分进一个批次。于此同时,当前批次n的剩余可用容量Vn也有原来的C变为C-di。因此,随着当前作业被组合进一个批次,该作业的当前需求量di以及当前批次n的剩余可用容量Vn是与时间t有关的变量。

因此,每个作业Xi可以重新定义为其中fi分别表示作业Xi的静态特征和t时刻的动态特征。在模型的解码阶段(分批阶段),作业Xi的静态特征(如作业交货期、产品长度、宽度等)保持不变,作业的动态元素会根据输出阶段发生动态变化。

综上,作业Xi在t时刻的状态可用一个三元组表示:分别表示作业Xi的静态特征,作业Xi在t时刻的需求量大小,以及在t时刻当前批次n的剩余可用容量。

综上,当前环境在t时刻的状态则为所有作业Xi在t时刻的状态的集合

(2)动作(action):为了辅助作业分批模块更好的完成作业组批任务,定义一个虚拟节点X0={f0,d0}作为批次分割节点。虚拟节点X0与作业Xi具有相同的特征维度,只是虚拟节点各特征值f0以及需求量d0大小时在任何时刻均为0。虚拟节点X0与其他作业节点Xi(i=1,2,…,M)一起作为模型的输入序列。在每个决策时间点t,作业分批模块会依次从所有输入序列中选择一个作为输出节点。当作业分批模块选择虚拟节点X0作为输出节点则表示当前批次划分结束。默认作业分批模块的第一个输出为虚拟节点X0,表示组批工作的开始。当终止条件满足(即所有作业都组合进对应的批次),根据作业分批模块的决策,会得到一个输出序列,该输出序列即为作业集合X的组批结果。

例如(如图2所示),针对作业集合X={Xi,i=1,2,…7},作业分批模块的最终输出序列(如图3所示)为{X0,X5,X1,X0,X3,X4,X6,X0,X5,X2,X0},该结果表明,作业分批模块将作业结合X划分为3个批次,分别为U1={X5,X1},U2={X3,X4,X6},U3={X7,X2}。

综上,作业分批模块在t时刻所采取的动作yt可以分为两类:

(3)奖励(reward):奖励函数直观的反映了在当前环境状态下,作业分批模块所采取的行为的好坏。作业分批模块的目标是在不超过批次容量限制的条件下,使得最终组批结果组成的批次总数尽量少,以及每个批次中的作业的特征差异值尽量小,如式(1)所示。当目标函数值越小时,给作业分批模块的奖励值应该越大,意味着当前分批的效果越好。

因此,奖励函数表示如下:

R=-(αD+βN) (7)

其中D如公式(1)所示,值为作业特征差异值之和,N为组批后的批次总数。

本发明提出的作业分批模块602整体结构如图4与图5所示,该模型是基于指针网络实现,分为编码器(Encoder)603和解码器(Decoder)604两部分。

(1)编码器部分

指针网络结构的编码层是基于循环神经网络(RNN)实现的,然而,只有在输入序列的排列传递一定信息时,RNN才有意义(如在文字翻译中,前一个词与后一个词的排列顺序传递一定的关联信息)。由于本模型的输入为一系列无序作业特征的集合,任何随机输入序列的排列都包含与原始输入相同的信息,即输入序列的顺序没有意义。

因此,在本模型中我们省略了编码器中的RNN网络,直接使用以一维卷积层作为嵌入层(Embedding Layer)将输入序列(虚拟节点和作业集合)中每一任务的静态特征fi(i=0,1,…,M)映射虚拟一个矩阵

(2)解码器部分

解码器主要由长短期记忆网络(LSTM)、指针网络以及Mask向量组成。其工作过程为:在每个决策时间点t,LSTM读取上一决策时间点的LSTM隐含层状态ht-1以及上一决策时间点作业分批模块的输出节点yt-1,输出t时刻的隐含层状态ht。指针网络根据编码器的输出矩阵t时刻LSTM隐含层状态ht、t时刻所有输入序列的动态特征向量dt、以及t时刻当前批次n的剩余容量Vn t,结合Mask向量计算出各个输出节点的概率分布,所述的Mask向量长度与输入序列相等,分别与入输序列一一对应,Mask向量每一位的取值为0或1,虚拟节点所对应的Mask向量位的值始终为1。最后,选择概率值最大的节点作为t时刻输出节点yt。当作业分批模块完成t时刻的决策后,立即根据决策结果更新Mask向量、输入序列的动态特征向量dt+1、当前批次n的剩余容量Vn t+1等动态变量,作为下一决策时间点模型的输入。

指针网络机制可以描述为:在每一个解码时间步t,使用注意力机制得到t时刻针对输入序列的权重,将权重通过Softmax函数归一化后得到输入序列的概率分布at。at的计算方式如下(va与ωa为训练参数):

为了保证作业分批模块输出序列的合法性,本文引入Mask向量将约束加入到作业分批模块的决策过程中。Mask向量的长度与输入序列相等,分别与输入序列Xi(i=0,2,…,M)一一对应。Mask向量每一位的取值为0或1。虚拟节点X0所对应的Mask向量位的值始终为1,表示作业分批模块可以在任何时刻结束当前批次的划分。

在以下情况,Xi(i=1,2,…,M)所对应的Mask向量位的值为0:

a)在t时刻,作业Xi已被作业分批模块选择作为输出节点,即作业Xi已被组合进一个批次;

b)在t时刻,作业Xi的需求量大小di大于当前批次n的剩余可用容量Vn t

c)当t=0时,此时作业分批模块只能选择虚拟节点X0作为输出节点,标志着作业组批任务的开始。

结合Mask向量,最终指针网络在t时刻输出的概率值计算如下(vb为训练参数):

P(yt|Yt-1,St)=softmax(vbat-ln(Mask)) (9)

由式(9)可知,当作业Xi对应的Mask向量位为0,则作业Xi作为输出节点的概率值率值也为0。在每一个解码时间步t,计算式(9),取概率值最大的节点作为t时刻的输出节点yt

本发明使用actor-critic算法进行模型的训练。actor-critic算法一般由2个网络组成:actor网络与critic网络。

actor网络用于在每个决策时间点t预测输入序列中各节点的概率,选取概率最大的节点作为输出节点。假设其参数为θ,则对actor网络参数的梯度为:

critic网络用于计算输入序列可获得奖励的估计值。假设其参数为则对critic网络参数的梯度为:

具体的算法步骤为:

首先,随机初始化actor网络和critic网络的参数θ和

在每个迭代步epoch,我们从训练集中随机抽取J个实例(每个实例都为包含M个作业的集合),用下标j表示第j个实例;

针对每个实例,利用改进的指针网络根据式(9)依次确定其输出序列(即进行分批决策),直到终止条件满足(该实例中所有作业都组合进相应的批次);

此时根据式(7)计算当前作业分批模块输出序列所能获得的奖励值Rj

J个实例的分批任务都完成后,根据式(10)和式(11)分别计算actor网络和critic网络的梯度并更新。

式(10)~(11)中,表示第j个实例在t=0时刻输入序列的状态,Yj为actor对的最终决策输出序列,Rj为actor对第j个实例最终决策输出序列实际得到的奖励值,为第j个实例输出序列中每个节点的概率值,为critic对第j个实例的可获得奖励的估计值。

本发明将作业分批问题描述为一个马尔可夫决策过程,并采用了一种基于深度强化学习的方法来解决该问题。该方法可以处理多维输入数据,并且不需要标签数据对模型进行训练。

本发明将作业分批过程看作一个序列到另一个序列的映射过程,并提出了一种基于指针网络的作业分批模块,其目的是在批次容量的约束下最小化作业分批总数及批次内作业的特征差异。

在工业互联网场景中,作业分批问题广泛存在,作业分批方法的好坏直接影响整个生产流程的效率。本发明针对该作业分批问题,建立了一个基于指针网络的作业分批模块。同时,本发明提出了一种基于深度强化学习的智能作业分批方法,该方法可以充分利用工业互联网中大量的未标记数据学习稳定分批策略,并能处理有多维度特征的输入数据,给出稳定的、高效的作业分批解决方案。特别的,即使在作业数量较大的实际应用场景中,我们的方法也可以快速生成对应的解决方案。因此,本发明可以应用于实际生产。

对应于上述方法实施例,本发明还提供了一种基于深度强化学习的智能作业分批装置,以实现上述方法。参见图6,该装置包括:特征获取模块601和作业分批模块602;

特征获取模块601,用于获取各待分批作业的静态特征和动态特征,所述作业的静态特征包括作业交货期、作业的规格和工艺要求,所述作业的动态特征包括接收时刻;

作业分批模块602,用于将所述各作业的静态特征和动态特征,输入作业分批模块,利用马尔可夫决策过程将待组批作业集合中具有相似特征的作业组合为同一个批次,使最终组成的批次总数尽量少,且每个批次中的作业特征差异值尽量小。

其中,所述作业分批模块的马尔可夫决策过程为:在每一个时间步,作业分批模块获得当前环境的状态,作业在t时刻的状态包括作业的静态特征、作业在t时刻的需求量大小以及在t时刻当前批次n的剩余可用容量,当前环境在t时刻的状态为所有作业在t时刻的状态的集合;再根据当前环境的状态做出相应的动作,该动作的效果由一个正向或负向的奖励值来衡量,所述奖励值是目标函数值的相反数;然后环境受上一个动作的影响由上一个状态转移到下一个新的状态。

所述的动作做出过程为:将虚拟节点与其他作业节点一起作为模型的输入序列,在每个决策时间点t,作业分批模块依次从所有输入序列中选择一个作为输出节点;默认作业分批模块的第一个输出为虚拟节点,表示组批工作的开始;当作业分批模块选择虚拟节点作为输出节点,则表示当前批次划分结束;当所有作业都组合进对应的批次,根据作业分批模块的决策,会得到一个输出序列,该输出序列即为作业集合的组批结果。

所述的作业分批模型包括编码器和解码器两部分,编码器使用以一维卷积层作为嵌入层,将输入序列中每一作业的静态特征映射虚拟一个输出矩阵;解码器主要由长短期记忆网络、指针网络以及Mask向量组成,其工作过程为:在每个决策时间点t,长短期记忆网络读取上一决策时间点的长短期记忆网络隐含层状态以及上一决策时间点的输出节点,输出t时刻的隐含层状态;指针网络根据编码器的输出矩阵、t时刻长短期记忆网络隐含层状态、t时刻所有输入序列的动态特征向量、以及t时刻当前批次n的剩余容量,结合Mask向量计算出各个输出节点的概率分布,所述的Mask向量长度与输入序列相等,分别与入输序列一一对应,Mask向量每一位的取值为0或1,虚拟节点所对应的Mask向量位的值始终为1;最后选择概率值最大的节点作为t时刻输出节点;当完成t时刻的决策后,立即根据决策结果更新Mask向量、输入序列的动态特征向量、当前批次n的剩余容量,作为下一决策时间点模型的输入。

所述的指针网络的工作过程为:在每一个解码时间步t,使用注意力机制得到t时刻针对输入序列的权重,将权重通过Softmax函数归一化后得到输入序列的概率分布。

所述的作业分批模型的训练方法使用actor-critic算法,actor-critic算法由actor网络与critic网络组成;actor网络用于在每个决策时间点预测输入序列中各节点的概率,选取概率最大的节点作为输出节点;critic网络用于计算输入序列可获得奖励的估计值。

actor-critic算法的步骤为:随机初始化actor网络和critic网络的参数,在每个迭代步epoch,从训练集中随机抽取J个实例,针对每个实例,依次确定其输出序列,直到该实例中所有作业都组合进相应的批次,计算当前输出序列所能获得的奖励值;J个实例的分批任务都完成后,分别计算actor网络和critic网络的梯度并更新。

本发明还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现上述方法实施例中的方法步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一基于深度强化学习的智能作业分批方法的步骤。

本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于深度强化学习的智能作业分批方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

上述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种短期风功率预测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类