一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度强化学习的智能排产动态调度方法与流程

2022-03-09 01:37:51 来源:中国专利 TAG:


1.本发明涉及智能排产技术领域,特别涉及基于深度强化学习的智能排产动态调度方法。


背景技术:

2.目前相关技术中,智能排产动态调度方法大多基于最优化方法和近似/启发式算法。近年来,很多学者也开始使用深度强化学习来求解各种动态调度问题,包括智能排产动态调度问题。最优化方法主要包括混合整数线性规划(milp)、分支定界法及拉氏松弛法等;近似/启发式方法最初氏由于计算量小并且算法易实现而引入的,主要包括优先分派规则(pdr)、神经网络(nn)及邻域搜索法(ns),邻域搜索法又包括禁忌搜索(ts)、遗传算法(ga)和模拟退火(sa)等可以称之为亚启发式(meta-heuristic)的近似优化方法,最优化方法主要受计算规模的限制。由于对一个n
×
m的智能排产动态调度问题有(n!)
×
m种可能的解,因此大规模问题使用精确求解的计算方法上是不可行的。
3.目前深度强化学习模型(drl)在智能排产动态调度问题上的研究已经有了较大进展,深度强化学习被广泛应用于解决各种动态调度问题。这类模型比传统的优先调度规则启发式更灵活,强化学习环境可以对随机决策和柔性问题进行建模,例如非确定性作业重新进入、工序间的串并行顺序、工序有多条产线可选、设备有多条产线可选等,但是上述处理方法大多还处于理论研究的阶段,还不能面向工厂真实需求的复杂约束建模,对于某些随机工厂停机、随机处理时间、订单截止时间等问题,无法提供满足工厂真实需求的智能排产动态调度方法;另外真实的工厂需求通常是要考虑到高级计划排程(aps),将短期计划和中长期计划分开建模,同时保证短期计划的精准性和长期计划的快速求解,这也是目前主流深度强化学习模型未能覆盖的领域。
4.为此,我们提出了基于深度强化学习的智能排产动态调度方法。


技术实现要素:

