车辆路径问题(vehicle routing problem, VRP)于1959年首次提出, 是物流配送行业的核心问题.随后, 针对不同的实际需求, 国内外学者提出了不同的VRP变体.其中, 多配送中心车辆路径问题(multi-depot vehicle routing problem, MDVRP)是更加复杂的物流配送问题, 由Gillett等[1]于1976年首次提出, 其任务是在车辆最大容量、顾客需求服务等多个约束条件下, 以总配送成本最小为目标, 设计最优调度方案实现多个配送中心为多个顾客点配送服务.由于MDVRP是一个NP难问题, 需要花费十分昂贵的时间成本才能获得该问题的最优解, 如何更快速地获得高质量的解成为该领域的研究重点.
在已有研究中, 少部分学者采用精确算法进行求解, 例如Bettinelli等[2]设计了一种分支定价算法求解带有时间窗约束的多车型MDVRP.但精确算法在求解MDVRP等复杂问题时效果并不理想, 因此大部分文献采取启发式方法进行求解.文献[3-4]采用不同的聚类方法将MDVRP分解为多个单配送中心VRP进行求解; Ho等[5]提出一种融合邻域搜索与遗传算法的混合启发式方法, 采用节约算法[6]和最近邻启发式(nearest neighbor heuristic, NNH)生成初始种群, 并在遗传操作中采用迭代交换进程(iterated swap procedure, ISP).Bezerra等[7]采用扫描算法对顾客点聚类并生成初始解, 设计了一种生成变邻域搜索方法改进解的质量.王征等[8]提出一种改进的变邻域搜索算法求解带有时间窗约束的MDVRP.许维胜等[9]利用改进的最优切割算法MDVRP-Split将顾客分配给配送中心以求解两级车辆路径问题.曾正洋等[10]为了解决应急物流问题, 建立累计时间式MDVRP模型, 并提出一种多起点变邻域下降法进行求解.周鲜成等[11]构建多配送中心绿色车辆路径问题(MDGVRP)模型, 并设计了一种改进的蚁群算法进行求解.
深度强化学习(deep reinforcement learning, DRL)是深度学习与强化学习的结合, 其利用深度学习强大的表征能力拟合强化学习中智能体的动作价值函数或动作策略函数, 有效地解决了动作空间及状态空间过大情况下动作价值和状态价值的存储问题.随着近几年深度强化学习的兴起, 越来越多的国内外学者开始研究其在求解组合优化问题(combinatorial optimization problems, COP)中的应用, 其中车辆路径问题是典型的组合优化问题.Vinyals等[12]提出了pointer network神经网络模型求解旅行商问题(travelling salesman problem, TSP), 首次以端到端的求解方式将深度学习应用到车辆路径问题中.神经网络监督式学习需要TSP问题的最优解作为训练标签, 而通常很难获得一个TSP问题的最优解, 为此Bello等[13]采用强化学习代替监督式训练方式, 这也是首次利用深度强化学习直接求解组合优化问题.Nazari等[14]认为车辆路径问题的解与点的输入顺序无关, 因此将pointer network中的编码器部分从循环神经网络替换为线性嵌入层.Kool等[15]在编码器的设计上采用Transformer结构[16]提出了一种基于图注意力机制的网络模型, 并利用带有基准的策略梯度算法训练网络, 实验中利用该模型有效地求解了包括VRP在内的多个组合优化问题.文献[15]中的模型是目前求解COP较为高效的深度强化学习方法.以上所提到的方法均采用编码器-解码器结构, 另有部分学者采用图神经网络模型进行求解.例如Li等[17]利用图卷积网络估计图中每个顶点属于最优解的概率, 并通过树搜索求解多个组合优化问题.Nowak等[18]利用图卷积网络输出图中每条边被选择的概率, 并采用波次搜索获得TSP最优解, 通过LKH3[19]获得训练标签, 用监督学习的方式训练网络.还有学者将启发式方法与深度强化学习相结合, 通过DRL训练启发式模型.例如Chen等[20]提出了基于深度强化学习的局部重写启发式方法NeuRewriter, 利用Q-Actor-Critic方式训练网络模型.Lu等[21]提出一个基于学习的改进方法, 通过网络模型输出改进算子池中选择的改进算子以及重构算子池中的重构算子.Costa等[22]提出了基于学习的2-opt局部搜索方法, 通过网络模型选择2-opt的操作节点.Wu等[23]将深度强化学习方法与启发式方法相结合, 利用DRL学习车辆路径问题的启发式规则, 该方法的实验结果优于端到端的DRL方法.
综上所述, 目前对MDVRP的研究多集中于启发式方法, 而随着DRL在COP中的研究发展, 该领域仍存在以下局限性:
1) 启发式方法通常采用“先分组后规划”的思想, 不同分组各自规划, 导致分组之间整体关联性的缺失;
2) 启发式方法中分组的优劣通常决定了整体规划的优劣, 而分组规则的制定需要大量专家邻域知识, 人为的分组规则制定很难达到最优效果;
3) 目前DRL方法在COP中的研究主要集中在利用单个智能体学习与环境之间的交互求解TSP、VRP等问题, 而关于求解MDVRP问题的研究相对缺乏.
针对现有研究的局限性, 本文根据MDVRP特点, 提出一种基于多智能体深度强化学习的MDVRP求解模型MADRL-model, 利用深度学习的注意力网络提取得到更高维度的特征表示, 并通过多智能体之间学习相互合作行为提高模型决策性能.首先定义MDVRP的多智能体强化学习形式, 根据MDVRP问题特性设计策略网络中的邻居结构和解码器的遮掩机制, 并设计一种新的基于多智能体强化学习的策略网络框架.在不分组的情况下从整体上进行车辆路径规划, 能够以端到端的形式快速有效地求解MDVRP.针对模型求解结果中出现的问题, 采用不同的局部搜索策略对解进行改进.最后, 通过对不同规模问题仿真实验以及与其他算法进行对比, 验证所提出的多智能体深度强化学习模型及其与搜索策略的结合能够快速获得高质量的解.
1 问题与模型 1.1 问题描述MDVRP描述如下: 存在多个配送中心为多个顾客点配送所需货物, 每个配送中心分配一定数量的车辆, 车辆运输最大容量以及配送中心位置坐标已知; 每个顾客点的需求量以及位置坐标已知; 目标是通过最优车辆路径规划实现总路径最小化.为了便于分析和研究, 对该问题作出以下假设:
1) 所有车辆车型相同;
2) 所有顾客需求均小于车辆最大容量;
3) 每个顾客点有且仅有一个配送中心为其服务;
4) 每辆车均从一个配送中心出发且最终返回同一个配送中心;
5) 配送中心之间不存在运输路线.
图 1为MDVRP的一个简单示例.
|
图 1 MDVRP示例图 |
假设有
| $ \begin{align} &\min \sum\limits_{d \in {\rm Dep}} {\sum\limits_{k \in {K_d}} {\sum\limits_{i \in V} {\sum\limits_{j \in V} {{\rm Dis}( {i, j} ) \times {x_{ijk}}} } } }. \end{align} $ | (1) |
| $ \begin{align} &{\rm\; s.t.}\; \sum\limits_{i \in V} {{x_{ijk}}} = \sum\limits_{i \in V} {{x_{jik}}} , \; \forall j \in {\rm Cus}, \; k \in K; \end{align} $ | (2) |
| $ \begin{align} &\quad\; \; \; \sum\limits_{k \in K} {\sum\limits_{j \in V} {{x_{ijk}}} = 1, \; \forall i \in {\rm Cus}}; \end{align} $ | (3) |
| $ \begin{align} &\; \; \; \sum\limits_{i \in {\rm Cus}} {{\lambda _i}\sum\limits_{j \in V} {{x_{ijk}}} \leqslant Q, \; \forall k \in K}; \end{align} $ | (4) |
| $ \begin{align} &\; \; \; \sum\limits_{d \in {\rm Dep}} {{y_{kd}} = 1, \; \forall k \in K}; \end{align} $ | (5) |
| $ \begin{align} &\; \; \; \sum\limits_{d \in {\rm Dep}} {\sum\limits_{k \in K} {{y_{kd}} \leqslant L} }; \end{align} $ | (6) |
| $ \begin{align} &\quad\; \; \; {x_{ijk}} \in \{ {0, 1} \}, \; \forall i, j \in V, \; k \in K; \end{align} $ | (7) |
| $ \begin{align} &\; \; \; {y_{kd}} \in \{ {0, 1} \}, \; \forall k \in K, \; d \in {\rm Dep}. \end{align} $ | (8) |
式(1)为最小化总运输路径目标函数; 式(2)表示所有顾客节点出入边数相等; 式(3)表示所有顾客节点有且仅有唯一车辆服务; 同时式(2)和(3)保证所有顾客节点出入边数均为1;式(4)表示所有车辆载重不得超过车辆最大容量; 式(5)表示每辆车归属配送中心唯一; 式(6)表示所有车辆总和不得超过最大车辆数; 式(7)为路径决策变量; 式(8)为车辆归属决策变量.
2 算法描述首先定义MDVRP的多智能体强化学习形式; 其次设计一种基于编码器-解码器结构的策略网络, 通过策略梯度强化学习方法训练网络模型; 最后采用不同的动作选择策略和搜索策略获得更高质量的解.
2.1 多智能体强化学习形式定义建立MDVRP的马尔可夫决策过程(Markov decision process, MDP), 定义其状态空间、动作空间、状态转移以及回报函数, 形成MDVRP的多智能体强化学习形式.
状态: 状态
动作: 多智能体强化学习动作空间为所有智能体的联合动作空间
状态转移: 经过当前时间步
回报: 对于MDVRP而言, 目标函数是最小化总距离, 总距离越小则智能体的累计回报越高, 因此将总距离的负数作为累计回报, 有
| $ \begin{align} R = - \sum\limits_{d = 1}^D {\sum\limits_{t = 1}^{T - 1} {{\rm Dis}( {A_d^t, A_d^{t + 1}} )} }. \end{align} $ | (9) |
参数化的随机策略
| $ \begin{align} P( {\pi |s} ) = \prod\limits_{t = 1}^T {{p_\theta }( {{\pi _t}|{s_{t - 1}}, {\pi _{t - 1}}} )}. \end{align} $ | (10) |
策略网络包含输入、编码器、多个智能体网络构成的解码器以及输出.编码器将输入映射到隐状态, 并计算得到整体图特征信息; 解码器在每个时间步输出每个动作的选择概率, 根据概率策略性地选择具体动作并更新状态, 直到结束状态.
2.2.1 编码器编码器结构如图 2所示, 由嵌入层和
|
图 2 编码器网络结构 |
step 1:嵌入层.将配送中心点和顾客点的特征作为输入
| $ \begin{align} h_i^0 = {W^X} \times {x_i} + {b^X}, \end{align} $ | (11) |
其中
step 2:注意力模块.将节点嵌入特征
| $ \begin{align} &{\hat h^l} = {\rm BatchNorm}^l( {{h^{l - 1}} + {\rm MHA}{^l}( {{h^{l - 1}}} )} ), \end{align} $ | (12) |
| $ \begin{align} &{h^l} = {\rm BatchNorm}{^l}( {{{\hat h}^l} + {\rm FF}{^l}( {{{\hat h}^l}} )} ). \end{align} $ | (13) |
step 2.1:多头注意力层.MHA是在多个不同维度空间上的注意力机制[16], 多头注意力机制有助于从不同维度获取特征信息, 本文采用的注意力头数
| $ \begin{align} &{q_m} = W_m^Q \times {h^{l - 1}}, \; {k_m} = W_m^K \times {h^{l - 1}}, \\ &{v_m} = W_m^V \times {h^{l - 1}}. \end{align} $ | (14) |
其中:
与文献[15]处理VRP的方式不同, 本文根据MDVRP特点重新定义节点邻居结构: 如果该节点为配送中心点, 则对应邻居节点为所有顾客点; 如果该节点为顾客点, 则对应邻居节点为所有节点.在每一个注意力头维度空间上计算
| $ \begin{align} &{{u}}_{ij}^m = \begin{cases} \dfrac{{q_{i, m}^{\rm T} \times {k_{j, m}}}}{{\sqrt {{\rm dim}( {{k_{j, m}}} )} }}, \; j\; {\rm adjacent\; to}\; i;\\ - \infty, \; {\rm otherwise}. \end{cases} \end{align} $ | (15) |
| $ \begin{align} &a_{ij}^m = {\rm SoftMax}( {u_{ij}^m} ) = \dfrac{{{{\rm e}^{u_{ij}^m}}}}{{ \sum\limits_{j'} {{{\rm e}^{u_{ij'}^m}}} }}. \end{align} $ | (16) |
| $ \begin{align} &{h'_{i, m}} = \sum\limits_j {a_{ij}^m \times v_j^m}. \end{align} $ | (17) |
| $ \begin{align} &{\rm MHA}( {{h_i}} ) = \sum\limits_{m = 1}^M {W_m^O \times {h'_{i, m}}}. \end{align} $ | (18) |
其中
step 2.2:前馈网络层.前馈网络层由两层线性全连接层构成, 利用ReLU函数激活神经元, 有
| $ \begin{align} {\rm FF}( {{{\hat h}_i}} ) = W_2^F \times {\rm ReLU}( {W_1^F \times {{\hat h}_i} + b_1^F} ) + b_2^F. \end{align} $ | (19) |
其中:
解码器的多智能体框架利用上一个时间步状态信息
|
图 3 解码器网络结构 |
step 1:嵌入层.嵌入层将智能体
| $ \begin{align} &h_d^c = {\rm concat}( {{h_{\rm graph}}, {\rm last}{_d}, {\rm rest}{_d}, \{ {{\rm last}{_i}, {\rm rest}{_i}} \}} ), \end{align} $ | (20) |
| $ \begin{align} &\hat q_d^c = {W^C} \times h_d^c + {b^C}, \end{align} $ | (21) |
其中
step2:多头注意力层.解码器中多头注意力层的query由嵌入层输出的上下文相关向量
| $ \begin{align} {\hat k_{d, m}} = \hat W_{d, m}^K \times {h^N}, \; {\hat v_{d, m}} = \hat W_{d, m}^V \times {h^N}. \end{align} $ | (22) |
其中:
解码器的多头注意力层利用遮掩机制对不可访问节点进行遮掩, 计算query与key之间的缩放点乘向量
| $ \begin{align} &{\hat u_{d, j, m}} \!=\! \begin{cases} {\dfrac{{{{( {\hat q_d^c} )}^{\rm T}} \!\times\! {{\hat k}_{d, j, m}}}}{{\sqrt {{\rm dim}( {{{\hat k}_{d, j, m}}} )} }}}, \; \rm{满足条件}1)\sim 3);\\ { - \infty }, \; {\rm otherwise}. \end{cases} \end{align} $ | (23) |
| $ \begin{align} &{\hat a_{d, j, m}} = {\rm SoftMax}( {{{\hat u}_{d, j, m}}} ) = \dfrac{{{{\rm e}^{{{\hat u}_{d, j, m}}}}}}{{ \sum\limits_{j'} {{{\rm e}^{{{\hat u}_{d, j', m}}}}} }}. \end{align} $ | (24) |
| $ \begin{align} &\hat q_{d, m}^c = \sum\limits_j {{{\hat a}_{d, j, m}} \times {{\hat v}_{d, j, m}}}. \end{align} $ | (25) |
| $ \begin{align} &q_d^c = \sum\limits_{m = 1}^M {W_{d, m}^O \times \hat q_{d, m}^c}. \end{align} $ | (26) |
其中
step 3:注意力层.解码器通过一个单头的注意力层输出节点选择概率向量.该注意力层计算query与key之间的相容度
| $ \begin{align} &{u_{d, j}} = \\ &\begin{cases} {C \times {\rm tanh}\Big( {\dfrac{{{{( {q_d^c} )}^{\rm T}} \times {k_{d, j}}}}{{\sqrt {{\rm dim}( {{k_{d, j}}} )} }}} \Big)}, \; \rm{满足条件}1)\sim 3);\\ { - \infty }, \; {\rm otherwise}. \end{cases} \end{align} $ | (27) |
| $ \begin{align} &{p_{d, j}} = {\rm SoftMax}( {{u_{d, j}}} ) = \dfrac{{{{\rm e}^{{u_{d, j}}}}}}{{ \sum\limits_{j'} {{{\rm e}^{{u_{d, j'}}}}} }}. \end{align} $ | (28) |
其中tanh
根据每个智能体输出的概率向量
带有回滚基准的REINFORCE算法[24]主要基于策略的强化学习算法, 该算法通过计算单智能体的累计回报估计策略梯度并训练单智能体策略.本文采用该算法训练多智能体联合策略, 通过计算联合策略的累计回报估计策略梯度并训练多智能体策略网络.对于一个给定的实例
| $ \begin{align} &{\nabla _\theta }L( {\theta |s} ) = \\ &- {E_{{p_\theta }( {\pi |s} )}}[ {( {R( \pi ) - R( {{\pi ^{bl}}} )} )\times {\nabla _\theta }\log {p_\theta }( {\pi |s} )} ], \end{align} $ | (29) |
| $ \begin{align} &\theta = {\rm Adam}( {\theta , {\nabla _\theta }L( {\theta |s} )} ). \end{align} $ | (30) |
利用基准网络
经过多轮次学习的策略网络拥有较好的决策能力, 动作选择策略根据网络输出的概率向量选择动作.本文采用两种不同的动作选择策略:
1) 贪婪动作选择策略完全信任策略网络, 每一步都以解码器输出概率值为基准, 选择拥有最大概率值的动作;
2) 采样动作选择策略以解码器输出概率作为采样概率分布, 在该分布上进行动作采样选择, 因此该策略并非每次都会选择最大概率值的动作, 而是以不同的概率选择对应动作.
在网络训练过程中基准网络
训练完的MADRL-model采用贪婪动作选择策略可以快速求解MDVRP, 但针对部分较难的实例存在一定的改进空间, 例如子回路中路线交叉问题以及贪婪动作选择策略的过度自信行为导致错失了拥有较高选择概率(但并非最高)的动作.为了改进解的质量, 本文采用两种局部搜索策略:
1) 2-opt搜索.针对出现的子回路中路线交叉问题, 2-opt局部搜索将模型输出的解的每个子回路作为初始解, 对所有子回路进行2-opt操作进行寻优, 从而改进解的整体质量, 具体步骤如下.
step 1:随机选择当前子回路
step 2:若子回路
step 3:若迭代次数达到最大迭代次数
2) 采样搜索.模型使用采样动作选择策略重复求解同一个实例以获得该实例多个完整解, 取其中最优的解, 即设
使用pytorch实现MADRL-model整体框架, 在单张GPU(2080ti, 显存为10G)上训练策略网络模型, 在运行环境为Intel Core i7 CPU/3.60 GHz的win10操作系统上进行算例测试.为验证MADRL-model性能, 分别在20-3规模(20个顾客点, 3个配送中心点, 车辆最大容量为30)、50-3规模(50个顾客点, 3个配送中心点, 车辆最大容量为40)和100-2规模(100个顾客点, 2个配送中心点, 车辆最大容量为50)的算例上训练模型, 算例生成方式参考文献[15]中CVRP实例的生成方式, 节点的坐标在
在模型训练环节, 对于20-3规模和50-3规模问题, 训练轮数(epoch)设置为100, 每轮训练批数设置为2 500, 每批次算例数设置为512;对于100-2规模问题, 由于显存大小限制, 每批次算例数设置为128, 采样搜索中的采样数
在单智能体强化学习中, 策略网络含有单个智能体结构, 只需要智能体与环境之间的交互, 但是MADRL-model中含有多个智能体, 不仅需要对环境有准确认知, 还需要将不同智能体之间的特征信息进行融合达到相互合作的效果.多智能体之间的交互通过网络模型中解码器嵌入层的特征融合实现, 解码器将当前智能体状态特征与其他智能体状态特征融合, 使得当前智能体选择节点时考虑联合动作最优; 而单智能体学习模式中解码器嵌入层只包含当前智能体特征, 因此只考虑当前智能体动作最优.本文设置了多智能体框架的有效性检验实验, 将MADRL-model训练结果与单智能体学习模式进行对比, 以验证多智能体框架的有效性.由图 4分析可知, 在20-3规模问题上, MADRL-model最终训练结果略优, 而在50-3规模和100-2规模问题上, MADRL-model训练结果明显占优, 且相比单智能体学习模式, MADRL-model在训练过程中收敛速度更快, 收敛效果好于单智能体学习模式.
|
图 4 多智能体与单智能体训练过程对比 |
不同规模的MADRL-model模型具有一定的迁移能力, 例如对于50-3规模问题, 训练模型所用算例包含50个顾客点, 但是该模型在求解包含45个顾客点的算例时同样有效.为验证MADRL-model模型的迁移性能, 将不同规模模型进行迁移求解并与HGA2[25]进行对比, 20-3规模MADRL-model模型求解15-3规模算例, 50-3规模MADRL-model模型求解45-3规模算例, 100-2规模MADRL-model模型求解95-2规模算例.对比结果如图 5所示.在求解结果和求解时间上, MADRL-model以及结合搜索策略在不同问题规模上的表现均优于HGA2, 并且随着规模增大, 模型的优势更加明显, 表明本文模型具有良好的迁移能力.
|
图 5 模型迁移求解对比 |
将MADRL-model以及结合2-opt局部搜索策略和采样搜索策略与求解MDVRP的常用算法HGA[25]、GVNS[7]进行对比.HGA是一种结合邻域搜索的遗传算法, 其中HGA1采用随机初始化生成初始种群, HGA2采用节约算法[6]和NNH生成初始种群, 并在遗传操作中增加ISP算子; GVNS是一种变邻域搜索算法, 该算法采用Gillett等[1]提出的扫描算法生成初始解, 并采用改进的随机变邻域下降算法(randomized variable neighborhood descent, RVND)作为局部搜索方法更新最优解.对比算法中的参数设置均与对应文献一致, HGA中种群规模为25, 交叉概率为0.4, 变异概率为0.2, 对于20-3规模和50-3规模问题迭代次数为500, 对于100-2规模问题迭代次数为1 000;GVNS中最大迭代次数为100, 最大迭代时间为30 min.结果如表 1和表 2所示, 其中MADRL-model为所提出模型经过离线训练的求解结果, Model(2-opt)表示对MADRL-model求得的解采用2-opt局部搜索策略, Model(sample)表示对MADRL-model求得的解采用采样搜索策略.
| 表 1 不同算法求解结果对比 |
| 表 2 不同算法求解时间对比 |
由表 1表 2可见: MADRL-model在20-3规模问题和50-3规模问题上的求解质量与对比算法相近, 但是在求解时间上远远快于其他算法, 而在100-2规模问题上不管是求解质量还是求解时间均优于其他算法; 带有2-opt局部搜索策略和采样策略的MADRL-model在3种规模问题上的求解质量和求解时间均优于其他算法.通过对3种不同策略的MADRL-model对比分析可知, 2-opt局部搜索策略和采样搜索策略在解的质量上均优于模型求解结果, 由于增加了不同的搜索策略, 其求解时间关系近似于
本文提出了一种基于多智能体深度强化学习框架的MDVRP求解模型, 区别于传统“先分组后规划”的求解思路, MADRL-model的多智能体利用高层特征信息, 通过学习相互合作的动作, 从问题整体进行车辆路径规划, 经过离线训练的MADRL-model模型可以快速求解MDVRP.通过算例仿真对比实验验证了MADRL-model模型与启发式算法相比具有更快的求解速度, 并且从整体进行求解, 使得配送中心之间、顾客点分布之间具有更好的完整性, 解的质量更优.后续研究将进一步考虑模型在配送中心数量变动情况下的泛化能力以及更大规模问题的求解能力, 并设计更有效的求解模型.
| [1] |
Gillett B E, Johnson J G. Multi-terminal vehicle-dispatch algorithm[J]. Omega, 1976, 4(6): 711-718. DOI:10.1016/0305-0483(76)90097-9 |
| [2] |
Bettinelli A, Ceselli A, Righini G. A branch-and-cut-and-price algorithm for the multi-depot heterogeneous vehicle routing problem with time windows[J]. Transportation Research-Part C: Emerging Technologies, 2011, 19(5): 723-740. DOI:10.1016/j.trc.2010.07.008 |
| [3] |
He Y L, Miao W D, Xie R, et al. A tabu search algorithm with variable cluster grouping for multi-depot vehicle routing problem[C]. Proceedings of the 2014 IEEE 18th International Conference on Computer Supported Cooperative Work in Design. Hsinchu, 2014: 12-17.
|
| [4] |
Oliveira F B, Enayatifar R, Sadaei H J, et al. A cooperative coevolutionary algorithm for the multi-depot vehicle routing problem[J]. Expert Systems with Applications, 2016, 43: 117-130. DOI:10.1016/j.eswa.2015.08.030 |
| [5] |
Ho W, Ho G T S, Ji P, et al. A hybrid genetic algorithm for the multi-depot vehicle routing problem[J]. Engineering Applications of Artificial Intelligence, 2008, 21(4): 548-557. DOI:10.1016/j.engappai.2007.06.001 |
| [6] |
Clarke G, Wright J W. Scheduling of vehicles from a central depot to a number of delivery points[J]. Operations Research, 1964, 12(4): 568-581. DOI:10.1287/opre.12.4.568 |
| [7] |
Bezerra S N, de Souza S R, Souza M J F. A GVNS algorithm for solving the multi-depot vehicle routing problem[J]. Electronic Notes in Discrete Mathematics, 2018, 66: 167-174. DOI:10.1016/j.endm.2018.03.022 |
| [8] |
王征, 张俊, 王旭坪. 多车场带时间窗车辆路径问题的变邻域搜索算法[J]. 中国管理科学, 2011, 19(2): 99-109. (Wang Z, Zhang J, Wang X P. A modified variable neighborhood search algorithm for the multi depot vehicle routing problem with time windows[J]. Chinese Journal of Management Science, 2011, 19(2): 99-109.) |
| [9] |
许维胜, 曾正洋, 徐志宇. 一种求解两级车辆路径问题的Memetic算法[J]. 控制与决策, 2013, 28(10): 1587-1590. (Xu W S, Zeng Z Y, Xu Z Y. A Memetic algorithm for solving two-echelon vehicle routing problem[J]. Control and Decision, 2013, 28(10): 1587-1590.) |
| [10] |
曾正洋, 许维胜, 徐志宇, 等. 应急物流中的累计时间式多车场车辆路径问题[J]. 控制与决策, 2014, 29(12): 2183-2188. (Zeng Z Y, Xu W S, Xu Z Y, et al. Cumulative multi-depot vehicle routing problem in emergency logistics[J]. Control and Decision, 2014, 29(12): 2183-2188.) |
| [11] |
周鲜成, 吕阳, 贺彩虹, 等. 考虑时变速度的多车场绿色车辆路径模型及优化算法[J]. 控制与决策, 2022, 37(2): 473-482. (Zhou X C, Lv Y, He C H, et al. Multi-depot green vehicle routing model and its optimization algorithm with time-varying speed[J]. Control and Decision, 2022, 37(2): 473-482.) |
| [12] |
Vinyals O, Fortunato M, Jaitly N. Pointer networks[C]. The 29th Conference on Neural Information Processing Systems. Montreal, 2015: 2692-2700.
|
| [13] |
Bello I, Pham H, Le Q V, et al. Neural combinatorial optimization with reinforcement learning[J/OL]. 2016, arXiv: 1611.09940.
|
| [14] |
Nazari M, Oroojlooy A, Takac M, et al. Reinforcement learning for solving the vehicle routing problem[C]. The 32nd Conference on Neural Information Processing Systems. Montreal, 2018: 9861-9871.
|
| [15] |
Kool W, van Hoof H, Welling M. Attention, learn to solve routing problems![J/OL]. 2018, arXiv: 1803.08475.
|
| [16] |
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]. The 31st Advances in Neural Information Processing Systems. Los Angeles, 2017: 5998-6008.
|
| [17] |
Li Z, Chen Q, Koltun V. Combinatorial optimization with graph convolutional networks and guided tree search[C]. The 32nd Conference on Neural Information Processing Systems. Montreal, 2018: 537-546.
|
| [18] |
Nowak A, Villar S, Bandeira AS, et al. A note on learning algorithms for quadratic assignment with graph neural networks[C]. The 34th International Conference on Machine Learning. Sydney, 2017: 1-12.
|
| [19] |
Helsgaun K. An extension of the Lin-kernighan-helsgaun TSP solver for constrained traveling salesman and vehicle routing problems[R]. Roskilde: Roskilde University, 2017.
|
| [20] |
Chen X Y, Tian Y D. Learning to perform local rewriting for combinatorial optimization[J/OL]. 2018, arXiv: 1810.00337.
|
| [21] |
Lu H, Zhang X W, Yang S. A learning-based iterative method for solving vehicle routing problems[C]. The 8th International Conference on Learning Representations. Addis Ababa, 2020: 1-12.
|
| [22] |
Costa P, Rhuggenaath J, Zhang Y Q, et al. Learning 2-opt heuristics for the traveling salesman problem via deep reinforcement learning[C]. The 12th Asian Conference on Machine Learning. Bangkok, 2020: 465-480.
|
| [23] |
Wu Y, Song W, Cao Z, et al. Learning improvement heuristics for solving routing problems[J]. IEEE Transactions on Neural Networks and Learning Systems, 2021, 8(1): 1-13. |
| [24] |
Williams R J. Simple statistical gradient-following algorithms for connectionist reinforcement learning[J]. Machine Learning, 1992, 8(3/4): 229-256. DOI:10.1023/A:1022672621406 |
| [25] |
Kingma D P, Ba J L. Adam: A method for stochastic optimization[C]. The 3rd International Conference on Learning Representations. San Diego, 2015: 1-11.
|
2022, Vol. 37
