首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 强化学习 / 基于强化学习的生产控制方法

基于强化学习的生产控制方法

阅读:1026发布:2020-07-01

专利汇可以提供基于强化学习的生产控制方法专利检索,专利查询,专利分析的服务。并且本 发明 是一种基于 强化学习 的生产控制方法,对订单变更问题使用半 马 尔可夫决策模型建模,综合考虑企业实际生产环节中的设备使用情况、产品的收益、库存开销以及订单的违约赔偿等因素,将企业收益最大化和变更前后整体生产决策差异最小化作为优化目标,采用动态改变探索速率和学习速率的Q-learning 算法 对生产再决策问题进行优化。数值实验证明,所提出的方法能够快速解决生产再决策问题。,下面是基于强化学习的生产控制方法专利的具体信息内容。

1.一种基于强化学习的生产控制方法,其特征在于包括以下步骤:
(1)、订单状态巡查:接到变更通知后,将生产线暂停生产,巡查正在生产的订单的状态而得到的订单临时状态表;
(2)、生产控制建模:将订单临时状态表体细分到每一个订单中每一种产品的每步工序,此工序即为对应订单的生产单元,用Oi,j,k表示,其中,i=1,…,L表示对应的第i个订单;
j=1,…,M表示对应的是该订单的第j种产品;k=1,…,N表示对应的是该产品的第k步工序;首先定义生产控制系统的状态;
定义:系统的第t个决策对应的状态St:
St=(N1,1,1,N1,1,2,...,Ni,j,k,...,NL,M,N,Et)  (1)
式中,i=1,…,L;j=1,…,M;k=1,…,N;其中,Ni,j,k表示第i个订单中第j种产品处于第k步工序的产品数量,也是对应生产单元Oi,j,k的产品数量,Et表示当前时刻设备的使用状况;每步生产安排就是改变每个生产单元Oi,j,k中产品的数量Ni,j,k,Ni,j,k的变化会导致系统状态发生变化,系统的下一个状态St+1仅与当前状态St有关,当所有订单的所有产品生产安排完成后,生产控制随之完成;
所建立的生产控制模型包括Agent及生产控制环境,所述Agent包括行为空间和决策模;所述生产控制环境包含互相关联并作为决策模块的仓储管理模块、设备管理模块和收益计算模块;
所述决策模块通过Q-learning算法进行训练,训练步骤为:
步骤1、获取状态空间和行为空间,所述状态空间依据订单临时状态表建立,所述行为空间是可执行的行为的集合,所述行为是指各生产单元根据所选择的生产数量进行生产;
同时,初始化探索速率ε和学习效率α,并初始化Q值函数;
步骤2、下列步骤2.1至2.3构成一个完整的episode,重复所述episode直至达到预设的最大episode运行次数:
步骤2.1、从状态空间随机选择一个状态作为初始状态;
步骤2.2、重复步骤2.2.1至2.2.3直至达到预设的最大循环次数:
步骤2.2.1、以ε的概率随机选择一个行为,以1-ε的概率根据当前策略选择最佳行为a;
步骤2.2.2、在当前状态s的基础上执行行为a,获得下一状态s’以及得到执行行为a所获得的奖励r;
步骤2.2.3、根据获得的奖励更新Q值函数;
步骤2.3、根据当前的episode运行次数修正探索速率ε和学习效率α,修正时,随着episode运行次数的增大逐渐减小探索速率ε和学习效率α;
步骤3、将得到的Q值函数应用于决策模块进行决策。
2.如权利要求1所述的基于强化学习的生产控制方法,其特征在于根据当前的episode运行次数修正探索速率ε和学习效率α的方式为:
上式中,ε0为预设的探索速率初始值,α0为预设的学习效率初始值,χ为预设的常数,numepisode是当前的episode运行次数。
3.如权利要求1或2所述的基于强化学习的生产控制方法,其特征在于收益计算模块包括以下步骤的回报函数计算过程:
一、订单变更前后生产决策差异:把具体订单安排的差异累加求和进行计算,并将计算结果作为系统的第一个回报值:
分别表示第i(i=1,2,……,L)个订单生产决策之后及之前的生产安排;
二、订单变更后收益计算:
(一)、产品生产流程计算:所选择的这 件产品处于第i个订单中第j种产品的第k步工序,第k步工序加工完成后,这些产品将被送入下一步工序,直到最后一步工序生产完成;
在第k步生产时,完成 件产品生产所需要的生产时间为
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是第j种产品在第k步工序所需要的单位生产时间;获取此时完成该步的设备可使用时间节点 件产品在第k步工序生产完成后,所处的时间节点用 表示:
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;接下来,进行下一步工序的生产;
在第k+1步生产时,获取此时完成第k+1步的设备可使用时间节点 生产完成这 件产品的第k+1步工序后,所处的时间节点为
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是第j种产品在第k+1步工序生产所需要的单位生产时间;
按照上述生产规则,以此类推,生产完成这 件产品后,所处的时间节点为
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是第j种产品在第N步工序所需的单位生产时间, 为生产第j种产品最后一步工序时,设备可使用的时间节点;
生产完成此次所选择的 个产品之后,将进行该订单是否完成的判断;
(二)、库存费用计算:若订单未全部生产完成,记录此时的时间节点 以及这 件产品每天所需要的库存费用 以便后续计算总库存费用;
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是j种产品所需要的单位库存费用;
若订单全部生产完成,计算该订单生产完成的时间节点 该时间节点应为所有批次产品生产完成时间节点的最大值,也就是该订单最终完成的时间节点:
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;该订单生产完成后,将进行总体库存费用的计算;该订单产生的总体库存费用 为:
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;上述约束表示第i个订单所有生产单元中的产品数量之和与所有批次所选择生产的产品数量之和相等,即所有生产单元已被全部安排完成,标志该订单生产完成;计算库存费用时,需要将所有已完成且暂存仓库的产品进行库存费用的统计,统计结果为该订单所需要承担的总库存费用;
(三)、违约费用计算:计算交货时间节点和订单生产完成时间节点之间的时间差值T:
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中Di是第i个订单的合同中约定的交货时间节点;若T大于或等于0,则表示该订单可以如期交货;若T小于0,此时该订单的生产完成时间大于约定交货时间,企业需要支付违约赔偿费用;
对该订单产生的违约赔偿费用 进行计算:
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中LDi为该订单的单位违约赔偿费用;如果会发生延迟交货时,企业会选择优先生产重要订单,部分次要订单延迟生产,承担违约赔偿费用,以保证最终的整体收益达到最大;
综合以上分析和计算,得到第二个回报值:
式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中Gj是第j种产品的单位收益;
三、双目标整合:系统总的回报集合:
R={Ri|i=1,2}  (14)
将整体变更差异最小与变更后收益最大的双目标转化为单目标优化问题:
式(15)将两个目标按照权重进行整合,R'i是按(16)式对Ri(i=1,2)归一化之后的值,wi是其相对应的权重;

