一种改进型人工鱼群算法的物流配送方法转让专利

申请号 : CN201911217784.2

文献号 : CN110910077B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏星汪其颜亮谢仁恩

申请人 : 桂林航天工业学院

摘要 :

本发明公开了一种改进型人工鱼群算法的物流配送方法,包括获取多个客户配送点位置和每一客户配送点需求量,基于人工鱼群算法的觅食行为,判断移动步数;获取物流中心位置Xc和物流中心供给量Yc,基于人工鱼群算法的聚群行为,判断移动步数;基于人工鱼群算法的追尾行为,判断移动步数;基于感知距离自适应变化条件和移动步长自适应变化条件,求解全局最优解。实现结合感知距离自适应变化和移动步长自适应变化适用于物流配送路径问题,全局收敛速度快,算法精度高。

权利要求 :

1.一种改进型人工鱼群算法的物流配送方法,其特征在于,包括:获取多个客户配送点位置和每一客户配送点需求量,基于人工鱼群算法的觅食行为,判断移动步数;

获取物流中心位置Xc和物流中心供给量Yc,基于人工鱼群算法的聚群行为,判断移动步数;

基于人工鱼群算法的追尾行为,判断移动步数;

基于感知距离自适应变化条件和移动步长自适应变化条件,求解全局最优解;

其中,所述感知距离自适应变化条件为:

其中L为算法总迭代次数,Visual0为客户配送点感知距离初始值,S为算法目前已迭代次数;

其中,所述移动步长自适应变化条件为:

Step=Rand()·dij,其中Step为客户配送点移动步长,Rand()为(0,1)之间的随机数。

2.如权利要求1所述的改进型人工鱼群算法的物流配送方法,其特征在于,获取多个客户配送点位置和每一客户配送点需求量,基于人工鱼群算法的觅食行为,判断移动步数,包括:获取第一目标客户配送点位置Xi对应的客户配送点需求量Yi与第二目标客户配送点位置Xj对应的客户配送点需求量Yj进行比较;

当Yi<Yj,则向第二目标客户配送点位置Xj移动一步;

当Yi≥Yj,则重新选择第二目标客户配送点位置Xj,直至try_number次后,仍不满足Yi<Yj,则随机移动一步,其中,try_number为尝试次数。

3.如权利要求2所述的改进型人工鱼群算法的物流配送方法,其特征在于,获取物流中心位置Xc和物流中心供给量Yc,基于人工鱼群算法的聚群行为,判断移动步数,包括:当dij<Visual,Yc/nf>δYi,则向物流中心位置Xc移动一步,进行聚群行为,其中,dij=||Xi‑Xj||,为第一目标客户配送点位置Xi与第二目标客户配送点位置Xj的距离,nf为第一目标客户配送点位置Xi邻域内客户配送点的数目,Visual为客户配送点的感知距离,δ为拥挤度因子。

4.如权利要求3所述的改进型人工鱼群算法的物流配送方法,其特征在于,基于人工鱼群算法的追尾行为,判断移动步数,包括:当dij<Visual,Yj/nf>δYi,则向第二目标客户配送点位置Xj移动一步,进行追尾行为。

说明书 :

一种改进型人工鱼群算法的物流配送方法

技术领域

[0001] 本发明涉及物流配送技术领域,尤其涉及一种改进型人工鱼群算法的物流配送方法。

背景技术

[0002] 物流配送是指物流企业依据客户要求,对货物进行备货、储存、分拣及配货、配装、配送运输、送达服务、配送加工等一系列的物流活动过程。在物流配送过程中,由于配送用户多,一般城市交通路线又较复杂,如何选择最佳路径,使配装和配送路径有效搭配是物流配送的关键环节。合理确定配送路径就是用最少的动力,走最短的里程,花最少的费用,以最快的速度把货物送达客户,因此,如何合理优化配送路径,制定高效的运输路线,直接影响着物流运输的速度和效益。
[0003] 目前,智能算法解决组合优化问题得到了广泛的应用,国内外很多专家学者运用遗传算法、蚁群算法等智能启发式算法求解物流配送问题,取得了不错的研究效果。但是现在的物流配送算法收敛速度慢、算法精度低。

发明内容

