用自适应K-Means的差分进化算法解决有容量的电动汽车(EV)路由问题(2023)

Solving the Capacitated Electric Vehicle (EV) Routing Problem by The Differential Evolutionary Algorithm with Adaptive K-Means

摘要

本文旨在解决限制电能和工作量的路由问题,称为电容式电动汽车路由问题(CEVRP)。这个问题的目的是寻找含有有限电能和货物的车辆的最佳路线。所提出的模型是基于差分进化(DE)算法和自适应kmean算法的概念,此外,模糊技术也被应用,目的是为了达到最佳的整体性能。为了提高DE的效率,我们采用了几个方面,如:(1)采用自适应K-means算法来获得搜索最佳初始解的能力;(2)将模糊技术确定为决策技术,决定一个客户何时处于几个集群之间;(3)引入局部和全局交换方法来提高开发和探索能力。对所提出的模型进行了评估,并在与下限的平均偏差百分比方面与最先进的算法进行了比较。

1 引言

目前,交通是一个极具竞争力的企业。运输业务的目标总是尽快以正确的数量向客户交付货物。此外,运输被认为是商业的主要成本。当旅行成本最小化时,主要成本总是减少的。因此,有效的交付路由是重要的关键。在研究领域,车辆路由是非确定性多项式时间硬度(NP-hard)优化领域的一个重要问题,称为车辆路由问题(VRP)。如今,电动汽车的普及率正在上升,其理由是减少气体、能源消耗和空气污染排放。因此,有容量的电动汽车路由问题(CEVRP)是最重要和最具挑战性的问题。CEVRP的目标是在必须交付的电能容量和承载容量下,使总路线成本最小化。微分进化算法(DE)已被证明是解决组合优化问题的最佳进化算法之一。然而,许多步骤需要适当改进,以解决CEVRP的最佳表现。为了解决CEVRP,需要做三项活动,即。1)将客户与电动汽车匹配。2)监测以防止电动汽车过载;3)通过路线车辆充电保持电能。

近年来,一些研究人员使用各种元启发式算法,如遗传算法、蚁群优化、粒子群优化和模拟退火算法来求解CEVRP。Ya Hui Jia等人(2021)[1]利用蚁群优化(ACO)算法和一种称为移除启发式(RH)的新启发式方法来求解CEVRP。在他们的论文中,生成了可行解,并使用OS-MMAS算法来管理容量可行路线。在此过程中,评估目标值以更新全局最佳解决方案。然后采用RH将充电站插入到可行的解决方案中。在他们的实验中,采用了最新提出的IEEE WCCI2020 EVRP竞赛基准。结果表明,在大规模实例中是有效的。Burak Urazel和Kemal Keskin。(2021)[2]通过应用遗传算法和模拟退火算法相结合的混合算法,求解具有时间窗的电动汽车路径问题。在本文中,使用遗传算法生成可行的初始解,然后将模拟退火算法提供给初始解。在评估步骤中,他们测试了一个由25名拥有2个充电站的客户组成的车辆路线问题。测试结果表明,他们提出的算法在最佳解和计算时间方面都优于遗传算法。王玲和陆佳文(2019)[3]提出了一种由两种搜索算子和竞争机制组成的模因算法来解决有容量的绿色车辆路径问题。在它们的初始化步骤中,解决方案是基于kNN设计的。然后直接在初始路线上执行局部强化。为了产生更好的解决方案,利用竞争性搜索。然后使用交叉来共享有益信息。比较结果表明,它们的算法在求解CGVRP问题上比现有的方法更有效。

本文旨在开发一种基于差分进化算法的混合算法来求解CEVRP。在我们的框架中,使用具有模糊性的自适应K-means来创建高质量的种群。为了提高效率,提出了一种新的突变技术,称为L-swap和G-swap。最后,应用置换交叉运算。

本文的其余部分组织如下:在第二部分中,简要讨论了背景理论。在第三部分中,给出了所提出算法的步骤。第四部分给出了实验的细节,第五部分给出了算法的结论。


二 背景理论

A有电容的电动汽车路由问题

有容量的电动汽车路由问题(CEVRP)是车辆路由问题(VRP)之一,它试图找到最佳路由,在电能(电池)和产品携带的容量限制下,使总行驶距离最小。每辆电动汽车(EV)都有一个有限的工作量,而且每辆电动汽车的能量都在继续减少。因此,电动车可能在充电站被多次充电,也可能根本不充电。CEVRP的目标由公式计算。(1),分为以下两部分

(1) 安排一组R客户C = {C1, C2, ...,CR}在一组K电动汽车V = {V1, V2, ...,根据公式(2).中表示的容量限制,VK}。

(2) 按照公式3中确定电动车充电站的路线。

其中,{Dist}是最小旅行距离,CustRoute是两个客户之间的欧氏距离,K是车辆的数量,R是车辆的客户数量K,ChargeDist是客户和充电站之间的欧氏距离,C和ST是客户和电动车充电站的位置

图1显示了CEVRP的例子。

这个例子的路线如下。

电动汽车1路线。Depot -- Customer1 -- Customer3 -- Charge Station1 -- Customer5 -- Depot.

电动汽车2号路线: Depot -- Customer4 -- Customer6 --Customer2 -- Depot.

这个例子由两辆有六个客户的电动车和两个充电站组成。所有的电动车都需要在仓库站启动和返回。电动车在每个客户处只访问一次,行程周围的货物容量等于500。只要电池的容量低于能量容量,电动车就需要给它充电。

B.差分进化算法(DE)

