王海军
(鄂尔多斯应用技术学院,内蒙古 鄂尔多斯 017000)
摘要:伴随着现代物流的快速发展,冷链物流也得到快速发展。在冷链物流研究中配送路径优化问题对冷链物流的发展起到至关重要的作用,鉴于蚁群算法在路径优化问题中的成功应用,因此将蚁群算法应用到冷链物流配送路径优化问题中。考虑到蚁群算法运行中存在的问题,将遗传算法与粒子群算法引入到蚁群算法中,构成基于PSOGAACO算法的冷链物流配送路径优化算法。实验结果表明,这种构想是可行的,可以有效提高算法运行效率,缩短配送距离,提高经济效益。
关键词:蚁群算法;遗传算法;粒子群算法;物流;路径优化
中图分类号:TP301.6, TP15文献标识码:ADOI: 10.19358/j.issn.1674-7720.2016.24.026
引用格式:王海军. PSO-GA-ACO算法在冷链物流配送路径优化中的应用[J].微型机与应用,2016,35(24):91-93,100.
0引言
随着经济的发展,现代物流观念不仅在工业、商业、制造业有了成功的应用,而且开始逐步深入应用到生鲜类农产品的发展中[1]。由于生鲜类农产品具有易腐败变质的特点,因此就产生了专门针对生鲜类农产品产运销的冷链物流 [2]。配送路径优化问题是物流研究的一个核心,在冷链物流中也同样如此,生鲜易腐食品从生产者到最终消费者的过程中,有80%以上的时间花在配送运输上[3]。因此本文主要研究智能算法在冷链物流配送路径优化上的应用,目前常用的路径优化算法主要集中在遗传算法(GA)、粒子群算法(PSO)和蚁群算法(ACO)等一些算法上,本文主要研究ACO算法在冷链物流配送路径中的应用。已有研究成果[4]表明,ACO算法存在易过早陷入局部最优,从而造成算法停滞现象等一系列问题,因此本文将GA、PSO算法引入到ACO算法的优化中,研究PSO-GA-ACO算法在冷链物流配送路径优化中的应用。
1路径配送模型的构建[5]
在本研究中,设所在城市有一个冷库储存生鲜产品,当所有客户均收到货物后货车回到冷库。设总的接受配送的客户数为M,客户i 和j 之间的距离为dij,因为每两个客户间的配送距离不相同,所以计算配送费用时单位配送距离费用相同。设单位配送费用为P,总的配送费用为S,符号变量xij表示客户i与客户j之间是否存在前后配送关系。则该配送模型可以建立目标函数为:
-
约束条件(3)表示配送车辆到达每个客户一次且只到达一次,约束条件(4)表示配送车辆到达用户p 且必须离开用户p,约束条件(5)保证配送车辆起、止于配送中心。
2PSO-GA-ACO冷链物流配送算法设计
2.1蚁群算法基本原理
蚁群算法(Ant Colony Optimization, ACO)是一种用来在图中寻找优化路径的机率型算法。它是DORIGO M博士于1992年提出的,其灵感来源于蚂蚁在寻找食物过程中发现最佳路径的行为。ACO是通过模拟自然界中蚁群的觅食行为而发展起来的一种智能算法。在该算法中,蚂蚁在觅食过程中会在其走过的路径上释放生物信息素,感知到信息素的蚂蚁会沿着同样路径同时也会释放信息素从而强化路径上已经存在的信息素,如此反复进行[6],到最后就会形成一条高浓度信息素的路径,所有蚂蚁都会选择这条路径去觅食,这样就形成了一条洞穴到食物的最佳路径[7]。
2.2基本ACO执行步骤
(1)参数设定:在算法运行前,设定最大运行次数NC,算法运行计算器nc=0。初始化任意边(i,j)的信息浓度τij(0)=c为常量,初始时刻信息浓度增量Δτkij(0)=0。设dij为客户i和客户j之间的距离,当i≠j时,dij=[(xi-xj)2 + (yi-yj)2]0.5,当i=j时,dij=K为常量。初始化禁忌表tabu及路线表path,将m只蚂蚁随机地放到 n 个客户位置,同时,将每只蚂蚁的禁忌表的第一个元素设置为它当前所在的客户位置。
(2)启动蚂蚁:蚂蚁从tabu中的第一个位置按照转移概率pij寻找下一步要转移到的客户位置,则客户i到客户j的pkij(t)定义为[8]:
其中,启发函数ηij=d-bij,allowedk={0,1,…,n}-tabuk表示蚂蚁k下一步允许选择的客户,α与β分别为轨迹相对重要性和能见度相对重要性。
(3)浓度计算:根据tabu表按式(7)[9]计算每只蚂蚁在每条路径上所遗留的信息浓度增量:
式中,Q表示信息素强度,Lk表示蚂蚁k在本次循环中所走路径的总长度。
(4)浓度更新:当所有蚂蚁完成一次对所有城市遍历的循环后,用式(8)[9]对信息浓度进行一次更新。
其中,ρ表示信息素挥发系数,1-ρ则表示信息素残留因子。
(5)终止判断:判断循环次数nc是否小于最大循环次数NC,如果是,则停止循环,输出gcbest和gtbest,否则,将所有禁忌表清空,并且重复步骤(2)~步骤(5),直到满足停止条件为止。
2.3PSO-GA-ACO设计思想
GA与PSO算法在运算初期能够快速逼近最优解,有效优化系统参数,但中后期运行效率低,易早熟收敛,局部寻优能力差。而ACO算法运行初期由于信息素少,计算时间长、收敛速度慢、易陷入局部最优,但是后期局部寻优能力较强。因此在本算法中将GA、PSO算法融入到ACO算法求解中,使新算法能够尽可能避免过早陷入局部极小值,提高算法整体寻优能力。算法设计思路:(1)蚂蚁群粒子化;(2)按照信息素大小进行遍历;(3)对蚂蚁得到的路径进行遗传交叉、变异,从而产生新解;(4)利用PSO算法对得到的新路径根据粒子群优化算法中的局部极值和全局极值进行调整;(5)调整结束后,根据结果判定算法是否继续。
2.4PSO-GA-ACO算法实现
为了提高ACO算法的运行效率,减少其过早陷入局部最优、易出现停滞等现象,本文将以下三步[10 12]融合到蚁群算法中,构建出基于PSO-GA-ACO算法的冷链物流最优配送路径算法。
(1)蚂蚁粒化:在path表中,产生2m条随机路径,并对这2m条路径的长度进行排序,取其中的m条长度最短的路径作为m只蚂蚁的初始个体最优路径pcbest,取其路径长度为个体极值plbest。将m只蚂蚁中的最小的plbest作为蚂蚁群体的全局极值glbest,其路径为全局最优路径gcbest。
(2)随机交叉:在当前蚂蚁完成一次对所有客户的遍历后对其走过路径进行顺序交叉,选取2个随机交叉点j1与j2,设j1 (3)变异更新:在交叉操作后,对路径path2进行逆转变异,在路径path2中交换第p次和第q次访问的城市,其余顺序不变,从而得到新路径path3;根据path3计算路径长度,若新路径长度小于交叉变异前的路径长度则接受新值,更新path表中相应蚂蚁的个体极值ptbest和位置极值pcbest,并更新全局极值gtbest和gcbest,否则拒绝。 将以上三个改进步骤与基本ACO执行步骤结合起来就构成了新的PSOGAACO算法,具体执行步骤为:(1)参数设定;(2)蚂蚁粒化;(3)启动蚂蚁;(4)随机交叉;(5)变异更新;(6)浓度计算;(7)浓度更新;(8)终止判断。 当运行到步骤(8)时,判断是否达到最大运行次数,如果是则结束运算,否则重复步骤(3)~步骤(8),直到满足停止条件为止。当算法最终运行结束后,所求出的解即为冷链物流最优配送路径。 3仿真实验 3.1参数设置 考虑到在实际配送中,一般一个冷库的配送点数不会特别多,因此,在文中采用30个城市的TSP问题数据作为研究对象进行比较研究。为了验证本文算法的有效性,将算法运行结果分别与GA、PSO与ACO算法运行结果进行比较,基本参数设置如下。 GA-PSO-ACO算法参数:α=1,β=5,ρ=0.95,Q=100,NcMax=200,m=30;ACO算法参数:α=1,β=5,ρ=0.95,Q=100,NcMax=200,m=30;GA算法:初始种群inn=100,交叉概率0.8,变异概率0.8,最大迭代次数gnmax=200;PSO算法: 粒子个数num=30, 最大迭代次数NcMax=200。 3.2实验结果 采用MATLAB语言实现如表所示算法模型对30个城市的TSP问题分别运行10次,表1给出算法运行结果,从表中可以看出在算法运行200次的情况下, GA-PSO-ACO与ACO算法的运行稳定性要明显好于PSO算法与GA算法,其中GA-PSO-ACO算法的稳定性最好,它的平均配送距离比ACO、PSO及GA算法分别减少了4.811 8 km、45.995 3 km及32.468 6 km。按照现在城市道路货车每公里1.2元计算,则每配送一趟比其他算法给出的路径可以分别节省5.77元、55.19元及38.96元,这样长期配送节约的费用将是一个巨大的数字。图1~图4给出了4种算法某次运行结果,从结果中可以看出GA-PSO-ACO算法对配送拐点的处理好于其他算法, 因此在局部寻优方面效果明显好于其他三种。 4结论 冷鲜食品属于易变质的食品,对冷鲜食品的配送一般要求在最短的时间、最短路径、最低成本下完成配送。考虑到实际配送过程的复杂性,本文主要研究冷链物流的最短配送路径,鉴于ACO算法在冷链物流配送路径优化中的应用,考虑到采用ACO算法进行冷链物流配送,但是ACO算法在路径优化中存在易过早陷入局部最优、算法易出现停滞现象等一系列问题,因此将另外两种智能算法GA与PSO算法引入到ACO算法的优化中,给出了基于PSO、GA和ACO融合算法的冷链物流配送路径设计思想和算法运行步骤。实验结果表明,本文的构想是可行的,可以有效提高配送路径优化效率,提高经济效益。 参考文献 [1] 王文铭,郑薇.果蔬配送中心物流作业建模与仿真研究[J]物流工程与管理,2010,32(4):115117. [2] 邓汝春.我国的冷链物流市场及其发展策略[J].商场现代化,2008,17(2): 814.