作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习
Posted 码丽莲梦露
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习相关的知识,希望对你有一定的参考价值。
相关研究:
论文阅读|图神经网络+Actor-Critic求解静态JSP(End-to-End DRL)《基于深度强化学习的调度规则学习》(附带源码)_太剧烈的快乐与太剧烈的悲哀是有相同之点的——同样地需要远离人群!-CSDN博客https://blog.csdn.net/crazy_girl_me/article/details/119789327
《Learning to schedule job-shop problems:representation and policy learning using graph neural network and reinforcement learning》
Internation Journal of production research/2021
1 摘要
我们提出了一个使用图神经网络(GNN)和强化学习(RL)来学习调度作业车间问题(JSSP)的框架。为了考虑JSSP的结构,我们将JSSP的调度过程描述为一个状态图表示的序贯决策问题。在求解所描述的问题时,该框架使用GNN来学习嵌入JSSP空间结构的节点特征表示为图(表示学习),并导出将嵌入的节点特征映射到最佳调度动作的最优调度策略(策略学习)。我们使用基于策略梯度优化(PPO)的RL策略以端到端的方式训练这两个模块。我们通过实验证明,GNN调度器在不同的基准JSSP上的性能优于实际偏好的调度规则和基于RL的调度器,这是因为GNN调度器具有卓越的泛化能力。我们还证实,提出的框架学习了一种可转移的调度策略,该策略可以用于调度一个全新的JSSP(在大小和参数方面),而不需要进一步的培训。
1 介绍
调度策略学习考虑JSSP的固有结构,而不是学习特定JSSP实例的特征,因此一个训练好的调度策略可以直接用于新的JSSP实例而不用再训练。这篇文章的贡献如下:
(1)为了考虑JSSP的结构,我们提出了JSSP的一个问题描述,它是一个状态用图表示的序列决策问题.
(2)我们提出了一个框架,利用GNN(表示学习)将JSSP图状态处理为节点Embedding,并使用构造的Embedding(策略学习)进行调度操作。
(3)我们提出了两种有效的培训方法:
1 GNN-based node embedding
2 parameterised policy using reinforcement learning in an end-to-end fashion
我们通过实验证明,基于JSSP的GNN调度器在不同的基准JSSP实例上的性能优于实际偏爱的调度规则,并为完全基于传统搜索的算法提供了一种有效的调度解决方案,该调度方案能够完全满足大规模JSSP在传统搜索算法的调度要求.
2 背景
图神经网络(Graph Neural Networks,GNN)综述 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/75307407
图神经网络从入门到入门 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/136521625
3 问题表示
3.1 图状态表述
析取图只包含JSSP的静态信息,如工序的加工时间、优先级、机器共享约束等,没有包含动态变化的JSSP状态信息。我们将节点特征融入到g的节点中,以便在调度过程中g更好地呈现JSSP的当前状态。分配给节点的节点特征Xv如下:
(1) 节点状态:独热编码的运行状态指示器。[1,0,0]、[0,1,0]和[0,0,1]分别表示:工序尚为加工、正在加工,结束加工。
(2)加工时间:工序的加工时间
(3)完工程度: 工序的完工程度,例如一个有两道工序的工件,第一个工序完成的完成程度为0.4,第二道工序的完成程度就为0.4.
(4)后续工序数
(5)等待时间:仅描述当前即将加工的工件的等待时间
(6)剩余时间:工件加工完成还需要多少时间。
3.2 状态转移模型和奖励函数
整个框架由表示模块和调度模型组成,所述表示模块从输入图形生成节点嵌入的节点,调度的整个过程如图2所示:
3.3 节点Embedding过程
我们提出了一个嵌入层,用于显式地考虑JSSP图中节点之间的不同关系。提出的节点嵌入层的计算过程如下:
所提出的嵌入层生成更新后的节点Embedding h(K),同时利用六种不同类型的输入来计算节点之间的各种关系。输入如下:
3.4 Decision making with node embedding
为了导出调度策略,我们引入π(aτ|g(K)τ)。Actor使用softmax函数生成目标机器可用(可行)工序概率分布,如下所示:
Critic 的近似状态值如下:
3.5 奖励函数
4 训练过程
5 实验
与以下规则进行了对比:FIFO、LIFO、SPT、LPT、STPT、LTPT、LOR、MOR、LQNO、MQNO、RAMDOM
以上是关于作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习的主要内容,如果未能解决你的问题,请参考以下文章
中文免费简书-《图神经网络模型(GNN)原理及应用综述》pdf免费分享
图神经网络学习笔记 | 基础知识与 GNN 介绍 直观透彻理解