微分进化算法属于Storn和Price[4]提出的一类有效的进化算法,适用于求解离散和连续优化问题。对于DE的离散功能,通过更改或交换现有组件来创建新的解决方案。手头最适合的候选解决方案将继续存在。原始DE的算法如下所示:

(1) 初始化阶段:DE从搜索空间内随机初始化的总体N开始。

(2) 突变阶段:是一种在周围区域进行搜索机制初始化的种群。通过使用初始化集中现有成员的组件来构建试验向量。

(3) 重组阶段:是被称为交叉操作的扩展搜索机制。交叉算子有效地搅乱信息,并能够搜索更好的解空间[5]。(4) 选择阶段:根据突变和重组阶段,对新的改进方案进行分类

他们的适应度值。选择最佳N个解作为下一次迭代的初始化总体。

重复这(2)-(4),直到达到预定次数的迭代或者满足收敛标准。

III、 提出了一种算法

本节中提出的具有自适应Kmeans的差分进化算法在几个方面比原始版本的DE有所改进。所提出的算法分为以下五个阶段。

A.解决方案编码在文本中首次使用缩写词和首字母缩写词时,即使在抽象中定义了它们之后,也要定义它们。不必定义IEEE、SI、MKS、CGS、sc、dc和rms等缩写。除非不可避免,否则不要在标题或标题中使用缩写。

这个问题的解决方案分为两个部分。第一部分介绍了需要访问的客户。第二部分为充电站。图2显示了图1中路由的解决方案编码。

B. 初始化

根据自适应K-means方法,通过随机生成N个可行的解决方案来创建初始群体。自适应k-means过程开始时,将电动车的数量定义为K参数

带有模糊逻辑方法的自适应K-means的主要思想是通过考虑三种条件的比例将客户分配到适当的电动车。1)电动车负载(CO),2)客户与EVk的持续时间,(Dist)和3)电动车的剩余电能(EC),如公式4所示。

执行LogicEV时,根据三角隶属函数计算隶属度。客户i被分配给具有最大隶属度值的EV k。为了评估初始总体的质量,计算等式(5)中的适应度值。在生成所有初始总体之后,执行下一阶段。

当满足两个标准时,采用自适应K-means:

(1) 客户i和EV 1的质心之间的距离等于客户i和EV2的质心之间距离。

(2) 客户i与所有车辆之间的距离的平均差小于所有客户与仓库的平均欧几里得距离。

C.突变操作将突变操作应用于每个初始群体。突变过程用于在初始种群的周围区域探索新的前景解决方案。这项研究提出了一种新的技术,称为L交换和G交换。L-wap包含两种策略:交换和直接传输。

突变过程描述如下:

(1) 将初始人群随机分为两组。

(2) 在第一组中:对于成员溶液的每个基因,当随机值小于突变概率(Pm)时,使用Lswap。当完成L-Swap时,将复制一组新的解决方案,称为promise解决方案,如图3所示。

(3) 第二组:执行G交换技术。对于成员解的每个基因,两个距离最大的城市随机交换。

当promise解决方案已经完全构建时,评估所有解决方案的适应度值。然后,将所有新的承诺解决方案和初始总体组合起来,然后称为候选解决方案。

D.交叉操作

当交叉过程开始时,定义交叉概率(PC)。轮盘选择用于选择用于交叉操作的解对。对于每个配对,0到1之间的数字是随机生成的。当随机值小于PC时,对上述配对执行排列交叉,并创建两个子代解决方案

E.最后阶段

在最后一步,检查停止标准。如果没有达到最大的迭代次数,则根据候选方案和子代方案的适配度进行排序。top-N解决方案被提升为下一次迭代的初始群体。从上述组合列表中选择当前迭代的最佳解决方案。


IV、 试验结果

对于实验,用于测试本研究性能的基准数据集来自IEEE WCCI-2020电动汽车路由问题进化计算竞赛的基准集。在本研究中,测试集由7个小规模标准数据集组成:En22k4--En101k8。将所提出的算法的结果与其他元启发式算法进行了比较。比较是根据获得最优解的能力来进行的。

表1示出了所提出的算法与两种最先进的算法的比较结果。标有BKS的柱提供了最为人所知的解决方案。标有"平均偏差BKS(%)"的行显示与BKS的平均偏差百分比

对于En22k4包含22个拥有4辆电动汽车的客户,En23k3代表23个拥有3辆电动汽车和其他数据集的客户。

在比较的算法中,En22k4、En23k3、En30k3和En51k5三种算法并列第一。对于En33k4和En76k7,所提出的算法和BACO获得了最好的结果。对于En101k8,所提出的算法优于其他比较算法。所提出的算法与BKS的平均偏差百分比略好于比较算法。


V.结论

本文提出了一种求解有电容电动汽车路径问题的改进算法。该算法基于差分进化算法、k-均值算法和模糊逻辑的概念。实验结果表明,该算法能够很好地找到所有七个基准的最优或接近最优解

相关推荐
刚学HTML4 分钟前
leetcode 05 回文字符串
算法·leetcode
AC使者23 分钟前
#B1630. 数字走向4
算法
ROBOT玲玉24 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
冠位观测者27 分钟前
【Leetcode 每日一题】2545. 根据第 K 场考试的分数排序
数据结构·算法·leetcode
GocNeverGiveUp33 分钟前
机器学习2-NumPy
人工智能·机器学习·numpy
古希腊掌管学习的神1 小时前
[搜广推]王树森推荐系统笔记——曝光过滤 & Bloom Filter
算法·推荐算法
qystca1 小时前
洛谷 P1706 全排列问题 C语言
算法
浊酒南街1 小时前
决策树(理论知识1)
算法·决策树·机器学习
就爱学编程1 小时前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
B站计算机毕业设计超人1 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化