资源描述:
《改进的粒子群算法在VRP中的应用.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、改进的粒子群算法在VRP中的应用摘要:运输调度问题在理论和实践方面都是一个难题。粒子群算法是一种可以解决复杂组合优化问题的有效求解算法。提出了改变惯性权重的粒子群算法,并应用该方法用于求解典型的运输调度问题,结果表明,所提出的方法不仅能得到理想的结果,而且减少运算时间。 关键词:粒子群算法;运输调度;惯性权重 中图分类号:O24文献标识码:A文章编号:1672-3198(2008)08-0393-02 1VRP的数学模型 一般运输调度问题的文字描述:已知需求点的位置坐标和货物需求量,一个车队(有多个车辆)从一个
2、供应点(配送中心)出发,每个需求点只被一辆车访问,且该车所访问需求点的需求量总和不能超过车辆的负载能力,应如何安排车辆的行走路线使得总路线最短。要求:每辆车运输完毕后回到出发点(供应点)。设供应点有K辆车,每辆车的载重为Qk(k=1,2…K),需求点个数为L,每个需求点的需求量为qi(i=1,2...,L);需求点i到j的距离为qi(i,j=0,1,2...,L,其中i=0或j=0表示该点为供应点);第k辆车访问的需求点个数为nk(nk=0表示未使用第k辆车);用集合Rk表示第k辆车的行驶路线,rki代表Rk中一个需求点,它在路线R
3、k中的顺序为i,rk0表示供应点。借鉴的数学模型: minZ=∑kk=1nk-1i=0drkirk(i+1)+drknkrk0(1) ∑nki=1qrn≤Qk,0≤nk≤L(2) 0kk=1nk=L(3) Rk=rki|rki∈1,2…,L,i=1,2…nk,Rk1∩Rk2=,k1≠k2(4) sign(nk)=1nk≥10其他(5) 其中式(1)为目标函数;式(2)保证每条路径上各需求点需求量之和不超过汽车的重量并表明每条路径上的需求点数不超过总需求点数
4、;式(3)表明每个需求点都得到配送服务;式(4)为每条路径的需求点的组成并且限制每个需求点仅能由一辆汽车送货;式(5)表明当第K辆汽车服务的客户数大于或等于1时。该车参加了配送,此时取sign(nk)=1,当第K辆汽车服务的客户数小于1时,表示未使用该车,取sign(nk)=0。 上述数学模型的最终优化目标就是:在满足以上各种约束条件的情况下,使得所有车辆路径之和Z最小。 2粒子群优化算法 2.1标准粒子群算法 设在一个n维的搜索空间中,由m个粒子组成的种群X={x1,…x2,…xm},其中第i个粒子位置
5、为xi=(xi1,xi2,…,xim)T,其速度为vi=(vi1,vi2,…,vin)T。它的个体极值为pi=(pi1,pi2,…,pin3)T,种群的全局极值为pg=(pg1,pg2,…,pgn)T。按追随当前最优粒子的原理,粒子xi将按(6)、(7)式改变速度和位置。 vik+1=vik+c1r1(pik-xik)+c2r2(pgk-xik)(6) xik+1=xik+vik+1(7) 其中,k为迭代次数,vik及xik分别为粒子i在第k次迭代的速度与位置,
6、而pik则是粒子i在第k次迭代的自身最佳解,pgk为第k次迭代的整体最佳解,其更新后粒子i在第k+1次迭代的速度为vik+1,xik+1则是粒子i在第k+1次迭代的位置,r1、r2为介于0~1之间的随机数,c1和c2为学习因子,建议将c1和c2取值为2。在上式中的第二部分被称为粒子本身的认知模式,而第三部分是粒子群中的群体模式。每个粒子的速度以及移动的位置,均受最大速度vmax和最大位置xmax的限制。一旦粒子更新后的速度和位置超出所限定的最大极限时,则需将其分别设定为vmax和xmax。 主
7、要针对速度更新公式(6)中的第一部分,期望给予vik一个惯性权重w,测量出粒子本身搜索最佳解的能力,加入惯性权重w之后速度更新公式如下所示: vik+1=wvik+c1r1pik-xik+c2r2(pgk-xik)(8) 式中w为一常数,为提供各粒子速度vik的一个移动比例,对于各粒子而言,该权重可以调整速度vik的移动速度大小。当惯性权重w较大时,决定粒子下一次搜索方向的主要影响因素为vik,所以粒子会呈现较稳定的搜索路径,进而表现出较好的全局搜索特性。反之,如果惯性权重w较小时,则会受到vik、自身最佳解pbest与
8、整体最佳解gbest等三种因素的影响,出现搜索路径不稳定的现象,仅能发挥出局部搜索的能力。 2.2改进的粒子群算法 为了解决不易选取合理的惯性权重的困难,本文提出将惯性权重以线性递减方式加以考虑