说明书全文

基于强化学习的生产控制方法

技术领域

[0001] 本发明涉及一种基于强化学习的生产控制方法。

背景技术

[0002] 订单变更有减产、增产、工期提前等多种情况,企业对此有多种应对方案,比如执行原 生产计划、取消订单的部分生产任务、半成品强制入库、调整订单的生产顺序、增加生产任 务等。对于不同的决策,企业的获益是不同的,企业的目标是满足客户的需求并将损失降到 最低。一般地,调整后的整体生产计划与原生产计划差异越小,对企业产生的影响越小。若 调整后的生产计划不能在约定的交货期内交货,企业需要支付相应的违约费用;而提前完成 生产的部分产品需要入库暂存,也会产生库存开销。企业需要进行优化决策,使违约费用和 库存开销最小,从而使得收益能够达到最大。
[0003] 制造型企业经常会遇到客户需求发生变化的情况,需要对已签订好的订单做出变更处理。 除了订单增加的情况外,客户订单变更通常会给企业造成一定程度的损失。为尽可能满足客 户的需求,以保证企业的可持续发展和长远收益,企业会对已经安排好的生产作业进行重新 调度安排。上述情况可称为生产控制问题,该问题是一个较为复杂的优化问题。当企业接到 变更请求时,需要平衡设备使用状况、收益获取、仓储开销、违约赔偿等诸多因素,以最大 限度地降低由客户订单变更引起的损失,从而使企业收益达到最大化。
[0004] 传统上,订单变更后生产计划的处理方式包括两种,分别为全重排法和净改变法[1,2]。 其中全重排法(Regeneration,又称作再生法)是将整个生产计划进行重新全面运算;净改变 法(Net Change)只是针对生产计划中发生改变的部分进行分解处理。以上两种方法各有优 缺点:前者准确,但实现复杂且改变较大;后者快速,但只能改变发生变化的部分,并不能 做到变更后全部调度结果最优。因此,多位学者也对订单变更和重调度问题进行了研究和创 新:J Sun等引入了动态反应式生产调度机制,用于在生产订单和制造资源发生变化而无法完 成这些调度时修改原始创建的调度,针对排产中订单变更的部分进行修改,提高了反应效率 [3];孙晟等提出了一种基于强化学习的模式驱动调度系统[4],根据系统环境状态的改变自适 应调整生产调度;针对开放式车间调度问题,王军强等提出了基于多样性增强的自适应遗传 算法进行优化求解[5];吉卫喜等借助模拟退火遗传算法对离散制造车间最优重调度方案进行 求解[6];庞新福等针对炼-连铸领域提出重调度方法[7]。上述学者为订单变更以及不同制造 业的重调度方法打开新的视,也提供了各种新的方法。
[0005] 其中的文献指代说明如下:
[0006] [1]CHENG Kong,GE Yang.Principle and application of MRPII/ERP[M].Tsinghua University Press,2002(in Chinese).
[0007] [2]Vieira G E,Herrmann J W,Lin E.Rescheduling Manufacturing Systems:A Framework of Strategies,Policies,and Methods[J].Journal of Scheduling,2003,6(1):39-62.
[0008] [3]Sun J,Xue D.A dynamic reactive scheduling mechanism for responding to changes of production orders and manufacturing resources[J].Computers in Industry,2001,46(2):189-207.
[0009] [4]SUN Sheng,WANG Shi-jin,XI Li-feng.Pattern driven scheduling system based on reinforcement learning[J].Computer Integrated Manufacturing Systems,2007,13(9):1795-1800(in Chinese).
[0010] [5]WANG Jun-qiang,GUO Yin-zhou,CUI  Fu-dong,et al.Diversity enhancement-based adaptive genetic algorithm for open-shop scheduling problem[J].Computers in Industry,2014, 20(10):2479-2493(in Chinese).
[0011] [6]JI Weixi,CAI Yiyong,ZHANG Chaoyang,et al.Discrete Event-driven Rescheduling Decision-Making Based on Abnormal Events[J].Journal of System Simulation,2018(11).
[0012] [7]PANG Xinfu,JIANG Yingchun,YU Shengping,et al.Flexible operation workshop steelmaking-continuous casting rescheduling method based on human-machine coordination[J]. Computer Integrated Manufacturing Systems,2018,24(10)。
[0013] 但是,目前研究中多偏重于提高响应速度和生产设备的使用效率,而对于企业的实际运 营来说,生产效率固然重要,实际的产品收益也同等重要。因此,现有技术对于企业所面临 的实际收益考虑不够,难于达到企业最终获利最大化的经营目标。

