混合萤火虫算法的车辆路径问题

容量受限车辆路径问题的改进混合萤火虫算法

来自于2019年Applied Soft Computing 期刊的影响因子10.2


链接地址:https://www.sciencedirect.com/science/article/pii/S1568494619305095


摘要

萤火虫算法(FA)是一种新的元启发式算法,已成功地应用于解决多个优化问题。然而,它的缺点是容易陷入局部最优。本文提出了一种新的混合FA,称为CVRP-FA,用于解决容量受限的车辆路径问题。在CVRP-FA中,FA与两种局部搜索和遗传算子相结合,以提高解的质量和加速收敛。实验在82个基准实例上进行。结果表明,CVRP-FA算法收敛速度快,计算精度高。在大多数测试实例中,它明显优于其他最先进的FA变体。


一、引言

Firefly algorithm(FA)是最近由Yang[1]开发的一种新的自然启发算法。Fister等人总结了它的特点:(i)FA简单、灵活、通用;(ii)FA具有多模态特性,因此可以有效地处理多模态问题;(iii)FA可用作全局问题求解器或局部搜索启发式;(iv)FA可以处理许多优化、分类问题,以及实践中几乎所有工程问题的分支[2]。FA最初是为解决连续优化问题而开发的。它已成功应用于不同的领域和应用[2,3]。FA的巨大成功促使许多研究人员通过调查[2,3]所示的多种变体改进了FA的基本版本。例如,在解决天线设计优化、找到辐射天线单元之间的最佳间距以及分别调整比例积分控制器的参数方面,FA优于人工蜂群(ABC)、粒子群优化(PSO)和遗传算法(GA)[4–7]。

此外,通过杂交等不同方式对FA进行了改进。与之前提出的其他算法相比,FA与其他算法的混合可以增加找到高质量解的机会。为了解决连续优化问题,将遗传算法与拉格朗日方法、学习自动机、遗传算法、差分进化方法的进化操作、蚁群算法相结合∗ 通讯作者。电子邮件地址:a。altabib@ust.edu(A.M.阿尔塔比布)。(ACO)和lévy flight search分别用于解决机组组合问题、连续数值优化问题、复杂非线性问题、预测癌症的微阵列数据和数值优化问题[8–12]。将FA与不同的方法混合,以解决离散优化问题,如调度问题、旅行商问题(TSP)和车辆路径问题(VRP)。例如,FA与局部搜索启发式混合,以解决图3-着色问题[13]。Horng使用Linde–Buzo–Gray算法初始化FA来开发矢量量化算法[14]。并将模糊算法与局部搜索相结合,解决了置换流水车间调度问题和多目标柔性作业车间调度问题。[15,16]. FA与量子计算的基本概念和PSO的运动策略相结合,在解决0-1背包和多维背包问题时,在强化和多样化之间取得平衡[17]。为了解决TSP问题,FA与突变和选择操作相结合,称为EDFA[18]。Saraei等人将FA与贪婪算法杂交[19]。FA是k-opt算法的组合,即MDFA[20]。Mohsen和Al Sorori将FA与本地搜索和遗传算子杂交,称为HDFA[21]。结果表明,HDFA在解的质量和收敛速度方面优于EDFA和MDFA。

据我们所知,四项研究利用FA来解决不同类型的VRP。在[22,23]中,分别提出了离散FA的一个变量来求解带时间窗的VRP(VRPTW),以及另一个变量来求解丰富的VRPTW。尽管作者已经成功地将FA应用于VRPTW,但获得的结果并不像文献中所述的那样有希望。作者使用了CVRP的基准,因为文献中没有HFFVRP的基准。实验结果表明,混合萤火虫仅在小的情况下有效,但在大多数情况下,它会陷入局部最优。M.Saraei等人[25]将FA与自适应变异和遗传算法相结合,称为CFAGA。这项研究有一些缺点,例如:(i)只使用了五个小规模的实例;(ii)未能在五个实例中找到最广为人知的解决方案(BKS);(iii)没有与文献中最近提出的算法进行比较;相反,与基本的FA和GA进行了比较。值得注意的是,通过集成另一个元启发式算法的一个组件,而不是集成整个元启发式算法,可以提高元启发式算法的搜索能力[26]。本文提出了一种新的增强FA,即CVRP-FA,用于解决CVRP问题,主要贡献有两个。第一种是嵌入局部搜索技术(改进的2-Opt方法[27]和2-h-Opt局部搜索[28]),以加快向最优解的收敛。第二种是引入交叉和两种变异技术,以在强化和多样化之间取得平衡。此外,该算法的参数的最佳值是使用田口方法统计确定的。该算法的有效性与最新开发的FAs(即混合萤火虫[24]和CFAGA[25])进行了比较。

