文献阅读(1)——深度强化学习求解车辆路径问题的研究综述

doi: 10.3778/j.issn.1002-8331.2210-0153
深度强化学习求解车辆路径问题的研究综述 (ceaj.org)
组合最优化问题( combinatorial optimization problem, COP
日常生活中常见的 COP 问题有旅行商问题(traveling salesman problem TSP )、车辆路径问题
vehicle routing problem VRP )、车间作业调度问题 (job shop scheduling JSP )、最小顶点覆盖问题( minimum vertex cover, MVC )、施泰纳树问题( Steiner tree problem,STP 施泰纳最小树问题_百度百科 (baidu.com) )以及装箱问题(bin packing BP) 装箱问题_百度百科 (baidu.com) 等。

      VRP 在离散决策空间进行决策变量的最优选择与RL 序贯决策的功能具有天然的相似性,且 DRL “离线训练”“在线决策”的特征使VRP在线实时求解成为了可能。
      NN 解决 VRP 问题是 Vinyals 等人 将问题类比为机器翻译过程,提出了指针网络(pointer network PN )模型,使用长短期记忆网络(long-short term memory , LSTM)作为编码器,注意力机制( attention mechanism , AM)作为解码器,从城市坐标中提取特征。但是 PN采用监督学习(supervise learning SL )方式训练网络,需要构造大量高质量的标签,因此大多数研究利用DRL 求解 VRP 问题。除 PN 模型外,随着图神经网络(graph neural network,GNN)技术的兴起,Scarselli等人利用GNN对每个节点特征进行学习,从而进行节点预测,主要求解思路是利用 GNN 对节点特征进行学习,由编码器对问题的输入序列进行编码,再利用解码器结合注意力计算方法,以自回归的方式逐步构造解,根据学习到的特征进行后续的节点预测。
        进一步地,Ma 等人把PN 与 GNN 相结合提出图指针网络(graph pointer network,GPN),利用 GNN 提取计算节点特征,再用 PN 进行解的构造,提升了大规模TSP问题的泛化能力。与大多数经典启发式算法相比,基于 RL 训练的模型对问题变化具有鲁棒性,当问题输入发生变化时,RL可以自动适应问题变化输出较优的解。
       受Transformer架构的启发,Kool 等人借用Transformer提出新框架,其主要求解思路是利用AM 对模型进行改进,提出将输入元素分为静动态两种表示, 利用嵌入的方式替代循环神经网络(recurrent neural network,RNN)的编码过程对静动态元素进行向量表示,解码阶段将静态向量表示输入到解码 RNN 中获得隐含层向量与动态向量结合,通过AM获得下一个决策点的概率分布,超越了先前解决路径问题的优化性能。 后续的研究工作大部分是基于 Kool 等人的AM模型开展的,经过不断调整编码器、解码器的结构以及RL训练方法,进一步提升VRP的优化性能。
下面介绍 RL 相关原理和将 VRP 转化为序列决策问题的马尔可夫决策过程(Markov decision process MDP ),以及经典的RL算法。

RL 是智能体在与环境的交互过程中,通过学习策 略以最大化提高奖励或实现特定目标的模型。RL 可以建模为 MDP MDP 实际就是一个多元组 [ S,A, P ,R,γ ] 其中,初始状态空间 S ( s t S ) 是起点城市或是部分解; A 为动作空间 ( a t A ) ,动作是对部分解的添加或者对完整解进行改变; P 为状态转移概率矩阵; R 是奖励函数,表明在特定状态下选择的动作对解决方案造成的影响。 γ ( 0 , 1 ) 是折扣因子,调控智能体考虑短期回报。
TSP 问题为例,初始环境 s t 为已访问的城市或起始城市节点,新状态 s t + 1 是实时更新的解决
方案,动作 a t 是下一个将要访问的城市,奖励信号 r t 在访问完节点时(以负的路径长度)激励智能体做出下一步决策。

       有模型学习对环境有提前的认知,可以提前感知优化;无模型学习在训练速度上逊于前者,但更易实现,在真实场景下可以快速调整到较优的状态。利用RL 解决 VRP 的方法主要分为:基于值函数的方法和基于策略优化的方法。

1.DRL求解车辆路径问题的思路

1.1车辆路径问题的简单概述

       如何提高解的精度,加快搜索速度,减少时间复杂度、 增强模型泛化能力 等是求解VRP 最关注的问题。在实际场景中, VRP 会超出普通路径问题的限制,例如,带有时间窗口的 旅行商问题(traveling salesman problem with time windowsz,TSPTW) 将时间窗口约束添加到 TSP 中的节点,即节点只能在固定的时间间隔内访问;带容量的车辆路径问题(capacity vehicle routing problem,CVRP),旨在为访问一组客户(即城市)的车队(即多个销售人员)找到最佳路线,每辆车都具有最大承载容量的限制。VRP根据不同的应用场景和现实条件需要考虑更多的约束(车
载容量、配送中心数量、车辆行驶里程、时间限制等),因此衍生出许多变体,例如: 带时间窗的车辆路径问题 (vehicle routing problem with time windows,VRPTW)  、 无人机和卡车协同配送的无人机车辆路径问题(vehicle routing problem with drones, VRPD )、多车型车辆路径问题(heterogeneous fleet vehicle routing problem , HFVRP)等。

