摘要

车辆路径问题(VRP)是研究最深入的组合优化问题之一,针对其提出了许多模型和算法。 为了解决现实VRP应用程序中涉及的复杂性,不确定性和动态性,已将机器学习(ML)方法与分析方法结合使用,以增强跨不同问题解决方案的问题表述和算法性能。 但是,相关论文散布在几个传统的研究领域中,它们具有非常不同的,有时是令人困惑的术语。 本文介绍了混合方法的首次全面综述,该方法结合了分析技术和ML工具来解决VRP问题。 具体来说,我们回顾了有关ML辅助VRP建模和ML辅助VRP优化的新兴研究流。 我们得出结论,机器学习可以有益于增强VRP建模,并提高用于在线和离线VRP优化的算法的性能。 最后,讨论了VRP研究的挑战和未来的机会。

背景

车辆路径问题(VRP)是运筹学领域中研究最多的问题之一。 在Clarivate的Web of Science中使用关键字“车辆路线”进行的搜索返回了8,000多篇论文,其中包括131篇评论论文。 引起这一重大研究关注的原因之一是由于电子商务行业的蓬勃发展,导致运输和物流业呈指数级增长。 随着计算的进步强大的功能以及建模和解决方案方法论的进步,与以前相比,现在可以在更短的时间内解决更大尺寸的VRP。 有许多与VRP相关的调查文件。 Vidal,Laporte和Matl(2020)很好地概述了不同的VRP变体,包括以不同的目标和性能指标为特征的新兴变体。 Braysy和Gendreau(2005a,b)对不同VRP的启发式方法进行了全面的回顾。 他们审查的大多数论文都集中在确定性VRP上,在这些VRP中,假定问题参数在解决问题之前是确定性的且已知的。 Gendreau,Laporte和Seguin(1996)对随机车辆路径进行了综述,其中一些问题参数被认为是随机的,而Pillac等人(1996)。 (2013年)调查了所有动态车辆路径问题,其中随着时间的流逝动态揭示了问题参数。 考虑到随机VRP和动态VRP之间的紧密联系,Ritzinger,Puchinger和Hartl(2016)对动态和随机车辆路径问题进行了综合回顾。
尽管针对VRP问题进行了大量研究,但是由于以下原因,要解决一些实际的VRP应用仍然非常困难。
首先,大多数现有的VRP研究集中在不同VRP变体的分析特性和相应的解决方法上。 这类研究通常以使用数学模型来定义关键目标和约束条件为主导(Vidal,Laporte和Matl 2020)。 但是,为了方便进行理论分析和解决问题,几乎所有数学模型都与许多假设相关联,其中一些假设对于现实生活中的应用可能不切实际。
估计相关问题参数也可能具有挑战性。 对于从业者而言,将现有模型和算法转化为成功的现实应用成为一个障碍。
其次,已经开发了许多VRP模型,以数学方式表述与VRP相关的不确定性。 但是,它们中的大多数仅限于理论或小规模的实证研究。 这些模型和建议的解决方法在实际应用中的实现很少,并且仍然面临着巨大的挑战。
越来越需要使这些模型更加实用。
为了解决其中的一些问题,例如不现实的模型假设,参数估计的困难以及解决方案算法的实用性,VRP的研究方向是新兴的,它使用混合方法将数据分析和机器学习工具与基于传统优化的技术相结合。 借助分析和ML,可以显着增强传统的VRP建模和解决方案技术。 本文旨在为VRP应用程序提供这种混合方法的全面综述。
传统上,VRP研究仅限于运筹学(OR)社区。
但是,随着机器学习方法的进步,该社区的研究人员最近尝试仅使用机器学习方法(即未明确利用数学模型的结构)来解决组合优化问题(包括VRP)。 这些方法尽管取得了一些进展,但通常会遇到诸如以下问题的困扰:不同场景之间缺乏通用性,数据使用效率低下以及无法发现见解和解释解决方案结构。 两个社区之间似乎很少互动。 相关论文分散在两个研究社区的期刊中,跨社区论文的引用量比您预期的要少。 这导致对研究社区之间取得的进展的认可滞后。 此外,每个社区使用其自己的术语集,以便用不同的术语定义相似的想法。 这通常会给研究人员和实践带来很大的困惑辅导员。 我们认为,使用这两个研究社区的工具对VRP研究进行彻底的回顾对两个社区都将是有用的。
工业合作伙伴还需要对现有VRP建模技术进行整体审查,这些技术从质量,数据可用性以及如何以要求的精度估算参数以满足这些假设和其他工程要求方面解释这些配方的实用性。 在这篇评论中,我们包括现有研究的一部分,内容涉及如何使用机器学习来实现更实用的VRP建模和参数估计。 我们还将回顾使用ML帮助构建针对VRP问题的更有效算法的现有研究。
本文不打算对所有与VRP相关的文章进行另一全面的综述。 取而代之的是,重点放在快速发展的VRP新研究方向上,该方向研究了将基于数学模型的现有分析方法与高级ML方法相集成的新颖方法。
我们认识到此类研究在解决VRP问题方面的悠久历史,但在过去三年中,它引起了特别的研究关注,部分原因是分析和ML研究在OR社区中日益普及,部分是由于 专注于ML社区,从单节点智能到复杂系统智能。 我们相信,要实现实现全面系统智能的重大突破,OR社区和ML社区的研究人员需要在更深层次上进行合作,以应对VRP所面临的重大挑战。 这篇评论文章旨在弥合差距,并促进两个社区之间的更多互动与协作。 我们希望我们的评论会激发更多的研究人员解决复杂的VRP问题,并对我们的日常生活产生积极的影响。
图1说明了将ML与VRP中的分析方法进行混合的相关研究论文的总体分类。 我们将整合工作分为三种主要类型。 它们分别是ML辅助的VRP建模,ML辅助的脱机和ML辅助的在线优化。 大多数机器学习方法都需要某些问题参数的历史数据。 一些方法还需要优化方法生成的元数据。
这篇综述的其余部分安排如下:在第2节中,我们介绍了VRP问题,其主要变体和已使用的主要算法。 第三部分回顾了具有不确定性的VRP的建模方法,包括随机规划,鲁棒优化,机会受限规划以及数据分析和预测。 在第4节中,根据解决方案方法中如何利用机器学习来回顾ML辅助VRP算法,包括基于分解的方法,自适应邻域搜索和机器学习可训练的构造方法。 第五部分提供了一些总结性的话,并讨论了未来研究的挑战,前景和机遇。