论文的其余部分组织如下。在第2节中,制定了CVRP。第3节概述了论文的关键概念,如VRP的基本FA和firefly算法的增强。第4节解释了所提出的算法CVRP-FA。第5节报告了CVRP-FA的参数调整以及与其他FA变体的比较。最后,第6节给出了研究结论。

二、容量受限车辆路径问题的数学建模

CVRP被描述为一个图G=(N,E),其中一组节点N={0,1,…,N},其中节点0代表仓库,[1,…,N]代表客户。每条边{i,j}∈ E具有非负成本cij。每一位顾客∈ V′=V{0}有一个需求qi,其中{i=1,2,…,n}。对于单个车辆段0,一组容量限制为Q的同质车辆K从车辆段开始,为每个客户提供服务,然后返回。每辆车的负载不能超过容量限制Q。其目标是确定满足所有客户需求的路线,并使总路线成本最小化。CVRP的公式如下[29]:
在这里插入图片描述
等式(1)是目标函数,它使车辆行驶的总距离最小化。如果车辆k直接从客户i行驶到客户j,则X k ij=1,否则X k ij=0。剩下的方程式表示一组约束条件,如下所示:(i)约束条件(2)和(3)保证客户只能由一辆车提供服务;(ii)约束(4)确保在路线中分配的客户的总需求不能超过车辆容量Q;(iii)约束(5)保证每辆车的每次行程从车辆段开始,并在同一车辆段结束。如果所有路线都满足容量限制,且没有客户被访问超过一次,则CVRP的解决方案是可行的[30]。对于服务于客户的车辆(路线)数量K,一些研究(如[31])将其视为约束变量,而其他研究(如[32])将其视为决策变量。

三、预备知识

本文的关键概念,即FA及其对VRP的增强,将在以下小节中简要介绍。

3.1 基本的萤火虫算法

Firefly是一种受自然启发的算法,由Yang[1]最近开发,用于模拟萤火虫的闪光行为。它是根据以下三个假设制定的:

  1. 群中所有的萤火虫都是单性的,这意味着一只萤火虫会吸引所有其他的萤火虫,而不管它们的性别。
  2. 萤火虫的吸引力与其光线有关。例如,给定两只萤火虫,越亮的萤火虫会吸引越不亮的萤火虫;换句话说;较暗的萤火虫会向较亮的萤火虫移动。随着萤火虫之间距离的增加,吸引力减小。
  3. 此外,如果一只萤火虫是群中最亮的,它会随机移动萤火虫的亮度由所考虑问题的目标函数的值决定。

算法1给出了FA的主要步骤。在实施FA时,应考虑三个重要因素,即吸引力、萤火虫之间的距离和萤火虫的移动。在FA的基本版本中,这些因素通过以下方式解决。首先,萤火虫的吸引力是由其光线强度通过公式(6)决定的:
在这里插入图片描述
其中β0是距离r=0时的吸引力。其次,任意两个萤火虫i和j之间的距离rij使用笛卡尔距离计算,如式(7)所示:
在这里插入图片描述
其中XIK和XJK是第i和第j个萤火虫的空间坐标席和 x j x_j xj的第k个分量。最后,萤火虫i向任何其他较亮萤火虫j的移动由等式(8)确定:
在这里插入图片描述
其中α表示随机化参数εti是从迭代t的高斯分布中提取的随机数向量,γ是表示给定介质中光吸收系数的比例因子。 r i j r_{ij} rij是两个萤火虫I和J之间的笛卡尔距离,在点 i x i_x ix j x j_x jx
在这里插入图片描述