1.2 基于深度强化学习求解路径问题的步骤

       利用 DRL 求解 VRP 的思路是将城市的原始坐标作为输入,利用 PN GNN Transformer 结合经典图搜索算法建设性地构建近似解

步骤 1 将问题转化为图结构信息, VRP 问题是一 个全连接图,图的节点对应于城市节点,边对应两城市 之间的道路,如图5 所示。图通过启发式算法进行稀疏化,使模型能够扩展到所有节点的成对计算来解决难以处理的大型实例,或者通过减少搜索空间来更快地学习策略。
步骤 2 获取图中节点和边的初始嵌入,如图 6 所示。嵌入是GNN Transformer 编码器将 TSP图中的每个节点或边作为输入,来计算高维空间表示或嵌入特征。在编码的每一层,节点从其邻居节点收集特征,通过递归传递表示局部图结构。堆叠 L 层后,网络能够从每个节点的 L 层邻域中构建节点的特征。Transformer中基于 AM 的 GNN 已成为编码路径问题的默认选择,AM 作用在于根据对现在节点的相对重要性来权衡邻居节点。

步骤 3 图的节点或边被编码为高维空间表示,解码为离散的TSP ,如图 7 所示。首先,将概率分配给每个节点或每条边,通过分配的概率将节点或边添加到解集中;然后通过经典图搜索技术(例如由概率预测引导的 贪心搜索或波束搜索 )将预测概率转换为离散决策。
步骤 4 模型训练。整个编码器 -解码器模型以端到端的方式进行训练,一般情况下,通过模仿最优求解器来训练模型以产生接近最优的解。由于 TSP 问题通常需要顺序决策以最小化特定于问题的成本函数,可以天然地利用 RL 框架训练智能体最大化奖励函数。对于未充分研究的问题以及缺乏标准解决方案的情况下,RL是一种最优的替代方案。

2.基于DRL求解VRP的方法

       近年来出现的大量研究,旨在使用 DRL 方法开发新的学习算法来自动解决路径问题,以实现动态高效的求解。 DRL求解VRP的方法主要分为PN、GNN、Transformer 以及混合模型四类模型。 以上通用的路径问题求解框架,可以适用于求解 VRP 的变体问题,运行速度和精度相比传统算法有较大优势。表1 和表 2 对近几年求解 TSP 及其变体问题和 VRP 及其变体问题的模型进行分析与总结。下面对以上四类模型方法进行介绍,对各类方法的代表性模型、优化性能进行对比和分析。

2.1 基于PN求解VRP

2.1.1 求解模型

2015 Vinyals 等人 首次提出将 PN VRP 结合, 使得模型架构不受输入输出维度的限制,采用 SL 方式进行离线训练,以预测访问城市的序列,解决了小规模的TSP问题,为PN求解VRP开辟了新的道路。PN模型原理是将 VRP问题编码成向量,使其在隐层输出、解码时通过激活函数对向量进行处理,输出问题实例中较大的概率向量。例如 PN 求解 TSP 的步骤为:首先将每个城市的坐标转化为高维节点特征向量,由编码器读入城市坐标,编码为对应的存储输入序列信息的向量,然后
解码器对向量进行解码,在解码过程中,利用 AM 和隐层状态计算选择各个城市的概率
在解码时使用 u^{i}_{t} 作为指向向量选择输入序列中的元素。
        Vinyals 等人 SL 方式训练模型,需要大量 TSP 示例及其最优解作为训练集,标签不易获得。为了摆脱对高质量标签的依赖,Bello 等人 [25] 采用了 RL 中的行动者- 评论家( actor-critic AC )算法训练网络参数,提出神经组合优化(neural combinatorial optimization NCO ) 模型,以PN 为基础构建策略网络,训练过程中模型输出的序列值可以通过深度神经网络(deep neural network, DNN)训练估值网络参数,再通过奖励机制微调,不断改进策略网络,扩大了 TSP 的求解规模,但该框架不适用于随时间变化的更复杂的 VRP 问题。在此基础上,Nazari等人 [40] 提出了一种可以系统处理静态和动态元素的训练方法,模型对输入序列保持不变,因此改变任何两个输入的顺序不会影响模型状态。在 VRP 问题中输入是无序的客户位置及客户需求,输入顺序对问题求解影响较小,因此模型未采用RNN 编码器,而通过简单的节点嵌入替换了 PN LSTM 编码器,进而缩短了训练时间,且不会降低模型的训练效率。
        面对多目标优化问题( multi-objective optimization problems, MOPs )时, Li 等人 [26] 提出了一种使用 DRL 解决 MOP 的端到端框架,模型将多目标问题分解为一系列子问题,再通过 PN 来解决多目标旅行商问题( multi-objective traveling salesman problem, MOTSP )。该模型探索了使用 DRL 以端到端的方式求解 MOTSP 的可能性,即给定 n 个城市作为输入,可以通过训练网络的前向传播直接获得最优解。

2.1.2 模型总结

以上模型依赖梯度信息指导搜索,基于搜索的求解VRP方法通常由启发式方法指导,在各种条件和情况下调整启发式方法通常非常耗时。为此 Chen 等人 [41] 使用双向 LSTM 嵌入路径,提出 NeuRewriter 模型,模型学习一种策略来选择启发式方法并重写当前解决方案的局部组件,以迭代方式改进直到收敛。实验果表明模型可求出CVRP20 的最优解, CVRP100 的优化性能优于求解
OR-Tools