发明内容

[0014] 本发明旨在提供一种基于强化学习的生产控制方法,将企业所面临的实际收益加入模型 进行计算,并采用强化学习算法进行生产控制问题研究,以期企业最终获利最高。
[0015] 本发明所采用的技术方案如下:
[0016] 一种基于强化学习的生产控制方法,其特征在于包括以下步骤:
[0017] (1)、订单状态巡查:接到变更通知后,将生产线暂停生产,巡查正在生产的订单的状 态而得到的订单临时状态表;
[0018] (2)、生产控制建模:将订单临时状态表体细分到每一个订单中每一种产品的每步工序, 此工序即为对应订单的生产单元,用Oi,j,k表示,其中,i=1,…,L表示对应的第i个订单;j=1,…, M表示对应的是该订单的第j种产品;k=1,…,N表示对应的是该产品的第k步工序;首先 定义生产控制系统的状态;
[0019] 定义:系统的第t个决策对应的状态St:
[0020] St=(N1,1,1,N1,1,2,...,Ni,j,k,...,NL,M,N,Et)  (1)
[0021] 式中,i=1,…,L;j=1,…,M;k=1,…,N;其中,Ni,j,k表示第i个订单中第j种产品处 于第k步工序的产品数量,也是对应生产单元Oi,j,k的产品数量,Et表示当前时刻设备的使用 状况;每步生产安排就是改变每个生产单元Oi,j,k中产品的数量Ni,j,k,Ni,j,k的变化会导致系 统状态发生变化,系统的下一个状态St+1仅与当前状态St有关,当所有订单的所有产品生产 安排完成后,生产控制随之完成;
[0022] 所建立的生产控制模型包括Agent及生产控制环境,所述Agent包括行为空间和决策模 ;所述生产控制环境包含互相关联并作为决策模块的仓储管理模块、设备管理模块和收益 计算模块;
[0023] 所述决策模块通过Q-learning算法进行训练,训练步骤为:
[0024] 步骤1、获取状态空间和行为空间,所述状态空间依据订单临时状态表建立,所述行 为空间是可执行的行为的集合,所述行为是指各生产单元根据所选择的生产数量进行生 产;同时,初始化探索速率ε和学习效率α,并初始化Q值函数;
[0025] 步骤2、下列步骤2.1至2.3构成一个完整的episode,重复所述episode直至达到预 设的最大episode运行次数:
[0026] 步骤2.1、从状态空间随机选择一个状态作为初始状态;
[0027] 步骤2.2、重复步骤2.2.1至2.2.3直至达到预设的最大循环次数:
[0028] 步骤2.2.1、以ε的概率随机选择一个行为,以1-ε的概率根据当前策略选择最佳行 为a;
[0029] 步骤2.2.2、在当前状态s的基础上执行行为a,获得下一状态s’以及得到执行行为a 所获得的奖励r;
[0030] 步骤2.2.3、根据获得的奖励更新Q值函数;
[0031] 步骤2.3、根据当前的episode运行次数修正探索速率ε和学习效率α,修正时,随 着episode运行次数的增大逐渐减小探索速率ε和学习效率α;
[0032] 步骤3、将得到的Q值函数应用于决策模块进行决策。
[0033] 优选地,根据当前的episode运行次数修正探索速率ε和学习效率α的方式为:
[0034]
[0035]
[0036] 上式中,ε0为预设的探索速率初始值,α0为预设的学习效率初始值,χ为预设的常 数,numepisode是当前的episode运行次数。
[0037] 优选地,收益计算模块包括以下步骤的回报函数计算过程:
[0038] 一、订单变更前后生产决策差异:把具体订单安排的差异累加求和进行计算,并将计算 结果作为系统的第一个回报值:
[0039]
[0040] 分别表示第i(i=1,2,……,L)个订单生产决策之后及之前的生产安排;
[0041] 二、订单变更后收益计算:
[0042] (一)、产品生产流程计算:所选择的这 件产品处于第i个订单中第j种产品的第k 步工序,第k步工序加工完成后,这些产品将被送入下一步工序,直到最后一步工序生产完 成;
[0043] 在第k步生产时,完成 件产品生产所需要的生产时间为
[0044]
[0045] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是第j种产品在第k 步工序所需要的单位生产时间;获取此时完成该步的设备可使用时间节点 件产品 在第k步工序生产完成后,所处的时间节点用 表示:
[0046]
[0047] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;接下来,进行下一步工序的 生产;在第k+1步生产时,获取此时完成第k+1步的设备可使用时间节点 生产完成这 件产品的第k+1步工序后,所处的时间节点为
[0048]
[0049] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是第j种产品在第 k+1步工序生产所需要的单位生产时间;
[0050] 按照上述生产规则,以此类推,生产完成这 件产品后,所处的时间节点为[0051]
[0052] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是第j种产品在第N 步工序所需的单位生产时间, 为生产第j种产品最后一步工序时,设备可使用的时间节 点;生产完成此次所选择的 个产品之后,将进行该订单是否完成的判断;
[0053] (二)、库存费用计算:若订单未全部生产完成,记录此时的时间节点 以及这件 产品每天所需要的库存费用 以便后续计算总库存费用;
[0054]
[0055] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中 是j种产品所需要的 单位库存费用;
[0056] 若订单全部生产完成,计算该订单生产完成的时间节点 该时间节点应为所有批次 产品生产完成时间节点的最大值,也就是该订单最终完成的时间节点:
[0057]
[0058] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;该订单生产完成后,将进行 总体库存费用的计算;该订单产生的总体库存费用 为:
[0059]
[0060] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;上述约束表示第i个订单所 有生产单元中的产品数量之和与所有批次所选择生产的产品数量之和相等,即所有生产单元 已被全部安排完成,标志该订单生产完成;计算库存费用时,需要将所有已完成且暂存仓库 的产品进行库存费用的统计,统计结果为该订单所需要承担的总库存费用;
[0061] (三)、违约费用计算:计算交货时间节点和订单生产完成时间节点之间的时间差值T:
[0062]
[0063] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中Di是第i个订单的合同 中约定的交货时间节点;若T大于或等于0,则表示该订单可以如期交货;若T小于0,此时 该订单的生产完成时间大于约定交货时间,企业需要支付违约赔偿费用;
[0064] 对该订单产生的违约赔偿费用 进行计算:
[0065]
[0066] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中LDi为该订单的单位违约 赔偿费用;如果会发生延迟交货时,企业会选择优先生产重要订单,部分次要订单延迟生产, 承担违约赔偿费用,以保证最终的整体收益达到最大;
[0067] 综合以上分析和计算,得到第二个回报值:
[0068]
[0069] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R;其中Gj是第j种产品的单位 收益;
[0070] 三、双目标整合:系统总的回报集合:
[0071] R={Ri|i=1,2}  (14)
[0072] 将整体变更差异最小与变更后收益最大的双目标转化为单目标优化问题:
[0073]
[0074] 式(15)将两个目标按照权重进行整合,R′i是按(16)式对Ri(i=1,2)归一化之后的值, wi是其相对应的权重;
[0075]
[0076] 本发明的积极效果在于:本发明运用的强化学习是一种机器学习方法,是行为主体从环 境到行为映射的学习,行为主体在环境状态转换中不断优化自己的行为。强化学习中的状态 转换符合尔科夫性,而通过对离散制造业的业务流程进行研究后,发现生产再决策问题具 有马尔科夫性。针对这一性质,对生产控制问题进行系统建模,将企业收益最大化与订单整 体变更差异最小化作为优化目标,运用强化学习算法对生产控制问题进行优化,最后通过数 值实验验证了该方法的有效性。附图说明
[0077] 图1是本发明实施例生产控制系统结构模型示意图。
[0078] 图2是本发明实施例生产流程示意图。
[0079] 图3是本发明实施例部署示意图。
[0080] 图4是本发明实施例Q-learning算法回报曲线(一),固定探索速率α=0.8,固定学习速 率ε=0.2。
[0081] 图5是本发明实施例Q-learning算法回报曲线(二),固定探索速率ε=0.8,动态改变学 习速率α0=0.2。
[0082] 图6是是本发明实施例Q-learning算法回报曲线(三),固定学习速率α=0.2动态改变探 索速率ε0=0.8。

