容量电动汽车路由问题的高效门限接受多层搜索算法(2024)

英文:An Efficient Threshold Acceptance-Based Multi-Layer Search Algorithm for Capacitated Electric Vehicle Routing Problem

摘要摘要:

电容式电动汽车路由问题(CEVRP)通过同时考虑客户的服务顺序和车辆的充电时间表,扩展了传统的车辆路由问题。由于其NP-hard性质,我们将原始问题分解为两个子问题:一个有容量的车辆路由问题(CVRP)和一个固定路线的车辆充电问题(FRVCP)。提出了一种基于多层搜索(TAMLS)算法的高效门槛接受算法,以快速获得高质量的解决方案。TAMLS由三层组成。在第一层中,我们采用了一个迭代门槛搜索程序和一个门槛选择程序来产生多样化的CVRP解决方案,并在第二层中分别筛选出高质量的解决方案。在第三层,采用去除启发式耦合的枚举方法来解决FRVRP,它产生了优化的充电时间表。广泛的计算结果表明,TAMLS在解决方案的质量和计算时间方面都优于最先进的算法。特别是,它能够为17个基准实例中的11个获得新的最佳结果,并在其余6个实例上达到已知的最佳结果。为了更好地理解关键算法组件的贡献,还进行了额外的实验分析。

I.引言

        全球变暖是人类目前面临的一个重大挑战,人类活动的碳排放是主要原因。在物流行业,新能源汽车是减少碳排放最有效的措施。电动汽车是新能源汽车的重要组成部分,正被引入世界各地的物流公司(如联邦快递、DHL、XPO和京东),以逐步取代传统的化石燃料汽车[1],[2]。这也给电动汽车车队的高效管理带来了新的挑战。

        其中一个重要的挑战是如何为电动车安排一条最短的路线,以便为一组给定的客户提供满意的服务。物流公司提供的服务通常被建模为车辆路由问题(VRPs)[3]。对于传统的VRP来说,化石燃料车辆被认为是默认的,车辆加油的额外路线费用可以被忽略,因为燃料站在现代城市几乎无处不在。然而,电动汽车的情况并非如此[4]。电动汽车充电桩的供应不足和电动汽车的续航能力有限使得充电调度成为一个不容忽视的问题。这导致了传统VRP的一个新变种,即电动汽车路由问题(EVRP)[5]。除了VRP产生的客户服务订单外,EVRP还需要一个充电时间表。

        有容量的电动汽车路由问题(CEVRP)[6], [7]是EVRP的最基本版本。它可以被非正式地描述如下。我们得到了一组客户和一组充电站。每个客户都与一个货物需求相关。一个由相同的电动车组成的车队,每个都有有限的容量,在仓库里。CEVRP的目的是找到一组成本最低的路线,以便 1)每个客户在其中一条路线上得到服务;2)每条路线必须以仓库为起点和终点;3)任何车辆在路线上得到的总需求不能超过其容量;4)在整个旅程中不允许任何车辆耗尽电力。

        CEVRP是一个NP难的组合优化问题,因为它推广了众所周知的容量车辆路径问题(CVRP)[8],[9]。因此,在一般情况下,预计CEVRP不会在多项式时间内通过任何精确算法求解。鉴于其复杂性,据我们所知,到目前为止,文献中还没有发表专门针对CEVRP的精确算法。可以使用通用商业求解器(例如CPLEX、Gurobi)来精确求解CEVRP。不幸的是,它们只能在可接受的时间范围内解决非常有限的问题。事实上,研究表明,在具有非线性充电设置的EVRP中,Gurobi仅为120个实例中的27个小案例(不超过20个客户)找到了最佳解决方案[10],而在时间相关的EVRP设置中,CPLEX最多可以在5小时的时限内解决15个客户的问题[11]。这种方法在实际应用中不适用。