2.2 基于Transformer求解VRP

2.2.1 求解模型

       RNN 参数在序列的所有元素之间共享,当模型获取最后一个时间步的输出时,它可能会“忘记”序列中先前元素的信息。而 AM 通过保留编码器对输入序列的隐层向量序列,在解码阶段对获得的向量序列加权求和得到上下文向量 c t ,由于在输出过程中注意力的权重不同,因此权重参数 α i t 越大,在 t 时刻输出第 i 个向量的概率越大。进一步,Google 团队 [16] 提出了由 AM 和多层感知机组成的网络结构“Transformer ”, Transformer 的MHA可以注意到子空间的信息,从不同角度、不同维度提取到问题的深层特征,允许节点通过不同的通道传递相关信息,实现并行计算。因此来自编码的节点嵌入可以学习图的上下文中关于节点的信息。Kool等人 提出了一种有效的模型和训练方法,以改进上述基于学习的启发式求解路径问题。通过用AM层代替递归网络来减少节点输入顺序的影响,应用RL算法训练模型。与 Bello 等人 不同,此模型引入贪婪策略得到的解作为基线,提高了模型的收敛速度。 Joshi等人 基于 Kool 等人 的实验设置,结合 SL RL训练100 个节点的 TSP ,提升了模型的准确率。
       在 Kool 等模型中,节点特征通过嵌入方式进行编码,该嵌入随时间推移而固定。而问题实例的状态应根据模型在不同的构造步骤所做的决定而改变,节点特征应该相应地更新。因此,Peng等人提出了一种具有动态编码器-解码器结构的动态注意力模型,该模型能够动态地探索节点特征,并在不同的构造步骤中有效利用隐藏的结构信息。与Kool等人相比,该模型在图的上下文中动态地刻画每个节点,这可以在不同的构造步骤中有效地探索和利用隐藏的结构信息。
        受 Transformer NLP 中的启发, Bresson 等人 将 Transformer 用 于 求 解 TSP ,编 码 器 与 Kool 等 人 [17] 和 Deudon 等人 [28] 相同,通过 RL 训练模型,使用带有 MHA 模块的部分解来构建查询,添加一个不存在的城市,该城市通过自注意力模块查询所有城市,并在最佳位置使
用波束搜索解码。结果表明, TSP50 的最优间隙为0.004%, TSP100 的最优间隙为 0.39%
        虽然 DRL 方法可以直接输出问题的解,但是其优化效果与专业求解器相比仍有一定差距。由于局部搜索是求解组合优化问题的经典方法,学者们开始研究利用 DRL 方法来自动学习局部搜索算法的启发式规则,从而比人工设计的搜索规则具有更好的搜索能力。相比之下,Wu等人[29] 利用 DRL来自动发现更好的改进策略,提出了一个 DRL 框架来改进启发式算法解决路径问题。模型首先提出一种用于改进启发式算法的RL公式,其中策略网络由两部分组成,分别学习节点嵌入和节点对选择,用来指导下一个解决方案的选择;并利用AC 算法训练策略网络,然后通过邻域搜索来改进初始解,不断地提高解的质量,最后利用基于自注意力的框架参数化策略。将模型应用于求解 TSP 和 CVRP 的实验结果表明,模型明显优于现有的基于线性规划的求解TSP 和 CVRP 方法,在改进启发式算法过程中,学习到的策略确实比传统的手工规则更有效,并且可以通过简单的集成策略进一步增强。
       基于 Transformer 还有更多的改进, Falkner 采用修复和破坏算子,通过局部搜索过程和维护少量候选 解 来 进 一 步 扩 展 大 邻 域 搜 索(large neighborhood search, LNS )。 LNS 是神经修复算子与局部搜索过程、启发式破坏算子和部分解的选择过程相结合,以获得高效的求解方法,LNS 主要思想是利用学习的模型来重构部分被破坏的解,并通过破坏启发式(或随机策略本身)引入随机性来有效地探索大邻域。文献[49] 启发式方法针对解决方案的不同部分,将销毁分为两种不同的操作:创建部分路线、删除完整的路线。与文献[49] 每次考虑一个节点的构造启发式相反,Hottung Tierney 直接学习神经修复算子,以重新组合由CVRP 的随机分裂产生的路径片段。
       基于 Falkner Ma 等人   提出双方面协作Transformer( dual-aspect collaborative transformer DACT)神经领域搜索模型,使用双向编码器分别学习节点和位置特征的嵌入,利用循环格雷码邻接相似、首尾相似的特性设计高维空间连续的循环位置编码(cyclic positional encoding,CPE),训练过程中使用课程学习获得更高效的采样速率,以及更快的收敛速度和更小的方差,提高求解VRP的泛化性能。应用DACT求解TSP和CVRP的结果表明,DACT优于现有的邻域搜索求解器,并且具有更优的泛化性能。

2.2.2 模型总结

