一种基于离散蝙蝠算法的物流运输调度方法技术

技术编号:13769894 阅读:71 留言:0更新日期:2016-09-29 07:41
本发明专利技术公开了一种基于离散蝙蝠算法的物流运输调度方法,针对物流运输调度问题,定义了蝙蝠算法中蝙蝠位置、速度等参数,重新设计了蝙蝠速度更新操作、蝙蝠频率更新操作、蝙蝠位置更新操作、蝙蝠发射频度更新操作,同时引入分段逆序操作增强全局搜索能力,使用基于固定半径最近邻居搜索策略和不检测标识策略的3‑Opt优化算法来增强蝙蝠算法的局部搜索能力并加快算法的收敛速度。本发明专利技术所提出的基于离散蝙蝠算法的物流运输调度方法具有较强的收敛能力、较强的全局寻优能力、较快的运行速度,在求解物流运输调度时表现出较好的稳定性和有效性。

【技术实现步骤摘要】

本专利技术涉及一种物流运输调度方法,尤其是一种基于离散蝙蝠算法的物流运输调度方法,属于人工智能

技术介绍
物流作为第三利润源泉对现代社会的影响明显,它关联了国民经济的原材料供应、生产过程、商品流通等重要领域,是支柱性产业。物流运输调度是物流的核心活动之一,它就是经济合理地设计车辆运输路径,按照客户的需求将货物从供应地点转移到需求地点。在物流运输调度中,最基本的一种物流运输调度模型可描述为:一个配送中心有一台车辆要去为若干个客户点送货,该车辆从配送中心出发,需要经过所有客户后,回到配送中心,应如何选择行进路线,以使总的行程最短。其中,该车辆的车载量大于或等于所有客户点的总货物需求量;所有客户只能经过一次。其数学模型为:对于n个城市,遍历所有客户和配送中心,且只能被访问一次的路径为C=(c1,c2,…,cn),使其中,d(ci,ci+1)为客户或配送中心ci、ci+1之间的距离,i=1,2,…,n-1,d(cn,c1)为客户或配送中心cn、c1之间的距离。蝙蝠算法是由Xin-she Yang在2010年提出的一种元启发式算法。蝙蝠算法是以微型蝙蝠的回声定位行为为基础,采用不同的脉冲发射频度和响度对复杂优化的问题进行求解。
技术实现思路
本专利技术的目的是为了解决上述现有技术的缺陷,提供了一种运行速度快、收敛能力强、寻优效率高的一种基于离散蝙蝠算法的物流运输调度方法。本专利技术的目的可以通过采取如下技术方案达到:一种基于离散蝙蝠算法的物流运输调度方法,所述方法包括以下步骤:S1、初始化S1-1、控制参数设置:最大迭代次数为Nmax,迭代计数器N,蝙蝠的种群规模为Q,固定半径最近邻居搜索参数frns<Q、0≤fmin<fmax≤1、0≤Rmin<Rmax≤1、0≤Amin<Amax≤1是预先给定的常数;其中,N的初始值为0;S1-2、初始化种群:对每个i,随机产生第i只蝙蝠的位置为xi、速度为vi、脉冲发射频度为Ri、脉冲响度为Ai、脉冲频率fi;其中,i=1,2,…,Q,Ri∈[Rmin,Rmax],Ai∈[Amin,Amax],fi∈[fmin,fmax];S2、根据初始蝙蝠种群中每个蝙蝠的位置xi,计算蝙蝠的适应度fitnessi,初始化全局最优蝙蝠的位置x*及其适应度fitness*;S3、更新每个蝙蝠的速度蝙蝠频率和当前蝙蝠的待定位置S4、如果rand>Ri,则采用分段逆序策略生成新的蝙蝠位置否则,进入步骤S5;S5、通过基于固定半径最近邻居搜索策略和不检测标识策略的3-Opt优化算法找出蝙蝠位置邻域中最好的蝙蝠位置及其适应度S6、如果rand<Ai,且则并更新脉冲响度Ai和脉冲发射频度Ri;否则,进入步骤S7;S7、如果更新全局最优解x*和fitness*;否则,进入步骤S8;S8、如果N<Nmax,则Nnow=Nnow+1,返回步骤S3;否则,进入步骤S9;S9、输出全局最优蝙蝠的位置x*及其适应度fitness*。进一步的,步骤S1-2中,所述蝙蝠的位置和速度的定义如下:1)蝙蝠的位置:设Q∈N+为蝙蝠种群规模,定义第i个蝙蝠的位置为xi=(xi1,xi2,…,xin),i=1,2,…,Q,其中,n为一个配送中心和多个客户点的总个数,(xi1,xi2,…,xin)是(1,2,…,n)的一个置换;xi代表客户和配送中心遍历的路径为xi1→xi2→…→xin→xi1;2)蝙蝠的速度:定义第i个蝙蝠的速度为vi=(vi1,vi2,…,vin);其中,0≤vij≤n,i=1,2,…,Q,j=1,2,…,n。进一步的,步骤S2中,所述蝙蝠的适应度fitnessi,由下式计算得出: fitness i = Σ j = 1 n - 1 d ( x i j , x i ( j + 1 ) ) + d ( x i n , x i 1 ) - - - ( 1 ) ]]>其中,d(xij,xi(j+1))为客户或配送中心xij、xi(j+1)之间的距离,j=1,2,…,n-1,d(xin,x1)为客户或配送中xij、xi(j+1)之间的距离。进一步的,步骤S3中,所述更新每个蝙蝠的速度蝙蝠频率和当前蝙蝠的待定位置具体包括:设第i个蝙蝠的位置为xi=(xi1,xi2,…,xin),其速度为vi=(vi1,vi2,…,vin),其频率为fi;当前全局最优蝙蝠的位置为x*=(x*1,x*2,…,x*n),其速度为v*=(v*1,v*2,…,v*n);S3-1、通过蝙蝠位置的减法操作、蝙蝠速度的数乘操作和蝙蝠速度加法操作来更新蝙蝠速度;1)蝙蝠位置的减法操作对第i个蝙蝠,定义蝙蝠位置的减法操作:则: v i j s u b = v * j , x i j = x * j x 本文档来自技高网...