为了近似解决EVRP,人们付出了相当大的努力来开发启发式算法,这些算法可以在可接受的时间范围内提供令人满意的次优解。现有的启发式算法可以分为两类:基于单解的算法和基于群体的算法。前者包括邻域搜索和构造/破坏性搜索算法[12],如模拟退火(SA)[13]、可变邻域搜索(VNS)[14]、Tabu搜索[15]、[16]、迭代局部搜索(ILS)[11]和自适应大邻域搜索(ALNS)[17]、[18]。后者包括遗传算法(GA)[19]、蚁群优化(ACO)[7]、[20]和粒子群优化(PSO)[21]。请注意,最近提出的ACO算法[7], [20]在广泛使用的CEVRP基准实例集上取得了最佳的整体性能。它们在下面的计算实验中作为主要的参考算法。

在文献中,有许多关于研究EVRP的不同变体的工作,如带时间窗口的EVRP[14],带非线性充电的EVRP[10],随时间变化的EVRP[11],带共享充电站的EVRP[22]等。然而,致力于开发CEVRP算法的努力要少一些。人们普遍认为,EVRP的这种基本变体(即CEVRP)的研究结果可以作为更复杂变体的良好参考。这项工作旨在推进CEVRP的解决技术,并进一步改进著名的CEVRP基准实例的最佳解决方案。为此,我们提出了一种高效的启发式算法,并进行了广泛的实验来证明其显著的性能。主要的贡献可以概括为以下几点。

我们提出了一种基于门槛接受的多层搜索(TAMLS)算法来解决CEVRP。TAMLS迭代解决原始问题的两个子问题:有容量的车辆路由问题(CVRP)和固定路线的车辆充电问题(FRVCP)。TAMLS基本上包括三层。1)第一层负责提供大量多样化的CVRP解决方案;2)第二层寻找一小部分高质量的CVRP解决方案;3)第三层通过向选定的CVRP解决方案插入最佳充电时间表来确定最佳CEVRP解决方案。拟议的TAMLS的主要特点和成功成分是多层搜索范式以及创新使用接受门槛的启发式方法。

计算结果表明,TAMLS在优化能力、鲁棒性和计算时间方面显著优于最先进的算法。特别是,TAMLS发现,对于近65%的基准集,最佳已知结果得到了改进,而对于最先进算法使用的剩余35%的计算时间,则始终达到最佳已知结果

本文的其余部分组织如下。第二节给出了CEVRP的正式描述。第三节专门详细介绍了所提出的TAMLS算法。第四节介绍了计算结果。第五节调查了TAMLS的关键算法组件,然后是结论和潜在的研究方向。

二 问题描述

A 有容量的电动汽车路由问题 Capacitated Electric Vehicle Routing Problem

B讨论

        CEVRP的解决方案包括两部分:客户服务订单和充电时间表。这两部分是相互耦合的。不同的客户服务订单需要与不同的最佳充电时间表相匹配,反之亦然。在解决CEVRP时,同时考虑客户服务订单决策和收费决策会引起巨大的搜索空间,使问题非常复杂。它对设计一个高效的启发式算法构成了重大挑战。一些学者在这方面做了尝试[23], [24]。他们将这两个高度耦合的决定同时放入遗传算法的编码方案中,试图通过重复的交叉和变异操作获得高质量的解决方案。然而,考虑到实践中可以接受的时间限制,巨大的解决空间使得GA的最终结果令人失望。换句话说,这是因为这样的方法不能有效地到达高质量解决方案所在的区域。该算法缺乏强化和定向搜索。

为了解决这个问题,我们必须弄清楚“高质量CEVRP解决方案的特点是什么?”和“如何有效地到达有希望的地区?”。一个直观的假设是,高质量的CEVRP解决方案也应该具有良好的客户服务订单(即,删除了充电时间表的相应CVRP解决方案也具有高质量)。为了证实这一假设,我们研究了文献[6]中几个具有代表性的基准实例(E76、X214、X459)的CEVRP解决方案与其相应CVRP解决方案之间的关系。这些解是从我们提出的算法的初步版本的搜索过程中采样的,它们的关系如图1所示。其中x轴表示CVRP解的值,y轴表示CEVRP解的值。

