一种基于深度强化学习的订单信息处理方法转让专利

申请号 : CN201911241029.8

文献号 : CN111080408B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冷杰武叶锐军刘强宋源苏倩怡

申请人 : 广东工业大学

摘要 :

本发明涉及一种基于深度强化学习的订单信息处理方法,包括:步骤一,对订单数据进行预处理;步骤二,搭建神经网络模型,用预处理后的订单数据训练神经网络;在神经网络结构中加入dropout层,采用交叉验证调节模型超参数并修改损失函数;步骤三,以步骤一中排好顺序的订单属性列为标准,删除新的将要进行决策的订单数据中对应的重要性程度低的订单属性列,将删除后的将要进行决策的订单数据输入搭建好的神经网络模型,获得订单关键要素预测值;步骤四,将预测值输入强化学习模型,最终得到订单接拒模拟运算结果。本发明能够决策出哪些订单接收,哪些订单拒绝,为企业对订单的决策提供辅助判断。

权利要求 :

1.一种基于深度强化学习的订单信息处理方法,其特征在于,包括如下步骤:步骤一,对订单数据进行预处理:制出各种订单数据属性列,对订单数据属性列进行特征重要性评估排序,用户自定义删除重要性程度低的订单属性列,得到预处理后的订单数据;

步骤二,搭建神经网络模型,用预处理后的订单数据训练神经网络;在神经网络结构中加入dropout层,采用交叉验证调节模型超参数并修改损失函数,以改进神经网络模型结构;

步骤三,以步骤一中排好顺序的订单属性列为标准,删除新的将要进行决策的订单数据中对应的重要性程度低的订单属性列,将删除后的将要进行决策的订单数据输入搭建好的神经网络模型,获得订单关键要素预测值;

步骤四,将预测值输入强化学习模型,所述强化学习模型为半马尔科夫决策模型,采用QLEARN算法求解,最终得到订单接拒模拟运算结果;

所述步骤一中,采用随机森林法对订单数据属性列进行特征重要性评估排序,包括如下步骤:A1,对每颗决策树,选择相应袋外数据计算袋外数据误差,记为errOBB1;随机对袋外数据所有样本的特征Xj加入噪声干扰,再次计算袋外数据误差,记为errOBB2;设森林有N颗树,则特征X的重要性为:A2,根据A1计算出订单所有特征重要性,并降序排列,确定剔除比例,得到新的特征集;

A3,用新特征集重复A1和A2的过程,直到剩下m个特征,其中m为提前设定量,根据产生的各特征集与其对应的袋外误差率,选择袋外误差率最低的特征集;

步骤一中用户自定义删除重要性程度低的订单属性列后,若存在需要特殊取舍的订单时,采用箱线图分析订单属性列的值,若值异常则剔除这个订单。

2.根据权利要求1所述的基于深度强化学习的订单信息处理方法,其特征在于:所述神经网络结构包括一个数据输入层、五个卷积层、五个池化层、两个全连接隐含层和一个输出层;所述订单数据通过第一个卷积层以及ReLU激活层,变为一组特征;再经过最大值池化层进行降采样;重复多次以上操作,将最后一个池化层的特征图与全连接隐含层相连,经过ReLU激活之后,传递到所述输出层;其中ReLu激活函数为:f(x)=max(0,x),其中x是神经元的值。

3.根据权利要求2所述的基于深度强化学习的订单信息处理方法,其特征在于:所述步骤二中将预处理后的订单数据输入神经网络模型,采用MSE损失函数训练网络,MSE损失函数为: 其中 为预测值,yi为真实值,其中n为订单个数,i为第i个订单。

4.根据权利要求2所述的基于深度强化学习的订单信息处理方法,其特征在于:所述步骤二中将预处理后的订单数据输入神经网络模型,采用MSLE损失函数训练网络,MSLE损失函数为: 其中n为订单个数,i为第i个订单, 为预测值,yi为真实值。

5.根据权利要求1所述的基于深度强化学习的订单信息处理方法,其特征在于,所述步骤四中求解的算法包括如下步骤:B1,初始化决策阶段,n为订单个数;初始化状态-动作值Q(i,a)=0,其中,i∈S,S为当前订单序号,完成已接受订单所需时间;a∈A,A为动作;初始化α、w、v、ε、γ;其中α为学习率,w为单位时间延期惩罚成本,v为拒绝成本,ε为初始探索率,γ为衰变系数,开始系统仿真;

