物流配送中的车辆分配与路径安排的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物流配送中的车辆分配与路径安排的设计与实现
:
摘要
物流配送中的车辆路径问题(CVRP)是为一些车辆确定一些客户的路
径,每一客户只能被访问一次,且每条路径上的客户需求量之和不能超过
车辆的承载能力,每条路径都以中心开始和结束。本文的目标是通过蚁群
算法实现对车辆分配与路径安排。
蚁群算法是受到人们对自然界中真实的蚁群集体行为的研究成果的
启发而提出的一种基于种群的模拟进化算法。本文介绍了基本蚁群算法及
其应用领域。通过对基本蚁群算法的理解,提出了三种对基本蚁群算法的
修改策略,以求解 CVRP。文中用伪码对修改后的算法进行了详细的描述。
同时,使用Visual C++实现了实验性仿真系统,模拟了车辆分派与路径安
排。通过对实验数据的分析,得到了较好的修改策略和合适的参数大小。
基于引入其他算法的优点来改进自身缺点的思想。本文在适用于求解CVRP 的基本蚁群算法中引入变异机制,来提高收敛速度和寻找更优解。实
验数据表明,引入变异机制的蚁群算法能够有效地解决带有容量限制的车
辆路径问题,并且大大提高了解的质量。
关键词:蚁群算法,CVRP ,变化
1
第1章绪论
1.1研究背景
中国物流业近 5 年才开始起步,并进入发展期。物流业的兴起与外资进入中国市场,制造业转移中国密切相关,接着是连锁业物流、家电物流日用化工业物流、汽车物流等等。
据统计,美国 2000 年的运输费用为 5900 亿美元,占当年 GDP 总
1作者简介:姓名,姚军,男(1987—),安徽宣城,汉族。2005年9月至2009年7月就读于安徽农业大学信息与计算科学专业。
值 99600亿美元的 5.92%,可见,减少运输费用是有效减少物流成本的重要方面。对于物流中心和第三方物流企业的货物配送,运输车辆的调度是工作的重点,正确合理的调度可以有效减少车辆的空驶率,实现合理路径运输,从而有效减少运输成本,节约运输时间,提高经济效益。国外车辆优化调度研究已广泛用于生产、生活的各个方面,如报纸投递及线路的优化、牛奶配送及送达线路的优化、电话预订货物的车辆载货和线路设计、垃圾车的线路优化及垃圾站选址优化、连锁商店的送货及线路优化等等。目前,研究水平已有很大发展,其理论成果除在汽车运输领域外,在水运、航空、通讯、电力、工业管理、计算机应用等领域也有一定的应用,还用于航空乘务员轮班安排、轮船公司运送货物经过港口与货物安排的优化设计、交通车线路安排、生产系统中的计划与控制等多种组合优化问题.在国内,该问题的系统研究还不多见。
蚁群优化算法是模拟自然界中真是蚁群的觅食行为而形成的一种模拟进化算法,是20世纪90年代意大利的M.Dorigo 等学者提出的。受到其取得了较好的实验结果的影响,蚁群优化算法激起了其他学者的研究热情,并取得了很多研究和应用成果。近10年来的研究结果已经表明:蚁群算法用于组合优化具有很强的发现较好解的能力,具有分布式计算、易于与其他方法相结合、鲁棒性强等优点,在动态环境下也表现出高度的灵活性和健壮性。然而,蚁群算法存在搜索时间过长、易于停滞的问题。为了克服这些缺点,不少学者提出了改进算法。例如:
一、MMAS(max-min ant system)算法,其基本思想是对路径上的信息素进行限制,以期克服停滞问题,并且仅让每一代中最好的个体所走的路径上的信息作调整,以加快收敛速度。
二、改进的信息素更新策略:其一,局部信息素修改时,挥发系数动态改变;其二,全局信息素更新时,则将蚂蚁所走路的较短的那些路径上的信息加强,而较差的那些路径上的信息减弱。
三、相遇算法,其基本思想是在求解 TSP 问题中,用两只蚂蚁共同完成对一条路径的搜索,以使搜索速度提高。变异策略,以加快局部搜索。
四、引入交叉算子以提高搜索多样性、引入分支因子r 作为衡量群体多样性的指标,当r 低于某一值时,对各路径上的信息作动态调整,以期望克服停滞现象。
这些研究对算法有一定程度的改进,但对提高收敛速度的效果不是特别明显,速度慢仍然是制约蚁群算法在大规模优化问题中的应用的瓶颈。
1.2.1 实现基本蚁群算法在求解CVRP 中的应用
带有容量限制的车辆路径问题(CVRP)可以概述如下:有n 个客户,已知每个客户的需求量及位置,用多辆汽车从中心仓库(depot )将货物运到每个客户处。每辆车的容量是有限的,要求在运送过程中不能超过车的容量,每辆车从 depot 出发且在为最后一个客户服务完后返回到depot。每个客户的需求必须由一辆车来提供即客户的需求量不大于车的容量。目标是最小化总的汽车行驶距离和所需求车数目。将最小化汽车总的行驶路程。作为第一目标,最小化车辆数目作为第二目标
图1.1 CVRP模型
将基本蚁群算法应用于 CVRP,实现车辆的路径分配,使得汽车总的行驶路程最短和所需汽车的数量最少。由于基本蚁群算法针对于旅行商问题(TSP),在应用于CVRP中需要对算法作适当的修改。
1.2.2 改进基本蚁群算法取得更好的性能
蚁群算法主要分为初始化、第一个客户的选择、下一个客户的选择、
信息素局部更新、寻找最好的蚂蚁和信息素全局更新几步。每一步可以采
用不同的策略来改进基本蚁群算法。
对于蚁群算法中公式有许多参数,参数的大小以及各参数之间相
系对结果都有一定的影响,所以可以通过比较寻找合适的参数来改进蚁群
算法。
第2章 蚁群算法
2.1基本蚁群算法
根据仿生学家的研究结果,蚂蚁凭借路径寻优的能力能够找到蚁巢与食物之间的最短路径,其原理在于:蚂蚁在所经过的路径上留下一种挥发性分泌物(以下称为信息素),信息素随着时间的推移会逐渐挥发消失。蚂蚁在觅食过程中能够感知这种物质的存在及其强度,并以此来指导自己的运动方向,倾向于朝着这种物质强度高的方向移动,即选择该路径的概率与当时这条路径上该物质的强度成正比,信息素强度越高的路径,选择它的蚂蚁就越 多,则在该路径上留下的信息素的强度就更大,而强度大的信息素又吸引更多的蚂蚁,从而形成一种正反馈,通过这种正反馈,蚂蚁最终可以发现最佳路径,导致大部分的蚂蚁都会走此路径。为了模拟实际蚁群的行为,首先引进如下记号:设 m 是蚁蚂蚁的数量
ij d (i,j=1,2,……,n)表示城市 i 和城市 j 之间的距离,()t b t 表示 t 时 刻位于城市i 的蚂蚁的个数,则有1()n
t t m b t ==∑,()ij t τ表示 t 时刻在城市i,j 连线上残
留的信息量。初始时刻,各条路径上信息量相等,设(0)ij C τ=(C 为常数)。蚂蚁(1,2,,)k k m =在运动过程中,根据各条路径上的信息量决定转移方向。()k ij p t 表示在 t 时刻蚂蚁k 由城市i 转移到城市j 的概率:
[()][],[()][]()0,k ij ij k k ik ik ij k k t j tabu t p t tabu j tabu αβ
αβτητη∉⎧∉⎪⎪=⎨⎪⎪∈⎩
∑ (1) 其中:ij η为先验知识或称为能见度,在为城市i 转移到城市j 的启发信息, 一般1ij ij
d η=; α为在路径ij 上残留信息的重要程度;β为启发信息重要程度;与实际蚁群不同,人工蚁群系统具有记忆功能, k tabu (k=12,…,m )用以记录蚂蚁k 当前所走过的城市,下一步不允许选择的城 市,称为禁忌表。经过n 个时刻,所有蚂蚁都完成了一次周将满,此时应清空,将当面蚂蚁所在城市置于k tabu ,准备下一次周游。这 时 , 计 算 每 一 只 蚂 蚁 所 在 走 过 的 路 径 k L ,并保存最短径