从 图1中,我们可以观察到,CEVRP解决方案的质量通常与相应的CVRP解决方案呈正相关,但在任何局部部分,相关性都不清楚。我们还发现,最佳CEVRP解决方案通常不是从最佳CVRP解决方案中得出的。在其他基准实例中也有类似的观察,尽管由于篇幅限制,没有提供其数字。鉴于上述观察,我们认为CEVRP和相应的CVRP的有希望的区域是高度重叠的,但不是重合的。为了减少搜索空间,我们可以设计一种算法,在CVRP解决方案空间的有希望的区域进行彻底的搜索。我们的算法就是基于这个想法设计的。

四、实验

为了评估所提出的TAMLS算法的性能,我们在一组流行的基准实例上进行了广泛的实验。我们报告了我们的计算结果1以及与最先进算法的比较结果。

A 实验设置

我们的TAMLS算法是用C++实现的,并由GNU g++ 10.2.1用-O3-选项编译。整个实验是在一台装有AMD Opteron 4184处理器(2.8 GHz和2 GB内存)的计算机上进行的,运行Debian 11。当解决没有编译优化标志的DIMACS机器基准2时,对于实例r300.5、r400.5和r500.5,我们机器上的运行时间分别为0.40、2.50和9.55秒。

我们用来测试算法的基准集最近在IEEE WCCI 2020进化计算竞赛中提出[6]。它包括一组|I|∈[21,100],|F|∈[5,9],以及所需路线数n r∈[4,8]的小规模实例;一组|I|∈[142,1000],|F|∈[4,35],n r∈[7,207]的大规模实例。它们来自于[36]和[37]中提出的著名的CVRP实例。这些实例的详细信息见表一。

所提出的TAMLS算法依赖于一组相关的参数,这使得参数调整本身成为一个非常困难的问题。在文献[38]、[39]、[40]中,采用自动参数配置方法来解决这个问题是一种常见的做法。在我们的案例中,我们采用了irace包[41]中实现的迭代F-竞赛(IFR)方法。TAMLS的三个参数(L、N a和r e)需要仔细调整,如表II所示。我们将调整预算设置为1000次TAMLS运行,每次运行都有5次扰动。我们选择了许多具有挑战性的实例,包括E33、E76、E101、X214、X573和X916,以形成一个训练集。IFR的结果表明了表二所示的数值。

为了进一步研究这些参数的敏感性,我们进行了另一组实验。对于每个参数,我们从给定的范围内选择一些有代表性的值,Set-L={50, 100, 150,..., 500}。设-N a = {6, 7, 8,..., 15}。设-R e = {0.005, 0.01, 0.015,...,0.03}。实验再次在6个选定的挑战性实例上进行。对于每个参数值,我们对每个实例进行了5次扰动的TAMLS 30次。我们应用显著性系数为0.05的Kolmogorov-Smirnov(KS)检验,对每对参数值产生的结果进行配对比较。检验结果表明 , N a 、 L 和 r e 的任何数值对之间没有统计学上的显著差异 , 其中最小 P 值为 0.88 , 远远大于 0.05 。这一观察表明,TAMLS对其三个参数不敏感。我们还在补充文件中总结了6个实例的详细结果。这些实验产生的最佳参数值与IFR建议的参数值一致。

B、TAMLS的计算结果

在这一节中,我们展示了TAMLS在两个停止标准下对基准实例的计算结果:长时间限制(ˆ t long)和短时间限制(ˆ t short)。长时间限制是CEVRP文献中常用的限制[7], [20],其中在每个实例上使用以下公式设置一个(相对较长的)固定执行时间。

其中,对于E22-E101、X143-X916和X1001,θ分别等于1、2和3。我们使用这个时间限制来与最先进的算法进行公平的比较。短时间限制被设置为长时间限制的十分之一,即,短时间=0.1×长时间。我们使用短时间限制有两个目的:1)根据允许的执行时间深入了解算法的行为;2) 以表明与以前的算法相比,即使在更短的时间内,我们的算法也能提供出色的结果;这一特征相当令人鼓舞,因为在实践中人们希望尽快获得高质量的结果。我们将具有短时限的算法表示为TAMLS-short,将具有长时限的算法称为TAMLS-long。