3.2 VRP的相关改进的萤火虫算法

最初,FA是为了解决连续优化问题而开发的,不能直接用于解决任何离散优化问题。因此,FA应适用于解决离散优化问题,如VRPs[23]。

为了使FA适用于VRP,提出了三种方法。Matthopoulos和Sofianopoulou[24]采用了CVRP的重新编码模式。从实际的角度来看,这种适应是不值得的。研究结果不如文献中的结果那么有希望。Saraei和Ghaheri[25]采用了具有置换表示的FA来解决CVRP问题。此外,他们还使用了变异算子的组合来表示萤火虫的运动。Osaba等人[23]已经成功地采用FA,通过插入函数来表示萤火虫的运动,从而解决了VRPTW问题,其中两个萤火虫i和j之间的距离是使用汉明距离(HD)计算的。值得注意的是,同样的运动思想也应用于FA来解决TSP问题,获得了良好的结果[20,21]。因此,本文将采用这一运动思想。

四、提出的算法CVRP-FA

提出了一种新的FA变体CVRP-FA。CVRP-FA的主要目的是通过杂交来解决CVRP,以克服上述FA的缺点。为了加快收敛速度,引入了改进的2-opt和2-h-opt两种局部搜索方法。此外,将遗传算法中的交叉算子和两种变异算子结合起来,在局部搜索和全局搜索之间取得平衡。算法2显示了CVRP-FA步骤的伪代码。在每个步骤中,CVRPFA必须保持CVRP的约束。以下小节将讨论这些步骤:

4.1 表示解

CVRP-FA用两种置换表示法表示CVRP的解。如图1所示,CVRP解决方案表示(CVRP-SR)表示为数组列表∑KI=1(Si+2),其中K是车辆数量,Si是分配给每条路线的客户数量,2是路线i的起点和终点(仓库)。TSP解决方案表示法(TSP-SR)表示为一维数组(N),其中N是包括仓库在内的客户数量。这两种表示帮助CVRP-FA算法以简单的方式将CVRP转换为TSP,反之亦然。第4.5节将讨论局部搜索转换的目的。

在这里插入图片描述

4.2 初始化

初始化CVRP-FA的参数,即种群大小(P-s)、最大迭代次数(MI)、交叉_率(C-R)和变异_率(M-R),以控制CVRP-FA的性能。值得一提的是,随机生成初始群是证明元启发式算法优化质量的最合适方法[33]。因此,CVRPFA群中的萤火虫是随机产生的。每个萤火虫都是按照以下步骤建造的:(i)创建一条带有起点(仓库)的路线;(ii)从客户列表中随机选择客户,并从同一列表中删除,以确保不再选择该客户;(iii)所选客户被相应地添加到路线中;(iv)如果路线的通行能力<=车辆通行能力;重复第二步和第三步;否则,终点(车辆段)将添加到路线中;(v) 路线增加1条;和(vi)重复步骤i至v,直到所有顾客都上菜。一旦萤火虫被构造出来,它的目标函数就会被相应地计算出来。目标函数是对应萤火虫中所有路线的总距离。每条路线的距离由其所有客户(包括起点和终点的车辆段)之间的欧几里德距离之和计算得出。由于CVRP是一个极小化问题,目标函数值较低的萤火虫是最有吸引力的问题。
在这里插入图片描述

4.3 计算萤火虫的光强度

为了计算每个萤火虫的光强度,首先使用HD计算每个萤火虫与最轻萤火虫之间的距离,这是最佳解决方案。HD between two fireflies是两个萤火虫中非对应元素的数量。CVRP firefly的HD由一个巨人之旅代表,通过比较巨人之旅(不包括仓库)中的客户顺序来计算。图2显示了两个萤火虫(xi,xbest)和九个客户的示例,以解释如何计算HD。从图中可以清楚地看出,席和XBEST之间的HD是五。计算HD后,萤火虫i(Ii)的光强度使用公式(9)计算。根据Ii,萤火虫我向另一只更明亮的萤火虫移动。
在这里插入图片描述