[0004] 本发明的目的在于提供一种改进型人工鱼群算法的物流配送方法,旨在解决现在的物流配送算法收敛速度慢、算法精度低的问题。
[0005] 为实现上述目的,本发明提供了一种改进型人工鱼群算法的物流配送方法,包括:
[0006] 获取多个客户配送点位置和每一客户配送点需求量,基于人工鱼群算法的觅食行为,判断移动步数;
[0007] 获取物流中心位置Xc和物流中心供给量Yc,基于人工鱼群算法的聚群行为,判断移动步数;
[0008] 基于人工鱼群算法的追尾行为,判断移动步数;
[0009] 基于感知距离自适应变化条件和移动步长自适应变化条件,求解全局最优解。
[0010] 在一实施方式中,获取多个客户配送点位置和每一客户配送点需求量,基于人工鱼群算法的觅食行为,判断移动步数,包括:
[0011] 获取第一目标客户配送点位置Xi对应的客户配送点需求量Yi与第二目标客户配送点位置Xj对应的客户配送点需求量Yj进行比较;
[0012] 当Yi<Yj,则向第二目标客户配送点位置Xj移动一步;
[0013] 当Yi≥Yj,则重新选择第二目标客户配送点位置Xj,直至try_number次后,仍不满足Yi<Yj,则随机移动一步,其中,try_number为尝试次数。
[0014] 在一实施方式中,获取物流中心位置Xc和物流中心供给量Yc,基于人工鱼群算法的聚群行为,判断移动步数,包括:
[0015] 当dij<Visual,Yc/nf>δYi,则向物流中心位置Xc移动一步,进行聚群行为,其中,dij=||Xi‑Xj||,为第一目标客户配送点位置Xi与第二目标客户配送点位置Xj的距离,nf为第一目标客户配送点位置Xi邻域内客户配送点的数目,Visual为客户配送点的感知距离,δ为拥挤度因子。
[0016] 在一实施方式中,基于人工鱼群算法的追尾行为,判断移动步数,包括:
[0017] 当dij<Visual,Yj/nf>δYi,则向第二目标客户配送点位置Xj移动一步,进行追尾行为。
[0018] 在一实施方式中,基于感知距离自适应变化条件和移动步长自适应变化条件,求解全局最优解,其中,所述感知距离自适应变化条件为:
[0019] 其中L为算法总迭代次数,Visual0为客户配送点感知距离初始值,S为算法目前已迭代次数。
[0020] 在一实施方式中,基于感知距离自适应变化条件和移动步长自适应变化条件,求解全局最优解,其中,所述移动步长自适应变化条件为:
[0021] Step=Rand()·dij,其中Step为客户配送点移动步长,Rand()为(0,1)之间的随机数。
[0022] 本发明的一种改进型人工鱼群算法的物流配送方法,通过获取多个客户配送点位置和每一客户配送点需求量,基于人工鱼群算法的觅食行为,判断移动步数;获取物流中心位置Xc和物流中心供给量Yc,基于人工鱼群算法的聚群行为,判断移动步数;基于人工鱼群算法的追尾行为,判断移动步数;基于感知距离自适应变化条件和移动步长自适应变化条件,求解全局最优解。感知距离较大,可以保证算法定位全局搜索性,随着算法运行,此时的搜索也更靠近最优解,感知距离逐渐变小,更能保证算法求解的精度;同时将距离因子dij、随机函数Rand()作为计算依据,能在算法中后期提高搜索精度,增强局部搜索能力,求解全局最优解。

附图说明

[0023] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024] 图1是本发明改进型人工鱼群算法的物流配送方法的流程示意图;
[0025] 图2是基本物流配送路径图;
[0026] 图3是改进蚁群算法的物流配送路径图;
[0027] 图4是改进的人工鱼群算法的物流配送路径图。

具体实施方式

