改进型人工鱼群算法的物流配送应用研究
2022-04-02汪其
汪其
摘要:研究物流配送问题,可以提高物流服务质量。在一般的传统物流配送中,路径选择较多采用人工搜索的方法,效率低、成本较高。人工鱼群算法是一种智能启发式算法,具有搜索速度快,精度高等特点,被广泛应用于解决路径搜索问题。文章在传统的人工鱼群算法基础上,通过采用鱼群视野自适应、移动步长自适应、参数设置等改进策略,提出了一种改进人工鱼群算法的物流配送方法,该方法能加快算法收敛速度,提高算法的精度和效率。仿真结果表明,改进后的人工鱼群算法優于传统配送方法和蚁群算法,有效地解决了物流配送问题,提高了物流配送效率。
关键词:鱼群算法;改进的人工鱼群算法;自适应;物流配送
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2022)33-0013-04
1 概述
物流配送是指物流企业依据客户要求,对货物进行备货、储存、分拣及配货、配装、配送运输、送达服务、配送加工等一系列的物流活动过程。
目前,在平时物流配送过程中,由于用户多、路线复杂,有时可能会因为绕路、走重复的路、交通堵塞或者上一环节的延误而耽误时效性,还会出现比如:身体出现情况,纪律性比较低等物流运输过程中出现迟到的人为因素等,但这也是可以避免的,只要提前做好物流运输路线的确定工作,就可以避免在后续物流运输过程中出现绕路及重复搬运的情况,这也是确保物流运输效率的一种方式。
因此,如何选择物流配送运输的最佳路径,使配装和配送路径有效搭配是物流配送的关键环节。合理确定配送路径就是用最少的动力、走最短的里程、花最少的费用,以最快的速度把货物送达客户。因此,如何合理优化配送路径,制定高效的运输路线,直接影响着物流运输的速度和效益。
配送路径问题是NP-hard问题。目前,智能算法解决组合优化问题得到了广泛的应用。国内外很多专家学者运用遗传算法[1-7]、蚁群算法[8-17]、人工鱼群算法[9-33]等智能启发式算法求解物流配送问题,取得了不错的研究效果。
人工鱼群算法 (AFSA) [25-28]最早由李晓磊博士于2003年提出,该算法通过模拟自然界中鱼群的觅食行为,提出一种基于动物自治体的优化方法,很好地解决非线性函数优化等问题。人工鱼群算法主要是通过模拟鱼的觅食、聚群以及追尾行为,并通过鱼的个体行为实现局部寻优,从而最终得到全局最优解。具有初始值要求不高、算法实时性高等特点,通常应用到一些精度要求不高、快速找到可行解的优化问题。但是,人工鱼群算法也存在后期收敛速度慢等缺点,因此,本文基于传统鱼群算法原理,通过采用自适应鱼群移动步长和感知距离等改进方法,并将其运用到物流配送路径中。仿真实验表明,采用的改进人工鱼群算法与传统算法相比,具有精度更高、更节省运输成本等特点。
2 物流配送问题
物流配送问题是系统中的配送中心向多个客户运送货物,要求合理安排配送路径,使整个配送运行费用最小, 条件约定如下:
(1)整个系统中有且仅有一个配送中心,编号为:0;
(2)每个客户均匀分布于配送平面区域中,位置坐标和需求量一定,且是可到达的;
(3)每个客户只能由一辆汽车送货,且只能送货一次;
(4)每条配送路径上各客户的需求总和不超过配送车辆的最大载重量,且汽车的载量一定;
(5)运费以路径费用总和计算。
当然,本文为了简化研究便于数据比较,一些因素暂时未考虑,诸如:每个客户所需货物在承诺时间内送达,不同汽车的不同载量等。
3 鱼群算法
鱼群算法的基本思想是依据鱼群中鱼生存的数目最多的地方是营养最丰富地方的特点,通过模拟鱼群寻找食物的过程,寻找算法最优解。
首先,假设人工鱼状态为[Xi=x1,x2,⋅⋅⋅,xn],其中,[Yi=f(xi)]为当前人工鱼[Xi]对应的食物浓度;[dij=Xi-Xj]表示人工鱼[i]和[j]距离;人工鱼的感知距离用[Visual]表示;[Step]为人工鱼移动步长;[δ]为拥挤度因子,[try_number]为尝试次数,[Rand()]为[(0,1)]之间的随机数。
3.1 觅食行为
将当前人工鱼[Xi]的食物浓度[Yi]与其感知内的任意人工鱼[Xj]的食物浓度[Yj]进行比较,当[Yi<Yj],则向[Xj]移动一步;反之,重新选择[Xj];直至[try_number]次后,仍不满足[Yi<Yj],则随机移动一步。状态转移公式如式(1)、(2)。
[Xj=Xi+Rand()⋅Visual] (1)
[Xi/next=Xi+Rand()⋅Step⋅Xj-XiXj-Xi,Yi<YjXi+Rand()⋅Step,else] (2)
3.2 聚群行为
当[dij<Visual]时,目前人工鱼[Xi]所在邻域内人工鱼的总数量为[nf],中心位置状态用[Xc]表示,当[Ycnf>δYi],说明当前中心位置食物浓度较高,且无明显拥挤,人工鱼就向其移动一步,即向中心逐步聚集,形成聚群行为;反之,向其他区域进行搜索,形成觅食行为。
[Xi/next=Xi+Rand()⋅Step⋅Xc-XiXc-Xi,Ycnf>δYiAF_prey(),else] (3)
3.3 追尾行为
当[dij<Visual]时,当前人工鱼[Xi]邻域内的最大伙伴鱼[Xj]对应的食物浓度为[Yj],如果[Yjnf>δYi],说明伙伴鱼[Xj]位置食物浓度较高,拥挤度较低,则人工鱼向伙伴鱼[Xj]的方向移动一步,这就是追尾行为;反之,向其他区域进行搜索,形成觅食行为。
[Xi/next=Xi+Rand()⋅Step⋅Xmax-XiXmax-Xi,Yjnf>δYiAF_prey(),else] (4)
4 改进人工鱼群算法
针对基本鱼群算法存在精度不高、后期收敛慢等不足,本文提出采用自适应鱼群视野和移动步长等新方法,更好地解决了物流配送路径问题,节省了运输成本。
4.1 感知距离自适应变化
在基本鱼群算法中,人工鱼的感知距离[Visual]通常是设定的一个固定值,其值的大小直接决定了算法的好坏,若[Visual]值过大,则人工鱼收敛速度快,全局搜索能力强,但是搜索解不够精确;若[Visual]值过小,局部搜索能力强,算法的速度慢。因此,笔者采用公式(5)进行视野自适应变化。
[Visual=Visual0⋅L-SL] (5)
其中:[L]为算法总迭代次数,[Visual0]人工鱼感知距离初始值,[S]为算法目前已迭代次数。由公式(5)可以看出,人工鱼的感知距离会随着算法迭代次数的增加而逐渐变小。在算法的初期,鱼群的感知距离比较大,可以保证算法的全局搜索性,随着算法运行,此时的搜索也更靠近最优解,感知距离逐渐变小,更能保证算法求解的精度。
4.2 移动步长自适应变化
基本的鱼群算法中,移动步长是随机设定的,步长越大,算法后期容易出现震荡现象,导致算法结果精度不高;小步长搜索提高了算法精度,但速度较慢,易陷入局部最优解。因此,本文提出一种自适应移动步长方法,即在算法初期采用固定大步长进行算法求解,保证算法求解速度,减少搜索时间,在算法的中后期,则采用公式(6)进行自适应移动步长计算。
[Step=Rand()?dij] (6)
该计算公式主要依据当前鱼群中人工鱼状态[Xi]对应的浓度[Yi],以及其感知范围内一个状态[Xj]对应的浓度[Yj],当[Yi<Yj]时,则进行算法计算。该自适应方法将人工鱼个体之间的距离因子[dij]、随机函数[Rand()]作为计算依据,能在算法中后期提高搜索精度、增强局部搜索能力、求解到全局最优解。
4.3鱼群规模[N]、尝试次数[try_number]等参数的讨论分析
人工鱼群算法也是一种群体智能算法,经研究表明,同其他群智能算法一样,人工鱼数目越多,全局搜索能力越强,但是算法迭代的计算工作量也越大。因此,在实际应用中,在保证收敛精度和速度的前提下,人工鱼数目不宜过大,应选择适中。
尝试次数[try_number]是在鱼群觅食行为中的一个特定参数,表示人工鱼需要移动到下一个合适状态时需要尝试的次数。当小于尝试次数[try_number]时,人工鱼进行觅食行为,当大于尝试次数[try_number]时,表示在范围内没有符合条件的状态,则结束觅食行为,执行随机行为。实验研究表明:尝试次数[try_number]的次数较少时,人工鱼能较容易跳出局部值,从而提高搜索效率。
5 实验仿真及分析
5.1 实验环境及计算过程
在本仿真实验中,笔者以参考文献[31]的数据为例,同时在实验中对比了文献[31]中的两种算法,结果表明本文改进的人工鱼群算法的优越性。
结合参考文献[31]的数据,本实验的数据如下:某公司有一个物流中心,有1台载重12吨的货车,该车的油耗为20L/百公里,车速为60km/h,平面中有7个客户点(编号为1~7),1个物流中心(编号为0),物流中心和客户点的坐标及需求量如表1所示。
(1)基本物流配送
依据参考文献[31],基本物流配送如图1:
从分析结果可以看到,路线1:0→5→7→6→0,总长度为108.121km,路线2:0→4→2→3→1→0,总长度为110.547km,合计218.668km。
车速为60km/h,总时间为:
[t1=218.668km/(60km/h)≈3.644h]
货车的油耗为20L/百公里,总耗油量为:
[Q1=20L/百公里×(218.668公里/100)≈43.734L]
(2)蚁群算法的物流配送路径
在实验中,蚁群算法的各个参数参见参考文献[31],蚁群算法的物流配送如图2:
路线1:0→4→2→3→0,总长度为64.491km,路线2:0→1→5→7→6→0,总长度为144.177km,合计208.668km。
车速为60km/h,总时间为:
[t2=208.668km/(60km/h)≈3.478h]
总耗油量为:
[Q2=20L/百公里×(208.668公里/100)≈41.734L]
(3)本文改进的人工鱼群算法
在实验中,本文改进的人工鱼群算法的各个参数设置如下:其中人工鱼群中的参数[Trynumber=50],[Visual0=2.5],[δ=2],[L=30],鱼群种群数量[N=30],改进的人工鱼群算法的物流配送路径如图3所示。
路线:0→4→2→3→1→5→7→6→0,总长度为187.65km。
车速为60km/h,总时间为:
[t3=187.65km/(60km/h)≈3.128h]
总耗油量为:
[Q3=20L/百公里×(187.65公里/100)≈37.53L]
5.2 结果分析
从仿真计算结果可以看到,本文改進人工鱼群算法规划的物流配送路径总长度是三种方案中最短的,所用的配送时间也是最少的,从计算的耗油量来看,改进人工鱼群算法方案比原始方案缩短了14%左右,比蚁群算法方案缩短了10%左右,这充分说明了本文改进算法的有效性。
另外,本文实验中选取的坐标数据都是在100以下的10数量级,在实际的物流配送中,客户的数量级往往在几百甚至几千,从节油的角度分析,本文的改进人工鱼群算法方案能节省更多的成本,因此,本文方法更适用于实际的工程应用中,是值得推广的。
6 结束语
本文针对物流配送中路线选择等方面的不足,在传统人工鱼群算法的基础上,提出了自适应鱼群感知距离和移动步长等新方法,并改进鱼群的参数设置,最后通过仿真实验表明。本文算法能加快全局收敛速度,提高算法精度,在解决物流配送路径等优化问题中具有较好的效果。
参考文献:
[1] 马永杰,云文霞.遗传算法研究进展[J].计算机应用研究,2012,29(4):1201-1206,1210.
[2] 边霞,米良.遗传算法理论及其应用研究进展[J].计算机应用研究,2010,27(7):2425-2429,2434.
[3] 葛继科,邱玉辉,吴春明,等.遗传算法研究综述[J].计算机应用研究,2008,25(10):2911-2916.
[4] 张恒.基于改进遗传算法的铁路物流中心功能区布局优化研究[J].铁道货运,2022,40(1):46-52.
[5] 李英杰.基于遗传算法的低碳物流运输网络优化分析[J].物流工程与管理,2021,43(10):60-62.
[6] 刘善球,樊兵鹏.基于遗传算法的快递物流配送中心选址[J].湖南工业大学学报,2021,35(5):70-76.
[7] 王龙,姚文明.基于Spark的并行遗传算法在物流配送问题中的应用[J].计算机与现代化,2018(1):19-22.
[8] 段海滨,王道波,朱家强,等.蚁群算法理论及应用研究的进展[J].控制与决策,2004,19(12):1321-1326,1340.
[9] 詹士昌,徐婕,吴俊.蚁群算法中有关算法参数的最优选择[J].科技通报,2003,19(5):381-386.
[10] 吴斌,史忠植.一种基于蚁群算法的TSP问题分段求解算法[J].计算机学报,2001,24(12):1328-1333.
[11] 张强.基于改进蚁群算法的物流运输最优路径优化模型构建[J].自动化技术与应用,2021(11):122-126.
[12] 何亚辉.基于改进蚁群算法的物流配送路径规划算法[J].计算机与数字工程,2021,49(5):920-924.
[13] 叶杭璐,何利力.基于改进蚁群算法的智慧物流调度规划[J].计算机系统应用,2021,30(1):207-213.
[14] 罗梓瑄,刘学文.基于蚁群算法的物流配送路径优化研究[J].重庆工商大学学报(自然科学版),2020,37(4):89-94.
[15] 马贵平,潘峰.基于改进蚁群算法的物流运输路径研究[J].计算机工程与科学,2020,42(3):523-528.
[16] 高月仁,吴涛,高峡.基于蚁群算法优化的路由频率动态择径的研究[J].计算机与现代化,2020(12):32-37,42.
[17] 叶家琪,符强,贺亦甲,等.基于聚类集成的蚁群算法求解大规模TSP问题[J].计算机与现代化,2020(2):31-35.
[18] 白响恩,李豹,徐笑锋.基于改进人工鱼群算法的船舶进港排序[J].上海海事大学学报,2021,42(3):85-90.
[19] 吴剑杰.改进的人工鱼群算法求解TSP问题的研究[J].科技通报,2021,37(8):66-70.
[20] 何新佳,马中亮,代淑兰.基于人工鱼群算法的加农炮内弹道参数优化研究[J].火炮发射与控制学报,2022,43(1):36-41.
[21] 张朝炜,柳云祥,朱永利.基于改进人工鱼群算法的大规模多目标机组组合优化[J].电力系统保护与控制,2021,49(8):100-108.
[22] 李素,袁志高,王聪,等.群智能算法优化支持向量机参数综述[J].智能系统学报,2018,13(1):70-84.
[23] 吴小文,李擎.果蝇算法和5种群智能算法的寻优性能研究[J].火力与指挥控制,2013,38(4):17-20,25.
[24] 王联国,洪毅,赵付青,等.一种改进的人工鱼群算法[J].计算机工程,2008,34(19):192-194.
[25] 李晓磊,路飞,田国会,等.组合优化问题的人工鱼群算法应用[J].山东大学学报(工学版),2004,34(5):64-67.
[26] 李晓磊,钱积新.基于分解协调的人工鱼群优化算法研究[J].电路与系统学报,2003,8(1):1-6.
[27] 李晓磊.一种新型的智能优化方法-人工鱼群算法[D].杭州:浙江大学,2003.
[28] 李晓磊,邵之江,钱积新.一种基于动物自治体的寻优模式:鱼群算法[J].系统工程理论与实践,2002,22(11):32-38.
[29] 陈营,马继红,陈浩如.基于改进鱼群算法在管道最优抢修路径的研究[J].管道技术与设备,2014(1):4-6.
[30] 王闯.人工鱼群算法的分析及改进[D].大连:大连海事大学,2008.
[31] 魏星,李志远,李燕.改进型蚁群算法在煤炭运输中的应用研究[J].煤矿机械,2013,34(7):225-228.
[32] 田钧.基于改进蚁群算法的物流配送应用研究[J].制造业自动化,2013,35(16):88-90,109.
[33] 朱旭辉,倪志伟,程美英.变步长自适应的改进人工鱼群算法[J].计算机科学,2015,42(2):210-216,246.
【通联编辑:唐一东】