B2,在决策阶段,生成随机数p(0<p<1);判断如果探索率ε=p,则在动作集里随机选择动作a作为系统动作,如果a=接受,则接受订单,如果a=拒绝,则拒绝订单;执行动作a,得到下一阶段的状态,并根据时间拆分法更新Q值;

Qnew(i,a)=Qold(i,a)+α*(r+(γ*max(Qold(i′,a))-Qold(i,a)))其中,r=z*(R-T*w)-|z-1|*J*v;

R=利润;T=延期时间;J=客户等级;

迭代i,直到i=n。

6.根据权利要求1所述的基于深度强化学习的订单信息处理方法,其特征在于:还包括神经网络模型的更新步骤:C1,将新订单数据输入神经网络模型,得出预测y预的值;

C2,真实y真值减去预测y预值后做梯度下降,对权重矩阵w求导得到当前梯度dwi;

C3,更新权重矩阵w;wi=wi-ηdwi;其中:η为学习率,wi是神经元i对应的权重值。

说明书 :

一种基于深度强化学习的订单信息处理方法

技术领域

[0001] 本发明涉及机器深度学习技术领域,具体涉及一种基于深度强化学习的订单信息处理方法。

背景技术

[0002] 制造业是国民经济的基础产业,是现代化的原动力,是国家硬实力的支柱。我国已经成为了世界闻名的制造大国。而全球化的日益成熟和社交网络的普及改变了生产者和消费者之间的关系,消费者越来越倾向于购买符合他们的喜好的产品。大规模定制模式已经不能满足制造业的需求了,伴随着技术的更新迭代,企业与客户、供应商等之间实现高效的互联与交互,大规模个性化模式出现了。传统的大批量生产制造模式已经逐渐被淘汰,目前都是讲究小批量、个性化的智能制造。随着客户对产品个性化需求的加剧,订单反应时间已成为一种新的竞争因素。减少库存、按订单生产是企业在大规模个性化制造模式下发展的必然方向。大批量个性化订单可能导致企业接单决策困难,不能快速评估订单好坏,无法进行效益最大的决策。制造企业必须寻求合理的订单接受决策方案,能够有效的地利用企业各种资源,提高企业的生产效益。
[0003] 现有订单优选策略不断发展,但并没有提出针对制造业复杂订单且考虑加工过程的优选方法。制造企业现有接受决策考虑尽可能多的利润,倾向于接受全部订单。没有充分考虑企业生产力,使企业不能按时完成订单,企业声誉受到影响。当制造企业生产能力不足以满足顾客的需求时,接受过多订单可能会导致生产系统超负荷,不能按时完成订单,带来较高的惩罚成本即影响企业信誉。同时使顾客满意度降低,造成后期订单流失。大批量个性化订单可能导致企业接单决策困难,不能快速评估订单好坏,无法进行效益最大的决策。

发明内容