现实生活中 VRP 问题涉及车辆容量、时间窗口等约束,虽然近年来已经开发了 RL 模型来比优化启发式更快地解决基本的 VRP 问题,但很少考虑复杂的约束。启发式算法高效的邻域搜索功能是求解 VRP 问题的关键组成部分,Ma 等人 [52] 针对取货和送货问题( pickup and delivery problem, PDP )问题设计基于并改进 DACT 的神经邻域搜索方法 N2S N2S DACT-Attention 改进为高效的 Synth-Attention ,允许最基本的自我注意机制合成关于解决方案的各种特征,同时利用两个自定义解码器自动学习执行取货和送货节点对的移除和重新插入,以解决优先级约束。模型甚至在更多约束的PDP 变体上超过了人工设计的LKH3 求解器。

2.3 基于GNN模型求解VRP

2.3.1 求解模型

        近年来,研究人员设计了用于处理图数据的神经网络结构 GNN ,其核心思想是根据每个节点的原始信息(如城市坐标) 和各个节点之间的关系(城市之间的距离),计算得到各个节点的特征向量,依据节点特征向量进行节点预测、边预测等任务。GNN 与图嵌入密切相关,图嵌入旨在通过保留图的拓扑结构和节点内容信息,将图中顶点表示为低维向量,以便使用RL 算法进行处理。Scarselli 等人[14] 利用GNN模型处理图上的数据表示问题,实现了函数 将图中的节点映射到多维欧几里德空间,适用于以图及其节点为中心的应用。
       
       GNN 通过低维的向量信息来表征图的节点及拓扑结构,有效的提取图中关键节点信息。Nowak 等人 [53] 以SL的方式训练 GNN ,直接输出一个环游作为邻接矩阵, 结合波束搜索将其转换为可行的路径方案。该方法被提出之后,structure2vec S2V )、GCN[54] 、图注意力网络
graph attention network GAT )等模型相继被提出, 用于解决VRP
        在许多实例中,相似的路径问题通常保持相似的问题结构,但数据不同,这为学习启发式算法提供了契机。 Khalil等人 [30] 指出上述网络架构不能有效反映 TSP 的图结构,并提出了一种将 RL 与图嵌入神经网络相结合的框架,以增量方式构造 TSP 和其他 VRP 问题的解决方案,引入基于 S2V 的图嵌入网络,以捕获解决方案的当前状态和图的结构,然后使用 Q-learning 来学习贪婪策略,该策略决定将哪个顶点插入部分游览,可求解大范围的TSP问题。
       GPN扩展了传统的PN,增加了一层图嵌入,这种转换实现了对大规模问题的更好推广。Kool 等人[17] 将GNN 和 PN 进行结合求解 CVRP,加入 MHA 以及自注意力机制,AM能有效地捕捉深层节点信息,采用AM计算每一步的节点选择概率,以自回归的方式逐步构造得到完整解,且模型通过设计超参数展示了在合理大小的多个 VRP问题上的灵活性。为学习更好的启发式方法解决广泛的VRP问题提供思路。
       Joshi 等人 [31] 基于 Kool 等人 [17] 的实验设置,在 PN 基础上用图卷积神经网络(graph convolutional networks ,GCN)编码代替 Transformer 架构编码,结合 SL RL 训练100 个节点的 TSP ,提升了模型的准确率,利用 SL 训练 GNN ,以预测边出现在 TSP 中的概率,通过波束搜索 生成可行的回路。为 TSP20/50/100 训练基于自回归的GAT模型,并评估从 TSP20 TSP500 的实例,通过 REINFORCE训练 RL 模型和贪婪算法推出基线,以最大限度地减少模型在每一步的预测和最优目标。
       GCN [54] 是许多复杂 GNN 模型的基础,其核心思想是学习一个函数映射,通过映射图中的节点,聚合节点与其邻居节点的特征来生成节点的新表示。Groshev 等人[55] Joshi 等人 [56] 通过 SL 训练 GCN 来解决 TSP Joshi等人[56] TSP20/50/100 的优化效果略微超越了 Kool 等人[17] 的方法,接近 LKH3 Concorde 等求解器得到的最优解,但是该方法的求解时间慢于 LKH3 Concorde 等方法,在泛化能力上该方法也不及 Kool 等人 [17] 的方法。Groshev 等人 [55] 使用经过训练的 GCN 来指导启发式算法输出解决方案,利用这些解决方案作为标签重新训练大规模 TSP GCN ,进一步, Prates 等人 [57] 使用 SL来训练GNN ,将边缘权重视为每个实例的特征,模型输出的解决方案与最优解的偏差可以小于2%
       以上工作都是利用人工智能的泛化能力来探索满足问题的车辆路径,仍受到城市规模、大型交通网络带来的计算复杂度的困扰。James 等人 [58] 提出一种基于DRL的 NCO 策略,将在线 VRP 问题转换为车辆游览生成问题,并提出一种图嵌入式 PN 结构来迭代开发游览。由于构造NN 所需的 SL 数据具有高计算复杂度,利用具有无监督辅助网络的 DRL 机制来训练模型参数,同时设计多采样方案,以进一步提高模型性能。

2.3.2 模型总结

       GNN GCN 用来提取图的特征并部署记忆增强NN 和 RNN 传递顺序信息, GAT 是一种基于空间的GCN 网络。 GAT 是通过 AM 传播节点信息,对图拓扑具有强大的表示能力。因此,Gao 等人 [42] GAT 基础上改进提出 EGATE 模型(element-wise GAT with edge-embedding,EGATE),模型的编码器是将节点嵌入和边嵌入集成修改的GAT,以及一个基于GRU的解码器,模型通过 AC 训练,实验结果表明,在中等规模的数据集上,该模型优于传统启发式算法和NCO模型,能够处理大规模数据集。由于 VRP 问题的高复杂性,难以扩展且大多受到问题模型容量的限制。因此,学者提出利用混合方法来求解VRP及其变体问题。

