基于深度强化学习的柔性车间调度问题现代研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于深度强化学习的柔性车间调度问题现代研究
摘要本文针对多目标柔性作业车间调度问题进行研究,分别以机器总负荷和设备利用率为性能指标,建立了多目标柔性作业车间调度模型。由于传统的企业调度算法忽略了历史数据的价值,在实时事件发生后不能快速响应支持,同时为了迎合“智慧工厂”的趋势,提出了一种适用于柔性作业车间调度的深度强化学习方法,实现了从状态输入到行为输出的直接控制。最后,通过实验案例验证了该方法在解决多目标柔性作业车间调度问题的可行性和有效性。
关键词柔性作业车间调度;深度强化学习;状态编码;多智能体
前言
近年来,市场中定制化服务已经成为一种普遍需求,“随需应变”的理念得到了企业管理者的高度重视。柔性生产是指通过先进制造设备来实现多品种、小批量的生产方式,其主要优点是增强了制造企业的灵活性和应变能力,提高了设备利用率。柔性作业车间调度问题(Flexible job-shop problem,FJSP)是传统作业车间调度问题的重要扩展,是目前车间调度问题的研究热点。
与传统的作业车间调度问题相比,柔性作业车间调度问题减少了机器能力约束,是更为复杂的NP-hard问题。目前的相关研究主要集中在算法效率改进[1-3]、问题实际化[4-7]、优化目标扩展[8-10]三个方面。在柔性作业车间调度问题上一般采用两种方法求解:启发式方法和集成方法[11]。问题实际化的研究主要通过加入更多生产相关约束,使得问题模型更加贴近实际生产。许多学者在上述三个方面进行了深入的研究,但是他们对于企業过去的生产调度历史数据并没有进行关注,忽略了其价值。
随着“中国制造2025”的提出,智能制造成为推进该项战略的重要举措。智能制造包括了智能制造技术和智能制造系统。深度强化学习作为一种端对端的感知与控制系统,为构建智能化的生产调度系统提供了重要指导和有效支持。
本文针对柔性作业车间调度问题,以最小化机器总负荷和最大化设备利用率为目标。通过对生产状态的编码,将每个工件构建为一个智能体。采用多智能体Actor-Critic算法,使得工件智能体学习彼此协作,为求解多目标柔性作业车间调度问题提供一种智能化的方法。
1 多目标柔性作业车间优化建模
1.1 问题描述
nm的FJSP问题可以描述为:一个拥有m台机器的加工系统,加工处理n 个工件。其中每个工件包含一道或者多道工序,每道工序可以在一台或者多台机器上进行加工处理,且相对应的加工时间取决于所分配的机器能力。对于该类问
题,存在以下一些假设:机器之间是相互独立的;同一工件的工序间存在优先约束,而工件之间是相互独立的;忽略机器的设置时间和工件的移动时间;同一时刻一台机器只能加工一个工件;在零时刻,所有机器和工件均处于就绪状态;加工具有不可中断性;工件总是合理加工,不存在返工现象。
机器设备是每个生产型企业必需的生产工具和固定资产投入。因此,设备能否充分利用,直接关系到投资效益,提高设备的利用率,等于相对降低产品成本。本文针对柔性作业车间调度问题的优化目标包括:(1)机器总负荷最小;(2)设备利用率最高。
1.2 符号及含义
i,h:工件号i,h∈J={1,2,…,n};k:机器号k∈M={1,2,…m};n:总工件数
l,g:工序号l,g∈Oi={1,2,…,ni};m:总机器数;ni:工件i的总工序数;
oil:工件i的第l道工序;di:工件i的交期;Ail:可加工工件i的l道工序的机器集合
tilk:工件i第l道工序在机器k上加工时间Silk:工件i第l道工序在机器k 开始加工时间
1.3 模型建立
目标函数:
(1)
(2)
表达式(1)最小化机器总负荷;表达式(2)是最大化设备利用率。
约束条件:
(3)
(4)
(5)
(6)
表达式(3)限制了工序只能进行一次加工;表达式(4)则是对同一工件相邻工序的加工顺序约束,即前一道工序完工后才可进行后一道工序的加工;表达式(5)要求机器同一时刻只能加工一个工件;表达式(6)是工件交期的约束。
2 多智能体深度强化学习
2.1 深度强化学习
谷歌的Deep Mind人工智能团队创新性地将具有感知能力的强化学习和具备决策能力的深度学习相结合,从而实现了智能体从感知到行动的端对端学习,成为目前机器学习领域的研究热点,即深度强化学习。
2.2 多智能体演员评论家算法
演员评论家方法是结合了策略梯度和值函数模拟的方法。演员基于概率选择行为,评论家基于演员的行为进行打分,演员根据评论的评分修改行为的概率。演员网络的输入是状态,输出是行动,采用深度神经网络进行函数拟合,对于车间调度问题的离散动作以sof tmax作为输出层达到概率输出的目的。评论家网络的输入则是演员的状态和行动,输出为Q值。
在柔性车间中,将每个工件智能体作为演员,并从评论家处获取建议,来帮助工件智能体决定哪些动作在训练的过程中应该被强化。相对于传统的演员评论家方法,多智能体方法中评论家可以获取所有智能体的状态和行动选择,即评论家通过使用所有智能体的信息进行训练来优化策略,演员则根据自身状态执行动作。
3 深度强化学习求解FJSP
3.1 输入状态s的编码
在FJSP中,系统状态主要包括了机器、工件及时间三要素,因此,输入状态S也应该包括机器状态、工件状态及系统时间。采用如下编码方式:。其中o 为工序号,t为o工序的进度,m为o工序所选用的机器号。
3.2 行动a的编码工件在系統中的行动是指对机器的选用,动作的编码方式为:。0表示缓冲区,其他整数为机器编号。
3.3 奖励r的定义
在第一节中,我们确定了本文的两个优化目标:①最小化机器总负荷②最大化设备利用率。机器总负荷与工件选用的机器情况有关,选用的机器加工时间越短,奖励越高。
设备利用率与机器在计划工作时间内的开动情况有关,为了最大化该目标,