本期作者简介:王东海,上海交通大学博士在读,专注于智能制造领域的排产调度优化,主要研究基于强化学习、机器学习、运筹优化的前沿方法,探索复杂生产环境下的动态排产与调度策略,旨在实现工业实际场景中的智能化排程与调度优化,推动生产系统多目标的协同优化。
本期文章发表于TOP期刊《Journal of Manufacturing Systems》,完整 文章可通过以下链接或点击“阅读原文”获取:
https://pan.baidu.com/s/1jdPJWtdB7jpGyLNmH-U0Lw?pwd=h338
1. 摘要
柔性机器人单元在柔性化和定制化制造中起着至关重要的作用。有效的调度策略可以显著减少最大完工时间,提高生产效率。作者引入了一种创新的基于深度强化学习(DRL)的端到端实时调度方法,以最小化柔性机器人单元的最大完工时间,在异构析取图模型中通过特定析取弧考虑运输因素。在方法上,DRL利用图神经网络(GNN)进行模型特征提取,并采用近端策略优化(PPO)训练调度智能体,以更好地利用运输机器人的能力,减少系统阻塞和死锁。
2. 背景
机器人制造单元由多台机器和一个机器人组成。该机器人可以在机器之间自动运输工件,从而提高生产率。
按照机器柔性和所能加工的零件类型,可以将制造单元的发展历经3个阶段,如图1所示:
单零件类型:传统模式下实现大规模生产; 多零件类型:不改变原有生产流程,采用并行机器和多容量运输机器人; 多零件类型+可选机器:每个产品可具有不同的生产流程,每道工序存在多个可选机器。
柔性机器人单元调度包括机器人动作排序和工序机器选择。运输约束、缺乏中间缓冲区和死锁避免等因素给该问题增加了更多挑战。
为此,作者提出了一种基于端到端DRL的实时调度方法,用于具有多容量运输机器人的柔性机器人单元。优化目标是最大完工时间。该方法的核心是基于一种新颖的异构析取图模型,用于表达工序和机器节点之间的成对有向析取弧从而表示运输动作。此外,采用图神经网络从这个复杂的状态空间中提取特征,以确保对所有工序及其与机器的相互关系进行全面分析。通过采用动作掩码,DRL能够确保调度计划的可行性并防止死锁。
该方法能够自适应不同规模的调度问题,无需重新训练,特别适合复杂调度问题实时调度策略的全局优化。
3. 问题表述与模型建立
3.1问题表述
柔性机器人单元的调度定义如下,符号定义如下。
一个柔性机器人单元由输入站、输出站、机器和一个运输机器人组成。一组包含n个工件的集合将在具有台机器的机器集合上进行加工。每个作业将从输入站进入单元,然后经过一系列固定的工序,最终从输出站离开单元。每个操作可以由一组可选机器执行,相应的加工时间为,其中。
在机器人单元内,运输机器人将作业从输入站通过加工阶段移动到输出站。机器人通过执行以下两个过程以在两个工作站之间移动工件:
运输机器人移动到一台机器或输入站,并卸载其工件。 运输机器人将作业移动到下一个加工机器或输出站,并将作业装载到工作站上。
每个运输过程包括机器人在机器之间的移动时间以及将工件装载()或卸载()到机器人的时间,这些时间在单元内是固定的。
优化目标是最小化最大完工时间,即所有作业完成加工并运输到输出站的时间。
对问题作出以下假设:
单元中无缓冲区,即当前工件从机器上移除之前,机器不能接受新的工件; 初始,所有工件和运输机器人位于输入站,所有机器可用; 每个工序可以由一组可选机器以固定的加工时间执行; 每台机器一次只能处理一个工件,并且一旦开始,加工过程不能暂停或中断; 每个工件一次只能由一台机器处理; 不同工作站之间的运输时间以及机器人的装载和卸载时间是预先确定且固定的; 运输机器人的容量(>1)有限; 输出站的容量无限,作业只有在完成所有操作后才能放置在输出站。
3.2柔性机器人单元的析取图模型
析取图模型定义如图2所示。
各部分的含义如下:
是工序节点集合,其中表示工件的第个工序。对于每个工件,在最后工序之后引入一个额外的虚拟完成工序节点,以完全捕获运输过程。工序只能由输出站处理。 是机器节点集合。每个节点对应于单元中的一台机器。所提出的模型将开始和结束节点视为机器节点,以将装载和卸载站纳入析取图模型。 是连接弧集,其中有向弧连接同一工件的不同工序以表示工序加工顺序。与一般析取图模型不同,连接到开始和结束节点的弧不包括在连接弧集中。 是成对析取弧集,表示机器与工序之间的关系。每对析取弧由和组成。表示可以由处理,表示将运输到。而表示从卸载并将其存储在机器人上,为做准备。对于涉及的弧,表示从卸载并将其存储在机器人上,表示将运输到输出站。
基于所提出的模型,运输调度过程的特点是选择析取弧。需要注意的是,在选择弧之后,需要删除连接工序到不同机器的其他对弧。换句话说,析取弧集随时间变化。
以上图中工件的处理为例。初始,弧表示从输入站卸载。随后,选择弧表示机器人运输并将卸载到上以启动加工。同时,弧对和被删除。该过程不断迭代,然后弧表示将完成的作业从机器上取回并放置在机器人上。最后,表示机器人将作业运输到输出站并卸载,标志着的加工完成。
因此,在柔性机器人单元调度问题中,在每个离散时间步,单元的状态可表达为。然后在这个模型中选择合法的析取弧,运输机器人执行相应的动作。状态空间然后转换为。值得注意的是,运输机器人在一个时间步可以不选择弧,即原地等待下一个时间步,这更符合实际工程实践。
4. 基于DRL的调度方法
为了获得机器人单元的实时优化调度策略,本文采用了深度强化学习(DRL)方法,并基于给定机器人单元的离散事件仿真进行模拟。从制造系统的初始状态开始,在每个时间步和状态,模拟环境根据动作生成下一个时间步和相应的状态。这个过程一直持续到系统完成所有处理任务。强化学习通过与制造系统模拟模型的交互促进了调度智能体的训练和测试。算法的整体机制如图3所示。
4.1调度环境的建立
4.1.1状态空间
在时间,状态空间包含有关工件、机器和运输机器人的全面信息,主要由异构模型进行表征。该模型封装了工序节点、机器节点和析取弧的固有特征,作为强化学习智能体的关键输入。
具体而言,对于工件的每个工序节点,其嵌入特征向量包括以下元素:
表示是否已进行运输的二进制指示符,即弧是否已执行。 的状态,分为未处理、处理中或已完成。 可以处理的机器数量。 的加工时间。 运输的起始时间,表示弧执行的时刻。 加工的起始时间,表示弧执行的时刻。 中尚未完成的工序数量。 的完成率。
需要强调的是,对于时刻还未开始加工的工序而言,由于未选定机器,其加工时间并不确定,因而使用所有可选机器的平均加工时间代替,即。
对于机器节点,其嵌入特征包括:
的状态,分为空闲、处理中或已完成。 的剩余加工时间。 邻域内的工序数量。 的利用率,定义为机器有效加工工件的时间与总经过时间的比率。 运输机器人当前是否位于的二进制。
特别地,由于将和视为机器节点,它们也需要分配特征。模型规定和节点的状态始终为空闲,其剩余加工时间为,利用率为。
对于析取弧集,即成对的入弧和出弧,其嵌入特征和如下:
弧运输动作后的工序加工时间,即对于为,对于为。 与弧相关的运输动作所消耗的时间。 运输机器人上的作业数量。
4.1.2动作
在时间,动作空间由析取弧集和一个额外的“等待”动作组成。当选择“等待”动作时,运输机器人保持空闲,直到下一个离散事件,具体来说,这个事件是指当任何机器完成其当前工序时。通过引入“等待”动作来提升算法探索能力。
在每个时间步,应用动作掩码从动作空间中过滤掉不可行的动作,例如选择当前被其他作业占用的机器,确保即使可行动作的数量随时间波动,动作空间维度也保持一致。
此外,为了防止死锁,算法在为待处理的加工和运输任务选择动作时评估机器可用性和机器人容量。在运输机器人满载或所有必要机器被占用的情况下实施动作限制,从而防止选择可能导致死锁的动作。
4.1.3奖励
在状态采取动作的奖励定义如下:
这里,表示与动作相关的工序的加工时间。如果当前动作未启动任何工序的加工,则设置为。表示直到下一个时间步所有机器的空闲时间总和。
在调度问题中,累积奖励反映了工序的总加工时间减去机器的总空闲时间。因此可以通过最大化累积奖励来减少机器空闲时间和生产最大完工时间。
4.2 DRL框架
本文采用基于的强化学习算法框架,并通过结合有向析取弧对的特征嵌入来增强其在柔性机器人单元中的性能,采用如下网络结构。
4.2.1特征嵌入
对于所提出的析取图模型,分别对三种类型的弧(连接弧、入度析取弧和出度析取弧)及其相应的节点连接进行特征嵌入。对于状态空间,首先基于邻域节点和析取弧状态获得机器节点的维嵌入。然后进一步更新工序节点的嵌入状态以获得维嵌入向量。
详细细节如下:
机器节点嵌入
对于每个机器节点,如图5所示,其相邻节点仅为通过成对析取弧连接的g工序节点。为了将析取弧特征纳入节点特征,算法采用图注意力网络(Graph Attention Networks)。
对于机器及其邻域,将析取弧特征集成到节点特征中。具体而言,如果,那么定义,如果,那么定义,其中。注意力系数通过线性变换、、计算如下:
这里,。机器节点与其自身的注意力系数定义为:
然后应用Softmax函数对注意力系数进行归一化,得到、和。最后,机器节点嵌入计算如下:
需要注意的是,和节点也被视为机器节点,并对其应用特征嵌入。
工序节点嵌入
对于操作节点,如图5(ii)所示,连接节点包括前置工序、后置工序和机器节点。算法采用多层感知器来识别和嵌入相应的特征。此外,统一使用神经网络来合并这些特征。具体而言,对于具有多个机器选择的工序节点,使用特征总和来替换每个连接机器节点的相同类型的特征,这通过设置,来实现。工序节点嵌入然后由下式给出:
嵌入迭代
对得到机器和工序节点嵌入和进行次迭代嵌入从而获得最终嵌入,表示为和。在整个迭代过程中,析取弧特征和保持不变,而机器和工序节点特征不断更新。
4.2.2策略生成
在完成给定状态的特征嵌入后,下一步是生成动作策略,其中。算法首先通过对嵌入特征进行平均池化来启动此过程,得到:
随后,将获得的嵌入特征与池化特征连接,并输入到中,得到状态下每个动作的得分:
获得得分后,该方法对动作空间应用动作掩码。此过程将不可行动作的得分设置为,以在策略生成期间有效避免采取不可行动作。
此外,对策略得分应用Softmax函数进行归一化,得到调度策略:
对于不可行动作,由于得分是,归一化后的概率为。在训练过程中,根据可行动作的概率分布进行随机动作选择,以扩展算法的探索空间。
4.2.3训练算法
本文采用由Schulman提出的近端策略优化算法(PPO)进行训练。该算法使用两个神经网络,即演员(Actor)和评论家(Critic)。演员的作用是根据环境的当前状态选择动作,而评论家评估状态-动作对的价值。演员和评论家网络进行联合训练,评论家向演员网络提供关于所选动作质量的反馈。
在训练期间,策略生成网络(表示为)充当演员,配置为评论家,负责评估策略的价值。评论家网络的架构与演员网络相似,区别在于其输入是池化特征。算法1概述了DRL的训练过程。
5.数值实验
5.1实验设置
机器人运输能力默认为2,其他详细参数配置可查看原文。
训练算法与四种规则方法进行了比较:先进先出(FIFO)、最短加工时间(SPT)、最短总加工时间(STPT)和剩余工序数最少(LOR)。
该方法评估的指标包括完工时间和相对gap 。相对差距定义为公式(10),其中是规则方法和DRL方法求得的最优完工时间。
5.2随机案例实验
5.3消融实验
通过消融研究以检验:
基于GNN的特征嵌入 vs 简单池化策略(模型1) 状态空间构建 vs 文献【45】中的状态空间设计(模型2) 奖励函数设计 vs 文献【20】中的奖励函数)模型3
可以看出,与作者提出的模型相比,模型1的性能受到影响最大,完工时间增加了8%-18%。这强调了GNN在捕捉柔性机器人单元中机器、工件和工序之间复杂关系方面的重要性。模型2和3的完工时间分别增加了5%-10%和4%-8%。因此,状态空间构建和奖励函数设计对于描述系统动态和决策制定也必不可少。
5.4 标准案例实验
直接将随机案例训练出的模型应用于标准案例集,进一步验证泛化能力。
5.5 运输能力的讨论
随着运输能力的增加,系统处理作业的能力变得更加灵活,导致处理时间显著减少。
进一步通过配对t检验分析运输能力增加对完工时间的影响。在上表中,均值和标准差表示运输能力增加导致的完工时间减少的均值和标准差。从结果可以看出,当运输能力小于4时,p值始终低于0.05,通过增加容量可以实现统计上显著的完工时间减少。然而,当运输能力达到4时,对完工时间和系统效率的影响变得不太显著。这是因为系统已经拥有足够的运输能力来运行,不受缓冲区的限制,因此增加容量不会显著提高其性能。
此外,图10深入探讨了随着运输能力增加,机器上的阻塞时间和机器人的运输时间的变化。这里的讨论围绕机器上的阻塞时间比率和运输机器人上的运输时间比率。表示作业在机器上被阻塞的时间占作业在制造系统中总时间的比例。当作业完成处理但仍未被运输并占用机器时,就会发生机器上的阻塞时间。另一方面,表示作业由运输机器人运输的时间占作业在制造系统中总时间的比例。
如图10所示,通过增加运输机器人的能力,可以减少完工时间和阻塞时间比率。随着运输能力的提高,作业在运输机器人上花费的时间比例显著增加,同时减少了机器上的阻塞时间。这种运输能力的增强通过在运输机器人上存储更多作业来提高机器利用率,减轻作业在机器上的阻塞,从而提高整体处理效率。然而,随着容量的持续增加,作业在机器上的阻塞时间比例接近零,这表明随着运输能力的提高,对生产线的优化效果接近饱和。
微信公众号后台回复
加群:加入全球华人OR|AI|DS社区硕博微信学术群
资料:免费获得大量运筹学相关学习资料
人才库:加入运筹精英人才库,获得独家职位推荐
电子书:免费获取平台小编独家创作的优化理论、运筹实践和数据科学电子书,持续更新中ing...
加入我们:加入「运筹OR帷幄」,参与内容创作平台运营
知识星球:加入「运筹OR帷幄」数据算法社区,免费参与每周「领读计划」、「行业inTalk」、「OR会客厅」等直播活动,与数百位签约大V进行在线交流
文章须知
文章作者:韩宝安
责任编辑:张琪 马玺渊
微信编辑:疑疑
文章转载自『智能制造与智能调度』公众号,原文链接:基于图神经网络深度强化学习的柔性机器人单元调度
关注我们
FOLLOW US