2.4 混合模型求解VRP

2.4.1 RL结合传统算法求解VRP

        在求解 CVRP 问题时, LKH3 等经典算法求解效率低,难以扩展到更大的问题。基于 DRL 的方法求解效率高,但是 DRL 解的质量与传统经典方法求得解的质量仍存在相当大的差距,为此 Lu 等人 [59] 提出一种在解决方案中迭代搜索,通过不断地改善解,直到满足某个终止条件的框架。模型将启发式算子分为改进算子和扰动算子,即给定一个问题实例,算法首先生成一个可行解,然后用改进算子或扰动算子迭代地更新解,在一定次数的步骤之后,模型将在所有访问的解决方案中选
择最好的一个。
       经典算法除了求解效率不高,求解 VRP 问题还面临着状态 空间爆炸问题,可行解的数量随着问题规模的大小呈指数级增长,使得解决大规模 VRP 变得棘手。 Cappart 等人[32] 提出一种基于 DRL 和约束规划(constraint programming,CP)混合模型求解TSPTW,模型核心是将TSPTW通过动态规划(dynamic programing,DP)建模,模型架构分为三个部分:学习阶段、求解阶段和统一表示,其中智能体的动作衔接学习和求解两个阶段,学习阶段是通过 RL 训练问题实例,求解阶段利用 CP评估问题实例。通过实验证明,该模型的性能优于独立的RL和CP解决方案,与求解器OR-Tools效果担当。
       为进一步提高模型的泛化能力, Fu 等人 [33] 提出一个在固定大小的图上预训练的网络,通过对子图进行采样,推断和合并结果以解决更大规模的问题。在此基础上,Xin 等人 [60] 提出将 DL 与传统启发式 LKH 相结合的算法NeuroLKH 解决 TSP 。该模型训练了一个稀疏图网络(sparse graph network SGN ),分别通过 SL 和无监督学习训练边缘分数、节点惩罚,以此提高 LKH 的性能,
基于 SGN 的输出, NeuroLKH 创建边缘候选集并转换边缘距离以指导 LKH 的搜索过程。文献 [60] 实验结果显示,NeuroLKH 显著优于 LKH ,并且模型可以很好地推广到CVRP PDP
       DRL 方法通常缺少在解空间内搜索的能力。为克服以上问题,王原等人[61] 提出了深度智慧型蚁群优化算法(deep intelligent ant colony optimization DIACO ),采用 DRL 方法提取问题特征,并形成对应的特征矩阵,蚁群算法基于特征矩阵进行搜索求解,蚁群算法的加入提高了 DRL 解空间搜索性能,同时 DRL 提升了蚁群算法的计算能力,该方法能够有效求解不同规模的 TSP。
       一些求解 VRP 的模型可以通过 Q-learning 很好地训练,但不能通过Sarsa 训练,降低了模型的性能。因此,Zheng等人 [62] 提出一种基于 RL 的启发式算法 VSR-LKH ,该算法显著提升了著名的 LKH 算法,它将 Q-learning 、Sarsa 和 MCT 三种算法相结合,取代 LKH 的遍历操作, 是一种可变策略。可变策略的思想是受可变邻域搜索的启发,定义一个 Q 值来代替 α 值,通过结合城市距离和 α 值来进行候选城市的选择和排序,并且通过迭代搜索过程中产生的可行解的信息自适应地调整Q 值,以进一步提高模型泛化性能。

2.4.2 RL与神经网络相结合的混合模型

        由于 RL 学习方法大多直接学习端到端的解决方案,以及 VRP 问题的高复杂性,难以扩展且受到 RL 模型容量的限制,为克服上述问题,Wang 等人 [63] 设计了一 个双层框架求解器,上层学习框架来优化图(例如,添加、删除或修改图中的边),下层启发式算法在优化的图上求解,这样的双层网络简化了对原始问题的学习,并且可以有效地减轻对模型容量的需求。
       面对更复杂或者大范围的路径问题时,经典的DRL算法仍然得不到好的优化效果,训练好的模型泛化到大范围时解的质量会下降。于是研究者提出了分层强化学习(hierarchical reinforcement learning HRL )模型,HRL在面对高维度问题时不会出现维度灾难,将一个复杂的问题分解为简单的子问题,从而来解决大规模的TSP。 Ma 等人 [15] 使用 RL 训练分层 GPN ,在约束条件下学习分层策略寻找最优解,该模型在小范围TSP 训练且泛化到大范围TSP 也具有更快的计算速度和最短距离。
       而对于问题 TSP-D Bogyrbayeva 等人 [34] 提出了一种AM-LSTM 混合模型,用于考虑车辆和无人机之间交互作用的高效路径,该模型由一个基于AM 的编码器和一个基于 LSTM 的解码器组成, AM 对高度连通的图形进行编码,LSTM 存储所有车辆的历史路径。数值结果所示,这种混合模型在解决方案质量和计算效率方面都优于基于 AM 机制的模型,以及模型泛化到对最小 - 最大容量约束车辆路径问题的实验也证实了混合模型比基于注意的模型更适合于多车辆协调的路径问题。
        与启发式方法相比,经典的 DP 算法保证了最优解, 但随着问题规模的增大使得泛化性很差。为此 Kool 等人[64] 提出深度策略动态规划( deep policy dynamic programming, DPDP ),将神经启发式的优势与 DP 算法的优势相结合。DPDP 使用来自 DNN 的策略对 DP 状态空间进行优先级排序和限制,以及使用 GNN 对部分解进行评估,对DP 算法进行“神经增强”。实验结果表明,神经策略有效地提高了 DP 算法的性能,对于具有 TSP100 ,该方法产生与高度优化的 LKH 求解器相接近的结果,在TSPTW100上,DPDP的求解速度显著快于LKH。
        面对 CVRP ,王扬等人 [43] 提出动态图 Transformer (dynamic graph transformer model DGTM )混合模型, 使用动态位置编码技术,用于循环编码动态序列,使得节点坐标在嵌入过程满足平移不变性,其次将 GNN 的聚合操作处理应用于 Transformer 解码架构中,最后通过双重损失的 REINFORECE 算法训练 DGTM ,有效调节不同节点间的差异分布程度,防止过早收敛。DGTM在处理 CVRP 问题上优化结果得到显著提高且具有较好的泛化性能。