TAMLS的计算结果显示在表三中。在这个表中,第1列显示的是实例名称,第2列显示的是已知的最佳结果,这些结果是根据以前发表的算法[7], [20]获得的最佳结果汇编的。第3-14栏显示了我们算法的结果,其中第3-8栏列出了由TAMLS short获得的结果,而第9-14栏列出了由TAMLS long获得的结果。这些结果包括30次运行的最佳结果(f best),30次运行的平均结果(f avg),30次结果的标准偏差,首次遇到f best时30次运行中最早的CPU时间(秒)(t best),以及每次运行中首次达到最佳解决方案时30次CPU时间的平均值(t avg)。

从表III中,我们可以看到,对于所有测试用例,TAMLS-short能够获得或改进最已知的结果。特别是,TAMLS short能够在17例病例中的11例(≈65%)发现新的最佳结果。就平均性能而言,除了一种情况(E101)外,TAMLS short在几乎所有小型情况下的30次运行中都能始终如一地获得相同的最佳结果。对于我们的f平均值结果与f最佳值不匹配的情况,TAMLS short发现,在11种情况中有9种情况(≈82%),f平均值的结果优于相应的最佳已知结果。这些结果非常显著,因为TAMLS short使用的时间范围是文献中大多数性能最好的算法所使用时间范围的十分之一。当我们观察t最佳值和t平均值时,它们总是小于ntr t值。这表明TAMLS short可以在更短的时间内达到这样的性能。我们的算法也显示出很强的持续改进能力。事实上,当允许较长的时间限制时,TAMLS long会进一步改善TAMLS short。对于小型实例(E22-E101),长TAMLS比短TAMLS表现出更稳定的性能,标准偏差更小。对于大型实例,TAMLS-long不仅更稳定,而且对所有测试用例(X143-X1001)都能产生更好的新的已知结果。此外,t最佳值和t平均值远小于时间限制,证明了该算法的高效性。

        为了显示所提出的TAMLS的收敛能力,我们在图3.中提供了三个代表性实例(E101、X573和X916)的算法收敛曲线。在每个实例上,我们用随机种子进行了长的TAMLS,并记录了在每一代结束时获得的最佳结果,其中一代是由一轮 "门槛探索阶段+下降改进阶段 "定义的。曲线上的红点表示TAMLS shor t停止的迭代,黑点表示TAMLS long终止的迭代。从图中可以看出。3,我们可以看到,TAMLS在前100代内极大地改善了解决方案。然后,它进入一个稳定的时期,改进不时发生,直到满足短时限。当有更多的运行时间时,TAMLS能够不断改进解决方案。

C 与最先进的算法的比较

为了进一步评估所提出的TAMLS算法的性能,我们将TAMLS与最近提出的7种算法进行比较。其中一些产生了最先进的结果。下面简要介绍一下这些参考算法

- 遗传算法(GA)、可变邻域搜索(VNS)和模拟退火(SA)。它们是IEEE WCCI2020竞赛的获胜提案,其结果可以在 CEC-12 Competition on Electric Vehicle Routing Problem

https://mavrovouniotis.github.io/EVRPcompetition2020

迭代局部搜索(ILS)。它最早是在[10]中提出的,用于解决非线性充电的EVRP,后来被[7]的作者改编为解决CEVRP。

双层蚁群优化(BACO)。它是[7]中最近提出的性能最好的算法之一。

•基于置信度的蚁群优化(CBACO)。它有两种不同编码方案的算法变体,即CBACO-D和CBACO-i。它们实现了大多数最先进的结果[20]。

参考算法的结果是通过在不同的计算机上运行获得的。目前尚不清楚GA、VNS和SA的运行环境用于获得中所示的结果https://mavrovouniotis.github.io/ EVRPcompetition2020/.。由于它们不是表现最好的,我们引用这些结果仅供参考。我们重点比较了TAMLS与其余4种算法(即ILS、BACO、CBACO-D和CBACO-i),它们的结果是通过在Intel i7-6700 3.40-Hz CPU上长时间运行算法实现的。因此,我们长期使用TAMLS的结果进行比较研究。我们注意到我们电脑的频率比他们的低(2.80赫兹对3.40赫兹)。这样的比较可以被认为是公平的,因为我们不使用更多的执行时间,并且我们的CPU频率更低。