4.4 杂交

根据预先确定的交叉概率,在全球最佳萤火虫位置XBEST和当前萤火虫位置席之间应用部分匹配交叉(PMX),以提高萤火虫算法的局部开发能力。在杂交后,将XI的目标函数与PMX所产生的两个后代的目标函数进行比较,以选出最佳的萤火虫席位X’I。

4.5 局部搜索

为了提高解的质量和加快收敛速度,采用了两种局部搜索来生成新的萤火虫位置xnew。在第一个过程中,如果XXEST和XI之间的HD小于N/2,其中N是客户的号码,则通过应用HD改进的2-OPT过程来增强席席中的每个路由。同时,在第二过程中,席从多路径CVRP-SR转换为单一路由TSP-SR Y,并应用2-H-OPT过程。这里的关键思想是找到彼此靠近的客户位置,并相应地重建多路线CVRP-SR,即xnew。然后,将席函数的目标函数与XNEX的目标函数进行比较,选出最佳的X函数。算法3中说明了局部搜索的步骤。

4.6 变异

两种变异技术被用来维持萤火虫的多样性,并防止萤火虫在下一个运动中收敛到局部极小值。根据给定的突变概率,种群中的每一只萤火虫都可以通过两种或其中一种突变来产生新的萤火虫。在第一个变异中,从同一条路线中随机选择两个客户并进行交换。在第二个突变中,从两个不同的随机路径中随机选择两个客户并交换。算法4中列出了变异过程的伪代码。
在这里插入图片描述

4.7 终止标准

重复CVRP-FA的步骤,直到满足CVRP-FA的预定义终止标准。这些标准是最大迭代次数或最著名的解决方案。最后是最好的萤火虫x∗ 作为算法的输出返回。

五、结果与讨论

本节介绍了分析CVRP-FA性能的实验结果。CVRP-FA是用java编写的,在12台规格为英特尔i-5、CPU为3.2 GHz、内存为4 GB的计算机上运行,运行在32位Windows 7下。CVRP-FA在来自四个标准基准的83个实例上进行测试,包括Augerat等人A、B和P[34]、赫里斯托菲德斯和艾隆E和M[35],如表1所示。CVRP-FA针对每个测试实例独立运行10次。CVRP-FA有两个停止标准,一个是当它达到最著名的解决方案(BKS)时,另一个是最大迭代次数,即1000次迭代。值得注意的是,对于一些数据集,如A-n33-k6、B-n52k7和P-n76-k4,当在早期迭代中发现BKS时,建议的算法终止。同时,对于其他数据集,如A-n80k10和B-n78-k10,它达到了最大迭代次数。之后,所获得的结果(包括最佳和平均的解决方案)与大量文本脚本和EXCEL表格联系在一起。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

本文提出了一种新的FA变体CVRP-FA来解决CVRP问题。将改进的2opt和2-h-opt两种局部搜索算法结合起来,提高了解的质量,加快了收敛速度。利用PMX交叉算子和两个突变算子提高了对前景区域的局部开发能力,保持了萤火虫的多样性,防止萤火虫收敛到局部极小值。此外,通过田口方法确定了CVRP-FA的最佳参数值,结果表明,P-s、M-R和C-R的最佳参数组合值分别为110、0.10和0.95。实验结果表明,CVRP-FA算法在解决CVRP问题上是有效的,具有良好的性能。在所有测试的CVRP实例中,CVRP-FA在最佳解和平均解方面明显优于CFAGA和混合firefly算法。CVRP-FA能够为六个实例找到新的最佳解决方案,即B-n51-k7、e-n30-k3、P-n22-k8、P-n50-k8、P-n55-k8和M-n200-k17。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值