2.4.3 模型总结

       之前关于求解车辆路径的工作主要集中在自回归模型,但当与任何形式的搜索方法相结合时,需要为每个部分解来评估模型,导致模型的计算成本很高。而Kool等人 [64] 提出的模型每个实例只需要对 NN 进行一次评估,因此可以进行更大范围的搜索。

3 DRL求解VRP的分析

3.1 求解方法局限性

        利用 RL 求解 VRP 需要不断调整参数,改进策略网络,在训练过程中难免会出现模型不稳定、泛化能力差或过于依赖标签等情况,都会对模型的最终性能造成影响。下面分别对基于 PN 、基于 GNN 、基于 Transformer和混合模型求解VRP 的相关模型进行局限性分析。
       基于 PN 模型局限性分析: PN 结构简单,无法处理动态信息;网络层数少,不利于充分提取问题的特征信息;在处理动态信息过程中,信息本身的不稳定性、节点信息稀疏性都会限制模型的优化效果影响解的输出。
       基于 Transformer 模型局限性分析:网络层数多、结构复杂,模型参数变多且不易训练。
       基于 GNN 模型局限性分析:模型需借助验证集早停提升模型性能;训练是整个批次进行的,难以扩展到大规模网络,且收敛较慢;网络层数太深时,模型参数不能得到有效的训练;图的拓扑性质会导致巨大的解空间在搜索过程也是困难的,从而限制模型的优化效果。
       混合模型求解 VRP 局限性分析:使用传统算法搜索导致训练时间较长,优化性能无法保证,可能出现解码错误等情况。 因此无论是基于图结构模型、还是基于 DRL 结合传统算法模型求解 VRP ,都有一定的局限性,表 3 对求解VRP 的经典模型进行局限性分析。

3.2 RL求解VRP问题的优势及实验对比

       VRP 有很多变体涉及动态不确定因素,利用传统方法求解问题难度很大,且不会有很大的突破 RL 与传统算法的结合求得的结果优于只使用传统算法的结果,例如 Alipour 等人 [69] 面对多约束条件的路径问题,使用 RL 算法使问题描述更加全面,解的质量也很高。VRP变体都是在经典的TSP上衍生的,具有相似的优化结构,传统算法在问题描述发生轻微变化时,就要重新设计算法,面对 VRP众多变体,设计很多算法将消耗大量人力,因此,单独地使用传统算法是不可行的。
       在面对具有多个约束条件的问题时,输入输出是随机的、动态的,且前一步的结果可能会对下一步求解有影响。一些传统算法难以考虑随机和动态因素,导致模型泛化能力弱,不能在各个变体中通用或者得到解的质量很差。而 NN 中的嵌入方式可以根据问题的情况做静态嵌入和动态嵌入,充分保证了原始问题的真实性。Li等人 [36] 提出 DRL 方法求解覆盖旅行商问题( covering salesman problem, CSP ),模型基于 PN 加入动态嵌入模型处理动态信息,计算速度比传统启发式快近 20 倍。利用RL 求解 VRP 与传统方法相比, RL 有优质的表现和泛化能力,加入动态嵌入可以更好地处理动态信息,深层次的网络更有利于提取深层次潜在的隐含信息。
       总的来说, RL 求解 VRP 相比传统算法的优势如下:(1 )求解速度快。 DNN 模型对问题特征进行全方位的表示,减少了解空间的搜索宽度和深度;硬件设施 CPU 更高、更快、更强和GPU ML 领域的优异表现,使得 VRP问题在最短的计算时间内得到显著的优化效果;模型一旦训练完成,以 O ( n ) 的复杂度输出解。( 2 )泛化能力的提高。面对具有相似结构的问题,只需调用参数通过迁移学习传递给相应的策略函数,就能输出合适的解,减少对数据标签的依赖性,节省大量资源和计算时间。通过 DRL 学出来的策略有希望比人工设计出来的更高效,不需要重新设计算法。(3 )解决了多维度问题。面对多维度问题,可以使用不同嵌入方式结合AM使问题的描述更加详细,挖掘更深层次的关系,从而输出高质量的解。DRL有望能够求解一些复杂约束条件下的NP难问题。
        本文对端到端的 DRL 方法作了详细的介绍,为保持实验数据公平性,所有实验均基于 Pytorch-1.9.0 深度学习平台,在 Windows11 操作系统环境下使用单张Nvidia RTX 3050 GPU 和 i5-11300H CPU 运行 VRP模型,这里总结了常用的基于 DRL 的方法和启发式算法的最新实验结果,表 4 是针对 CVRPlib 数据集实例上具有代表性模型的优化效果的对比。实验结果显示, DACT 模型的优化性能超越了目前基于 DRL 的模型和专业求解器。