比较结果如表IV所示。对于每个例子,我们比较了算法获得的30次运行的最佳结果、平均结果和标准偏差。最佳已知解(BKS)值是基于先前CEVRP文献中报道的“最佳结果”获得的。从表IV中,我们可以看出,TAMLS-long显著优于最先进的算法。在小规模实例(E22-E101)中,对于一些“简单”实例(例如,E22、E23、E30和E51),TAMLS long在30次运行中始终获得最佳已知结果。对于困难的小实例(例如E33和E76),TAMLS-long也能够稳定地获得最佳已知结果,而没有参考算法能够达到这样的性能。对于最困难的小实例(E101),TAMLS-long能够获得新的最已知结果。此外,通过TAMLS-long获得的平均结果优于参考算法的最佳结果。对于大规模实例(X143-X1001),TAMLS long很容易主导参考算法。事实上,TAMLS-long获得的平均结果总是优于参考算法的最佳结果。同时,TAMLS-long的标准偏差总是最小的,这表明它比其他算法更稳定和鲁棒

V. E 实验分析

在这一节中,我们提供了更多的实验结果来深入了解TAMLS的行为,并试图探索其优秀性能背后的原理。回顾一下,TAMLS由三层组成,第一层负责提供多样化的CVRP解决方案,第二层选择一组高质量的CVRP解决方案,第三层通过在这些选定的CVRP解决方案中插入优化的充电时间表来寻找最佳CEVRP解决方案。在这三层中,除了第三层使用移除启发式以及限制性枚举法在原始论文[7]中被彻底研究外,第一层使用ITS程序,第二层使用门槛选择程序,本文首次提出。因此,我们首先专注于研究前两层的贡献。我们在下面的实验中施加了一个很短的时间限制。这是因为TAMLS及其变体可以在这样的时间限制下充分显示其性能。最后,我们研究门槛比率公式r s(p)的影响。

A.ITS程序的移动操作者的影响

ITS过程本质上是一种具有阈值接受(TA)启发式的邻域搜索算法。TA启发式主要由第IV-A节的参数调整部分中研究的re参数控制。在本节中,我们重点研究了对算法性能有很大影响的移动算子。ITS使用三种移动运算符,即单点移动(OPM)、两点移动(TPM)和双选择移动(TOPT)。人们希望知道它们中的每一个是否都是必要的。因此,我们进行了一个实验来测试三种算法变体TAMLS 1(没有OPM)、TAMLS 2(没有TPM)和TAMLS 3(没有TOPT)。TAMLS与不同移动算子的比较结果如图所示。4。x轴表示实例,y轴表示30次运行的最佳结果。由于不同实例的结果数据不在同一数量级上,为了提高数据的可比性,我们采用z评分标准化方法将不同级别的数据统一转换为同一级别。图4基于标准化后的数据。

从图4中,我们可以看到,除了一种情况(E101)外,TAMLS总是获得最佳性能。令人惊讶的是,TAMLS 3发现了E101的新的最为人所知的结果(834.22),即使TAMLS long也没有发现。这是因为TAMLS 3访问了一个CVRP解决方案,而TAMLS short和TAMLS long从未访问过该解决方案。TAMLS-short相对于三种算法变体的优势在大规模实例中更加明显。这表明每个移动操作符都有其独特的贡献。关于三个移动算子的贡献幅度,我们从图中没有看到任何明显的结论。事实上,每个算法变体在某些情况下表现良好,而在其他情况下表现较差。

B.门槛选择程序的影响

TS程序的主要作用是筛选出一批高质量的CVRP解决方案,使算法能够进行更少的无效操作,并专注于搜索高质量的CEVRP解决方案。为了证明这个程序的贡献,一个有效的方法是把它从算法中删除,看看算法的表现如何。我们把降级后的算法表示为TAMLS NoSel。我们在每个实例上运行TAMLS NoSel 30次,时间限制很短。结果显示在表五中。为了说明TAMLS NoSel的性能,我们参考TAMLS short的结果并计算两种算法之间的结果差异。

