作业车间问题的调度学习:使用图神经网络(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 介绍 直观透彻理解

图神经网络学习笔记 | 基础知识与 GNN 介绍 直观透彻理解

深度学习之上,图神经网络(GNN )崛起

深入浅出图神经网络|GNN原理解析☄学习笔记图的概述

《深入浅出图神经网络》GNN原理解析☄学习笔记图的概述