深度学习——day8 读论文(2022 硕士毕业论文)大规模车辆路径问题的深度强化学习算法研究

大规模车辆路径问题的深度强化学习算法研究

    • 思维导图
    • 算法设计
      • 预训练模型设计
      • Transformer模型设计
        • 编码器
          • 编码器原理图
          • 第一层:扩维嵌入操作
          • 第二层:线性回归扩维
          • 第三层:注意力层,由两部分组成
            • KQV模型—注意力层机制最重要的组成部分:
        • 解码器
          • context—上下文:将有用的信息进行整合
          • ① 上下文节点context (VRP问题在DRL用c表示):
          • ② query 作为需要被访问的上一层向量,通过 进行初始计算:
          • ③ 计算所有顾客节点的相关程度,进行mask操作。
          • ④ 选择节点的概率矩阵的计算
          • ⑤ 使用softmax计算最终输出的概率:
      • 强化学习算法设计
        • Actor-Critic深度学习算法进行参数训练:
        • Actor-Critic算法在大规模车辆路径问题中的算法流程
      • 针对大规模算例的深度强化学习算法改进策略
        • 加入相对位置节点的Transformer的改进策略
        • 强化学习的改进策略
          • A2C算法
    • 算例及实验结果分析
      • 算例生成与描述
        • 车辆载重容量c和规模的关系为:
      • 深度强化学习算法参数设置
        • 通过大量实验,在保证 GPU内存的情况下 Batch_Size(批次数)与 Instance_Size(每轮批次下的算例个数)
        • 上下两个周期模型变化小于 0.01%时,则满足训练终止条件;上图为训练完成与不同规模的算例所需要消耗的时间以及因为内存溢出中断的次数:
        • 学习率η的设置:将输出误差反向传播给网络参数,以此来拟合样本的输出;本质是最优化的过程。
      • 实验结果对比分析
        • 与(元)启发式算法求解质量对比
          • 各算法求解质量对比:由上表 可以看出,本文设计的深度强化学习算法在规模为 100、200、300和500的带容量限制的车辆路径问题中的求解质量均要优于与其同等运算速度下的启发式算法和元启发式算法
        • 改进的深度强化学习收敛性对比
          • 从上图可以观察到使用A2C框架后整体收敛优势优于AC模型但效果不是很明显;但是记录了全程100轮所耗训练时间,A2C框架为每轮训练节省11.6%的时间,证明了在大内存的GPU上使用A2C框架更有优势。
    • Advantage Actor-Critic(A2C)
    • 解决VRP的算法
      • 精确算法:
        • 1)分支定界
        • 2)分支定价算法
        • 3)拉格朗日松弛方法
        • 4)Benders分解算法
      • 启发式算法:
        • 1)节约算法
        • 2)贪婪算法:在当前状态下做出最好的决策
        • 3)插入算法
        • ① 结合在不同算法里,作为优化环节的一部分出现
        • ② 作为其他算法生成初始解的阶段使用,能够快速给出一个质量较好的初始解
      • 元启发式算法:在求解过程中依据算法的策略规定,在一定条件下能够接受劣解,通过这种方式,能够跳出组合优化问题陷入局部最优的情况
        • 1)禁忌搜索:过于依赖初始解的质量,往往和一些启发式算法一起使用
        • 2)模拟退火算法:解决组合优化问题的范式
        • 3)蚁群算法:通过信息素浓度的密集程度进行寻优
      • 机器学习算法
        • 1)基于深度强化学习的指针网络端到端算法
          • 基于序列模型,通过训练网络模型参数,
        • 2)基于深度强化学习的图神经网络端到端算法
        • 3)基于深度强化学习的改进局部搜索算法
          • 其本质上是一种超启发式算法,在启发式的众多策略之下,使用深度强化学习技术对每一次迭代使用哪种策略进行求解

思维导图

点击下载原图
深度学习——day8 读论文(2022 硕士毕业论文)大规模车辆路径问题的深度强化学习算法研究_第1张图片

算法设计

预训练模型设计

Transformer模型设计

编码器

编码器原理图
第一层:扩维嵌入操作
第二层:线性回归扩维
第三层:注意力层,由两部分组成

