第3O卷第12期 文章编号:1006—9348(2013)12—0140—04 计算机仿真 2013年12月 改进遗传算法求解VRP问题 周生伟 ,蒋同海 ,张荣辉 (1.中国科学院新疆理化技术研究所,新疆乌鲁木齐830011; 2.中国科学院大学,北京100049) 摘要:物流配送车辆路径问题(Vehicle Routing Problem,VRP)是一类具有广泛应用的NP—Hard问题,是解决物流配送效率 的关键,传统方法寻找最优解的效率低、耗时长,往往找不到满意的解,导致物流成本过高。为了提高VRP寻优效率,降低 物流运送成本,对基本遗传算法改进求解VRP问题。首先建立VRP的数学模型,然后基于贪婪随机自适应算法(Greedy Randomized Adaptive Search Procedure,GRASP)改进遗传算法的邻域搜索能力,生成遗传算法初始种群,最后利用遗传算法 从GRASP生成的初始种群中找到最优解。计算结果表明,所采用的改进遗传算法可以更好的求解车辆路径问题,有效降低 物流运送成本。 关键词:车辆路径问题;遗传算法;随机贪婪自适应搜索过程;物流;邻域搜索 中图分类号:TP301.6 文献标识码:B Improved Genetic Algorithm for VRP ZHOU Sheng—wei ,JIANG Tong—hai ,ZHANG Rong—hui (1.Xinjiang Technical Institute of Physics and Chemistry,Chinese Academy of Sciences Urumqi Xinjiang 83001 1,China; 2.Gradate University,Chinese Academy of Sciences,Beijing 100049,China) ABSTRACT:The vehicle routing problem whose solution is a key to improve eficifency of logistics problem is a clas— sical NP—hard problem.and it is usually dififcult for traditional methods to obtain satisfying solutions SO as to high logistics costing.In this paper,in order to reduce logistics costs,the hybrid genetic algorithm was selected to solve the VRP problem.This paper established the VRP mathematic model at first.Second,the improvement using Greedy Randomized Adaptive Search Procedure(GRASP)was focused on the local search ability of basic genetic algorithm to generate the initial solution.The genetic algorithm was used to find the best solution from the initial solutions in the end.The calculation result shows that this improved genetic algorithm can solve the vehicle routing problem better than the basic one and reduce logistics costing effectively. KEYWORDS:Vehicle routing problem;Genetic algorithm;Greedy randomized adaptive search procedure(GRASP); Logistics;Local search 出的,经过几十年的发展,其应用领域已经越来越广。VRP 1 引言 随着我国社会经济的不断发展,物流行业发展迅速,运 输成本成为了物流行业成本花费最大的一部分,所以,车辆 路径问题(VRP)的研究在物流配送过程中的作用越来越重 要。车辆路径问题最早是由Danting和Ramser于1959年提 问题一般描述为:一定数量的客户,各自有不同数量的货物 需求,配送中心向客户提供货物,由一个车队负责分送货物, 组织适当的行车路线,目标是使得客户的需求得到满足,并 能在一定的约束下,达到诸如路程最短、成本最小、耗费时间 最短等目的。 VRP问题解法比较丰富,基本上可以分为精确算法和启 发式算法两大类,由于VRP问题的NP—Hard属性,运用精 基金项目:国家自然科学基金(11147128);中国科学院西部之光博士 专项(XBBS201119);新疆维吾尔自治区科技支疆项目(201291115) 收稿日期:2013一O1—24修回日期:2013—03—06 140一 确算法求解,计算量会随着问题规模的增大而呈指数增 加…。由于传统方法效果不佳,近三十年来涌现出的一些智 能算法,如模拟退火算法、遗传算法、神经网络及这些算法的 —混合算法、改进算法等被用来求解VRP问题并取得了良好 的效果 。 号为 ( =1,2,…,m);令 表示两个节点之间的运输成 本,定义如下变量: r1 一遗传算法是模拟生物进化过程搜索最优解的方法,于 1975年提出,有采用随机选择,对搜索空问无特殊要求等优 (如车辆 经客户i驶向客户 ) 1-0 (其他情况) r1 (如客户i的需求由车辆k满足) 点,多被用来解决VRP问题。目前对遗传算法的研究多集 中于对遗传算法操作算子的改进,基本改进手段是对遗传算 法基本操作算子(选择算子、交叉算子、变异算子)改进或者 基本操作算子加一种改进的操作算子作为改进的遗传算法, 对遗传算法初始种群的改进讨论的并不是很多,所以论文用 “ 【0 (其他情况) 所以车辆路径问题的数学模型如下: minZ= S.£. c i =o l 0 k 1 GRASP算法改进遗传算法的初始种群。GRASP算法是一种 适合用来求解组合优化问题的启发式算法,是一种迭代的两 (2) 阶段算法 。第一阶段用于生成初始种群,第二阶段对生成 的初始种群进行改进,经多次迭代找出最优解。遗传算法存 在局部搜索能力较弱的缺点,改进遗传算法的初始种群生成 可以提高遗传算法的局部搜索能力,这是用GRASP改进遗 传算法提高VRP问题最优解的关键所在。通过基准测试实 例的实验,结果表明,改进了初始种群生成的基本遗传算法 可以有效提高VRP解的质量。 2 VRP问题模型 物流配送车辆路径问题一般指特定位置和需求量的客 户点,调用一定数量的车辆,从中心仓库出发,选择最优的行 车路线,使车辆有序的访问个客户点,在满足特定的约束条 件(如客户的需求,车辆的载重限制)下,使得货物最快到达 客户点并使运输费用最低。 基于以上考虑,要如下要求要实现: 1)所有配送车辆从配送中心出发,最后回到配送中心。 2)每个客户只被一辆车服务,每辆车只能走一条路线。 3)每条运输线路上,客户总需求量不能超过车辆载重 总和。 4)车辆不能有重复的形式路线。 对于以上要求,一般地,把VRP问题描述为:配送中心 有m辆货车,每一辆车的运载能力均为q;配送中心需为n 个客户提供货物配送服务,每个客户的需求量为g (i=1,2, …,n),g <g,求满足货运要求的运行费用最少的车辆调度 方案。 这里须预先对所需要的车辆数进行估计,论文采用以下 公式确定车辆数: =[ i=1 其中[]表示Gauss整数函数,表示不大于括号内数字的最 大整数,0<o/<1是对装卸车的复杂性程度及约束多少的一 个参数估计。一般情况下,装卸车越复杂,约束越多, 值越 小,表示一辆车所能容纳的货物量越小 j。 基于以上数学描述,结合图论中的最短路径问题,建立 VRP问题的数学模型。首先作如下规定,令配送中心的编号 为0号节点,客户的编号为i(i=1,2,…,n),配送车辆的编 ∑ Y ≤q, ∑ =1(3) :1 ∑ 毋=强 J:1…2..In (4) ∑ =Y i=1…2. (5) =0或1 i, =1,2,…,n (6) m=0或1 i=1,2,…,n (7) 在上述数学模型中,式(2)表示每条配送路线上的总客 户需求量不大于车辆的运载能力;式(3)表示配送任务由m 辆车完成并且每个客户的配送任务仅由一辆车完成;式(4) 和(5)则确保到达客户的车必须离开该客户;式(6)和(7)表 示变量的取值满足定义的要求¨ 。 3 GRASP算法 GRASP是一种适合用来求解组合优化问题的启发式算 法,GRASP算法的每次迭代过程包含两个阶段:构造阶段和 局域搜索阶段。构造阶段由贪心随机算法产生一个初始可 行解;局域搜索阶段利用局部搜索算法对构造阶段产生的 解改进。每次迭代的局部最优解中的最好局域解为全局满 意解 J。 3.1构造阶段 构造阶段产生初始解并在不断迭代的过程中形成可行 方案。每一次迭代利用贪婪函数值形成候选元素的受限候 选列表(RCL),并随机选择一个元素加人方案。贪婪函数 用于衡量候选元素加入方案后的代价,从RCL中选择完一 个元素后,需重新计算剩余候选元素的贪婪函数值,并形成 新的RCL。从RCL中随机选择元素的方法使得每个构造阶 段可以产生不同的可行方案;当所求问题的所有调度元素 都处理完成后就中止迭代,返回产生的可行解 。 ’。构造 阶段伪代码如下: procedure Greedy Randomized Construction(0【,Seed) 1)Solution : 2) Initialize the candidate set:C E: 3) Evaluate the incremental cost C(e)for all e∈C: 4)while C≠ do 一141~ 5) 6) mln+--min{c(e)l e∈C}; e…+_I max{c(e)I e∈C}; 一种群染色体采取整数串编码,整数的排列顺序表示车辆 访问顾客的顺序。利用GRASP算法的构造阶段产生问题的 7) 8) RCL一{e∈C 1 e(e)≤c…+o1.(e…一e…)}; Select an element s from the RCL at random: 个可行解作为遗传算法的初始种群。操作前,需要计算种 群内部全部个体适应度,以个体所对应的行驶距离的倒数作 为个体的适应度,个体对应的行驶距离越长,其适应度越低。 4.2选择、交叉、变异操作 9) Solution SolutionU{s{; 10) Update the candidate set C; 11) Reevaluate the incremental costs c(e)for all e∈C; 12) end: 13) return Solution: end Greedy Randomized Construction. 选择算子采用轮盘赌选择,适应度大的个体被选中用于 交叉操作的概率也大。 对于交叉操作,如果单纯的使用一般的交叉算子往往会 产生大量的不可行解或者导致优良基因段丢失。从而影响遗 3.2局部搜索阶段:混合邻域搜索技术 传算法的搜索效果,所以采用文献[2]中交叉操作方法保证 种群的多样性。由于物种变异的可能性较小,所以变异操作 构造阶段产生的解不一定是最优的,因此需要一个局部 搜索来改善构造出的解。GRASP的局部搜索算法就是以一 在遗传算法中只起辅助作用,对种群以变异概率P 进行染 种迭代的方式不断地用当前解的邻域中较好解替代当前解, 直到不能找到较好解时停止。本文的邻域搜索技术采用2一 opl和3一opt相结合的混合邻域搜索技术 川 。局部搜索 阶段的伪代码如下: Procedure LOCALSEARCH 色体变异,对于自然数编码的染色体,论文采用逆转变异。 具体变异过程如下例所示:随机产生一个染色体E的两个变 异点,将变异段逆转得到染色体E1 E=1 2 J 3 4 5 6 7 I 8 9一E1=1 2 i 7 6 5 4 3 i 8 9 4.3邻域搜索操作 本文结合GRASP算法的第二个阶段即局部搜索阶段设 For i=0 t O n一1 2一Opt Search( t) For i=0 t O n一1 do 汁了GRASP领域搜索算子,该算子将2一Opt和3一Opt算 法相结合对当前染色体的每条子路径进行优化,通过改变子 3一Opt Search( t) End for 路径中客户的服务顺序来缩短行驶距离。通过邻域搜索算 子可以在种群中最优个体的邻域空间做进一步搜索以期望 能找到适应度更好的个体。 End for End L0CAI SEARCH 5仿真结果 4改进的遗传算法 遗传算法模拟生物进化过程中发生的繁殖、交叉和基因 突变现象,在每次迭代中都保留一组候选解,并按某种指标 从解群中选取较优的个体,利用遗传算子对这些个体进行组 合,产生新一代的候选解群,重复此过程,直到满足某种收敛 指标为止。遗传算法有较强的全局搜索能力,但是容易出现 早熟、收敛速度慢等问题,为解决这一缺点,引入邻域搜索算 法。论文结合GRASP算法设计了一种GRASP邻域搜索算 为了验证论文提出算法的有效性,对Solomon VRP问题 标准测试数据进行仿真测试。测试数据从http:∥branchand— cut.org,/VRPdata下载得到。设置改进遗传算法参数为:选择 概率P =30%,交叉概率P =30%,变异概率P =20%。 对基准测试实例E—n22一k4和E—n33一k4测试,测试 结构见表1和表2。在实例名中,n后数字表示问题的规模, 它的值等于客户数加一(包括配送中心),k后边的数字表示 最优解使用的车辆数。改变改进遗传算法的种群规模M和 子,该GRASP邻域搜索算子可以克服遗传算法局部搜索能 力差的弱点。 4.1编码方式、初始种群、适应度函数 迭代次数GEN,在每组参数下,分别对每个测试实例进行10 次计算,结果如1和表2所示。 表1 E—n22一k4计算结果 一142— 表2 E—rd3一k4计算结果 试验结果表明,种群规模M和迭代次数GEN对解的质 量影响较大。在同等种群规模下,随迭代次数越多,车辆行 驶距离越来越接近最优解,而且最优解的出现具有随机性, 止遗传算法陷入局部最优解,可以有效提高遗传算法解的 质量。 3)论文实验讨论了在基本操作算子固定的情况下,初始 这主要是因为遗传算法存在随机性,虽然论文改进了遗传算 种群M和迭代次数GEN对实验结果的影响,并给出了几个 法初始种群的生成,但GRASP对初始解的处理仍具有随机 性,所以具体的优化过程在每次运行时会有所不同。 由表2和表3可以看出,当M和GEN较小时,解的质量 较差,随着M和GEN的增大,解的质量随之提高。表2中, 当M增大到100,GEN增大到1000时,也可以获取最优解, 但是获取最优解的几率较低,各次计算结果之间的差值也较 大。当M为100,GEN增大10000时,获取最优解的几率大 增。所以,随着问题规模的增大,增加种群规模和迭代次数 可以增加获取最优解的概率,减少结果值和最优解之间的偏 差。当M和GEN都增大到一定值时,M和GEN对运行结果 的影响变小。 比较表2和表3,在客户数增大,M和GEN相同的情况 下,问题规模增大,搜索空间增大,解的质量下降,此时,即使 增大种群规模和迭代次数,效果也并不好,这是由于问题的 本质是NP—Hard导致搜索空间急剧增大所引起的。 论文基于GRASP改进遗传算法对中等规模的VRP问 题有较好的适应性,在增大M和GEN的条件下,可以有效的 求解问题,所以,在实际应用中,对中等和小规模的VRP问 题,可调试适当的M和GEN的值,有效求解VRP问题,当问 题规模较小时,为了减少运算代价,可适当降低M和GEN的 值,当M和GEN较大时,为了提高求解精度,应适当凋大M 和GEN的值。 6结论 把遗传算法与GRASP算法结合,设计了一种改进的遗 传算法求解 ̄RP问题,总结具有如下几个特点: 1)目前对用改进遗传算法求解VRP问题多集中于对遗 传算法操作算子的研究上,很多研究人员对基本的遗传算法 操作算子进行了改进,还有研究人员利用其它的学科领域知 识产生新的操作算子 “ ,论文采用的改进遗传算法的关注 重点则在于初始种群的产生上,利用GRASP算法的第一阶 段即初始解构造阶段产生初始种群,利用GRASP算法的第 二阶段初步改进初始种群,然后利用遗传算法逼近最优解, 该方法是目前研究采用不多的。 2)利用GRASP在进化初始阶段就产生多样化的解,最 大的提高就是解决基本遗传算法局部搜索能力差的问题,防 基本结论。 通过对标准测试实例的实验可以看出基于GRASP的改 进遗传算法可以有效的求解中等规模和小规模的VRP问 题。当然,由于VRP问题的困难属性,如何寻找更好的优化 方法,还有待进一步的研究。 参考文献: [1]黄小燕,等.改进遗传操作PSO算法及其在VRP中的应用 [J].计算机仿真,2009,26(11):294—298. [2] 蔡蓓蓓,张兴华.混合量子遗传算法及其在VRP中的应用 [J].计算机仿真,2010,27(7):267—270. [3] 廖良才,王栋,周峰.基于混合遗传算法的物流配送车辆调度 优化问题求解方法fJ].系统工程,2008,28(6):27—31. [4] Geonwook Jeon,Herman R Leep,Jae Young Shim.A vehicle mn- ting problem solved by using a hybrid genetic algorithm[J].Com— puters&Industrila En ̄neering.2007.53:680—692. [5] Ziauddin Ursani,et a1.Localized genetic algorithm for vehicle mu- ting problem with time windows[J].Applied Soft Computing, 2011,11:5375—5390. [6] Yves Rochat,Eric D Taillard.Pmbabilistie diversiifcation and in- tensiifcation in local search for vehicle routing problem[J].Journal ofHeuristic,1995,1:147—167. [7]郑雅燕,朱文兴.TSP问题的一种改进的GRASP算法[J].计 算机工程与科学,2008,30(11):60~64. [8] Yannis Marinakis.Muhiple phase neighborhood search—GRASP for the capaeitated vehicle muting problem[J].Expert Systems with Applications,2012,39:6807—6815. [9]Thomas A Feo,Mauricio G C Resende.Greedy randomized adap. tire search procedures[J].Journal of Global Optimization,1995,6 (1995):109—134. [10] Yannis Marinakis,Athanasion Migdalas.Expanding neighborhood GRASP for the traveling salesman problem[J].Computational Optimization and Applications,2005,32(2005):231—257. [1 1] Jail Kyt/ ̄joki,et a1.An efficient variable neighborhood search heuristic for very large sclae vehicle routing problems[J].Corn— puters&Operations Research,2007.34:2743—2757. [12] 田延硕,刘晓云.一种提高局部搜索能力的混合遗传算法 [n (下转第157页l 一143— 2)极大的降低了汽车发动机罩拓扑设计的计算复杂度, 平均降低4%。 3)机罩的承受压力系数,最低提高l,最高提升2.3。 参考文献: [1]丁晓红,等.薄板结构的加强筋自适应成长设计法[J].中国 机械工程,2005,16(12):1057—1060. 表2本文算法实验数据表 [2]荣见华,唐国金,杨振兴.一种三维结构拓扑优化方法[J].固 体力学学报,2005,26(3):289—297. [3] 隋允康,杨德庆,孙焕纯.统一骨架与连续体结构拓扑优化的 ICM理论与方法[J].计算力学学报,2000,17(1):28—33. [4] 陈塑寰,麻凯.板壳加筋结构的组合优化[J].吉林大学学报, 2008,38(2):388—392. [5]荣见华,等.渐进结构优化设计的现状与进展[J].长沙交通 学院学报,2001,17(3):16—23. [6] 刘海江,赵磊,李运.应用拓扑优化方法的发动机罩板结构轻 量化研究[J].现代制造工程,2009,33(9):4—7. [7]周春平,常锦昕.基于单元生死功能的转向架构架拓扑优化设 计[J].计算机仿真,2010,(5):267—270. [8]Tam H Nguyen,et a1.A Computational Paradigm for Multiresolu— tion Topology Optimization(MTOP)[J].Structural and Multidis- 对上述实验数据进行对比可以得知,利用本文算法进行 汽车发动机罩拓扑设计,极大的降低了汽车发动机罩拓扑设 计的计算复杂度,平均降低4%,机罩的承受压力系数,最低 eiplinary,Optimization,2010,41(4):525—539. [9]G Allaire,F Jouve,H Maillot.Topology Optimization for Minimum Stress Design with the Homogenization Method[J].Structural and Multidisciplinary Optimization,2004,28(2):87—98. 提高1,最高提升2.3,这总体上提高了汽车发动机罩的安全 性能,保证了汽车的安全。 [10] Mi—You Park,Youngin Park,Youn—sik Park.Raising Natural Frequencies of A Structure Vin Surface—groowing Technique [J].Structural and Muhidisciplinary Optimization,2007,34 5结束语 本文提出了一种基于有限元模型的汽车发动机罩拓扑 (6):491—505. 设计优化方法。建立汽车发动机罩有限元模型,从而获取汽 车发动机罩的设计变量,为汽车发动机罩拓扑设计提供了准 [作者简介] 冯 颖(1979一),女(汉族),湖南衡阳人,硕士,讲 师,主要研究方向:工业产品造型设计,产品设计, 人机交互等。 确的数据基础。计算设计域水平集的空间位置,从而实现汽 车发动机罩拓扑设计优化处理。通过实验可得如下结论: 1)本文算法是可行的,它可以满足系统的安全性要求。 (上接第143页) 电子科技大学学报,2006,35(2):232—234. [13]王小平,曹立明.遗传算法一理论、应用与软件实现[M].西 安:西安交通大学出版社,2002. [14] 李军,郭耀煌,物流配送车辆优化调度理论与方法[M].北 京:中国物资出版社,2001. [15] Bruce L Golden,S Raghavan,Edward A Wasil.The vehicle Fort— _ [周士技蒋福研术海生同究县。伟海 生人(1,9主8673要一研),究男作(领汉者域族简为)介,计新山] 算疆东机维省吾应泰尔用安族、市物自人联治,硕网区 ,研究员,博士研究生导师,主要研究领域 为计算机控制技术、双语教育、感知网络集成应用。 ting problem[M].NewYork:Springer—Verlag New York Inc,2010. 张荣辉(1981一),男(汉族),江西省广丰市人,博士、副研究员,主 要研究领域为控制理论及应用、物联网关键技术。 一157—