[0028] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0029] 请参阅图1,图1是本发明提供一种改进型人工鱼群算法的物流配送方法的流程示意图。具体的,所述改进型人工鱼群算法的物流配送方法可以包括以下步骤:
[0030] S101、获取多个客户配送点位置和每一客户配送点需求量,基于人工鱼群算法的觅食行为,判断移动步数;
[0031] 本发明实施例中,人工鱼群算法是在一片水域中,鱼往往能自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是本水域中营养物质最多的地方,人工鱼群算法就是根据这一特点,通过构造人工鱼来模仿鱼群的觅食、聚群及追尾行为,从而实现寻优。鱼觅食行为:一般情况下鱼在水中随机地自由游动,当发现食物时,则会向食物逐渐增多的方向快速游去。
[0032] 特点:1、具有较快的收敛速度;2、可以用它快速的得到一个可行解;3、不需要问题的严格机理模型,甚至不需要问题的精确描述,这使得它的应用范围得以延伸。停止条件:1、判断连续多次所得的均方差小于语允许的误差;2、判断某个区域的人工鱼群的数目达到某个比率;3、联系多次所获取的值均不能超过已寻找的极值。首先,假设人工鱼状态为Xi=(x1,x2,…,xn),Yi=f(xi)为当前人工鱼Xi对应的食物浓度;dij=||Xi‑Xj||表示人工鱼i和j距离;人工鱼的感知距离用Visual表示;Step为人工鱼移动步长;δ为拥挤因子;try_number为尝试次数;Rand()为(0,1)之间的随机数。
[0033] 应用于物流配送具体过程为:获取第一目标客户配送点位置Xi对应的客户配送点需求量Yi与第二目标客户配送点位置Xj对应的客户配送点需求量Yj进行比较;
[0034] 当Yi<Yj,则向第二目标客户配送点位置Xj移动一步;
[0035] 当Yi≥Yj,则重新选择第二目标客户配送点位置Xj,直至try_number次后,仍不满足Yi<Yj,则随机移动一步,其中,try_number为尝试次数。
[0036] 状态转移公式如下:
[0037] Xj=Xi+Rand()·Visual;
[0038]
[0039] S102、获取物流中心位置Xc和物流中心供给量Yc,基于人工鱼群算法的聚群行为,判断移动步数;
[0040] 本发明实施例中,聚群行为:鱼在游动过程中为了保证自身的生存和躲避危害会自然地聚集成群,鱼聚群时所遵守的规则有三条:分隔规则:尽量避免与临近伙伴过于拥挤;对准规则:尽量与临近伙伴的平均方向一致;内聚规则:尽量朝临近伙伴的中心移动。
[0041] 具体步骤为:当dij<Visual,Yc/nf>δYi,说明物流中心位置的供给量较高、且拥挤度较低,则向物流中心位置Xc移动一步,进行聚群行为;反之,进行觅食行为;其中,dij=||Xi‑Xj||,为第一目标客户配送点位置Xi与第二目标客户配送点位置Xj的距离,nf为第一目标客户配送点位置Xi邻域内客户配送点的数目,Visual为客户配送点的感知距离,δ为拥挤度因子。
[0042]
[0043] S103、基于人工鱼群算法的追尾行为,判断移动步数;
[0044] 本发明实施例中,追尾行为:当鱼群中的一条或几条鱼发现食物时,其临近的伙伴会尾随其快速到达食物点。
[0045] 具体操作为:当dij<Visual,Yj/nf>δYi,说明伙伴配送点位置供给量较多,且拥挤度较低,则向第二目标客户配送点位置Xj移动一步,进行追尾行为;反之,进行觅食行为。
[0046]
[0047] S104、基于感知距离自适应变化条件和移动步长自适应变化条件,求解全局最优解。
[0048] 本发明实施中,针对基本鱼群算法存在精度不高、后期收敛慢等不足,提出鱼群视野自适应、移动步长自适应等改进策略,改进的人工鱼群算法能更好地应用于解决物流配送路径问题。在基本鱼群算法中,人工鱼的感知距离Visual通常是设定的一个固定值,其值的大小直接决定了算法的好坏,若Visual值过大,则人工鱼收敛速度快,全局搜索能力强,但是搜索解不够精确;若Visual值过小,局部搜索能力强,算法的速度慢。因此,我们采用感知距离自适应变化条件进行视野自适应变化。
[0049] 所述感知距离自适应变化条件为:
[0050] 其中L为算法总迭代次数,Visual0为客户配送点感知距离初始值,S为算法目前已迭代次数。
[0051] 由公式可以看出,人工鱼的感知距离会随着算法迭代次数的增加而逐渐变小。在算法的初期,鱼群的感知距离比较大,可以保证算法的全局搜索性,随着算法运行,此时的搜索也更靠近最优解,感知距离逐渐变小,更能保证算法求解的精度。
[0052] 基本的鱼群算法中,移动步长是随机设定的,步长越大,算法后期容易出现震荡现象,导致算法结果精度不高;小步长搜索提高了算法精度,但速度较慢,易陷入局部最优解。因此,提出一种自适应移动步长方法,即在算法初期采用固定大步长进行算法求解,保证算法求解速度,减少搜索时间,在算法的中后期,则基于移动步长自适应变化条件进行自适应移动步长计算。
[0053] 所述移动步长自适应变化条件为:
[0054] Step=Rand()·dij,其中Step为客户配送点移动步长,Rand()为(0,1)之间的随机数。
[0055] 该计算公式主要依据当前鱼群中人工鱼状态Xi对应的浓度Yi,以及其感知范围内一个状态Xj对应的浓度Yj,当Yi<Yj时,则进行算法计算。该自适应方法将人工鱼个体之间的距离因子dij、随机函数Rand()作为计算依据,能在算法中后期提高搜索精度,增强局部搜索能力,求解到全局最优解。
[0056] 人工鱼群算法也是一种群体智能算法,同其他群智能算法一样,人工鱼数目越多,全局搜索能力越强,但是,算法迭代的计算工作量也越大。因此,在实际应用中,在保证收敛精度和速度的前提下,人工鱼数目不宜过大,应选择适中。尝试次数try_number是在鱼群觅食行为中的一个特定参数,表示人工鱼需要移动到下一个合适状态时需要尝试的次数。当小于尝试次数try_number时,人工鱼进行觅食行为,当大于尝试次数try_number时,表示在范围内没有符合条件的状态,则结束觅食行为,执行随机行为。实验研究表明:尝试次数try_number的次数较少时,人工鱼能较容易跳出局部值,从而提高搜索效率。
[0057] 现举例说明改进的人工鱼群算法的优越性:
[0058] 某公司有一个物流中心,有1台载重12吨的货车,该车的油耗为20L/百公里,车速为60km/h,平面中有7个客户点(编号为1—7),1个物流中心(编号为0),物流中心和客户点的坐标及需求量如表1所示。
[0059] 表1 物流中心和客户点坐标及需求量表
[0060]
[0061]
[0062] (1)基本物流配送路径如图2所示,从分析结果可以看到,路线1:0→5→7→6→0,总长度为108.121km,路线2:0→4→2→3→1→0,总长度为110.547km,合计218.668km。
[0063] 车速为60km/h,总时间为:
[0064] t1=218.668km/(60km/h)≈3.644h
[0065] 货车的油耗为20L/百公里,总耗油量为:
[0066] Q1=20L/百公里×(218.668公里/100)≈43.734L
[0067] (2)改进蚁群算法的物流配送路径如图3所示,路线1:0→4→2→3→0,总长度为64.491km,路线2:0→1→5→7→6→0,总长度为144.177km,合计208.668km。
[0068] 车速为60km/h,总时间为:
[0069] t2=208.668km/(60km/h)≈3.478h
[0070] 总耗油量为:
[0071] Q2=20L/百公里×(208.668公里/100)≈41.734L
[0072] (3)本发明改进的人工鱼群算法路径如图4所示,在实验中,本发明改进的人工鱼群算法的各个参数设置如下:其中人工鱼群中的参数Trynumber=50,Visual0=2.5,δ=2,L=30,鱼群种群数量N=30,路线:0→4→2→3→1→5→7→6→0,总长度为187.65km。
[0073] 车速为60km/h,总时间为:
[0074] t3=187.65km/(60km/h)≈3.128h
[0075] 总耗油量为:
[0076] Q3=20L/百公里×(187.65公里/100)≈37.53L
[0077] 从仿真计算结果我们可以看到,本发明改进人工鱼群算法规划的物流配送路径总长度是三种方案中最短的,所用的配送时间也是最少的,从计算的耗油量来看,改进人工鱼群算法方案比原始方案缩短了14%左右,比蚁群算法方案缩短了10%左右,这充分说明了本发明的改进算法的有效性。
[0078] 另外,本发明实验中选取的坐标数据都是在100以下的10数量级,在实际的物流配送中,客户的数量级往往在几百甚至几千,从节油的角度分析,本文的改进人工鱼群算法方案能节省更多的成本,因此,本发明的方法更适用于实际的工程应用中,是值得推广的。
[0079] 本发明针对物流配送中的不足,改进了人工鱼群算法,提出了鱼群感知距离自适应、移动步长自适应、参数设置方法等策略,最后通过仿真实验表明,本发明算法能加快全局收敛速度,提高算法精度,在解决物流配送路径等优化问题中具有较好的效果。
[0080] 以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。