引言

为了使VRP新手受益,在本节中,我们对VRP问题,其主要变体和常用算法进行了一般介绍。
2.1VRP问题
Dantzig和Ramser(1959)提出的基本VRP可以定义为一个优化问题,包括一组分散的客户,每个客户都有货运需求,以及从中央仓库开始的车队。 目的是找到最小的旅行成本(例如,距离或时间),以使每位顾客仅被一次车辆拜访和服务一次。 VRP与最广泛研究的组合优化问题之一-旅行推销员问题(TSP)有关,该问题最早由Menger(1932)提出。 虽然TSP旨在找到一条遍历所有客户的最短循环路径,而不考虑与容量和时间相关的若干实际限制,但基本的VRP问题还考虑了与车辆相关的容量限制,因此需要找到最少的多条车辆路线 总花费。 VRP的基本问题也称为Capacitated VRP(CVRP)。 对于给定的一组客户V和车辆仓库节点0,CVRP的常用数学模型是以下车辆流量公式:
公式(1)
其中xij是一个二进制决策变量,它指示圆弧(i,j)是否是解决方案的一部分,而cij是使用圆弧(i,j)的成本。 K是使用的车辆数,r(S)是服务于客户集合S所需的最小车辆数。约束(2a,2b)确保每个客户都被准确拜访一次,约束(2c,2d)确保 车辆路线数量的满意度。 最后,约束条件(2e)确保完全满足所有客户的需求。 VRP是经典的NP难题,因此大多数解决方案算法都是基于启发式的。

