作业车间问题的调度学习:使用图神经网络(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

  • 论文获取链接:https://doi.org/10.1080/00207543.2020.1870013icon-default.png?t=LA46https://doi.org/10.1080/00207543.2020.1870013

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 状态转移模型和奖励函数

作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习_第1张图片

 整个框架由表示模块和调度模型组成,所述表示模块从输入图形生成节点嵌入的节点,调度的整个过程如图2所示:

作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习_第2张图片

 3.3 节点Embedding过程

我们提出了一个嵌入层,用于显式地考虑JSSP图中节点之间的不同关系。提出的节点嵌入层的计算过程如下:

作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习_第3张图片

所提出的嵌入层生成更新后的节点Embedding h(K),同时利用六种不同类型的输入来计算节点之间的各种关系。输入如下:

作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习_第4张图片

作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习_第5张图片 3.4 Decision making with node embedding

为了导出调度策略,我们引入π(aτ|g(K)τ)。Actor使用softmax函数生成目标机器可用(可行)工序概率分布,如下所示:

Critic 的近似状态值如下:

 3.5 奖励函数

 4 训练过程

作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习_第6张图片

作业车间问题的调度学习:使用图神经网络(GNN)和强化学习(RL)的表示和策略学习_第7张图片 5 实验

 与以下规则进行了对比:FIFO、LIFO、SPT、LPT、STPT、LTPT、LOR、MOR、LQNO、MQNO、RAMDOM

你可能感兴趣的:(#,强化学习,#,作业车间调度,论文阅读与实现,神经网络,车间调度,强化学习,图神经网络,深度强化学习)