从表V中,我们可以观察到,对于小规模的实例,除了一种情况(E101)外,TAMLS NoSel和TAMLS short之间的性能差异并不明显。然而,在最佳结果和平均结果方面,在大规模实例上,TAMLS NoSel明显比TAMLS short差。因此,我们可以得出结论,TAMLS NoSel的表现优于TAMLS空头。原因是加入了TS过程,大大提高了算法的搜索效率。该算法执行更多的扰动,这意味着该算法可以访

\问更高质量的CVRP解决方案。

C门槛比公式的影响 r s( p

TS程序的核心成分是阈值比率公式Rs(p),它具有多个条件。人们想知道简化版本的公式是否可以为TAMLS带来相同的性能。为了研究这个问题,我们研究了Rs(p)的两个简化版本,分别表示为Rs(p)1和rss(p(2)。前者从Rs(p)中去除所有条件,并使Rs(p)1=0。这意味着该算法只检查迄今为止改进得最好的CVRP解决方案。后者的定义如下

对于rs(p)2,该算法首先在第一次扰动之前检查改进的CVRP解。然后,它使用固定比率1|I|+50来允许测试劣化的CVRP溶液,其中参考CVRP溶液值被设置为最佳sofar。我们将使用这两个简化阈值比率的短时间限制算法表示为TAMLS1短和TAMLS2短。计算结果总结在表VI中。对于每个实例和每个算法,我们给出了30次运行的最佳和平均解值。三种算法的最佳结果用粗体表示。从这个表中,我们可以看到TAMLS空头轻松跑赢了两个对手。它总是在整个实例集中获得最佳结果。此外,它显示出比其他两种变体更稳定的性能,因为它的平均结果始终是最好的。这两种算法变体可以在小尺寸(例如,E22-E30)的情况下与短TAMLS竞争。当实例大小较大时,它们会落后,并且随着实例大小的增长,差距会扩大。上述观察结果证实了Rs(p)的设计是合理和有效的。当谈到两种算法变体之间的比较时,很明显,TAMLS2 short在最佳解和平均解值方面都比TAMLS1 short表现得更好。这证实了本文的主要思想,即允许测试劣化的CVRP解,即ty阈值有助于发现(接近)最优的CEVRP解

六结论

电容式电动汽车路由问题(CEVRP)是传统车辆路由问题的一个重要变体。由于充电站的数量有限和电动汽车的巡航范围有限,客户的服务顺序和电动汽车的充电时间表都应该被考虑。在这项工作中,我们为CEVRP开发了一种高效的基于门槛接受的多层搜索(TAMLS)算法。它将原始的CEVRP问题分解为一个有容量的车辆路由问题(CVRP)和一个固定路线的车辆充电问题(FRVCP)。具体来说 , 它首先利用迭代门槛搜索在第一层生成一组 CVRP 解决方案 , 然后利用门槛选择程序在第二层过滤高质量的 CVRP 解决方案。最后,在第三层使用移除启发式结合枚举法来解决FRVCP。

在一组17个基准实例上进行的广泛实验表明,TAMLS优于最先进的算法。特别是,TAMLS在11个案例中获得了新的最佳解决方案,执行时间是文献中常用的十分之一,并在其余6个案例中获得了已知的最佳解决方案。当给定一个较长的时间限制时,TAMLS显示出更好的性能。它可以取得更好的结果和更稳定的性能。我们还进行了额外的实验来研究迭代门槛搜索程序的三个移动算子的好处和门槛选择程序的好处。

或者未来的工作,有两个潜在的研究方向可以追求。首先,将TAMLS应用于解决其他车辆路径问题是很有趣的,例如具有时间窗口的电动车辆路径问题[42]和软集群车辆路径问题[9]。其次,值得研究的是,是否存在一种有效的集成解决方案(与分解解决方案相反)来解决CEVRP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑电情绪识别

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值