[0004] 本发明的目的在于针对现有技术中的不足之处,提供一种辅助企业有选择性的接受订单的基于深度强化学习的订单信息处理方法。
[0005] 为达此目的,本发明采用以下技术方案:
[0006] 一种基于深度强化学习的订单信息处理方法,包括如下步骤:
[0007] 步骤一,对订单数据进行预处理:制出各种订单数据属性列,对订单数据属性列进行特征重要性评估排序,用户自定义删除重要性程度低的订单属性列,得到预处理后的订单数据;
[0008] 步骤二,搭建神经网络模型,用预处理后的订单数据训练神经网络;在神经网络结构中加入dropout层,采用交叉验证调节模型超参数并修改损失函数,改进神经网络模型结构;
[0009] 步骤三,以步骤一中排好顺序的订单属性列为标准,删除新的将要进行决策的订单数据中对应的重要性程度低的订单属性列,将删除后的将要进行决策的订单数据输入搭建好的神经网络模型,获得订单关键要素预测值;
[0010] 步骤四,将预测值输入强化学习模型,所述强化学习模型为半马尔科夫决策模型,采用QLEARN算法求解,最终得到订单接拒模拟运算结果。
[0011] 更进一步的说明,所述步骤一中,采用随机森林法对订单数据属性列进行特征重要性评估排序,包括如下步骤:
[0012] A1,对每颗决策树,选择相应袋外数据计算袋外数据误差,记为errOBB1;随机对袋外数据所有样本的特征Xj加入噪声干扰,再次计算袋外数据误差,记为errOBB2;设森林有N颗树,则特征X的重要性为:
[0013] A2,根据A1计算出订单所有特征重要性,并降序排列,确定剔除比例,得到新的特征集;
[0014] A3,用新特征集重复A1和A2的过程,直到剩下m个特征,其中m为提前设定量,根据产生的各特征集与其对应的袋外误差率,选择袋外误差率最低的特征集。
[0015] 更进一步的说明,步骤一中用户自定义删除重要性程度低的订单属性列后,若存在需要特殊取舍的订单时,采用箱线图分析订单属性列的值,若值异常则剔除这个订单。
[0016] 更进一步的说明,所述神经网络结构包括一个数据输入层、五个卷积层、五个池化层、两个全连接隐含层和一个输出层;所述订单数据通过第一个卷积层以及ReLU激活层,变为一组特征;再经过最大值池化层进行降采样;重复多次以上操作,将最后一个池化层的特征图与全连接隐含层相连,经过ReLU激活之后,传递到所述输出层;其中ReLu激活函数为:f(x)=max(0,x)。
[0017] 更进一步的说明,所述步骤二中将预处理后的订单数据输入神经网络模型,采用MSE损失函数训练网络,MSE损失函数为: 其中 为预测值,yi为真实值。
[0018] 更进一步的说明,所述步骤二中将预处理后的订单数据输入神经网络模型,采用MSLE损失函数训练网络,MSLE损失函数为: 其中n为整个数据集的观测值, 为预测值,yi为真实值。
[0019] 更进一步的说明,所述步骤四中求解的算法包括如下步骤:
[0020] B1,初始化决策阶段n,设置n的最大循环次数为TIMES;初始化状态-动作值Q(i,a)=0,其中,i∈S,S为当前订单序号,完成已接受订单所需时间;a∈A,A为动作;初始化α、w、v、ε、γ;其中α为学习率,w为单位时间延期惩罚成本,v为拒绝成本,ε为初始探索率,γ为衰变系数,开始系统仿真;
[0021] B2,在决策阶段,生成随机数p(0<P<1);判断如果探索率ε=p,则在动作集里随机选择动作a作为系统动作,如果a=接受,则接受订单,如果a=拒绝,则拒绝订单;执行动作a,得到下一阶段的状态,并根据时间拆分法更新Q值;
[0022] Qnew(i,a)=Qold(i,a)+α*(r+(γ*max(Qold(i′,a))-Qold(i,a)))
[0023] 其中,r=z*(R-T*w)-|z-1|*J*v;
[0024]
[0025] R=利润;T=延期时间;J=客户等级;
[0026] 迭代n,直到n=TIMES。
[0027] 更进一步的说明,还包括神经网络模型的更新步骤:
[0028] C1,将新订单数据输入神经网络模型,得出预测y预的值;
[0029] C2,真实y真值减去预测y预值后做梯度下降,对权重矩阵w求导得到当前梯度dwi;
[0030] C3,更新权重矩阵w;wi=wi-ηdwi;其中:η为学习率。
[0031] 本发明的有益效果:本发明提出的基于深度强化学习的订单信息处理方法,基于工厂历史订单数据训练出一个神经网络模型,再将后续新订单数据输入训练好的神经网络模型得出用户订单关键要素(成本、交期)预测值并不断更新神经网络模型;后将经神经网络模型得出的预测值作为强化学习模型的输入,最终决策出哪些订单接收,哪些订单拒绝,为企业对订单的决策提供辅助判断。

附图说明

[0032] 下面结合附图和实施例对本发明进一步说明。
[0033] 图1是逻辑流程图;
[0034] 图2是本发明的一个实施例的对订单数据属性列进行特征重要性评估排序的示意图;
[0035] 图3是本发明的一个实施例的剔除异常订单时的箱线分析图;
[0036] 图4是本发明的一个实施例的神经网络模型的示意图;
[0037] 图5是本发明的一个实施例的QLEARN算法流程图。

具体实施方式

