【国家级精品课程】中南大学数学建模lingomatlab优化建模数模培训全国赛论文B题带有客户时间窗的货车配送路径优化问题.doc
《【国家级精品课程】中南大学数学建模lingomatlab优化建模数模培训全国赛论文B题带有客户时间窗的货车配送路径优化问题.doc》由会员分享,可在线阅读,更多相关《【国家级精品课程】中南大学数学建模lingomatlab优化建模数模培训全国赛论文B题带有客户时间窗的货车配送路径优化问题.doc(18页珍藏版)》请在三一办公上搜索。
1、2009高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的参赛报名号为(如果赛区设置
2、报名号的话): 29 所属学校(请填写完整的全名): 中南大学 参赛队员 (打印并签名) :1. 袁浩 2. 何开先 3. 李华斌 指导教师或指导教师组负责人 (打印并签名): 日期: 2009 年 08月 17日B题 带有客户时间窗的货车配送路径优化问题摘要本文主要是求解一个典型的和一个带有随机需求的带有时间窗车辆路径问题(VRPTW问题)。为简化问题,我们将时间窗假设为硬时间窗。对于问题一,利用确定性规划的方法,建立了总路程最短为目标的优化模型,但是如果直接用lingo软件硬求问题的最优精确解,就会需要很长时间才有结果,有时甚至可能得不到结果,所以我们另辟蹊径,运用C-W节约算法求解该模型
3、。C-W节约算法的主要思想是:首先将各个客户点与中心仓库相连,构成一条仅含一个客户点的送货路线,并计算总路程;然后计算将两个客户点连接在一条线路上的路程节约值,节约值越大,说明将两个客户点连在一起的总路程减少得越多,直到节约值为0为止。该算法可以很快求出较优解,但不一定会是最优解。针对算例,首先我们对此问题所需车辆数进行了估计,在估算得到至少3辆车即可完成任务的前提下,由lingo软件来求时,我们没有得出结果;但由该算法得到的C+程序求得较优车辆路径为0-8-5-7-0,0-6-4-0,0-3-1-2-0,总路程为910公里,我们认为这个解是一个比较优的解。最后,我们还对这个线路进行了小小的改
4、进,经分析又发现,完成任务后可能从某些任务点绕行比直接返回车场路程更短,故放弃直接回车场的假设,利用组合策略的Floyd算法得到最短路问题的解,进而得到改进的车辆路径为0-8-5-7-2-0,0-6-4-0,0-3-1-2-0(第一条线路只是从2客户经过而已),总路程为885公里。对于问题二,利用随机规划的方法,在假设各客户的实际需求满足同样的离散概率分布的基础上,建立了总期望路程最短为目标的优化模型,并给出了随机参数的确定方法。至于处理方法,由于随机性问题中用户的需求事先未知,因此对这一类问题的求解不能采用确定性问题的做法,所以求解十分困难,我们最后也只给出了大致的努力方向。关键字 时间窗
5、随机规划 C-W节约算法 最短路一 问题重述 1问题背景车辆路径问题(Vehicle Routing Problem, VRP)最早是于1959年首次提出的,它是指有一定数量的客户,各自有不同数量的货物需求,一个中心仓库提供这些货物,并有一个车队负责分送货物,要求组织适当的行车路线,使客户的需求得到满足,并能在满足一定的约束条件下,达到诸如路程最短、成本最小、耗费时间最少等目的。有时间窗车辆路径问题(Vehicle Routing Problem with Time Window,VRPTW ) 是在基本VRP中对每个客户的开始服务时间范围加以约束,与实际情况更加吻合, 因此有很强的实用背景。
6、在配送运输上,时间窗口显得越来越重要。因此,降低运输成本,提高配送的及时性和配送的服务质量,优化车辆路径问题,是降低企业成本的迫切需要。例如可以有以下的具体实例。一个中心仓库,拥有一定数量容量为Q的车辆,负责对N个客户进行货物派送工作,客户i的货物需求量为,且,车辆必须在一定的时间范围内到达,早于到达将产生等待损失,迟于到达将处以一定的惩罚,这就是一个带时间窗和容量约束的车辆线路问题。2要解决的问题(1)得到一个使派送费用最小的车辆行驶路径问题的数学模型及其求解算法。(2)求解一个具体算例。有8项货物运输任务(编号为1,2,8),各项任务的货运量 (单位:吨)、装货(或卸货)时间 (单位:小时
7、)以及要求每项任务开始执行的时间范围由表1给出,这些任务由车场0发出的容量为8吨的车辆来完成,车场0与各任务点以及各任务点间的距离(单位:公里)由表2给出。这里假设车辆的行驶时间与距离成正比,每辆车的平均行驶速度为50公里/小时,问如何安排车辆的行驶路线使总运行距离最短。(3)拓展问题:当客户i的货物需求量为随机参数时的数学模型及处理方法。3相关信息表1 任务的特征及其要求表2 点对之间的距离(表1与表2都见附录)二 问题分析 由题意得知,可以分析出问题的要求是将货物准时送到,并且要求使用的车辆数最少、车辆行走的路程最短、每个客户仅被一辆车访问一次。该要求涉及到的对象有:货物、时间、送货的车辆
8、、道路以及客户。进一步可以分析出问题要求涉及到的这些对象的关键属性有:货物的需求数量,车辆的载重量,车辆的行驶速度,道路的长度,以及客户是否被访问过。这些属性中的大部分是由问题已知条件给出的,进而要分析出各个对象之间的关系,比如货物的需求量与车辆的载重量之间的关系,车辆的行驶速度与时间的要求之间的关系,道路的长度与时间之间的要求的关系等等。在上述分析结果的基础上,就可以假设变量建立等式了。就算法而言,精确算法如列生成法,割平面法等,可以求最优解,但速度慢,且数据量一大时间复杂度呈指数增长,不利于解决大规模的实际问题。所以我们主要考虑启发式算法如遗传算法,蚂蚁算法等。对于货物需求量为随机参数的情
9、况,建模求解更加困难,我们准备要做一些假设对随机性进行限定,在此基础上给出模型和处理方法。三 基本假设(1)文中所有数据来源真实可靠;(2)不考虑塞车和运输车出现故障或事故对其运输量和时间的影响;(3)每辆车可以完成多项任务,但每项任务只由一辆车来完成;(4)每条路线必须起始于出发点,为最后一个客户服务完后返回出发点;(5)每条路线的总负荷不能超过该辆汽车的最大载重量;(6)每个客户必须在它的时间窗口内被服务,如果汽车提前到了客户所在地,也必须等待,直到允许为该客户服务为止;(7)车辆的行驶时间与距离成正比,派送成本随着运送货物的路程的增加而增大;(8)车辆为同种车型;(9)假设时间窗为硬时间
10、窗。四 定义与符号说明-客户的编号(时代表中心仓库)-客户的个数-每辆车的最大容量-客户的货物需求量-允许车辆到达客户的最早时间-允许车辆到达客户的最迟时间-各项任务装货(或卸货)时间-车辆到达客户的时间-车辆从客户行使到客户所需的时间(数据见附表3)-客户到客户的距离-每辆车运送货物的过程中的速度,已知=50公里/小时-中心货仓拥有的车辆的数量(局部符号定义另行说明)五 模型的建立及求解5.1模型一(确定性规划模型)5.1.1 模型建立根据本问题的一系列的要求和约束,可知该问题是一个VRP问题,再加上每个任务都有时间上的限制,问题变成了VRPTW问题,即带有时间窗的车辆路径问题。VRPTW问
11、题就是为中心仓库提供一个合理的安排车辆执行运送货物的方案,包括执行运送任务车辆的数量和车辆的行驶路线,使得中心仓库付出的派送费最小。据此,我们首先建立了VRPTW问题的模型。定义变量:我们的目标为所有车辆行驶的总距离最短,故有如下目标函数:根据题意,我们得出以下各个约束:派出车辆的数目不能超过中心仓库所拥有的车辆数:车辆容量约束:确保车辆都是从中心仓库出发, 并回到仓库:保证每个客户只能被一辆车服务一次:时间窗的约束:故得到下面的数学模型:S.t.5.1.2 模型求解5.1.2.1 求解准备为了安排线路,需要预先对需要的车辆数进行估计,我们可以通过下面的式子来估计:代入数据,为了简化本题,下面
12、我们就默认,即只有三辆车来完成任务。从我们建立的模型来看,这是一个复杂的规划模型,如果用matlab或者lingo来求解的话,可能需要求解很长时间或者甚至求不出结果,虽然如此,我们也给出了lingo的求解程序,因为对于小规模问题而言,还是可以用精确算法求最优解的。但实际问题中,客户数可能多达几百,下面我们转向另外一种启发式算法经典的C-W节约算法。5.1.2.2 节约算法的基本原理12节约算法的基本思想是:首先将各个客户点与中心仓库相连,构成一条仅含一个客户点的送货路线,并计算总路程;然后计算将两个客户点连接在一条线路上的路程节约值,节约值越大,说明将两个客户点连在一起的总路程减少得越多,直到
13、节约值为0为止。如果在中心仓库的送货范围内还存在着其他的客户,在车辆载重和客户时间要求都允许的情况下,可按照节约路程的大小将他们依次地连入巡回路线,直到满载为止,这样,就组成了一条配送路线。然后以同样的方法进行第二条配送路线。很显然,这样每一次连接过程都能使总距离得到最大的节约,也就使行程增加值最小,最终使得运输线路得到优化。算法示意图见图5.1。图5.1 C-W节约算法示意图以表示连接后的路程节约值:以表示连接客户i和客户j所在线路后,车辆到达客户j的时间比原路线上车辆到达客户j的时间的推迟量(或提前量),可由下式得出:表示车辆到达客户的时间;表示各项任务的货运量(单位:吨)、装货(或卸货)
14、时间;表示车辆从客户行使到客户所需的时间。由上式可以看出,时,表示连接后到达客户j的时间不变;时,表示连接后到达客户j的时间提前了;时,表示连接后到达客户j的时间推迟了。为了讨论时间窗约束问题的方便,还需定义两个比较重要的参数:-车辆在线路上j点后面的各任务处均不需要等待的j点的到达时间的最大可以提前量;-车辆在线路上j点后面的各任务处不违反时间窗约束的到达j点的最大允许推迟量。定义如下:;.在考虑连接点i和点j所在的线路时,需要检查其是否符合时间窗的约束时,由上述定义可以看出,当时,若有,则车辆在j后面的任务处不需要等待,否则,就要等待;而当时,若有,则j后面的任务的执行是不会拖延的,否则,
15、就要延迟进行。5.1.2.3 节约算法的算法设计 根据上面的原理,设计详细的求解步骤如下: Step1:计算点i和点j连接后的路程节约值s(i,j),并将其定义为数组; Step2:若s(i,j)的值均为0,则终止,否则,在数组s(i,j)内求出值为最大的那一项; Step3:考察对应的(i,j),若满足下述条件之一,则转Step5,否则转下步; (1)点i和点j均不在线路上; (2)点i不在线路上,点j为线路的起点;(3)点i不在线路上,点j为线路的终点;(4)点i为一线路的终点,点j为另一线路的起点; Step4:判断点i和点j的值是否已交换,若没有交换则转Step3,否则转Step8;
16、Step5:计算连接点i和点j后线路的总运货量q,若,则转下步,否则转Step8; Step6:计算; (1)若,则转Step7; (2)若,则计算,若,则转下步,否则转Step8; (3)若,则计算,若,则转下步,否则转Step8; Step7:连接点i和点j,计算车辆到达各项任务的新时间,转下步; Step8:将该s(i,j)的值赋0,转Step2.下面我们用CW节约算法来求解题目中的算例:(1) 计算各点对间连接后的路程节约值s(i,j)例如,在计算点1和点2时,有:类似,其他点对的节约值计算结果如下表:表5.1 各点对间连接后的路程节约值s(i,j)(i,j)(5,7)(5,6)(3,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家级精品课程 国家级 精品课程 中南 大学 数学 建模 lingomatlab 优化 数模 培训 全国 论文 带有 客户 时间 货车 配送 路径 问题
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3933174.html