4.总结及未来发展方向

        最近,许多研究人员回顾了基于 RL 求解 VRP ,每篇综述都有各自的优点和不足,本文对最近发表的综述进行整理分析:Mazyavkina 等人 [70] 总结了一些常用的基于策略和基于价值的强化学习算法,没有比较模型间的差距,没有数据对比;Kotary 等人 [71] ML 学习方法进行分类,侧重于端到端的学习范式,笼统地介绍了 GNN ;Cappart等人 [72] GNN 在各种推理任务中的应用进行了高级概述没有描述学习在 CO 推理中的具体作用和过程;Bengio 等人 [73] COP ML 算法进行概述,为 ML 应用到COP 提供理论基础,但未对 ML 求解 COP 的建模过程进行详细介绍。
       DRL VRP 问题与 DNN 结合起来,将 VRP 的特殊 性和 DRL 的优势结合起来,克服了单独使用传统算法求解效果不理想的局限性,是目前解决 VRP 及其变体最流行的方法。本文对 RL 的相关算法以及 DRL 模型的构建过程进行了详细的介绍,并梳理了先前模型的创新点和不足之处,重点分析了 DRL 模型架构的主要作用和特性。VRP是多变体多维度的,且现实数据与训练数据会有差距,导致模型在应用到实例会出现效果不好、最优间隙差等情况,由这些模型的不足可以看到,将
来使用 DRL 解决 VRP 及其变体问题仍存在挑战性。
1 )现有基于学习的方法仅仅训练特定的路径问题,对特定路径问题的范围进行泛化求解。未来可以考虑将训练完成的路径策略通过迁移学习技术,在不同实例上进行泛化求解,会节省大量的计算资源,提高模型的利用率。进一步深入探求不同参数之间的内在联系, 建立 VRP 问题变体之间的源域到目标域的映射关系是未来值得研究的问题。
2 )现有 RL 模型求解 VRP 属于端到端的方法,求解过程类似于黑箱优化,缺乏相应的理论保证。未来工作中,寻找一种通用的体系结构,有效地保证 DRL 求解方法的可行性,还需要进一步评估和检验。未来工作中可以考虑将 DRL 及其网络架构迁移至运筹优化算法中,以增强求解的可靠性。因此继续深入探求 DRL的求解过程和增强模型的可解释性是未来值得研究的问题。
3 )大多数网络使用均匀分布或者随机生成数据来训练策略网络,训练好的模型可以泛化到不同的问题上,但是模型泛化能力的好坏或许与训练数据有关,若节点位置分布不知或不遵循任何分布,此时构建一个稳定的模型具有很大挑战。如何为 VRP及其变体问题构建鲁棒性的训练模型是未来工作中的关键研究点。未来考虑通过 知识蒸馏的方法提升 DRL模型在不同数据分布下的泛化能力。
4 RL 含有大量手工设计的超参数,不同的参数往往对模型的性能影响较大。为减少超参数对实验结果的影响,考虑将自动 RL 参数调整技术引入到模型训练中。自动调整学习率和衰减率对模型收敛性的控制是未来一个重要的研究方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/790278.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微调Qwen2大语言模型加入领域知识

这里写自定义目录标题 试用Qwen2做推理安装LLaMA-Factory使用自有数据集微调Qwen2验证微调效果 试用Qwen2做推理 参考:https://qwen.readthedocs.io/en/latest/getting_started/quickstart.html from transformers import AutoModelForCausalLM, AutoTokenizer de…

NI 5G大规模MIMO测试台:将理论变为现实

目录 概览引言MIMO原型验证系统MIMO原型验证系统硬件LabVIEW通信系统设计套件(简称LabVIEW Communications)CPU开发代码FPGA代码开发硬件和软件紧密集成 LabVIEW Communications MIMO应用框架MIMO应用框架特性单用户MIMO和多用户MIMO基站和移动站天线数量…

作业/数据结构/2023/7/10

1.实现单向链表队列的,创建,入队,出队,遍历,长度,销毁。 main.c #include "head.h"int main(int argc, const char *argv[]) {//创建链式队列queue_ptr QLcreate_queue();//入栈push(QL, 1000)…

OpenGL3.3_C++_Windows(29)

Demo exposure 0.1f exposure 5.0f HDR色调映射 问题:有多个亮光源使这些数值总和超过了1.0,颜色值会被约束在1.0,从而导致场景混成一片,难以分辨:色调映射:用更大范围的颜色值渲染从而获取大范围的黑暗…