【技术保护点】
一种基于离散蝙蝠算法的物流运输调度方法,其特征在于:所述方法包括以下步骤:S1、初始化S1‑1、控制参数设置:最大迭代次数为Nmax,迭代计数器N,蝙蝠的种群规模为Q,固定半径最近邻居搜索参数frns<Q、0≤fmin<fmax≤1、0≤Rmin<Rmax≤1、0≤Amin<Amax≤1是预先给定的常数;其中,N的初始值为0;S1‑2、初始化种群:对每个i,随机产生第i只蝙蝠的位置为xi、速度为vi、脉冲发射频度为Ri、脉冲响度为Ai、脉冲频率fi;其中,i=1,2,…,Q,Ri∈[Rmin,Rmax],Ai∈[Amin,Amax],fi∈[fmin,fmax];S2、根据初始蝙蝠种群中每个蝙蝠的位置xi,计算蝙蝠的适应度fitnessi,初始化全局最优蝙蝠的位置x*及其适应度fitness*;S3、更新每个蝙蝠的速度蝙蝠频率和当前蝙蝠的待定位置S4、如果rand>Ri,则采用分段逆序策略生成新的蝙蝠位置否则,进入步骤S5;S5、通过基于固定半径最近邻居搜索策略和不检测标识策略的3‑Opt优化算法找出蝙蝠位置邻域中最好的蝙蝠位置及其适应度S6、如果rand<Ai,且则并更新脉冲响度Ai和脉冲发射频度Ri;否则,进入步骤S7;S7、如果更新全局最优解x*和fitness*;否则,进入步骤S8;S8、如果N<Nmax,则Nnow=Nnow+1,返回步骤S3;否则,进入步骤S9;S9、输出全局最优蝙蝠的位置x*及其适应度fitness*。...

