随机递归算法求解车辆路径问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

 2008年11月系统工程理论与实践第11期 文章编号:100026788(2008)1120142207

随机递归算法求解车辆路径问题

步立新1,罗文钰2,冯允成1

(11北京航空航天大学经济管理学院,北京100083;21香港中文大学决策科学与企业经济学系,香港)

摘要: 车辆路径问题(VRP)是组合优化中一个典型的NP难题,对于中等规模以上的问题,目前大多采

用禁忌搜索、遗传算法和模拟退火等亚启发式算法,在吸取这些算法精髓的基础上,提出了一种新的并

且简洁而高效的启发式算法.计算结果表明,在27个国际标准算例中应用该算法取得了2个解优于当前

最优解,其余相当接近当前最优解.需要指出的是所有这些结果是在该算法应用同一组参数得到的.

关键词: 车辆路径问题;随机递归;优化算法

中图分类号: TP18;O221 文献标志码: A

Random recursion heuristics for the VRP

BU Li2xin1,Japhet w2,FE NG Y un2cheng1

(11School of Economics and Management,Beijing University of Aeronautics&Astronautics,Beijing100083,China;21Department of Decision Sciences and Managerial Economics,The Chinese University of H ongK ong,H ongK ong,China)

Abstract: The Vehicle R outing Problem is a well2known NP2hard problem,which is often s olved by meta2heuristics

like the T abu Search,G enetic Alg orithm or S imulated Annealing.The Random Recursion Alg orithm inspiring from

these alg orithms is proposed,which is fast,robust and effective.The com putational results of the27benchmark

instances show the alg orithm is every power ful that2s olutions are superior to the best that already had been found and

others are quite approaching to the best.I t should be noted that all the results are calculated under the same set of

parameters.

K ey w ords: VRP;random recursion;optimization alg orithm

1 引言

车辆路径问题(VRP)的定义是,有一批地域相互分离的客户和一个货场,已知各客户及货场之间的相互距离,以及客户的货物需求,现有若干可供派送的车辆,运载能力给定,需要确定一组出发和结束于货场并满足客户货物需求的行车路线,目标是使所用车辆最少,总的行车距离最短.VRP是典型的NP难题,其解空间随着问题的规模呈指数增长,使用遍历所有状态空间的搜索算法对于中等规模问题在计算时间上已经不可接受,对于这类问题,人们普遍采用启发式或亚启发式算法,以在可以接受的时间内寻求一个满意解.目前广泛使用的亚启发式算法[1~3]有禁忌搜索(tabu search)[4]、遗传算法(genetic alg orithm)[5,6]和模拟退火算法(simulated annealing)[7]等.

以上亚启发式算法有一个共性,一方面它们都在强化局部邻域最优搜索,另一方面,又力求跳出局部最优,以期在更广的范围内寻找或是接近全局最优解,这是一对相互影响而又矛盾的因素.模拟退火算法通过模拟温度的逐步降低,在初始温度以较大的概率接受退化的当前最优解,以跳出局部最优解,而在温度降低后,逐步减小跳出局部最优的概率,使算法收敛于一个局部最优,从理论上说如果温度降低无限缓慢,这个局部最优就是全局最优.但搜索过程不可能无限长,模拟温度也不可能无限缓慢降低,实际上该算法的搜索空间很有限,遇到全局最优解的概率也很低.

在禁忌搜索算法中,当前解通过随机邻域变换游荡于巨大的状态解空间中,虽然通过禁忌当前最优解,成功地避免了当前解陷入局部最优,但是当前解遇到或接近全局最优解的概率非常低,因为搜索的范

收稿日期:2007201227

资助项目:国家自然科学基金NSFC(70271011);国家教育基金(2002000624)

作者简介:步立新(1969-),男,河北人,博士,从事仿真、系统优化等方面研究.

围只占整个状态空间的很小一部分,该算法的效率并不高.R ochat 和T aillard [8]

通过引入自适应存储(Adaptive Mem ory )的概念很大程度上改进了该算法,所谓自适应存储就是将算法迭代过程中遇到的比较好的解动态地存入一个缓冲区中.在这个动态过程中,随着算法的迭代更好的解不断加入,而较差的解不断淘汰,缓冲区中的解不断进化.通过周期性地重新组合缓冲区中的解,再经过解的修整(因为重新组合可能使一个可行解成为不可行的解)以及进一步地迭代可望得到比较好的解.这种改进算法以重新组合的方式,吸取多个较好解优化成果,使得解空间的搜索范围得到了极大的扩展.