使用机器学习技术来指导邻域搜索的概念已得到充分证明。 最初,基本强化学习原理中的各种自适应机制都以扰动超启发式(Burke等人2019)和自适应大邻域搜索(ALNS)(Ropke and Pisinger 2006)的形式使用。 摄动超启发式算法的主要思想是智能地选择一组摄动低级启发式算法,以适应不同的问题解决方案。 这样,基于学习的组件是这种超启发式方法的关键部分。 将学习辅助摄动超启发式方法应用于各种组合优化问题的文献非常丰富。 在这里,我们将主要集中在针对车辆路线制定的论文上。
Bai等。 (2007年)通过一种超启发式方法解决了VRPTW问题,该方法使用强化学习的概念来指导低级启发式方法的选择和模拟退火作为摄动接受标准。 该研究调查了自适应学习机制的内存长度如何影响算法的性能。 Sabar等。 (2015)提出了一种新的超启发式方法,通过在学习机制中使用改进的奖励方案(基于动态多臂基于banditextreme价值的奖励),结合基因表达程序来生成接受标准,从而解决了两个VRP问题。 Soria-Alcaraz等。 (2017)用非参数统计和适应度景观测量的其他信息扩展了这种学习奖励计划。
Garrido和Cristina Riff(2010)研究了基于进化的超启发式方法来解决动态车辆路径问题。 结果表明,基于进化的学习机制通过适应不同的动态环境提高了算法性能。 Asta和Ozcan(2014)提出在超启发式方法中使用学徒制学习车辆路线。 经过训练的算法能够为超启发式训练阶段中看不到的测试实例提供高质量的解决方案。
学习辅助的扰动超启发式算法也已用于其他VRP变体中,包括铁路维护服务路由(Pour,Drake和Burke 2018),多仓库m-TSP问题(Pandiri和Singh 2018),多目标路由规划 (Yao,Peng,and Xiao 2018),混合班次的全卡车货运路线(Chen et al。
2018、2020a),能源感知路线(Leng et al.2019),城市交通路线(Ahmed,Mumford和Kheiri 2019; Heyken Soares等。 2020)。
扰动启发式超启发式方法的一个新兴方向是使用深度强化学习(DRL)进行启发式方法选择。 DRL将深度学习与上述强化学习相结合。 Tyasnurita,Ozcan和John(2017)使用时延神经网络(TDNN)作为分类器来选择低级启发式算法来解决开放式车辆路径问题。 TNDD的参数是通过来自Drake,Özcan和Burke(2012)的“专家”超启发式算法MCF-AM(改进的选择函数-全部移动)的经验重播进行训练的。 Chen和Tian(2019)提出了一种用于组合优化问题的基于深度学习的一般超启发式框架,称为局部重写框架(Neuwriter),该框架可以迭代生成解决方案。 在这项工作中,分别定义和训练了区域选择器和规则选择器。 在每个重写步骤中,两个选择器选择了当前解决方案的一个子区域,其重写规则一个接一个。 然后,将修改后的子区域放回去以生成新的解决方案。 模型重复此过程,直到收敛为止。 该方法使用在线作业调度问题,表达式简化问题和车辆通行能力有限的问题进行测试。 双向LSTM层用于将输入节点嵌入CVRP问题,并且类似的指针网络机制用于通过概率分布选择节点。 Wu等。 (2020b)通过将区域选择器和规则选择器策略网络集成为一个,扩展了Neuwriter框架。 具体地,在模型中采用兼容性计算来生成节点对的概率矩阵,该节点对的元素指定了两个对应的节点。 为了捕获节点位置信息,正弦位置编码被引入到嵌入层。 结果表明,该方法的性能优于Neuwriter。
Lu,Zhang和Yang(2020)在此基础上提出了一种迭代改进方法,称为“学习改进(L2I)”。 值得注意的是,此方法在速度和解决方案质量方面都优于LKH3(Helsgaun 2017),这是VRP的最新方法。 该模型从随机初始解开始,并使用了两类预定义的低级启发式算法,即改进算子和扰动算子,它们分别用于局部搜索解和销毁部分解。 使用由强化学习指导的双层控制器来选择相应的启发式方法。 在生成动作时,模型还将考虑历史动作及其效果。 使用策略集成机制来改进泛化。