5.本发明的目的在于提供基于深度强化学习的智能排产动态调度方法,解决了背景技术中难以实现实时化、自主化、无人化的工厂智能排产的问题。
6.为实现上述目的,本发明提供如下技术方案:基于深度强化学习的智能排产动态调度方法,包括以下步骤:
7.s1:读取当前时刻工厂接收的订单情况、物料数量、工人班次日历、产线生产日历;
8.s2:对读进来的原始数据进行处理,根据订单交付日期及所需物料情况区分短期计划和长期计划;
9.s3:搭建深度强化学习框架,同时将产线、工序、产能特征向量输入训练后得到目标智能体的目标策略网络;
10.s4:考虑各工序的开始时间、结束时间,各产线、机器的时间日历;
11.s5:将订单结束时间拆分到各工序。
12.进一步地,在s1中,其中订单数据中包含所需产品的数量及产品交付截止时间,每个产品完成需要经过若干道工序,各工序间有一定的串并行顺序,且产线上切换机器或物料需要一定的设备转移时间,串行的工序间通常有最小等待时间或最大等待时间约束。
13.进一步地,在s2中,短期计划需要以分钟为单位精细处理,将这部分订单中的所有工序全部排到产线上;长期计划的订单只需评估物料数量、产线、机器、产能等资源情况,存在资源瓶颈时给出预警,无资源瓶颈时提供以天为单位的粗略排产结果即可,其次计算出工人、机器、产线在每个时间节点上的数量,结合工人班次日历和产线生产日历生成以分钟为单位的资源时间轴。
14.进一步地,在s3中,使用asynchronous advantage actor critic(a3c)模型,除了要求奖励值最大,还会要求每次选择动作输出的熵最大,通过这种做法让策略随机化,输出的每一个动作的概率尽可能分散,而不是集中在一个动作上。
15.进一步地,在s3中,得到所述当前时刻目标策略网络中的深度神经网络的调度目标,并对产线、工序、产能状态特征向量进行处理后输入分类函数得到每一个优化目标对应的选择概率。
16.进一步地,对于s1中描述的约束,引入工序最早开始时间和期望结束时间,将所有约束全部转化为工序、产线上的时间轴,来统一控制、更新。
17.进一步地,在s4中包括以下步骤:
18.s41:首先对于有前置工序要求的部分,需要初始化开始时间为一个较大值;
19.s42:当所有前置工序全部完成时,更新该开始时间为其所有前置工序的最大结束时间;
20.s43:其次对于有最小等待时间或最大等待时间约束的情况,当前置工序完成后,开始时间需更新为前置工序的结束时间加最小/最大等待时间。
21.进一步地,在s5中,由于深度强化学习模型需要反复更新奖励值,每个订单都需要尽可能保证在交货日期前完成,并且考虑订单的重要程度,所以需要按照整体可用时间按照一定规则拆分到各工序可用时间,根据订单是否紧急等静态属性设计奖励函数。
22.进一步地,离线训练包括以下步骤:
23.s01:生成每条产线作为一个智能体的目标策略网络;
24.s02:更新奖励值使用的奖励函数网络;
25.s03:存储每个中间状态的状态特征向量,并对各个网络进行参数初始。
26.在每个训练周期内,随机生成新的训练环境,并用a3c对所有智能体进行离线预训练,根据每个智能体的目标策略网络,生成最佳的工序-产线分配方案,并根据各产线考虑自身的最晚结束时间、空闲时间占比、各工序是否结束时间晚于预期等目标决策状态,生成奖励函数网络,通过最小平方误差损失函数(mse)更新目标智能体的目标状态价值网络和状态特征向量,此过程不断进行,直到最终所有工序的分配方案满足使用需求。
27.进一步地,在智能排产过程中,首先读取当前时刻生产线调度特征向量,再根据前序工序和物料情况筛选当前可执行工序向量,同时利用产线和工序向量作为输入,在深度强化学习智能体网络中训练,得到当前时刻的工序-产线指派规则,再根据所有工序是否都已分配至产线,若没有,则需根据时间轴移动规则更新时间,再根据奖励值更新智能体奖励网络,最后再根据已完成任务更新产线和工序,进入到新的工序-产线指派规则,若有,则继
续判定是否迭代到最大次数或目标函数已收敛,若是,则输出深度强化学习智能排产结果,若不是,则重新读取生产线调度特征向量,直到输出深度强化学习智能排产结果。
28.与现有技术相比,本发明的有益效果是:
29.1、本发明提出的基于深度强化学习的智能排产动态调度方法,搭建深度强化学习框架,使用asynchronous advantage actor critic(a3c)模型,除了要求奖励值最大,还会要求每次选择动作输出的熵最大,通过这种做法让策略随机化,输出的每一个动作的概率尽可能分散,而不是集中在一个动作上,使用a3c的深度学习框架,求解速度较快,可支持工厂每日做两次智能排产的使用要求。
30.2、本发明提出的基于深度强化学习的智能排产动态调度方法,考虑各工序的开始时间、结束时间,各产线、机器的时间日历,引入工序最早开始时间和期望结束时间,将所有约束全部转化为工序、产线上的时间轴,来统一控制、更新,首先对于有前置工序要求的部分,需要初始化开始时间为一个较大值,当所有前置工序全部完成时,更新该开始时间为其所有前置工序的最大结束时间;其次对于有最小等待时间或最大等待时间约束的情况,当前置工序完成后,开始时间需更新为前置工序的结束时间加最小/最大等待时间,使得能够充分考虑工厂真实需求,各工序间有一定的串并行顺序,产线上切换机器或物料需要一定的设备转移时间,串行的工序间通常有最小等待时间或最大等待时间约束,每个订单有订单截止时间,并且存在优先级。
31.3、本发明提出的基于深度强化学习的智能排产动态调度方法,对读进来的原始数据进行处理,首先根据订单交付日期及所需物料情况区分短期计划和长期计划,其中,短期计划需要以分钟为单位精细处理,将这部分订单中的所有工序全部排到产线上;长期计划的订单只需评估物料数量、产线、机器、产能等资源情况,存在资源瓶颈时给出预警,无资源瓶颈时提供以天为单位的粗略排产结果即可,其次计算出工人、机器、产线在每个时间节点上的数量,结合工人班次日历和产线生产日历生成以分钟为单位的资源时间轴,可以按照高级计划排程(aps)区分订单,将短期计划和中长期计划分开建模,同时保证短期计划的精准性和长期计划的快速求解,可以大量缩减求解工厂智能排产问题所需时间。
附图说明
32.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
33.图1为本发明基于深度强化学习的智能排产动态调度方法整体流程图;
34.图2为本发明基于深度强化学习的智能排产动态调度方法智能排产流程图;
35.图3为本发明基于深度强化学习的智能排产动态调度方法离线训练的流程图;
36.图4为本发明基于深度强化学习的智能排产动态调度方法时间控制方法流程图。
具体实施方式
37.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
38.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
39.在本技术中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本技术及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
40.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本技术中的具体含义。
41.另外,术语“多个”的含义应为两个以及两个以上。
42.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
43.参阅图1,基于深度强化学习的智能排产动态调度方法,包括以下步骤:
44.s1:读取当前时刻工厂接收的订单情况、物料数量、工人班次日历、产线生产日历;
45.s2:对读进来的原始数据进行处理,根据订单交付日期及所需物料情况区分短期计划和长期计划;
46.s3:搭建深度强化学习框架,同时将产线、工序、产能特征向量输入训练后得到目标智能体的目标策略网络;
47.s4:考虑各工序的开始时间、结束时间,各产线、机器的时间日历;
48.s5:将订单结束时间拆分到各工序。
49.在s1中,其中订单数据中包含所需产品的数量及产品交付截止时间,每个产品完成需要经过若干道工序,各工序间有一定的串并行顺序,且产线上切换机器或物料需要一定的设备转移时间,串行的工序间通常有最小等待时间或最大等待时间约束。
50.在s2中,短期计划需要以分钟为单位精细处理,将这部分订单中的所有工序全部排到产线上;长期计划的订单只需评估物料数量、产线、机器、产能等资源情况,存在资源瓶颈时给出预警,无资源瓶颈时提供以天为单位的粗略排产结果即可,其次计算出工人、机器、产线在每个时间节点上的数量,结合工人班次日历和产线生产日历生成以分钟为单位的资源时间轴。
51.在s3中,使用asynchronous advantage actor critic(a3c)模型,除了要求奖励值最大,还会要求每次选择动作输出的熵最大,通过这种做法让策略随机化,输出的每一个动作的概率尽可能分散,而不是集中在一个动作上,得到所述当前时刻目标策略网络中的深度神经网络的调度目标,并对产线、工序、产能状态特征向量进行处理后输入分类函数得到每一个优化目标对应的选择概率。
52.参阅图1和图4,对于s1中描述的约束,引入工序最早开始时间和期望结束时间,将所有约束全部转化为工序、产线上的时间轴,来统一控制、更新。
53.在s4中包括以下步骤:
54.s41:首先对于有前置工序要求的部分,需要初始化开始时间为一个较大值;
55.s42:当所有前置工序全部完成时,更新该开始时间为其所有前置工序的最大结束时间;
56.s43:其次对于有最小等待时间或最大等待时间约束的情况,当前置工序完成后,开始时间需更新为前置工序的结束时间加最小/最大等待时间。
57.在s5中,由于深度强化学习模型需要反复更新奖励值,每个订单都需要尽可能保证在交货日期前完成,并且考虑订单的重要程度,所以需要按照整体可用时间按照一定规则拆分到各工序可用时间,根据订单是否紧急等静态属性设计奖励函数。
58.参阅图1和图3,离线训练包括以下步骤:
59.s01:生成每条产线作为一个智能体的目标策略网络;
60.s02:更新奖励值使用的奖励函数网络;
61.s03:存储每个中间状态的状态特征向量,并对各个网络进行参数初始。
62.在每个训练周期内,随机生成新的训练环境,并用a3c对所有智能体进行离线预训练,根据每个智能体的目标策略网络,生成最佳的工序-产线分配方案,并根据各产线考虑自身的最晚结束时间、空闲时间占比、各工序是否结束时间晚于预期等目标决策状态,生成奖励函数网络,通过最小平方误差损失函数(mse)更新目标智能体的目标状态价值网络和状态特征向量,此过程不断进行,直到最终所有工序的分配方案满足使用需求。
63.参阅图2,在智能排产过程中,首先读取当前时刻生产线调度特征向量,再根据前序工序和物料情况筛选当前可执行工序向量,同时利用产线和工序向量作为输入,在深度强化学习智能体网络中训练,得到当前时刻的工序-产线指派规则,再根据所有工序是否都已分配至产线,若没有,则需根据时间轴移动规则更新时间,再根据奖励值更新智能体奖励网络,最后再根据已完成任务更新产线和工序,进入到新的工序-产线指派规则,若有,则继续判定是否迭代到最大次数或目标函数已收敛,若是,则输出深度强化学习智能排产结果,若不是,则重新读取生产线调度特征向量,直到输出深度强化学习智能排产结果。
64.综上所述:本发明提供的基于深度强化学习的智能排产动态调度方法,包括:s1:读取当前时刻工厂接收的订单情况、物料数量、工人班次日历、产线生产日历;s2:对读进来的原始数据进行处理,根据订单交付日期及所需物料情况区分短期计划和长期计划;s3:搭建深度强化学习框架,同时将产线、工序、产能特征向量输入训练后得到目标智能体的目标策略网络;s4:考虑各工序的开始时间、结束时间,各产线、机器的时间日历;s5:将订单结束时间拆分到各工序,搭建深度强化学习框架,使用asynchronous advantage actor critic(a3c)模型,除了要求奖励值最大,还会要求每次选择动作输出的熵最大,通过这种做法让策略随机化,输出的每一个动作的概率尽可能分散,而不是集中在一个动作上,使用a3c的深度学习框架,求解速度较快,可支持工厂每日做两次智能排产的使用要求,其次,考虑各工序的开始时间、结束时间,各产线、机器的时间日历,引入工序最早开始时间和期望结束时间,将所有约束全部转化为工序、产线上的时间轴,来统一控制、更新,首先对于有前置工序要求的部分,需要初始化开始时间为一个较大值,当所有前置工序全部完成时,更新该开
始时间为其所有前置工序的最大结束时间;其次对于有最小等待时间或最大等待时间约束的情况,当前置工序完成后,开始时间需更新为前置工序的结束时间加最小/最大等待时间,使得能够充分考虑工厂真实需求,各工序间有一定的串并行顺序,产线上切换机器或物料需要一定的设备转移时间,串行的工序间通常有最小等待时间或最大等待时间约束,每个订单有订单截止时间,并且存在优先级,最后对读进来的原始数据进行处理,首先根据订单交付日期及所需物料情况区分短期计划和长期计划,其中,短期计划需要以分钟为单位精细处理,将这部分订单中的所有工序全部排到产线上;长期计划的订单只需评估物料数量、产线、机器、产能等资源情况,存在资源瓶颈时给出预警,无资源瓶颈时提供以天为单位的粗略排产结果即可,其次计算出工人、机器、产线在每个时间节点上的数量,结合工人班次日历和产线生产日历生成以分钟为单位的资源时间轴,可以按照高级计划排程(aps)区分订单,将短期计划和中长期计划分开建模,同时保证短期计划的精准性和长期计划的快速求解,可以大量缩减求解工厂智能排产问题所需时间。
65.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
66.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献