1)多头注意力层(muti-head attention, MHA)
2)全连接的前反馈层(feed-forward layer)

KQV模型—注意力层机制最重要的组成部分:

Q(Query)到一系列键值对(Key, Value)上的映射函数

解码器

context—上下文:将有用的信息进行整合
① 上下文节点context (VRP问题在DRL用c表示):

(1)从 encoder传递到 decoder部分的;
(2)从上一次解码过程中得到的;
(3)截止到当前解码过程中当前车辆所剩余的运载能力D′
(4)上标(k)用来表示解码器的时间节点

② query 作为需要被访问的上一层向量,通过 进行初始计算:
③ 计算所有顾客节点的相关程度,进行mask操作。

相关度矩阵中的设置为-∞,用以抑制信息向下传递

④ 选择节点的概率矩阵的计算
⑤ 使用softmax计算最终输出的概率:

强化学习算法设计

Actor-Critic深度学习算法进行参数训练:

(1)Actor通过策略的梯度下降,在车辆路径问题中通过解码器编译出的概率选择动作 ;
(2)Critic作为 Actor的评估标准,这里使用 value-based的方式在 Critic上加入基线,随着模型的更新,会随时调整基线值的大小。

Actor-Critic算法在大规模车辆路径问题中的算法流程

针对大规模算例的深度强化学习算法改进策略

加入相对位置节点的Transformer的改进策略

强化学习的改进策略

A2C算法

算例及实验结果分析

算例生成与描述

车辆载重容量c和规模的关系为:

深度强化学习算法参数设置

通过大量实验,在保证 GPU内存的情况下 Batch_Size(批次数)与 Instance_Size(每轮批次下的算例个数)

上下两个周期模型变化小于 0.01%时,则满足训练终止条件;上图为训练完成与不同规模的算例所需要消耗的时间以及因为内存溢出中断的次数:

学习率η的设置:将输出误差反向传播给网络参数,以此来拟合样本的输出;本质是最优化的过程。

实验结果对比分析

与(元)启发式算法求解质量对比

各算法求解质量对比:由上表 可以看出,本文设计的深度强化学习算法在规模为 100、200、300和500的带容量限制的车辆路径问题中的求解质量均要优于与其同等运算速度下的启发式算法和元启发式算法

改进的深度强化学习收敛性对比

从上图可以观察到使用A2C框架后整体收敛优势优于AC模型但效果不是很明显;但是记录了全程100轮所耗训练时间,A2C框架为每轮训练节省11.6%的时间,证明了在大内存的GPU上使用A2C框架更有优势。

Advantage Actor-Critic(A2C)

解决VRP的算法

精确算法:

适用于小规模寻找最优解,求解质量高

1)分支定界

2)分支定价算法

3)拉格朗日松弛方法

4)Benders分解算法

启发式算法:

基于问题特征提出的策略和解决方案,短时间内按一定的经验准则不断迭代出一个满意解

1)节约算法

2)贪婪算法:在当前状态下做出最好的决策

3)插入算法

① 结合在不同算法里,作为优化环节的一部分出现

② 作为其他算法生成初始解的阶段使用,能够快速给出一个质量较好的初始解

元启发式算法:在求解过程中依据算法的策略规定,在一定条件下能够接受劣解,通过这种方式,能够跳出组合优化问题陷入局部最优的情况

1)禁忌搜索:过于依赖初始解的质量,往往和一些启发式算法一起使用

2)模拟退火算法:解决组合优化问题的范式

3)蚁群算法:通过信息素浓度的密集程度进行寻优

机器学习算法

1)基于深度强化学习的指针网络端到端算法

基于序列模型,通过训练网络模型参数,

强化网络对问题特征的提取,最后通过有监督训练或者无监督的强化学习训练进行在线
训练,训练完成后的模型参数加载至网络中再进行离线求解,如此便可获得最终解

2)基于深度强化学习的图神经网络端到端算法

3)基于深度强化学习的改进局部搜索算法

其本质上是一种超启发式算法,在启发式的众多策略之下,使用深度强化学习技术对每一次迭代使用哪种策略进行求解

你可能感兴趣的:(深度学习,VRP,深度学习,算法,人工智能)