大多数现实生活中的组合优化问题都涉及复杂的目标和约束,通常会导致解决方案空间格局大相径庭。 例如,某些解决方案空间非常坚固,具有很多局部最优值,而另一些解决方案空间则包含对邻域移动不敏感的平稳状态。 这些挑战导致了大量的研究工作,需要通过自适应的邻域选择将学习机制嵌入到更有效的邻域搜索中。 自从(Ropke and Pisinger 2006)进行自适应大邻域搜索(ALNS)的早期工作以来,已经在直接应用或扩展方法以解决不同的VRP变体方面进行了许多后续研究。 针对不同的VRP变体使用类似算法的论文包括Laporte,Musmanno和Vocaturo(2010); Ribeiro和Laporte(2012); Kovacs等。 (2012); Hemmelmayr,Cordeau和Crainic(2012); Demir,Bektas和Laporte(2012); Masson,Lehuede和Peton(2013); Azi,Gendreau和Potvin(2014); Aksen等。 (2014); 贝洛·菲略(Belo-Filho),阿莫林(Amorim)和阿尔马达(Almada)路宝(2015)。
已经进行了一些研究以通过与其他方法杂交来进一步增强ALNS方法。 Qu and Bard(2012)将ALNS与GRASP方法相结合,解决了转运中的提货和运送问题。 Parragh and Cordeau(2017)在考虑时间窗约束的情况下,结合了分支价格法和ALNS方法来解决卡车和拖车路线问题。 Zulj,Kramer和Schneider(2018)将禁忌搜索集成在ALNS框架中,用于解决订单批处理问题。 Lahyani,Gouguenheim和Coelho(2019)使用混合ALNS方法成功解决了多仓库开放式车辆路径问题。 Ha等。
(2020年)结合约束编程与ALNS来解决具有同步约束的VRP。
Hottung和Tierney(2019)提出的另一种基于学习的ALNS算法称为神经大邻域搜索(NLNS)。 该方法专门用于支持并行计算,这是该方法的贡献之一。
这些功能可以支持两种实现模式:批处理搜索可同时解决一组实例,而单实例搜索仅可同时解决一个实例。 通过实验验证了容量车辆路径问题(CVRP)和拆分运输车辆路径问题(SDVRP)的潜力。

使用机器学习解决VRP问题的一个新的令人振奋的方向是,机器学习模型可以用来生成新的启发式方法来扰动解决方案,这与使用人工制作的扰动启发式方法相辅相成。 例如,神经网络模型将现有解决方案作为输入,并输出已修改节点的索引。 在这种情况下,神经网络模型本身充当传统优化算法中的微扰启发式算法。
达科斯塔等。 (2020年)的重点是改进(或扰动)启发式方法,可以迭代地改进给定的解决方案,直到达到接近最佳的解决方案。 在他的工作中,提出了一种可以学习策略以生成TSP 2启发式算法的方法。 使用类似的编码器/解码器框架对图形进行编码,并生成动作分布序列,但对该机制进行了修改,使其易于扩展到k-opt操作。 与初始指针网络的区别在于,在每个解码器步骤中,模型都输出一个动作(2-opt的两个节点)而不是一个特定的节点来构造最终解决方案。
高等。 (2020)提出了一种学习本地搜索启发式方法。 类似地,使用编码器-解码器,并通过actor-critic算法对其进行训练。 受ALNS算法对车辆路径问题的启发,作者将本地搜索启发式定义为破坏算子和修理算子。 销毁运算符删除了当前解决方案的子集节点,修复运算符用于生成所选元素的排列并将它们插入回去。 受图注意力网络(GAT)机制(Veličkovićet al.2018)的启发,这是一种通过注意力机制传播邻居节点信息来表示图拓扑的有效方法,作者提出了一种改进的版本,称为Element-wise GAT 边缘嵌入(EGATE),它不仅考虑了节点的信息,而且还考虑了节点之间的弧线。 注意遮罩是通过softmax嵌入弧和与其连接的两个节点的串联而生成的。 解码器充当破坏和修复操作。Chen等。 (2020b)也受到ALNS算法的启发,并提出了一种使用递归递归图卷积网络(HRGCN)的类似方法,称为动态粒子去除(DPR)。 类似于高等人的方法。 (2020),作者还将本地搜索定义为销毁和维修运营商。 动态确定destroy运算符的程度(子节点的大小和分配)。 HRGCN能够了解空间(图形拓扑)和时间(在先前的迭代中嵌入)上下文信息。

对于许多现实世界中的调度和路由问题,计算评估功能非常昂贵。 ML已用于评估解决方案以降低计算复杂性。 Boyan和Moore(2000)开发了一种通用算法(称为STAGE)来学习一种预测局部搜索结果的评估函数。
然后,将学习的评估功能用于指导未来的搜索轨迹,以针对同一问题寻求更好的优化。 Moll等。 (1998)将离线强化学习阶段引入了STAGE,并将学习的评估功能与原始评估功能进行了比较。 拟议的算法被应用于TSP的变体DialA-Ride问题,以显示如何很好地学习与实例无关的评估功能可以指导本地搜索其他实例。