【国家级课程】-中南大学-数学建模-lingo-matlab-优化建模-数模培训-全国赛论文-货物运输问题.doc
《【国家级课程】-中南大学-数学建模-lingo-matlab-优化建模-数模培训-全国赛论文-货物运输问题.doc》由会员分享,可在线阅读,更多相关《【国家级课程】-中南大学-数学建模-lingo-matlab-优化建模-数模培训-全国赛论文-货物运输问题.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中南大学2008年暑期数学建模培训,第一次训练题我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的参赛报名号为(如果赛区设置报名号的话): 20004006 所属学校(请填写完整的全名): 中南大学 参赛队员 (打印并签名) :1. 钟 逸 2. 黄贵杰 3. 王树松 指导教师或指导教师组负责人 (打印并签名): 日期: 2008 年 8月 5 日货物运输问题摘要本文对货物运输问题进行了研究并建立了模型。根据题意确定为图论、网络优化模型。对于问题1:寻求从2-10的最短路经。以v2为出发点,对附表1中的矩阵作行列变换(第二行第二列与第一行第一列交换)然后运用Dijkstra算
2、法给出了从v2到其他各个点的最短路径,并运用matlab软件编写程序求出从v2到v10最短路径如图1表1所示。其最短路线:2-3-8-9-10总的行程为30+25+10+20=85为所求的最短行使路线。 对于第二问:从提货点出发遍行每个客户最后回到起点,类似旅行者问题。运用哈密顿算法给出“至少包含图G中每个顶点一次的最短回路”,具有最小总长度的哈密顿回路一定为推销问题的最优解,但反之结论不成立。从哈密顿回路中找出本问题中最短的行驶路线,通过matlab编写程序,计算得到一条从提货点出发,经过所有的点,又回到提货点,最优的路径,其结果为152348769101,最短路程为25+15+30+15+
3、20+30+25+35+20+35=250。对于第三问用两辆载重50单位的车运货,要求所走的路程和最短,可以借用第二问已经得出的模型,在进行模型的改进,在最短的循环中再插入一个起始点,从而形成两个循环,这领个循环的路径分别为:15234891 ;1 769101,由于都经过第9点,第一辆车可选择载重4050;第二辆可选择载重3646;且满足载重之和为86。第一辆路程为:135;第二辆路程:145;和路程为280。对于第四问每辆货车载重为25。各点所需的货物量同第三问,可知派车数目至少为四辆,每辆派车费100元,载货行使1元/公里。首先类似第一问运运用Dijkstra算法给出了从v1到其他各个点
4、的最短路径,见图2、表2。根据约束条件结合图形。给出配车方案:共需四辆车。第一辆:载货15;载货行使路线:143;载货行使距离:55;耗费:100+55=155元;第二辆:载货25;载货行使路线:176;载货行使距离:55;耗费:100+55=155元;第三辆:载货21;载货行使路线:1910;载货行使距离:70;耗费:100+70=170元;第四辆:载货25;载货行使路线:1528或者15852;载货行使距离:100;耗费:100+100=200元;总共耗费:155+155+170+200=680元。 本文所建立的模型适用范围较广能比较精确解决一般问题。但对于更复杂、数据量更庞大的问题,求解
5、起来会比较吃力。关键字 图论 最短路径 哈密尔顿回路 Dijkstra算法 模拟退火算法 一、问题重述随着经济的发展、交通网络的不断健全。运输行业得以快速发展,运输公司在满足客户要求与尽量减少成本(时间、金钱)之间面临更复杂决策。某运输公司为10个客户配送货物,已知提货点就在客户1所在的位置,从第i个客户到第j个客户的路线距离(单位公里)已知。用下面矩阵中的位置上的数表示(其中表示两个客户之间无直接的路线到达)。(见附表1)需解决的问题:(1)运送员在给第二个客户卸货完成的时候,临时接到新的调度通知,让他先给客户10送货,已知送给客户10的货已在运送员的车上,给运送员设计一个到客户10的尽可能
6、短的行使路线 。(2)运输公司派了一辆大的货车为这10个客户配送货物,假定这辆货车一次能装满10个客户所需要的全部货物,给出货车从提货点出发给10个客户配送完货物后再回到提货点所行使的尽可能短的行使路线?对所设计的算法进行分析。(3)因资源紧张,运输公司没有大货车可以使用,改用两辆小的货车配送货物。每辆小货车的容量为50个单位,每个客户所需要的货物量分别为8,13,6,9,7,15,10,5,12,9个单位,请问两辆小货车应该分别给那几个客户配送货物以及行使怎样的路线使它们从提货点出发最后回到提货点所行使的距离之和尽可能短?对所设计的算法进行分析。(4)如果改用更小容量的车,每车容量为25个单
7、位,但用车数量不限,每个客户所需要的货物量同第3问,并假设每出一辆车的出车费为100元,运货的价格为1元/公里(不考虑空车返回的费用),给出如何安排车辆能使得运输公司运货的总费用最省?二、问题假设与符号说明(一)问题假设1、不考虑塞车现象;2、不考虑运输车出现故障或事故对其运输量的影响;3、附录1中矩阵的一项i到j的距离。(二)符号说明1、G=(N,E)表示一个有向图2、V=(i=.10)表示1、2、3.10十个客户;3、E=(i、j=.10)表示第i个客户与第j个客户之间的边集:其中0表示从i不能直接到j;4、W= (i=.10)表示第i个客户所需要的货物量(点上权重).(第三、四问用到);
8、5、和分别表示自点1到点j和点k的最短有向路的长度,而表示弧(k,j)的长度,6、T有向图中的部分点集三、问题分析(一)背景分析 随着经济的发展、交通网络的不断健全。运输行业得以快速发展,运输公司在满足客户要求与尽量减少成本(时间、金钱)之间面临更复杂决策。某运输公司为10个客户配送货物,已知提货点就在客户1所在的位置,从第i个客户到第j个客户的路线距离(单位公里)已知。用下面矩阵中的位置上的数表示(其中表示两个客户之间无直接的路线到达)。(见附表1)(二)解题分析 第一问为最短路径问题,用Dijkstra算法可解,第二问类似旅游推销员问题、采用模拟退火算法解答四、问题一建模(一)问题提出 运
9、送员在给第二个客户卸货完成的时候,临时接到新的调度通知,让他先给客户10送货,已知送给客户10的货已在运送员的车上,给运送员设计一个到客户10的尽可能短的行使路经 。(二)问题分析 寻找给定起、终点v2、v10.的最短路径,道路长定义为各条边的权之和。考虑到可以用有向图求最短路径问题进行模型求解,在这里可以采用Dijkstra算法来求本题的最短行驶道路。(三)建模(模型一)(为方便编程 将附表1的矩阵第一行第一列与第二行第二列交换。)跟据Dijkstra算法:最短有向路满足以下条件,可以写成:=0=+ ,j=2,3,4,,10具体算法如下:第一步(开始)置u1=0,=,j= j=2,3,4,,
10、10,P1,T= j=2,3,4,,10第二步(指出永久标号)在T中寻找一点k,使得=置P=Pk,T=T-k。若T=终始,否则进行第三步。第三步(修改临时标号)对T中每一点j,置=min+然后返回第一步。matlab软件编程程序输出结果如下(d表示点2到其他各点的最短距离)输出结果:d = 0 50 30 45 35 50 45 55 65 85index1 = 1 3 5 4 7 2 6 8 9 10index2 = 1 1 1 3 1 1 5 3 8 9结果示意图:图1:V2V1V3V4V5V6V7V8V9V100503035506050453550805590比较V4,V75045504
11、55590比较V1,V65050558590558590659085V2V2V2V3V2V2V5V3V8V90503045355045556585V4V1V6V7V5V2V8V9V3V10 图1从上图可以知道V2到各个点的最短路径,其中V2到V10的最短路径为V2 V3 V8 V9 V10其最短路程为30+25+10+20=85,用matlab软件编程计算得到的结果完全吻合。可以说明这种方法可行。(部分源程序代码见附录2) 五、问题二建模 (一)问题提出 运输公司派了一辆大的货车为这10个客户配送货物,假定这辆货车一次能装满10个客户所需要的全部货物,给出货车从提货点出发给10个客户配送完货物
12、后再回到提货点所行使的尽可能短的行使路线?(二)问题分析 本问题是一个求最短路径的问题,但是必须考虑走遍每个客户,并把货物送到每个客户的手中,即每个客户都要走一遍,并且要回到原来的送货点,考虑到最短的回路可能只有一条,即寻找一条哈密顿回路,找到最短的哈密顿回路。(三)建模(模型二) 哈密尔顿回路:包含G图中每个顶点只有一次的回路;具有最小总长度的哈密尔顿回路一定是推销员问题的最优解,但反之则不一定成立。任取一个哈密顿回路,所有顶点集表示为=,。在一个最优解中运送员离开顶点后,或通过不在中的某一顶点,或通过中的某一顶点。当时后者情况时,在送货员离开顶点后,有可能去不在中的另一个顶点,如此等等,但
13、是最优解一定存在于下述各图中。1、图G具有所有被删除去的边(v,y),y2、图G具有所有被删除去的边(v,y),y;以及所有被删去的边(,z),z;3、图G具有所有被删除去的边(,y),(,y),y,以及所有被删去的边(,z),z;4、图G具有所有被删除去的边(,y),(,y),(,y),y,以及所有被删去的边(,z),z;分别称上述各图为,。由于在每个带下标图中的一条弧长不会小于相应在图中相应弧长的长度,在图中一个最优的哈密顿回路的长度也不可能小于图中一个最优的哈密顿回路的长度。而且,图的一个最优解至少也是带下标的图,中的一个最优解。重复做下去,直到最终找到最短的哈密顿回路图,此时其他的回路
14、图已经全部被删除(i)对于,构造新的Hamilton圈: ,它是由中删去边和,添加边和而得到的。若,则以代替,叫做的改良圈。(ii)转(i),直至无法改进,停止。分析以上得到线性规划如下:Min f( )通过matlab编写程序,计算得到一条从提货点出发,经过所有的点,又回到提货点的最优行使路径,其输出结果为: q = 99999circle = 1 5 2 3 4 8 7 6 9 10 1sum = 250从输出的结果很容易得到最短的行使路径为:152348769101,最短路程为25+15+30+15+20+30+25+35+20+35=250。(部分源程序代码见附表3)六、问题三建模(一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家级课程 国家级 课程 中南 大学 数学 建模 lingo matlab 优化 数模 培训 全国 论文 货物运输 问题
链接地址:https://www.taowenge.com/p-88149075.html
限制150内