遗传算法有与此类似的特点,其中起主要作用的交叉算子就是将不同的解加以重新组合,从而实现解空间的最优搜索,另一方面通过变异算子使解集合也就是种群多样化来避免算法的早熟.后者是该算法跳出局部最优的方式,可以看出遗传算法在扩展解空间搜索范围方面优于禁忌搜索,而在跳出局部最优方面劣于前者,因此,遗传算法经常与其它算法组合以弥补这方面的弱点.

通过吸取以上这些算法的精髓,本文构造了一个可以有效解决VRP 问题新算法,下一节详细介绍这个算法,最后给出计算结果.

2 随机递归算法

211 算法原理

对VRP 问题的研究表明,任一个给定VRP 问题的满意解或多个接近满意解的较好解有一个共同的特点,它们总是包含有一些相同的边甚至是相同的路径,这说明对部分边或路径改进而其它部分保持不变可以改进整体解,也就是说对当前最好解进行局部改进,整体解可以得到优化.这个思想可以证明如下.

定理211VRP 可行解的边集合可以表示为S =E 1∪E 2,E 1,E 2≠<,E 1∩E 2=<,解的评价为所有边长的和cos t =L (E 1+E 2).如果可以找到另一个子边集E ′2,使得L (E 2)>L (E ′2),并且满足

S ′=E 1∪E ′2,E 1,E ′2≠<,E 1∩E ′2=<仍然是原问题的可行解,则解得到改进,评价为L (E 1+E 2)>L

(E 1+E ′2).

证明 一个VRP 可行解的评价为

cos t =L (S )=L (E 1+E 2)=L (e 1,e 2,…,e i -1,e i ,…,e n )

=L (e 1)+L (e 2)+…+L (e i -1)+L (e i )+…+L (e n )

=L (E 1)+L (E 2)>L (E 1)+L (E ′2)=L (E 1+E ′2)

=L (S ′

)证毕.

如果一个算法能够积累每个对整体解有所改进的局部优化,那么这个算法最终可以由任意一个初始解收敛到一个比较好满意解.这与遗传算法中的积木块假设相似,遗传算法通过短定义短距、低阶、高平均

适应度的模式(即积木块),在交叉算子作用下相互结合为接近全局最优的满意解[9]

;而随机递归算法是将每个局部改进作为积木块,通过它们的相互结合形成全局最优解.在遗传算法中,长距、高阶的大积木块即使有较高的适应值,也容易遭到破坏,这是遗传算法的缺陷,而随机递归算法相反,在每个迭代过程中,改进是局部的,被改进解的大部分没有改变,使得大积木很容易得到保存.212 算法描述

基于以上原理我们构造了随机递归算法(Random Recursion Alg orithm ).如图1所示,随机递归算法从Master ()函数开始执行,它首先调用CreateInitialR oute ()随机产生一个可行的初始解作为当前最优解,然后循环调用RandomRecursion ()共MAX ITERATE 次.RandomRecursion ()是一个递归函数,它有两个参数,第一个是当前解的评价值,另一个是接受退化解的概率值.T rans form ()函数在每次被调用时,以均等概率随机挑选四种邻域变换(这四种邻域变换的构造,将在215节介绍)将当前最优解(BestR oute )随机变换为当前解(CurrentR oute ),在随后程序中判断如果后者优于前者,则将后者置为前者.

图2显示了一个具体VRP 问题的执行过程.由上至下左侧一列括号中的数字表示算法迭代的过程,初始解第一阶段的评价值是1507,然后第二阶段是1314,直到最后算法收敛到第15阶段的最优评价值754.随机递归算法共迭代MAX ITERATE 个阶段,而这15个阶段只是图示的几个阶段的标示.图2的横坐标显示算法每个阶段的递归过程,在这个过程中算法跳出局部最优,表现为每个阶段的评价值从左到右不断增大;而纵坐标显示该算法的寻优过程,在这个过程中算法逐步吸收解的改进,表现为解的评价值从

3

41第11期随机递归算法求解车辆路径问题

相关文档
最新文档