logo资料库

基于改进遗传算法的车辆路径问题求解.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
¤ Π Vol 23, No. 4 Ap r. 2006 第 23卷第 4期     2006年 4月    计算机应用与软件 Computer App lications and Software 基于改进遗传算法的车辆路径问题求解 姜 灵 敏 (广东外语外贸大学信息学院  广东 广州 510420) 摘  要   一直以来 ,车辆路径优化问题是物流系统中普遍受到关注的热点问题 ,也是一类算法比较复杂的问题 。结合使用遗传算 法和爬山法可以有效地提高解决这类复杂问题的效率 ,并可优化解的质量 。 关键词   车辆路径  遗传算法  爬山法  优化 SOL V ING VEH ICL E RO UT ING PRO BL EM BASED O N AN IM PRO VED GENET IC AL GO R ITHM ( S chool of Inform a tion S cience and Technology, Guangdong U n iversity of Foreign S tud ies, Guangzhou Guangdong 510420, China) J iang L ingm in Abstract  So far, the op tim ization of Vehicle Routing Problem in the logistics system iswidely awared of, and it s also a comp lex p roblem in calculationg. Combining with genetic algorithm s and mountain climbing algorithm we can solve this kind of p roblem effectively and can op ti m ize the result. Keywords  Vehicle routing Genetic algorithm s Mountain climbing algorithm Op tim ization 1 问题的描述 一直以来 ,车辆路径优化问题是物流系统中普遍受到关注 的热点问题 。车辆路径优化问题分为一般车辆路径问题和有时 间窗车辆路径问题两种 。 一般车辆路径问题是指有 q个货物需求点 ,已知每个需求 点的需求量及位置 ,至多用 k辆汽车从配送中心到达这批需求 点 ,每辆汽车载重量一定 ,安排汽车路线使运距最短 ,且满足每 条路线不超过汽车载重量和每个需求点的需求必须且只能由一 辆汽车来满足的约束条件 ,其目的是使总成本 (如距离 、时间 等 )为最小 。 有时间窗车辆路径问题 (Vehicle Routing Problem with Time W indow, VRPTW )是在上述一般车辆路径问题中加上了客户被 访问的时间窗约束 。它要求每项任务 i在时间范围 [ ai, bi ]内完 成 ,并可根据时间约束的严格与否 ,分为软时间约束的 VRP和 硬时间约束的 VRP。软时间约束的 VRP要求车辆尽可能在规 定时间范围内访问需求点 ,否则将产生等待或延迟损失 ,从而求 得成本最小的车辆路径 ;硬时间约束的 VRP要求车辆必须在给 定的时间范围内访问需求点 ,如果超出这个时间范围 ,所得到的 车辆路径为不可行解 [ 1 ] 。 2 车辆路径问题的数学模型 2. 1 一般车辆路径问题的数学模型 假定配送中心最多可用 K辆车对 q个货物需求点进行运输 配送 ,每部车辆的载重量为 bk ( k = 1, 2, …, K) ,每个需求点的需 求量为 di ( i = 1, 2, …, q) ,需求点 i到 j的运距为 cij,设 nk 为第 k 辆车所包含的需求点数 (若 nk = 0表示未启用第 k辆车 ) , 用集 合 R k 表示第 k条路径 ,其中的元素 rki表示需求点 rki在路径 k中 的顺序为 i (不包含配送中心 ) , 令 rk0 = rk ( nk + 1) = 0表示配送中 心 ,则有如下表示的车辆路径问题的数学模型 。 目标函数 : m inU = ∑ ∑ crk ( i- 1) rki + ∑ crknk rk ( n k +1) ·sign ( nk - 1) K nk k =1 i =1 K k =1 约束条件 : nk drki ≤ bk  k = 1, 2, …, K ∑ 0 ≤ nk ≤ q k = 1, 2, …, K i =1 K ∑ k =1 nk = q R k = { rki | rki ∈ { 1, 2, …, q} , i = 1, 2, …, nk } R k1 ∩ R k2 =   k1 ≠ k2 其中 :   sign ( nk - 1) = 1 nk ≥ 1 0 其它 ( 1) ( 2) ( 3) ( 4) ( 5) ( 6) ( 7) 式 ( 2)保证每条路径上的各需求点的总需求量不超过此路 径的配送车容量 ;式 ( 3)表明每条路径服务的需求点数不超过 总需求点数 ;式 ( 4)要求每个需求点都得到车辆的配送服务 ;式 ( 5)表示每条路径需求点的组成情况 ;式 ( 6)则限制每个需求点 的需求仅能由一个车辆来完成 [2 ]。 收稿日期 : 2004 - 07 - 05。姜灵敏 ,教授 ,主研领域 :计算机算法优 化与应用。
Π 2. 2 有时间窗车辆路径问题的数学模型 [ 3 ] 以 si 表示车辆到达需求点 i的时刻 , ti 表示车辆在需求点 i 的等待时间 , tij表示车辆由需求点 i行驶到需求点 j的时间 , 则 有以下关系式 : ti =max{ ai - si, 0} aj ≤sj ≤bj  j = 1, 2, …, q si + ti + tij = sj  i, j = 0, 1, …, q i≠j ( 8) ( 9) ( 10) 软时间窗 VRP指车辆如果不能在要求的时间范围内到达 , 则给予一定的惩罚 。若车辆在 aj 之前到达需求点 ,则车辆在此 等待 ,发生了机会成本损失 ,此时 tj 大于 0;若车辆在 bj 之后到 达需求点 ,则服务被延迟 ,须支付一定的罚金 。以 d表示车辆等 待损失的单位机会成本 , e表示车辆在要求时间之后到达所处 以的单位罚值 ,若车辆在 aj 之前到达需求点 j,则产生成本 d ( aj - sj ) ;若车辆在 bj之后到达需求点 j, 则处以罚款 e ( sj - bj ) , 得 到式 ( 11)所示软时间窗 VRP目标函数 。 m inU = ∑ ∑ crk ( i- 1) rki + ∑ crknk rk ( nk +1) ·sign ( nk - 1) + K nk i =1 k =1 q K k =1 q j =1 m ax ( aj - sj, 0) + e∑    d ∑ 硬时间窗 VRP指车辆必须在要求的时间范围内到达需求 点 ,即必须满足式 ( 10) ,若超出这个时间范围 , 则得到的解为不 可行解 。 m ax ( sj - bj, 0) ( 11) j =1 在式 ( 11) 中 ,若 d = e = M (M → ∞) ,则意味着时间窗约束 必须被满足 ,于是 ,可得硬时间窗的目标函数 。 m inU = ∑ ∑ crk ( i- 1) rki + ∑ crknk ·sign ( nk - 1) rk ( n k +1) K k =1 K nk k =1 i =1 q q j =1 max( aj - sj, 0) +M ∑     +M ∑ 各变量的含义同软时间约束的 VRP。由于在该问题中时 间约束必须满足 ,因此应有 M →∞, 但为了便于计算机处理 , 取 M 为适当大的正数 ,于是问题转化为软时间约束的 VRP。 max ( sj - bj, 0) ( 12) j =1 3 应用改进遗传算法对车辆路径问题的求解 [4, 5 ] 车辆路径优化问题是一类具有 NP难性质 [6 ]的复杂问题 , 应用遗传算法求解有着比较显著的优势 [7 ]。从车辆路径优化 模型中可知 ,求解车辆路径问题的关键是合理确定车辆与各需 求点的关系 ,在满足车辆载重量 、时间和各需求点需求量的约束 条件下使得总费用最小 。下面是改进基本遗传算法求车辆路径 问题优化解的方法 。 3. 1 编  码 染色体 (或个体 )由 1到 x的整数排列串构成 , 其中 x为车 辆数 K与需求点数 q的乘积 。我们可以将其记为 : 其中 : w j ∈{ 1, 2, …, x} , w j1 ≠w j2   g = (w1 , w2 , …, w j, …, w x ) ( 13) j1≠j2, j1, j2∈{ 1, 2, …, x}。 染色体中的元素 w j可以表示三个方面的含义 : ①对应需求点的编号为 : m =w j - w j - 1 q ·q (其中 [. ]表示取整 ,下同 ) ②对应的路径编号为 : k = w j - 1 q + 1 ( 14) ( 15)   96        计算机应用与软件 2006年 ③确定需求点 m 是否由车辆 k配送以及确定需求点 m 在 路径 k中的顺序为 j。 3. 2 初始种群的产生 在满足编码方案的前提下 ,随机产生 L 个个体 ,构成初始种 群 。我们将其记为 : 3. 3 可行化过程 G0 = { g0 , g1 , …, gL } ( 16) 将染色体的编码向量映射为满足全部约束条件的可行解称 为可行化 。对于一般车辆路径问题 ,其过程如下 : ①需求点的需求条件满足的标志变量为 dzm = 0 (其中 m = 1, 2, …, q) ; ②令路径 k中的需求点数目 nk = 0;设汽车的载重量为 bk , 令 b′k = bk;路径 k所包含的需求点 R k = ;路径 k中除去配送 中心后的第 i个位置的需求点号为 rki = 0,即此时所有路径皆未 形成 。 (其中 k = 1, 2, …, K; i = 1, 2, …, q) ; ③令 j = 1; ④第 j次确定需求点 m 和路径 k间的关系 ,其中 : m =w j - w j - 1 q ·q  k = w j - 1 q + 1 ⑤判断 dzm是否等于 0,若等于 0,表明需求点 m 的需求尚 未满足 ,转 ⑥继续判断 ,否则转 ⑦执行 ; ⑥判断需求点 m 的需求量 dm 是否小于或等于 k车辆所剩 余的载重量 b′k ,若成立 ,令 dzm = 1, bk = bk - dm , nk = nk + 1, rknk = m , R k = R k ∪{ m } ,然后转 ⑦执行 ;否则直接转 ⑦执行 ; ⑦ j = j + 1,判断 j是否等于 K ×q + 1, 若不相等 , 转 ④重复 上述过程 ;若相等 ,则表明该染色体中的 K ×q个元素已经判断 完毕 ,此时检查是否所有 dzm = 1成立 。若成立 , 说明在满足各 约束条件的情况下 ,所有的需求点均分配了一个路径 ,构成路径 集合 R T = { R1 , R2 , …, R K } ,即为染色体所对应的原车辆问题的 一个可行解 ;若不成立 ,说明此染色体表示的路径分配方案不满 足约束 ,为原车辆路径问题的一个不可行解 。 3. 4 性能评价 对当前代种群中的每一个染色体 gt ( t = 1, 2, …, L ) ,应用上 述的可行化过程 ,求得对应可行解 R Tt,代入目标函数 : K nk K i =1 k =1 k =1 ( 17) crknk ∑ crk ( i- 1) rk i + ∑ rk ( nk +1) ·sign ( nk - 1) U t = ∑ 即可求得其目标值 。若染色体对应的为非可行解 , 则赋予 目标函数一个很大的整数 U t =M , 我们将目标值的倒数定义为 对应于染色体 gt 的适应值 ft,用其作为个体的性能评价指标 ,指 导个体的进化和竞争 ,其值越大代表该个体的性能越优 ,即对应 的解越接近最优解 。 3. 5 判断及爬山搜索 判断迭代的次数是否达到某一预定值 ,若是 ,停止进化 , 选 性能最好的个体进行爬山搜索 ,以取得最优结果 ;否则 ,继续执 行 3. 6。 其中 ,爬山搜索的过程是 :对个体的每一位基因 , 分别在 1 ~x取值并填入该位置 ,为保证染色体中无相同基因 ,则用该基 因位的原值去代替该基因新值原来所在的位置 , 求得其对应的 适应值 ,最大适应度的染色体所对应的路径集合即为车辆路径 问题的全局最优 (或满意解 ) 。 3. 6 自然选择 将当前代种群的 L 个染色体按适应值 ft 由大到小排列 , 重
2 2 2   第 4期     姜灵敏 :基于改进遗传算法的车辆路径问题求解 97    排后的染色体 g1 的性能最优 ,计算当前代中的 L 个染色体的选 择概率 : 其中 : pt = q′( 1 - q) t - 1   ( t = 1, 2, …, L ) q′= q 1 - ( 1 - q) ′, q = 0. 08 ( 18) ( 19) 用轮盘赌法选择两个个体 。 3. 7 染色体的交叉重组 对于 3. 6中所选择的两个个体 ,按照交叉率 pc 进行交叉重 组 ,交叉规则采用部分交叉法 , 对交叉成功所产生的个体应用 3. 3所述方法对其进行可行性分析 , 按照 3. 4对求得其对应的 适应值 ,并与其父个体进行比较 , 选择四者中性能最好的两个 个体 。 3. 8 染色体的变异 对 3. 7中产生的两个染色体 ,以变异率 pm 对其基因进行变 异操作 ,采用的变异策略是 :首先将其值保存 ,然后重新分别在 1~x取值并填入该位置 , 为保证染色体中无相同基因 , 则用所 保存的值去代替该基因新值原来所在的位置 , 最后对所产生的 个体应用 3. 3所述方法对其进行可行性分析 ,求得其对应的适 应值 ,保留适应度最大的个体 。这种变异具有局部爬山能力 ,可 使染色体改良到它的局部极点 。 3. 9 循  环 将当前代已执行遗传操作的染色体数目加 2, 判断其是否 小于种群大小 ,若小于 ,则返回 3. 6循环 ;否则 ,将当前代种群的 最优个体 g1 复制到下一代 ,这样可保证最优者生存 , 然后返回 3. 5循环 。 4 实例分析 设有 8个货物需求点和一个为这些需求点提供货物的配送 中心 ,各需求点对配送中心的需求量如表 1所示 ,配送中心只有 两辆汽车用于各需求点的货物配送 ,每辆车的载重量皆为 8000 千克 ,已知配送中心及各需求点的距离如表 2 (其中 0表示配送 中心 ) ,要求合理确定车辆和各需求点间的关系 , 在满足车辆载 重量和各需求点需求的约束条件下 ,安排车辆的行驶路径 ,使总 运行费用最少 ,即总运输里程最小 [ 5 ]。 表 1 需求点对配送中心的需求量表 (单位 :千克 ) 需求点 1 需求量 1000 2 3 4 5 6 7 8 2000 1000 2000 1000 4000 2000 2000 表 2 配送中心及各需求点的距离表 (单位 :千米 ) 需求点 0 0 1 2 3 4 5 6 7 8 0 80 120 150 180 400 200 320 160 1 80 0 130 80 200 100 150 220 200 2 120 130 0 150 200 200 150 150 150 3 150 80 150 0 200 100 180 180 300 4 180 200 200 200 0 200 150 150 200 5 400 100 200 100 200 0 140 180 150 6 200 150 150 180 150 140 0 140 200 7 320 220 150 180 150 180 140 0 200 8 160 200 150 300 200 150 200 200 0 根据前述方法建立车辆路径优化模型 ,采用改进遗传算法 学术期刊文摘 —科技快报 》, 1996. 进行求解 ,经过反复测试 ,确定每代的种群大小为 30,最大进化 代数为 100,交叉率为 0. 80,变异率为 0. 05时 [ 7 ] ,在 tu rboc2. 0环 境下编程求解 ,染争体 2 12 15 14 8 6 5 10 11 9 13 16 3 4 1 7的 适应度最高 ,即其所对应的变量值最低 ,说明选择该染色体所对 应的两辆车的车辆路径分别为 0 0时 , 费 用最省 。 0和 0 2 5 3 8 1 4 7 6 5 小  结 遗传算法在车辆路径优化中应用比较普遍 ,为了验证本文 所提出的 GA与爬山法结合的算法的有效性 , 我们选取群体规 模 n = 30,群体进化的最大代数为 T = 100、染色体编码长度 L = 40、pc = 0. 75、pm = 0. 02, 分别用具有爬山能力的改进遗传算法 与爬山能力的遗传算法编程求解 。实验结果表明 , 采用 GA 与 具有局部搜索能力的爬山法相结合后 , 当前最佳个体适应值迅 速提高 ,在同等计算量情况下 ,效果比较显著 。 参 考 文 献 [ 1 ] Desrochers M. , Desrosiers J. , and Solomon M. , A New Op tim ization A lgorithm for the Vehicle Routing Problem with Time W indows. Opera tions Research, 1992, 40 (2) : 342~354. [ 2 ] Thangiah. S, Nygard K. and Juell P. Gideon, A Genetic A lgorithm System for Vehicle Routing with Time W indows. In: Proceedings of the Seventh Conference Florida: M iam i, 1991. Intelligence App lications. on A rtificial [ 3 ] Savelsbergh M. , Local Search for Routing Problem swith TimeW indows. Annals of Operations Research, 1985, 46 (4) : 285~305. [ 4 ] 李军 ,“车辆调度问题的分派启发式算法 [ J ] ”,《系统工程理论与实 践 》, 1999, (1) : 27~33. [ 5 ] 谢秉磊 ,“有时间窗约束旅行商问题的启发式遗传算法 [ J ] ”,《西南 交通大学学报 》, 2001, 36 (2) : 210~213. [ 6 ] Solomon M. , Desrosiers J. , Time W indow Constrained Routing and Scheduling Problem s: A Survey. Transportation Science, 1988, 22 ( 1 ) : 110~116. [ 7 ] 王小平、曹立明 ,遗传算法 —理论、应用与软件实现 [M ] ,西安 :西安 交通大学出版社 , 2002. (上接第 72页 ) 提高城市交通系统的运行效率 ,对于改善现有交通环境 、解决交 通拥堵及减少交通负荷等都有很重要的现实意义 。 参 考 文 献 [ 1 ] J. L. Peterson. . Petri Net Theory and the Modeling of System s. Prentice Hall, N. J. 1981. [ 2 ] R. Y. A l Jaar and A. Desrochers. Petri nets in automation and manufac turing. Technical Report RAL99, Rensselaer Polytechnic Institute, New York, 1987. [ 3 ] 黄海军 ,城市交通网络理论平衡分析理论与实践 ,北京 :人民交通出 版社 , 1994. 10. [ 4 ] 乐晓波、陈黎静 ,“Petri网应用综述 ”,《长沙交通学院学报 》, 2004. 6. 51~55. [ 5 ] 林闯 、魏丫丫 ,“随机进程代数与随机 Petri网 ”,《软件学报 》, 2002, 13 (2) : 203~213. [ 6 ] 范玉顺、杨建华 ,“FMS可靠性建模与分析的 Petri网方法 ”,《中国
分享到:
收藏