【技术特征摘要】
1.一种基于离散蝙蝠算法的物流运输调度方法,其特征在于:所述方法包括以下步骤:S1、初始化S1-1、控制参数设置:最大迭代次数为Nmax,迭代计数器N,蝙蝠的种群规模为Q,固定半径最近邻居搜索参数frns<Q、0≤fmin<fmax≤1、0≤Rmin<Rmax≤1、0≤Amin<Amax≤1是预先给定的常数;其中,N的初始值为0;S1-2、初始化种群:对每个i,随机产生第i只蝙蝠的位置为xi、速度为vi、脉冲发射频度为Ri、脉冲响度为Ai、脉冲频率fi;其中,i=1,2,…,Q,Ri∈[Rmin,Rmax],Ai∈[Amin,Amax],fi∈[fmin,fmax];S2、根据初始蝙蝠种群中每个蝙蝠的位置xi,计算蝙蝠的适应度fitnessi,初始化全局最优蝙蝠的位置x*及其适应度fitness*;S3、更新每个蝙蝠的速度蝙蝠频率和当前蝙蝠的待定位置S4、如果rand>Ri,则采用分段逆序策略生成新的蝙蝠位置否则,进入步骤S5;S5、通过基于固定半径最近邻居搜索策略和不检测标识策略的3-Opt优化算法找出蝙蝠位置邻域中最好的蝙蝠位置及其适应度S6、如果rand<Ai,且则并更新脉冲响度Ai和脉冲发射频度Ri;否则,进入步骤S7;S7、如果更新全局最优解x*和fitness*;否则,进入步骤S8;S8、如果N<Nmax,则Nnow=Nnow+1,返回步骤S3;否则,进入步骤S9;S9、输出全局最优蝙蝠的位置x*及其适应度fitness*。2.根据权利要求1所述的一种基于离散蝙蝠算法的物流运输调度方法,其特征在于:步骤S1-2中,所述蝙蝠的位置和速度的定义如下:1)蝙蝠的位置:设Q∈N+为蝙蝠种群规模,定义第i个蝙蝠的位置为xi=(xi1,xi2,…,xin),i=1,2,…,Q,其中,n为一个配送中心和多个客户点的总个数,(xi1,xi2,…,xin)是(1,2,…,n)的一个置换;xi代表客户和配送中心遍历的路径为xi1→xi2→…→xin→xi1;2)蝙蝠的速度:定义第i个蝙蝠的速度为vi=(vi1,vi2,…,vin);其中,0≤vij≤n,i=1,2,…,Q,j=1,2,…,n。3.根据权利要求1所述的一种基于离散蝙蝠算法的物流运输调度方法,其特征在于:步骤S2中,所述蝙蝠的适应度fitnessi,由下式计算得出: fitness i = Σ j = 1 n - 1 d ( x i j , x i ( j + 1 ) ) + d ( x i n , x i 1 ) - - - ( 1 ) ]]>其中,d(xij,xi(j+1))为客户或配送中心xij、xi(j+1)之间的距离,j=1,2,…,n-1,d(xin,x1)为客户或配送中xij、xi(j+1)之间的距离。4.根据权利要求1所述的一种基于离散蝙蝠算法的物流运输调度方法,其特征在于:步骤S3中,所述更新每个蝙蝠的速度蝙蝠频率和当前蝙蝠的待定位置具体包括:设第i个蝙蝠的位置为xi=(xi1,xi2,…,xin),其速度为vi=(vi1,vi2,…,vin),其频率为fi;当前全局最优蝙蝠的位置为x*=(x*1,x*2,…,x*n),其速度为v*=(v*1,v*2,…,v*n);S3-1、通过蝙蝠位置的减法操作、蝙蝠速度的数乘操作和蝙蝠速度加法操作来更新蝙蝠速度;1)蝙蝠位置的减法操作对第i个蝙蝠,定义蝙蝠位置的减法操作:则: v i j s u b = v * j , x i j = x * j x * j , x i j ≠ x * j - - - ( 2 ) ]]>其中,i=1,2,…,Q,j=1,2,…,n;2)蝙蝠速度的数乘操作对第i个蝙蝠,定义蝙蝠速度的数乘操作:令frand=rand(),则: v i j d i f f = 0 , | f r a n d - f i | ≤ 0.3 v i j s u b , | f r a n d - f i | > 0.3 - - ...

【专利技术属性】
技术研发人员:蔡延光戚远航蔡颢赵杨
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1