手搓前端day1

断断续续的学了些前端,今天开始写写代码,就当是记录一下自己前端的成长过程 效果: 写了点css,实现了简单的前端页面的跳转 文件目录 代码如下: styles.css body{margin: 0;padding: 0;}header{background-color: bl…

从0-1搭建一个web项目(路由目录分析)详解

本章分析vue路由目录文件详解 ObJack-Admin一款基于 Vue3.3、TypeScript、Vite3、Pinia、Element-Plus 开源的后台管理框架。在一定程度上节省您的开发效率。另外本项目还封装了一些常用组件、hooks、指令、动态路由、按钮级别权限控制等功能。感兴趣的小伙伴可以访问源码点个赞…

vue前端实现导出页面为word(两种方法)

将vue页面导出为word文档,不用写模板,直接导出即可。 第一种方法(简单版) 第一步:安装所需依赖 npm install html-docx-js -S npm install file-saver -S第二步:创建容器,页面使用方法 注意:在当前页面引…

对于多个表多个字段进行查询、F12查看网页的返回数据帮助开发、数据库的各种查询方式(多对多、多表查询、子查询等)。

对于多个表多个字段进行查询、F12查看网页的返回数据帮助开发、数据库的各种查询方式(多对多、多表查询、子查询等)。 一、 前端界面需要展现多个表的其中几个数据的多表查询。1. 三个表查询其中字段返回:(用一下sql语句&#xff…

论文翻译 | (TAKE A STEP BACK) 后退一步:在大型语言模型中通过抽象来调用推理

摘要 我们介绍了STEP-BACK提示,这是一种简单的提示技术,使LLM能够进行抽象,从而从包含特定细节的实例中派生高级概念和第一原则。使用概念和原则来指导推理,LLM显着提高了他们遵循正确推理路径的能力。我们使用PaLM-2L、GPT-4和Ll…

3102.力扣每日一题7/9 Java(TreeMap)

博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 TreeMap详解 解题思路 解题方法 时间复杂度 空间复杂度 Code T…

imx6ull/linux应用编程学习(16)emqx ,mqtt创建连接mqtt.fx

在很多项目中都需要自己的私人服务器,以保证数据的隐私性,这里我用的是emqx。 1.进入emqx官网 EMQX:用于物联网、车联网和工业物联网的企业级 MQTT 平台 点击试用cloud 申请成功后可得:(右边的忽略) 进入…

【读点论文】ASAM: Boosting Segment Anything Model with Adversarial Tuning,对抗学习提升性能

ASAM: Boosting Segment Anything Model with Adversarial Tuning Abstract 在不断发展的计算机视觉领域,基础模型已成为关键工具,对各种任务表现出卓越的适应性。其中,Meta AI 的 Segment Anything Model (SAM) 在图像分割方面表现突出。然…

国内从事人机交互的团队——浙江工业大学

一、背景 当我们选择一个新的课题后,需要清楚的了解从事该方向的团队都有哪些,这样可以及时跟踪和学习大牛团队的最新进展,以免自己认为的good idea,其实早就已经研究过了。 随着人形机器人的发展,机器人不仅需要在无…

vscode使用Git的常用操作

主打一个实用 查看此篇之前请先保证电脑安装了Git,安装教程很多,可自行搜索 一.初始化本地仓库🟢 使用vscode打开项目文件夹如图所使初始化仓库,相当于命令行的git init 二.提交到暂存区🟢 三.提交到新版本&#x1f…

python04——类(基础new)

类其实也是一种封装的思想,类就是把变量、方法等封装在一起,然后可以通过不同的实例化对其进行调用操作。 1.类的定义 class 类名: 变量a def __init__ (self,参数2,参数2...):初始化函数!!&…

Chromium编译指南2024 Linux篇-编译Chromium(五)

1.引言 在完成环境配置之后,我们需要开始实际的编译工作。编译 Chromium 是一个相对复杂且耗时的过程,尤其是第一次编译时。为了保证顺利完成,我们将使用 GN 和 Ninja 工具来生成和管理构建文件。接下来,我们会详细介绍如何生成构…

最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…

【HarmonyOS】关于官方推荐的组件级路由Navigation的心得体会

前言 最近因为之前的630版本有点忙,导致断更了几天,现在再补上。换换脑子。 目前内测系统的华为应用市场,各种顶级APP陆续都放出来beta版本了,大体上都完成了主流程的开发。欣欣向荣的气息。 学习思路 关于学习HarmonyOS的问题…

浅谈化工厂环保管理的痛点、智慧环保的必要性及EHS系统的实现路径

在全球环保意识日益增强的背景下,化工厂作为工业领域的重要组成部分,其环保管理显得尤为重要。然而,化工厂在追求经济效益的同时,也面临着诸多环保管理的痛点。本文将围绕化工厂环保管理的痛点、化工厂为何需要智慧环保以及如何借…

Unity【入门】场景切换和游戏退出及准备

1、必备知识点场景切换和游戏退出 文章目录 1、必备知识点场景切换和游戏退出1、场景切换2、鼠标隐藏锁定相关3、随机数和自带委托4、模型资源的导入1、模型由什么构成2、Unity支持的模型格式3、如何指导美术同学导出模型4、学习阶段在哪里获取模型资源 2、小项目准备工作需求分…