1、 在最少车辆 的约束下 ,通过改进启发式节约算法来解决路径优化 问题。 最后通过算例进一 步证 明了该算法 的可行性。关键词车辆路径规划节约式算法集货重复运输中图法分类号 F540.4 ;文献标识码A物流作为第三利润 源泉 , 已经越来越 引起人们 的重视。 降低物流成本成 为人们考虑 物流 的一个 重要方面 ,而在物流成本 中运输成本 占据着很大 的 比重 。物流产业 一直缺乏 现代运 输及物 流配送 的 路径优化系统 , 车辆 在进行运输配送 集货 的时候 , 不得不行驶更 多 的路 , 需要更 多 的 车辆 , 这就 导致 了货运 的空载率过高及空 载行驶里程过大 ,极 大地 浪费了物流
2、资源 ,带来了很大的物流运输成本 。 路径优化 问题是指行驶尽量少 的路程来 完成 所有的任务。 通 过载重量 一 定 的 车辆对每一 个结 点完成集货或配送等任务 , 其中每一个结点都有一 定量货物 的供给或需求任 务。 它要求不 能超 出车 辆的载重限制 , 同时尽量使车辆行驶距离最短 。 国 内外对路径优化的研究 主要集 中在启发式算法 , 遗 传算法 、模拟退火算法 、 禁忌 搜索算法 和 蚁 群算 法 几个方面。 传统 的启发式算法 多把重 点放在路程 的节约上面 , 因此有众多 的学者对它提 出 了改 进。 如首先对车辆进行初始的估计 , 将车辆 出车费用和行驶费用共同考虑在一起
3、,而不是把节约路程作为唯一韵指标 2 , 以 及 以 车辆载重 约束 分组 , 然后在组 内进行路线 的设计3 。 节 约启发式算 法 还 被应用于集送一体化 问题 4 、 。 新 的智 能算法也被 广 2007 年 8 月 20 日收到第一作者简介:丁宝录,男 ,硕士研究生 ,研究方向:供应链管理物流运输配送。 E-mail:ziyunbaolu163 com 。泛应用于 VRP 问题 ,如用遗传算法解决不确定车辆数的车辆路径问题1 , 用混合遗传算法来解决物流配送路径的优化问题6。另外 ,基于模糊 可能性 的混合遗传算法 ,研究 了决策者 的主观嗜好对决策 目标的影响 7 。 改变编码 的
4、方式 ,用 隐含编码方式进行计算 81 以 及双种群遗传算法 91 也用来解决这一问题。各类蚁群算法 10-131 也被广泛应用 于这一 问题。为提高搜 索效率 , 提 出 了几种结合算法 ,如将 粒子群优化算法与模拟退火算法结合 14, 以及运用 多初始解 和 全局 禁忌 表等各种措施来减小解 的不稳定性和扩大搜索范围 埒目前国内外大部分的研究将注意力放在不可重 复运输上 ,即每项任务只能有某一辆车来完成 ,这样 虽然降低了研究的复杂度 ,但同时也可能会造成需要 更多的车辆来完成运输配送的任务。 由于 出动一辆 车的固定成本远远大于车辆的一定里程 内的行驶成 本 ,对于一个具体的问题,寻求能
5、完成任务的最少车 辆数是减少成本的有效方法。 实际上有的时候一个 任务点在被两个车辆服务时 ,不但会减少车辆的使用 数 目,并且可能还会使总路程减少 ,进而降低总的运 输费用。 因此 ,寻求在最少车辆的情况下 ,来降低行 车距离就是本文将要研究的内容。 l问题假设及模型构建假设有一个物流集货中心 , 编号为 0 ,拥有多台 载重量为 g 的车辆。 现在有 m 项货物运输任务需第7卷24期2007年12月 1671-1819(2007)24-6483-05科学技术与工程 ScienceTechnologyandEngineering Vol.7 No.24 Dec. Sci.Tech.Engng
6、.丁宝 录王 庆金杜鹏(摘要路径优化 问题过 多关注行驶路程 的做 法 , 会造成 多余车辆 的使用 , 车辆 的空载率过高, 从而使整个运 输成本过高。物流作为第三利润 源泉 , 已经越来越 引起人们的重视。 降低物流成本成 为人们考虑 物流 的一个重要方面 ,而在物流成本 中运输成本 占据着很大 的比重 。物流产业 一直缺乏 现代运 输及物 流配送 的路径优化系统 , 车辆 在进行运输配送 集货 的时候 ,不得不行驶更 多 的路 , 需要更 多 的 车辆 , 这就 导致了货运 的空载率过高及空 载行驶里程过大 ,极 大地浪费了物流资源 ,带来了很大的物流运输成本 。路径优化 问题是指行驶尽
7、量少 的路程来 完成所有的任务。 通 过载重量 一 定 的 车辆对每一 个结点完成集货或配送等任务 , 其中每一个结点都有一定量货物 的供给或需求任 务。 它要求不 能超 出车辆的载重限制 , 同时尽量使车辆行驶距离最短 。 国内外对路径优化的研究 主要集 中在启发式算法 , 遗传算法 、模拟退火算法 、 禁忌 搜索算法 和 蚁 群算 法几个方面。 传统 的启发式算法 多把重 点放在路程的节约上面 , 因此有众多 的学者对它提 出 了改 进。如首先对车辆进行初始的估计,将车辆 出车费用2以 及 以 车辆载重 约束 分组 , 然后3节 约启发式算 法 还 被4、新 的智 能算法也被 广物流运输配
8、送。1用混合遗传算法来解决物流7改变编码 的方式 ,用 隐含编码方式进行计算81以 及双种群遗传算法 91 也用来解决这一为提高搜 索效率 , 提 出 了几种结合算法 ,如将粒子群优化算法与模拟退火算法结合14以及运用多初始解 和 全局 禁忌 表等各种措施来减小解 的不目前国内外大部分的研究将注意力放在不可重复运输上 ,即每项任务只能有某一辆车来完成 ,这样虽然降低了研究的复杂度 ,但同时也可能会造成需要更多的车辆来完成运输配送的任务。 由于 出动一辆车的固定成本远远大于车辆的一定里程 内的行驶成本 ,对于一个具体的问题,寻求能完成任务的最少车辆数是减少成本的有效方法。 实际上有的时候一个任务
9、点在被两个车辆服务时 ,不但会减少车辆的使用数 目,并且可能还会使总路程减少 ,进而降低总的运输费用。 因此 ,寻求在最少车辆的情况下 ,来降低行车距离就是本文将要研究的内容。假设有一个物流集货中心 , 编号为 0 ,拥有多台载重量为 g 的车辆。 现在有 m 项货物运输任务需科 学 技 术 与 工 程7卷要完成 , 以 1 ,2 , , i , , m 表示 , 已 知任务 i 的货运量为 9i(i=l ,2 , ,m) ,且 9iq , 9i 要远小于 g (多批次 ,小批量 ) 。 各任务点之间的距离为 Cij ,考 虑到司机的最大工作 时间 以及车辆 的最远行驶距 离 ,我们将设置一个
10、合理 的最大路程来对该问题进 行限制。 另外给定 以下假设 : (1) 所有任务都是事先安排 的 , 调 度 问题是静态的。 (2) 每辆车在执行任务完毕后必须再回到原来所在位置 , 即再回到集货 中心 。 (3) 成本分为运输成本( 与路径有关 ) 和 出车成本( 与出车数量有关) 。 (4)车辆的运营费用权数大于运输成本的权数。 启发式算法是一种简单的 、 易实现的算法 ,它主 要是从节约算法 ( Clarke-Wright 算法 ) 出发而得到的 一种算法。 由于 VRP 问题是 NP 问题,精确求解非常 困难 ,启发式算法具有快速求解 NP 难题 、对初值要 求不严格等优点 ,便于计算
11、机系统 的实现。 因此 ,研 究启发式算法不失为一种可行的方向。 本文将在节 约算法的基础上解决可重复运输的路径优化问题 ,通 过合理的算法 ,以总成本最低为 目标来实现。 节约法的基本思想可以以图 1 表示 ,以 Cij表示车 辆从点 i 行驶到点j 的距离 ,得到点 i 和点j 连接在一 条线路上的费用节约值 Sij=COi+COj -Cij。 把 Cij#列 成序,在安排路线时 ,尽量首先安排节约值大的,这样使总路程最少。 若超出车辆的行驶里程或者超 出车 辆的载重限制,则结束这条路线,重新进行选择。图 l 连接任务点前后的路线 比较在传统节约算法搜索合并 中,每次都是取 M 内 的第一
12、项 sij, 即节约值最大的那个 ,考察它们 的货 物量是否满足车辆 的载重要求 ,然后确定合并两个 结点之间的路线 与否 。 这样仅仅是考虑 了合并过程 中的局部最优性 ,没有考虑 到整体最优性。 为降 低这种局部最优性 , 我 们在 实施 车辆合并后 , 考察 其车辆的剩余载重量与总任务 的 、 尚不满足一辆车 的货物量 ,根据大小 , 确定是 否进 行下 一 步 的货物 收集任务来进一步完善路径 ,降低空载率。 可重复运输的可行性依据参见图 2 。图 2实施可重复运输前后 比较示意图用 圆表示客户 。 假设 ,车辆到达客户 l 之后 ,剩 余的车辆容量已经不能够再完全容纳客户 2 和客户
13、3的货物 ; 同理 ,车辆在到达客户 3 之后也不能再完 全容纳客户 2 的货物 ,按照传统启发式算法 ,这时需 要三辆车来运输 ,总路程为 :fi=2co,+2c02+2c03 ; 而可重复运输的路径优化如 图 2 所示 ,所用车辆为 两辆 ,总路程为 f2=coi+C12+C02+C02+C03+C23 ; 实际上 ,-f2 可表示为,=fi- f2=coi+C03 -C12-C23 ;可 能 大 于 等 于 零 , 或 者 小 于 零 ,厂 0 时 ,车辆减少一辆 ,路程减少厂 f0时 ,车辆减少一辆 ,路程增加,可见 ,在这种 情况 下 降低 车辆 的使用 数量 ,并 且在按照某种原则
14、选择结点时 ,也会 降低路程 。 当 路程增加 时 ,但车辆 的运 营权数高于车辆配送距 离的权数 ,所 以 由于 车辆数 的降低 , 总 费用也会 降 低。在进 行选 择 任 务 点 时 , 有 一 个需 要 遵 循 的原则 , 就是尽量把重 复运 输 的点延 后 , 这样一方 面 可以在保证车辆数量最 少 的前提下 , 能不 重 复运 输 , 就尽量单独 运输 , 以 降低运输 的距离。 这是 因 为 , 以原线路最后一点 i 为例 ,重复集货点 j 和集货点 O 为例 ,进行重 复运 输 , 必然 比原来线路多 的里 程数 为 :Cij+Cj0 -c ( 单条线路) 。 2模型建立和求解
15、 首先定义变量如下 :C 表示从点 i 到点 j 的运输成本 ,它 的含义可 7卷im表示 , 已 知任务 i 的货,m),且 9i q9i要远小于 g多批次 ,小批量 ) 。 各任务点之间的距离为 Cij ,考虑到司机的最大工作 时间 以及车辆 的最远行驶距离 ,我们将设置一个合理 的最大路程来对该问题进行限制。车辆的运营费用权数大于运输成本的权数。启发式算法是一种简单的 、 易实现的算法 ,它主要是从节约算法 ( Clarke-Wright 算法 ) 出发而得到的一种算法。 由于 VRP 问题是 NP 问题,精确求解非常困难 ,启发式算法具有快速求解 NP 难题 、对初值要求不严格等优点
16、,便于计算机系统 的实现。 因此 ,研究启发式算法不失为一种可行的方向。 本文将在节约算法的基础上解决可重复运输的路径优化问题 ,通过合理的算法 ,以总成本最低为 目标来实现。节约法的基本思想可以以图 1 表示 ,以 Cij表示车辆从点 i 行驶到点j 的距离 ,得到点 i 和点j 连接在一条线路上的费用节约值 Sij=COi+COj - Cij。把Cij#列成序,在安排路线时 ,尽量首先安排节约值大的,这样使总路程最少。 若超出车辆的行驶里程或者超 出车辆的载重限制,则结束这条路线,重新进行选择。图l连接任务点前后的路线 比较在传统节约算法搜索合并 中,每次都是取 M 内的第一项 sij,
17、即节约值最大的那个 ,考察它们 的货物量是否满足车辆 的载重要求 ,然后确定合并两个结点之间的路线 与否 。 为降低这种局部最优性 , 我 们在 实施 车辆合并后 , 考察其车辆的剩余载重量与总任务 的 、 尚不满足一辆车的货物量 ,根据大小 , 确定是 否进 行下 一 步 的货物收集任务来进一步完善路径 ,降低空载率。可重复运输的可行性依据参见图 2 。用 圆表示客户 。 假设 ,车辆到达客户 l 之后 ,剩余的车辆容量已经不能够再完全容纳客户 2 和客户 3的货物 ; 同理 ,车辆在到达客户 3 之后也不能再完全容纳客户 2 的货物 ,按照传统启发式算法 ,这时需要三辆车来运输 ,总路程为
18、 :而可重复运输的路径优化如 图 2 所示 ,所用车辆为两辆 ,总路程为 f2=coi+C12+C02+C02+C03+C23 ;实际上 ,-f2 可表示为,=fi- f2=coi+ C03 C12 C23;可 能 大 于 等 于 零 , 或 者 小 于 零 ,厂0时 ,车辆减少一辆 ,路程减少厂可见 ,在这种 情况 下 降低 车辆 的使用 数量 ,并且在按照某种原则选择结点时 ,也会 降低路程 。 当路程增加 时 ,但车辆 的运 营权数高于车辆配送距离的权数 ,所 以 由于 车辆数 的降低 , 总 费用也会 降低。则就是尽量把重 复运 输 的点延 后 , 这样一方 面 可以在保证车辆数量最
19、少 的前提下 , 能不 重 复运 输 ,就尽量单独 运输 , 以 降低运输 的距离。 这是 因 为 ,以原线路最后一点 i 为例 ,重复集货点 j 和集货点 O为例 ,进行重 复运 输 , 必然 比原来线路多 的里 程数为 :Cij+Cj0 -c单条线路) 。模型建立和求解首先定义变量如下 : C 表示从点 i 到点 j 的运输成本 ,它 的含义可24 期 丁宝录 ,等:基于车辆限制的可重复运输路径优化研究以是距离 、费用 、时间等 ;g为车辆载重量 ; 口, 最短车辆配送距离的权数 ; a2最少车辆运 营费用 的权数 ;后代表各车辆 ;Ck车辆 后的运营费用 ;pk 为车辆 矗尚可继续装载的
20、货物质重 ; m为粗略估计可能用到的车辆数 ;r1,点 i 的任务 由车辆 后完成Yik=【 0 , 否则 ; X l , 车辆 后从点 i 运行到点j;戈ijk= 【 0 , 否则 ; 8 、1,若使用车辆 局进行配送 k( 石 )0,否则 ;。 。 : f1 , 当任务 i 是车辆 矗的第一个任务时。腩 : 1 , 当任务 i 时车辆 k 的最后一个任务时【 0 , 否则 ;f1 , 当任务j 在 : 后 紧接执行 ,或者任务j是车辆的最后一个任务 ,且 i 是车辆的 Yij= l 第一个任务时 L0, 否则 ; 根据上面的描述 , 做 出满足约束条件的配送车辆优化调度问题一般数学模型 ,
21、如下 : ykil,i=1,2,.,m k Xijk=ykj,j=0,1,.,m;Vk Xijk=Ykj,i=0,1,.,m;Vk 9iYki q,Vk XijkCLj I,Vk Xijk=0或l,i,j=0,1,.,m;Vk Yki=0或l,i=O,l,.,m;Vk X=(Xijk) ESSik+eik-1Yij,Vi,j,kai +a2=I 3 解决步骤在进行计算 之前 , 首 先粗 略估计所 用 车 辆 数量 m ,m=int 【 gi/aq+1,口 o,1 】,:表示装货 的容易程度 , 越容 易 , o 就越趋 向于 1 。 为了研究方便 ,我们在这里把 血 作为 1 看 。 int
22、 表 示不超过括号 内数字 的最 大整 数。 为 了提高货物 运载率 , m 作为最大车辆数。其次考察总的运货量 gi ,来确定 a , 和 a : ,删根据 孚 ,若是值q 一 一 在小于 6 的方 q向上靠近 6 ,则应该加 大 a2 ;若是值大于 6 的方 向上靠近 6 ,则应该加大 al 。 具体解决步骤如下 。Stepl: 计算各任务点之间的距离节约值 sij 。 令 M 为 5ij的集合。Step2: 在 M 内按 sij 从大到小的顺序排列 ; 并且对 M内的第一项 5ij,连接点 i 和点j , 晟 =1 ,转 Step7 ;Step3:若 肘 =0 , 则 终 止 , 否 则
23、 考察 M 中的项s,选出最大 的一个 s “ , 考察对应 的 (i , j) ,若满足下述条件之一 : (1) 点 : 和点j 均不在 已构成的线路上 ;(2) 点 i 或点J 在 已构成 的线路上 ,但不是线路 的内点 ; (3) 点 i 和点j 位于 已构成 的不 同线路上 ,均不 是内点 ,且一个是起点 ,一个是终点。 则转下步 ,否 则转 Step7 。 Step4:考察点 i 和 点 J 连接后 的线路上 车辆 的总运量 Q ,若 Qmq - gi 时 ,转下 步 , 否则 考查 JB 。 =q-( Q-gj ) , 若 pk 满足条件 pk mq- 9i , 转 k Step7
24、,否则转下步。 Step5:考察点 i 和 点 j 连接后 的线路上 总路程,若 L 2,则转下步 ,否则转 Step7 。 Step6 :连接点 i 和点J ,若 Qq ,并修改收集点丁宝录 ,等: g为车辆载重量 ;口, 最短车辆配送距离的权数 ; Ck车辆 后的运营费用 ; pk 为车辆 矗尚可继续装载的货物质重 ;为粗略估计可能用到的车辆数 ; r1,点 i 的任务 由车辆 后完成 Yik=【否则 ; X车辆 后从点 i 运行到点j;戈ijk= 8 1,若使用车辆 局进行配送 k(石) 0,否则 ;f1当任务 i 是车辆 矗的第一个任务时。腩1当任务 i 时车辆 k 的最后一个任务时
25、f1当任务j 在 : 后 紧接执行 ,或者任务j Yij=第一个任务时 L0,根据上面的描述 , 做 出满足约束条件的配送车 ykil,i=1,2,.,mXijk = ykj,j 0,1,.,m;Vk Xijk Ykj,i 0,1,Vk 9iYki q,Vk XijkCLj I,Vk Xijk 0或l,i,j=0,1,.,m;Vk (Xijk) ES Sik + eik 1 Yij,Vi,j,k ai +a2 I 3解决步骤量 m= int 【 gi/aq+1,口 o,1 】,表示装货 的容易程度 , 越容 易 , o 就越趋 向于 1 。为了研究方便 ,我们在这里把 血 作为 1 看 。 i
26、nt 表示不超过括号 内数字 的最 大整 数。 为 了提高货物运载率 , m 作为最大车辆数。q一一 在小于 6 的方上靠近 6 ,则应该加大 al 。具体解决步骤如下 。 Stepl: 令为5 ij的集合。 Step2: 并且对内的第一项 5ij,连接点 i 和点j , 晟 =1 ,转 Step7 ; Step3:若 肘 =0 , 则 终 止 , 否 则 考察 M 中的项 s (1) 点 : (2) 点 i 或点J 在 已构成 的线路上 ,但不是线路的内点 ; (3) 点 i 和点j 位于 已构成 的不 同线路上 ,均不是内点 ,且一个是起点 ,一个是终点。 则转下步 ,否则转 Step7
27、。gi时 ,转下 步 , 否则 考查 JB 。 =q-Q gj ) , 若 pk 满足条件 pk mq- 9i , 转科 学 技 术 与 工 程7卷的货物收集量为 Q-q , 同时 ,令 pk否则转下步 ;Step7:令 M= 肘-Sij ,转 Step3 4 算例分析 =0 , 转 Step3 , 表2集货 中心与各客户中心之 间的距离( 单位为 km )某一集货中心 向 12 个客户 i(i=0 , l ,2 , 11,12) 收集货物 ,各客户 的收集量 9i ( 单位 :吨 ) 由表 l 给出,集货中心 0 及各客户间的距离 ( 单位 :公里 ) 由表 2 给出, 这些集货任务 由集货 中心 发 出的容量 q=3 t的车辆来完成 ,并且每辆车运行最大路程为 Z=100km 。 把各点间的距离作为费用 ,试制定最优的集货路线 。表 l 各客户需要收集的货物量 ( 单位为 t) 客户 i 12 4 5 6 7 9 1011 需求量 0.81.50.8 0.71.41.50.6 0.61.1J.3 肘 = cFf=Oi=li=2i=3I=4l=5i=6i=7i=8i=9f=10i=Ilf=12 =0 0 lO
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1