[0038] 下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
[0039] 如图1-图5所示,一种基于深度强化学习的订单信息处理方法,包括如下步骤:
[0040] 步骤一,对订单数据进行预处理:制出各种订单数据属性列,对订单数据属性列进行特征重要性评估排序,用户自定义删除重要性程度低的订单属性列,得到预处理后的订单数据;
[0041] 步骤二,搭建神经网络结构,在神经网络结构中加入dropout层,并采用交叉验证调节模型超参数,将预处理后的订单数据输入到所述神经网络结构中,修改损失函数,改进神经网络模型结构;
[0042] 步骤三,以步骤一中排好顺序的订单属性列为标准,删除新的将要进行决策的订单数据中对应的重要性程度低的订单属性列,将删除后的将要进行决策的订单数据输入搭建好的神经网络模型,获得订单关键要素预测值;
[0043] 步骤四,将预测值输入强化学习模型,所述强化学习模型为半马尔科夫决策模型,采用QLEARN算法求解,最终得到订单接拒模拟运算结果。
[0044] 马尔科夫决策过程为基于马尔科夫过程理论的随机动态系统的最优决策过程,即一个智能体(agent)采取行动(action)从而改变自己的状态(state)获得奖励(reward)与环境(environment)发生交互的循环过程。本发明提出的基于深度强化学习的订单信息处理方法,基于工厂历史订单数据训练出一个神经网络模型,再将后续新订单数据输入训练好的神经网络模型得出用户订单关键要素(成本、交期)预测值并不断更新神经网络模型;后将经神经网络模型得出的预测值作为强化学习模型的输入,最终决策出哪些订单接收,哪些订单拒绝,为企业对订单的决策提供辅助判断。
[0045] 特征重要性评估时,用户根据自己需要进行剔除,比如剔除重要度后30%的订单属性列。在步骤三处理新的将要进行决策的订单数据时,同样进行同样的操作,也即把步骤一种处在后30%的订单属性列的数据删除。此外随机森林法本身可以进行归一化,即预测出的每个特征的重要性加起来等于1(即每个特征重要性各占总特征重要性数值的百分之几,如1特征重要性程度值算出为5,所有特征的重要性程度值的和为10,那么1特征做了归一化的话就为0.5)。若没有进行归一化,如图2所示得出来的是一些大于1的数值,则可以根据数据量的直观结果进行剔除。
[0046] 订单的关键要素标准是用户根据自己的需求自定义的,如一般制造企业看重成本、交货日期,还可以预测物料消耗(可对比库存和库存不够采购何时到达)、碳排量、污水排量等。不同类型的企业对于接收订单时考虑因素不一样,本实施例中只预测了成本和交货日期。
[0047] 更进一步的说明,所述步骤一中,采用随机森林法对订单数据属性列进行特征重要性评估排序,包括如下步骤:
[0048] A1,对每颗决策树,选择相应袋外数据计算袋外数据误差,记为errOBB1;随机对袋外数据所有样本的特征Xj加入噪声干扰,再次计算袋外数据误差,记为errOBB2;设森林有N颗树,则特征X的重要性为:
[0049] A2,根据A1计算出订单所有特征重要性,并降序排列,确定剔除比例,得到新的特征集;
[0050] A3,用新特征集重复A1和A2的过程,直到剩下m个特征,其中m为提前设定量,根据产生的各特征集与其对应的袋外误差率,选择袋外误差率最低的特征集。
[0051] 预测问题就是多输出回归(拟合)问题,因此采用一维卷积神经网络模型作为预测模型。
[0052] 订单生产数据不仅可以包括产品规格、材料,还可以包括工艺流程、设备运转情况、物料库存及人员调度等因素,将制造企业历史订单生产数据预处理后作为神经网络模型的输入,同时把订单中关键要素作为输出标签,搭建卷积神经网络模型并进行模型结构改进直至性能表现最好,完成初步模型的搭建。
[0053] 订单的各项属性是作为神经网络输入的依据,可能存在无效属性值影响算法效率需剔除;故为了保证神经网络的良好性能,采用随机森林法对订单数据属性列进行特征重要性评估排序,删除重要性程度不高的订单属性列,如图2是随机森林对某产品的订单数据特征重要性进行评估。
[0054] 更进一步的说明,步骤一中用户自定义删除重要性程度低的订单属性列后,若存在需要特殊取舍的订单时,采用箱线图分析订单属性列的值,若值异常则剔除这个订单。
[0055] 初步处理后可能存在特殊订单,故还应当筛选并做特殊处理;根据企业实际订单作修改,采用箱线图分析订单属性列的值,若值异常则剔除这个订单。避免异常订单影响神经网络模型的处理结果。这一步骤相当于在剔除了列后,又对行进行了筛选。二者的先后步骤没有影响。
[0056] 更进一步的说明,所述神经网络结构包括一个数据输入层、五个卷积层、五个池化层、两个全连接隐含层和一个输出层;所述订单数据通过第一个卷积层以及ReLU激活层,变为一组特征;再经过最大值池化层进行降采样;重复多次以上操作,将最后一个池化层的特征图与全连接隐含层相连,经过ReLU激活之后,传递到所述输出层;其中ReLu激活函数为:f(x)=max(0,x)。
[0057] 订单数据通过第一个卷积层以及ReLU激活层,变为一组特征;再经过最大值池化层进行降采样,降低特征的维度并一定程度上避免过拟合。
[0058] 更进一步的说明,所述步骤二中将预处理后的订单数据输入神经网络模型,采用MSE损失函数训练网络,MSE损失函数为: 其中 为预测值,yi为真实值。
[0059] 该指标计算的是拟合数据和原始数据对应样本点的误差的平方和的均值,其值越小说明拟合效果越好。
[0060] 更进一步的说明,所述步骤二中将预处理后的订单数据输入神经网络模型,采用MSLE损失函数训练网络,MSLE损失函数为: 其中n为整个数据集的观测值, 为预测值,yi为真实值。
[0061] 若预测值的范围波动比较大,MSE会受到一些大的值的引导,即使小的值预测准也不行,此时采用MLSE损失函数比MSE损失函数效果更好。
[0062] 更进一步的说明,所述步骤四中求解的算法包括如下步骤:
[0063] B1,初始化决策阶段n,设置n的最大循环次数为TIMES;初始化状态-动作值Q(i,a)=0,其中,i∈S,S为当前订单序号,完成已接受订单所需时间;a∈A,A为动作;初始化α、w、v、ε、γ;其中α为学习率,w为单位时间延期惩罚成本,v为拒绝成本,ε为初始探索率,γ为衰变系数,开始系统仿真;
[0064] B2,在决策阶段,生成随机数p(0<P<1);判断如果探索率ε=p,则在动作集里随机选择动作a作为系统动作,如果a=接受,则接受订单,如果a=拒绝,则拒绝订单;执行动作a,得到下一阶段的状态,并根据时间拆分法更新Q值;
[0065] Qnew(i,a)=Qold(i,a)+α*(r+(γ*max(Qold(i′,a))-Qold(i,a)))
[0066] 其中,r=z*(R-T*w)-|z-1|*J*v;
[0067]
[0068] R=利润;T=延期时间;J=客户等级;
[0069] 迭代n,直到n=TIMES。
[0070] 强化学习把智能体与环境之间的交互看作是一个马尔科夫决策过程,而MTO企业订单接受问题是一个典型的随机序贯决策问题,可抽象成半马尔科夫决策过程模型,针对平均累积报酬准则的半马尔科夫决策模型,采用QLEARN算法求解。
[0071] 把要进行决策的一系列新订单输入神经网络模型,得出成本、交期预测值,同时给订单增加一个新属性:客户等级。订单(客户等级、成本、完工期)作为强化学习模型的输入。一系列订单的输入决策出哪些订单接收,哪些订单拒绝。QLEARN的主要优势就是使用了时序差分法TD(融合了蒙特卡洛和动态规划)能够进行离线学习,它是目前主流的强化学习求解问题的方法。奖惩r根据自定义的公式算出,订单有利润R,可能会有延期天数T,如果决定接这个订单,那么做了这个决定就会有奖励:利润减去成本(此时是接单,所以z=1,没有惩罚)。如果拒绝这个订单,这个奖惩r就变为惩罚,本实施例中对不同订单加入了客户等级属性,根据客户等级与拒绝成本做出惩罚,使得做出的决策更加智能。
[0072] 更进一步的说明,还包括神经网络模型的更新步骤:
[0073] C1,将新订单数据输入神经网络模型,得出预测y预的值;
[0074] C2,真实y真值减去预测y预值后做梯度下降,对权重矩阵w求导得到当前梯度dwi;
[0075] C3,更新权重矩阵w;wi=wi-ηdwi;其中:η为学习率。
[0076] 随着订单生产,订单数据不断有新的产生,将新订单数据作为神经网络模型的训练集,对经网络模型进行训练。利用每一个订单数据更新一次经网络模型参数,随着时间的推移,不断更新经网络模型,使经网络模型始终保持良好的预测能力,避免了离线更新经网络模型的问题。
[0077] 以上内容仅为本发明的较佳实施例,对于本领域的普通技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,本说明书内容不应理解为对本发明的限制。