具体实施方式

[0083] 下面结合附图、实施例和实验结果进一步说明本发明。
[0084] 1、强化学习应用场景简介
[0085] 强化学习能够应用于诸多领域,比如2016年AlphaGo战胜职业围棋选手,强化学习方法 获得空前成功;同年谷歌DeepMind发表论文,详细解析了深度强化学习。强化学习也应用 于智能工业,例如新型智能手臂的诞生。在互联网广告竞价方面也有涉及,在不同阶段模型 中调整广告投标价格以优化该模型中的广告投放效果。强化学习也可以完成资源管理,针对 特定的工作进行负载优化。同样也广泛用于手工制造业、仿真模拟、优化与调度中。
[0086] 2、基于SMDP的生产控制系统模型
[0087] 订单变更有减产、增产、工期提前等多种情况,企业对此有多种应对方案,比如执行原 生产计划、取消订单的部分生产任务、半成品强制入库、调整订单的生产顺序、增加生产任 务等。对于不同的决策,企业的获益是不同的,企业的目标是满足客户的需求并将损失降到 最低。一般地,调整后的整体生产计划与原生产计划差异越小,对企业产生的影响越小。若 调整后的生产计划不能在约定的交货期内交货,企业需要支付相应的违约费用;而提前完成 生产的部分产品需要入库暂存,也会产生库存开销。企业需要进行优化决策,使违约费用和 库存开销最小,从而使得收益能够达到最大。
[0088] 2.1订单状态巡查
[0089] 在实现订单变更操作时,结合传统的全重排法和净改变法的思想,将生产线上所有的订 单进行挂起操作之后,再采取生产控制。利用强化学习的方法进行生产控制,其结果兼顾了 整体的生产安排和企业收益,此种方法既吸取了全重排法的整体性优点又结合了净改变法的 高效性。故而,系统在进行生产再决策时,不仅需要获取当前进行变更的订单所处的生产状 态,也需获取其余订单的生产状态。以上获取生产状态的操作需要对整体订单进行状态巡查。 方法是:接到变更通知后,将生产线暂停生产,巡查正在生产的订单的状态而得到的一个汇 总表,称之为订单临时状态表。获得订单临时状态表后,系统即可进行生产再决策。
[0090] 2.2生产控制问题建模
[0091] 一个订单通常包含多种产品,其中每种产品由多步工序生产完成。生产控制问题涉及每 个订单、每种产品、每步工序的生产安排,不同的安排会产生不同的收益,并且每步生产安 排均对后续的生产安排产生影响。在该问题中,对每种产品生产的决策以及每步工序的决策 均视为相互独立,但后一步工序必须在前一步工序完成的基础之上进行。在进行生产控制之 前,对生产状态巡查得到的订单临时状态表进行划分,具体划分到每一个订单中每一种产品 的每步工序,此工序即为对应订单的生产单元,用Oi,j,k表示。其中,i=1,…,L表示对应的 第i个订单;j=1,…,M表示对应的是第j种产品;k=1,…,N表示对应的是第k步工序。为 了将上述订单变更问题进行建模,首先定义生产控制系统的状态。
[0092] 定义:系统的第t个决策对应的状态St:
[0093] St=(N1,1,1,N1,1,2,...,Ni,j,k,...,NL,M,N,Et)  (1)
[0094] 式中,i=1,…,L;j=1,…,M;k=1,…,N。其中,Ni,j,k表示第i个订单中第j种产品处 于第k步工序的产品数量,也是对应生产单元Oi,j,k的产品数量,Et表示当前时刻设备的使用 状况。在对订单进行挂起操作时,最多共有L个订单,每个订单中至多有M种产品,每种产 品至多需要N步工序完成,则订单临时状态表最大维度将为L*M*N。每步生产安排就是改变 每个生产单元Oi,j,k中产品的数量Ni,j,k,Ni,j,k的变化会导致系统状态发生变化,系统的下一 个状态St+1仅与当前状态St有关。当所有订单的所有产品生产安排完成后,生产控制也就随 之完成。
[0095] 从上述描述中可以看出,生产控制问题具有马尔科夫性质,即系统的第t+1个状态仅与系 统当前的状态有关,与过去或者将来的状态无关,可以用公式(2)表示。
[0096] P[St+1|St]=P[St+1|S1,...,St]  (2)
[0097] 公式(2)是一种概率表示,表示系统的第t+1个状态仅与系统当前的状态St有关,与过 去的S1……St-1个状态无关,是系统具有马尔可夫性的定义。
[0098] 在实际生产中,系统状态转换需要时间且分布不确定,转换时间由所安排生产产品的工 序和产品数量决定。故生产控制问题,可以用半马尔科夫决策过程进行建模。
[0099] 本发明实施例运用强化学习算法对以上所描述的半马尔科夫决策过程求最优解。对生产 控制系统进行建模,具体的模型结构如图1。
[0100] 在2.1所述的订单状态巡查完成之后,能够得到订单临时状态表,从该表中可以获取此次 进行生产控制的行为空间,也可以得到此次需要进行再决策的多个生产单元。在生产再决策 系统中,决策模块通过状态识别模块进行生产再决策环境的状态识别后,从行为空间中选取 该步所执行的行为,对生产再决策环境产生影响并使其发生改变。在生产再决策环境中包含 多种模块,例如仓储管理模块和设备管理模块等,其中最重要的模块为收益计算模块,该模 块与其他模块相关联,进行收益计算并产生回报。模型的原理可以进行如下描述:Agent感知 到生产再决策状态(主要感知的是订单临时状态表的变化和当前设备的使用情况),从行为空 间中选择需要执行的行为(指的所有可能的生产单元),该行为会对生产再决策环境产生影响 从而改变环境状态,生产再决策环境此时会将回报返回给Agent,对决策模块进行修正和改进 并进行下一次的迭代,直至得到满足要求的决策,本次决策完成,得到决策结果。
[0101] 2.3回报函数计算
[0102] 本发明实施例将订单变更前后生产决策的整体差异和订单变更后的收益计算结果作为混 合回报。其中订单变更前后的整体差异,是指所有的正在系统中的订单与生产再决策之前的 生产安排之间的差异。在之前的状态巡查中,实际上已经将所有订单进行挂起,之后,将对 指定订单以及其他订单进行生产再决策安排,故而,这里的差异是整体订单的差异。
[0103] 2.3.1订单变更前后生产决策差异
[0104] 生产再决策时,期望整体订单的安排与之前生产安排的差异性最小,以最大限度减少对 机器设备使用的变动以及人员的调动。整体订单变更前后生产安排的差异大小,可以通过把 具体订单安排的差异累加求和进行计算,并将计算结果作为系统的第一个回报:
[0105]
[0106] 分别表示第i(i=1,2,……,L)个订单生产决策之后及之前的生产安排。此处 将差异计算值取为负值,即执行变更后差异越大回报越小,这与企业的期望相符。
[0107] 2.3.2订单变更后收益计算
[0108] 本发明实施例采用分步安排的方法,具体安排订单临时状态表中每一个生产单元Oi,j,k中 的产品数量Ni,j,k。在此模型中,设定一个订单所有产品全部完成后,才计算收益。在进行生 产安排时,需要具体安排每个订单中每种产品在每步工序上的生产。为方便描述,将产品的 生产流程用图2表示。
[0109] 上图描绘了具体每步生产安排的过程。图中,Oi表示当前的第i个订单; 表示第j种产 品的第k步生产工序。从当前生产单元Ni,j,k件产品中选择此次进行生产加工的产品数量  其中r=1,…,R为计数变量,记录对应第i个订单的批次数,每进行一次选择即为一 个批次,R表示最后一次批次。选择完成后,将对原生产单元Oi,j,k中的产品数量进行更新, 更新值为 其中 这代表可能选择一次性全部生产完该生产单元的所 有产品,也可能选择先生产该单元的部分产品。对于所选择此次生产的 件产品,将进行 逐步生产直至全部生产完成。在生产完成该次选择的产品后,将判定此次选择产品所属的订 单是否全部生产完成,若未全部生产完成,则将此次生产完成的产品进行入库处理;若已全 部生产完成,则将全部产品进行装箱配送。
[0110] (1)、产品生产流程计算
[0111] 以下将对此次所选择的这 件产品具体的生产安排进行展开计算,计算过程如下:
[0112] 采用强化学习算法优化选择此次所生产的产品数量 这种优化可以使企业收益最高。 所选择的这 件产品处于第i个订单中第j种产品的第k步工序,第k步工序加工完成后, 这些产品将被送入下一步工序,直到最后一步工序生产完成。
[0113] 在第k步生产时,完成 件产品生产所需要的生产时间为
[0114]
[0115] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。其中 是第j种产品在第k 步工序所需要的单位生产时间。获取此时完成该步的设备可使用时间节点 件产品 在第k步工序生产完成后,所处的时间节点用 表示:
[0116]
[0117] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。接下来,进行下一步工序的 生产。在第k+1步生产时,获取此时完成第k+1步的设备可使用时间节点 生产完成这 件产品的第k+1步工序后,所处的时间节点为
[0118]
[0119] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。其中 是第j种产品在第k+1步工序生产所需要的单位生产时间。
[0120] 按照上述生产规则,以此类推,生产完成这 件产品后,所处的时间节点为[0121]
[0122] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。其中 是第j种产品在第N 步工序所需的单位生产时间, 为生产第j种产品最后一步工序时,设备可使用的时间节 点。生产完成此次所选择的 个产品之后,将进行该订单是否完成的判断。
[0123] (2)、库存费用计算
[0124] 若该订单未全部生产完成,则需要将这些产品暂存仓库。此时,企业需要承担相应产品 的库存费用。记录此时的时间节点 以及这 件产品每天所需要的库存费用以便后 续计算总库存费用。
[0125]
[0126] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。其中 是j种产品所需要的 单位库存费用(即每件每天的费用)。
[0127] 若该订单全部生产完成,计算该订单生产完成的时间节点 该时间节点应为所有批 次产品生产完成时间节点的最大值,也就是该订单最终完成的时间节点:
[0128]
[0129] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。该订单生产完成后,将进行 总体库存费用的计算。该订单产生的总体库存费用 为:
[0130]
[0131] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。上述约束表示第i个订单所 有生产单元中的产品数量之和与所有批次所选择生产的产品数量之和相等,即所有生产单元 已被全部安排完成,标志该订单生产完成。计算库存费用时,需要将所有已完成且暂存仓库 的产品进行库存费用的统计,统计结果为该订单所需要承担的总库存费用。
[0132] (3)、违约费用计算
[0133] 判断该订单是否发生违约行为。若完成订单时间节点超过该订单的所约定的交货时间节 点,就需要进行违约赔偿。故而,需要计算交货时间节点和订单生产完成时间节点之间的时 间差值T:
[0134]
[0135] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。其中Di是第i个订单的合同 中约定的交货时间节点。若T大于或等于0,则表示该订单可以如期交货;若T小于0,此时 该订单的生产完成时间大于约定交货时间,企业需要支付违约赔偿费用。
[0136] 对该订单产生的违约赔偿费用 进行计算:
[0137]
[0138] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。其中LDi为该订单的单位违约 赔偿费用。如果会发生延迟交货时,企业会选择优先生产重要订单,部分次要订单延迟生产, 承担违约赔偿费用,以保证最终的整体收益达到最大。一般地,违约时间越长,需要承担的 违约费用则相对越多。
[0139] 综合以上分析和计算,可以得到第二个回报:
[0140]
[0141] 式中,i=1,…,L;j=1,…,M;k=1,…,N;r=1,…,R。其中Gj是第j种产品的单位 收益。由上式可以看出,我们将在该订单完成后计算收益。对于制造型企业来说,可以将订 单进行拆分,也可出售半成品,为简化模型,我们将半成品也划归为成品,最终结果并不影 响实际生产结果。
[0142] 2.3.3双目标整合
[0143] 综合以上,可以得到系统总的回报集合:
[0144] R={Ri|i=1,2}  (14)
[0145] 系统的最终回报将权衡整合所有相关回报。本发明采用SAW(Simple Additive Weighting, 简单加权法)进行双目标问题优化。SAW是一种经典的线性加权方法,它忽略了不同目标函 数的不同单位和范围,通过给不同的目标函数制定相应的权重,将所有的目标函数进行线性 加权,用一个综合效用函数表示总体优化的目标。将整体变更差异最小与变更后收益最大的 双目标转化为单目标优化问题:
[0146]
[0147] 式(15)将两个目标按照权重进行整合,Ri'是按(16)式对Ri(i=1,2)归一化之后的值, wi是其相对应的权重。
[0148]
[0149] 对于权重的确定,企业通常偏向于对原有生产计划影响最小的变更安排,本发明将变更 差异权重制定的稍高。权重是通过实验方法反复验证得到的,本实施例中,R1权重是0.4, R2权重0.2。
[0150] 本发明采用强化学习算法进行生产再决策安排,通过平衡各种收益、费用等,实现生产再 决策的最优化,使得企业最终整体回报最大,完成订单变更需求。
[0151] 3、Q-learning算法描述
[0152] 本发明采用行为策略和评估策略不同的异策略强化学习算法Q-learning训练Agent。在强 化学习算法中,关键点在于平衡探索(Exploration)与开发(Exploitation)的关系。探索是选 择此状态下选择未知回报的行为,也就是对未知的探索,Agent通过探索能够提升获得最终收 益的目的;开发是在此状态下选择已知回报最大的行为,也就是对已知进行利用开发,能够 使算法收敛和稳定。如何平衡探索和开发是强化学习中比较关键的问题,如果Agent只是探 索,那最终可能无法收敛,也可能错过最优的策略;但如果一味的去开发,就可能找不到更 好的策略。
[0153] 在面对实际生产再决策问题时,为了能取得最大的收益和提高算法实现的效率,使得试 验迭代次数在可接受范围内,在开始进行迭代探索时,往往需要较大的学习速率和探索速率 来修正Agent的行为,从而能够实现更加全面的探索。随着试验次数的增加,也为避免错过 最优解,需要逐渐减小探索速率和学习速率。为实现上述思想,本发明采用动态设置探索效 率ε和学习效率α的方法来改进Q-learning算法,以便更加贴合实际应用。
[0154]
[0155]
[0156] 其中:α0,ε0,χ均为常数。在进行试验时,先将探索速率和学习速率设置为较大值。 通过试验和改变迭代次数,以满足实际效果的要求,最终将参数分别设置为0.2,0.8,1000, 可以获得较好的收敛性。numepisode是episode的实验次数,其中episode(插曲)每次运行必 到终止状态才停止,是一次完整的试验。随着episode增加,探索速率和学习速率都在逐渐减 小,最终算法会趋于稳定。
[0157] 实现算法如下:
[0158]
[0159] 将订单临时状态表输入,输出为迭代回报曲线以便后续进行结果评估。对于本发明的优 化问题,在算法中加入实际生产限制,从而使得结果更加贴合实际生产,更加满足企业提出 的变更需求。
[0160] 表1算法中用到的参数表示以及其说明
[0161]
[0162]
[0163] 在上述算法中,第一步(行号[1])初始化参数,获取当前状态空间以及行为空间。之后 进行M次迭代进行训练Agent(行号[2]~[21]),Agent在一次次插曲中,不断修正自己的行为 (修正Q值),以达到最终收益最大。RL算法更加符合人类学习的生物机制。通过不断与环 境进行交互,不断学习,提升自己的能
[0164] 其中,[3]获取初始状态,在每一次的插曲中,都随机选择一个初始状态,Agent开始学习, 这样保证的每次初始状态都不相同,有更好的学习效果。[4]~[18]Agent进行每步学习。 Q-learning算法是异策略算法,行为策略中采用ε-greedy(ε-贪婪策略),即在上述算法中[5]~[6] 以ε的概率随机选择行为,也就是以ε的概率选择去探索,以1-ε的概率在已知的行为中选 择最优的策略,也就是去开发。[7]~[9]判断所选择的行为是否有效。在实际意义中就是判断 选择生产的产品数量是否为0,如果为0则进行随机选择。[10]为选择完成后,将所选行为赋 值给at,[11]执行行为at,获得当前环境状态和反馈。[12]~[17]进行策略评估。[12]~[16]判断 下一个状态是否为终止状态,计算不同的目标值,[17]进行策略的评估和提升,根据目标值和 预测值之间的误差将值函数进行更新。
[0165] 算法主要由两部分构成,行为选择([5]~[11])和行为评估([12]~[17])。行为选择决定探 索还是开发,行为评估是为了让Agent在不断的选择行为中有更好的性能。在进行行为评估 的时候,使用值函数逼近目标值函数的做法,以达到最优结果[20]。从[17]可以看出,值函数 Q(st,at)在学习速率α的作用下会朝着目标值函数Qtarget(s,a)逼近。Qtarget(s,a)是在迭代运行 中得到的结果,是由当前回报和在折扣因子γ作用下的下一个状态最大值函数叠加所得,也 表明,我们更期望总体回报最大,而不是某一步回报最大,为了整体回报可能会牺牲当前回 报,在迭代中不断的修正当前状态的目标值函数。最终在迭代过程中不断改进值函数,使得 结果逼近最优。
[0166] 4、部署方式
[0167] 企业的安全生产非常重要,安排订单生产容不得半点差错,一旦出错可能就会给企业造 成巨大损失。强化学习是一种不断试错的学习方式,一般均在若干次学习之后才能够找到较 优的策略,如果直接部署算法程序,由于迭代次数或者选取方式的不同,并不能确保所产生 的方式一定是最优的方式,为了在实际应用中提高算法的效率以及实施的安全性。本发明采 用执行和学习分开的方式来部署系统。Agent的学习模块将在一个模拟的环境中进行,每步操 作并不影响实际的生产安排,这样极大的保证了生产的安全性。而执行模块将通过贪婪策略 选取学习效果最好的策略进行实际生产的执行,这样极大的保证了生产的高效性。图3为部 署示意图,左部分是执行模块,右部分是学习模块。在收到变更请求后,将真实环境复制给 模拟环境,学习模块开始进行学习,当学习完成之后执行模块通过贪婪策略选择最优策略进 行变更执行。
[0168] 5、Q-learning数值实验
[0169] 进行生产再决策模拟实验,构建企业生产状态为外部环境,输入订单临时状态表,进行 算法运行,实现生产再决策。此次模拟实验在Linux系统下采用python编程语言实现。在实 验中分别设置探索速率ε和学习速率α,进行四组对比实验。实现结果以回报曲线进行呈现 和评估。
[0170] (一)、固定探索速率ε和学习速率α。将算法的探索速率ε设置为0.8,学习速率α设置 为0.2进行实验。从实验运行结果(图4)来看,Agent最终并未达到稳定状态,回报曲线 浮动较大,进行500次迭代运算,并未收敛且也未较多次停留在最大值附近,其原因在于一 直保持较大的探索速率和学习速率,在实际生产中就会导致产品收益不稳定,不能达到理想 效果。
[0171] (二)、固定探索速率ε,动态改变学习速率α。将算法的探索速率ε设置为0.8,学习 速率初始值α0设置为0.2,并按照公式(18)进行动态改变。从实验结果(图5)来看,回 报结果最后较多次停留在某一值附近,但是曲线仍波动较大,原因在于随着学习速率的减小, 各个行为的回报趋于稳定,但仍保持较高的探索速率,仍会去以较大概率进行探索,回报曲 线不稳定,在实际生产中也会导致产品收益不稳定的现象。
[0172] (三)、固定学习速率α,动态改变探索速率ε。将算法的学习速率α设置为0.2,探索 速率初始值ε0设置为0.8,并按照公式(18)进行动态改变。从实验结果来看(图6),回报 结果最终趋于稳定,但并未稳定在最大值。原因在于随着探索速率的减小,探索行为越来越 少,但是一直保持较高的学习速率,以致最终错过最优值,最终并未得到较好的效果,在实 际生产中,会导致产品收益降低的现象。
[0173] (四)、动态改变学习速率α,以及动态改变探索速率ε。将算法的探索速率初始值ε0设 置为0.8,学习速率初始值α0设置为0.2,并分别按照公式(17)和公式(18)进行动态改变。 回报曲线在将近140次迭代之后趋于稳定。在迭代开始,有较大的学习速率和探索速率,随 着迭代的进行,探索速率和学习速率都在进行减小,最终平衡探索与开发的关系,Agent不断 的进行试错,累积回报,平衡产品工序安排效果,如此不断的迭代,最终达到一个较好的结 果。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