数学建模最佳旅游路线的选择模型 2.doc

上传人:asd****56 文档编号:69698944 上传时间:2023-01-07 格式:DOC 页数:14 大小:313.98KB
返回 下载 相关 举报
数学建模最佳旅游路线的选择模型 2.doc_第1页
第1页 / 共14页
数学建模最佳旅游路线的选择模型 2.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《数学建模最佳旅游路线的选择模型 2.doc》由会员分享,可在线阅读,更多相关《数学建模最佳旅游路线的选择模型 2.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2012高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的参赛报名号为(如果赛区设置

2、报名号的话): 12 所属学校(请填写完整的全名): 鲁东大学 参赛队员 (打印并签名) :1. 张亭 2. 任雪雪 3. 卜范花 指导教师或指导教师组负责人 (打印并签名): 日期: 2010 年 8 月 2 日赛区评阅编号(由赛区组委会评阅前进行编号):2010高教社杯全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):最佳旅游路线的选择模型摘要:本文研究的是最佳旅游路线的选择问题,此问题属于旅行商问题,我们建立了路径最短

3、,花费最少,省钱、省时、方便三个模型。根据周先生的不同需求,我们用改良圈算法和多目标规划解决了该问题,之后我们结合实际情况对三个模型进行科学地误差分析,并分析了该算法的复杂性。 针对问题一,题目中给出了100个城市的经纬度,要求我们为周先生设计一条最短的旅行路线,即从驻地出发,经过每个城市恰好一次,再回到驻点。由此可知,此问题属于旅行商问题。首先,我们按附件所给各城市的顺序编号,以两城市间的直线距离代替实际距离。然后,我们运用改良圈算法求解旅行商问题,以任意两点之间的最短距离矩阵为权重,利用邻接矩阵构造无向图,据题意不知周先生的起始地点,因此利用Matlab软件重复进行100次改良圈算法即以每

4、一个城市为出发点,从100个Hamilton 圈得到了最优圈,即最短的旅行路线。其最短的旅游线路长度为公里。针对问题二,该问题的目的是为周先生设计最经济的旅行方案,我们同样运用问题一所建的改良圈算法模型,将模型一中的权值矩阵“最短距离”换为“最少花费”,建立模型二。本题规定周先生旅游的起始城市为第一个城市,同样利用费用矩阵构造无向图,再利用Matlab软件进行次改良圈算法,就会得到最优圈,即花费最少的旅行路线,其最少花费为元。针对问题三,这里根据周游退休后以享受为主,在模型一、模型二结果的基础上,我们设定原则:优先考虑方便,当两地乘坐飞机所用的费用比乘坐豪华大巴所用费用高不出某个范围时,则乘坐

5、飞机。此处通过动态规划来实现此方案,在最经济、最短的路线的基础之上,通过改换乘坐方式,使最终的花费偏离出最小花费的值在我们的允许范围内,从而达到了省钱、省时又方便的目的。最终得到满足周游先生自身需要的旅行方案。之后我们结合实际情况对三个模型进行科学误差分析,并分析了所用算法的复杂性,同时对我们解决旅行商所采用的算法进行了评价,这使我们对旅行商问题有了更深一步的理解。关键词:旅行商问题;改良圈算法;动态规划;误差分析;1 问题重述周先生退休后想到各地旅游,计划到100个城市旅游。需要我们按下面要求制定出行方案。(1)按地理位置(经纬度)设计最短路旅行方案。数据见Matlab的mat数据文件(文件

6、名为第2题B.mat),其中表示对应点的经度,表示对应点的纬度。(2)假设任意两个城市之间都有豪华大巴和飞机航线,乘坐飞机的价格是两点间距离1.5倍(单位:元),豪华大巴的价格是分段的,在500公里之内是距离的2倍,超过500公里且在1000公里之内的是距离的1.4倍,超过1000公里的是距离的1.1倍,如果2010年5月1日零时周先生从第一个城市出发,每个城市停留24小时,可选择航空、豪华大巴,设计最经济的旅行方案。(3)假设豪华大巴和飞机都可以随到随走,飞机的速度是1000公里/小时,豪华大巴的速度是100公里/小时,要综合考虑省钱、省时又方便,设定你的评价准则,建立数学模型,修订你的方案

7、。(4)对算法作复杂性、可行性及误差分析。(5)关于旅行商问题提出对所采用的算法的理解及评价。2 条件假设与符号约定2.1条件假设(1)假设在旅途中的车速一定,且不考虑突发事件干扰飞机或豪华大巴的行程; (2)假设本题所涉及的城市中,每两个城市之间都有直达的航班和豪华大巴;(3)假设两城市之间距离用城市之间的直线距离来表示;(4)假设不考虑买不上票和机车晚点等情况;(5)假设不考虑机票和豪华大巴打折情况。2.2 符号约定 :表示城市的个数;:两个城市之间的距离,; :初始圈;,;:任意两点之间所花费的最小费用构成的距阵;3 问题分析3.1问题一题目中给出了100个城市的经纬度,要求我们为周游设

8、计一条最短的旅行路线,即从驻地出发,经过每个城市恰好一次。由此可知,此问题是属于旅行商问题,我们可以考虑运用改良圈算法求解此问题。按附件所给各城市的顺序编号,用两城市间的直线距离代表两城市的距离,我们可以考虑以任意两点之间的最短距离为权重,利用构造无向图,考虑到没有给出起点,如果以某一城市为出发点,利用改良圈算法得到的最优圈未必是最优解,所以我们将利用Matlab软件编程重复进行次改良圈算法,将会得到最优圈,从而保证最优解,即最短的旅行路线。用终点返回起点构成的闭合回路最为最短路线的长度。这样就会为周游先生设计一条最短的旅游线路。3.2问题二本问题的目标是给周游先生设计最经济的旅行方案,我们考

9、虑可以同样运用问题一所建的模型,将模型一中的权值“最短距离”换为“最少花费”,建立模型二。本题规定了周游先生旅游的起始城市为第一个城市,因此同样利用构造无向图,再利用Matlab软件进行次改良圈算法,就会得到最优圈,即花费最少的旅行路线。用终点返回起点构成的闭合回路作为花费最少的旅游路线。这样就会为周游先生设计一条最经济的旅游线路。3.3问题三针对问题三,这里根据周游退休后以享受为主,在模型一、模型二结果的基础上,我们可以考虑设定原则:优先考虑方便,当两地乘坐飞机所用的费用比乘坐豪华大巴所用费高不出某个范围时,则乘坐飞机。考虑通过动态规划来实现此方案,在最经济、最短的路线的基础之上,通过改换乘

10、坐方式,若最终的花费偏离出最小花费在我们的允许范围内,则接受此方案,达到了省钱、省时又方便的目的。最终得到满足周游先生自身需要的旅行方案。之后我们会结合实际情况对三个模型进行科学误差分析,并分析所用算法的复杂性,同时对我们解决旅行商问题所采用的算法进行评价,这使我们对旅行商问题有更深一步的理解。4 模型建立及求解4.1 问题一 4.1.1 旅行商问题的基本理论 某旅行商欲往n个城市推销货物,从某个城市出发,沿途经过各个城市一次后返回出发城市,要确定一条行走的路线,使得总路径最短。这个问题称为旅行商问题(TSP)1。用图论的术语说,就是在一个赋权完全图中,找出一个有最小权的Hamilton 圈。

11、称这种圈为最优圈。与最短路问题及连线问题相反,尽管目前还没有求解旅行商问题的有效算法。但是却有一个可行的办法是求一个Hamilton 圈,然后适当修改以得到具有较小权的另一个Hamilton 圈。修改的方法叫做改良圈算法。设初始圈 (1)对于构造新的Hamilton圈: 它是由C中删去的边而得到的。若,则以 (2)转(1),直至无法改进,停止。用改良圈算法得到的结果几乎可以肯定不是最优的。为了得到更高的精确度,在不给定起始位置的前提下,可以选择不同的初始圈,重复进行次算法,以求得精确的结果。 4.1.2 旅行商问题的数学表达式 设城市的个数为,是两个城市之间的距离,(表示走过城市的路,表示没有

12、选择走这条路)。则有(各起点和终点外,各边不构成圈)4.1.3 模型一求解按附件所给各城市的顺序编号,用两城市间的直线距离代表两城市的距离,我们以任意两点之间的最短距离矩阵为权重矩阵,利用构造无向图,据题意并不知周先生的起始地点,因此利用Matlab软件重复进行次改良圈算法,尝试以每一个城市为出发点(算法见附录),首先设,按改良圈算法求出此时的最优圈后,改变初始圈依次进行下去,求出符合要求的最短距离的最优圈,保证了从终点返回到出发点的距离也最短,即周游先生的最短旅行方案,如下:51627278633707460354034396451155669773881421728764763844690

13、5482152271915136236575126613572095439859102427361252637531441586718226854913292163078100898387988449431648743827150492959979356809899我们运用Matlab软件模拟出了周先生最短的旅游线路,见图1。其中每一个*表示每个城市,折线表示旅游线路,标有的城市是周先生旅行的起点,标有99的城市是周先生旅游的终点,由终点返回起点所构成的闭合回路就是周先生最短的旅行路线,其长度为公里。 图1 模拟最短旅游线路示意图4.2 问题二 对于问题二,我们同样运用问题一中所建的模型一,将

14、模型一中的权值“最短距离”换为“最少花费”,建立模型二。利用下面的分段函数求出花费最小的矩阵:问题二中规定了周游先生旅游的起始城市为第一个城市。因此利用为构造无向图,再利用Matlab软件进行次改良圈算法(算法见附录),就会得到最优圈,即花费最少的旅行路线。如下:115367182438731645049295482152271923657512661357209539494448885910242736125263753671822685491325814418387997935698805963849046477686337074607726251281742813877691145396

15、354034556929916307889100我们运用Matlab软件模拟出了周先生最经济的旅游线路,见图2。其中每一个*表示每个城市,折线表示旅游线路,标有1的城市是周先生旅行的起点,标有100的城市是周先生旅游的终点,由终点100返回起点1所构成的闭合回路就是周先生最经济的旅行路线,其长度为元。图2 模拟最经济旅游线路示意图4.3问题三4.3.1多目标规划思想基于选择既省钱、省时又方便的最佳旅游方案,我们建立了用序贯式算法求解多目标规划2的模型。序贯式算法的核心是根据优先级的先后次序,将目标规划问题分解成一系列的单目标规划问题,然后再依次求解。求解目标规划的序贯算法:对于求解单目标规划其

16、最优目标值为,当时,约束(4)为空约束。当时,所对应的解为目标规划的最优解。4.3.1模型的求解 城市方式城市方式城市方式城市方式115飞机7512 飞机2637飞机8059大巴1536飞机1266飞机3753飞机5963大巴3671飞机6613飞机5367飞机6384飞机7182飞机1357飞机6718飞机8490飞机8243大巴5720飞机1822飞机9046大巴4387飞机2095飞机2268飞机4647大巴8731飞机9539飞机6854飞机4776大巴3164飞机394飞机5491飞机7686飞机6450大巴494大巴9132飞机8633飞机5049飞机9444飞机3258飞机337

17、0大巴4929大巴4488飞机5814飞机7074飞机295飞机8885大巴1441飞机7460飞机548飞机859飞机4183大巴607大巴4821飞机910飞机838飞机772飞机2152飞机1024飞机879飞机7262飞机5227大巴242飞机7997大巴6251飞机2719 飞机273飞机9793飞机5128大巴1923大巴7361飞机9356飞机2817大巴2365飞机6125飞机5698飞机1742飞机6575飞机2526飞机9880飞机4281飞机8138飞机453大巴3455大巴1630飞机3877大巴396飞机556飞机3078飞机7769飞机9635大巴692大巴7889

18、飞机6911大巴3540飞机9299飞机89100飞机1145飞机4034飞机9916飞机 4.4问题四4.4.1科学地可行性、误差分析上述算法思想是理想化的模型,在实际的旅游问题中,不仅要考虑路程的长短,还要考虑时间和费用。通过建立数学模型的机理进行了深入剖析后,我们有效的掌握了解“旅游线路”问题,即为周先生寻找出一条既省钱、省时又方便的最佳旅游方案。现在就根据上述算法做出较科学可行性和误差分析。在实际问题中,我们考虑的不只是问题中所给的交通工具,现实中各交通工具的速度、票价也各不相同,甚至有些城市之间没有直达车,从省钱的角度考虑,可以全部选择飞机旅行,由于所有客运价格均由铁道部规定,而模型

19、一采用的是城市间的直线距离,根据城市的经纬计算出两两城市之间的距离,不考虑突发事件干扰飞机或豪华大巴的行程的情况下,可以在出行之前按照最短路径,可以预算出旅行所花费的最短时间和费用,具有一定的可行性,实际性。但是一般情况下路程越长花费的时间越多,所花的路费也越多,但在实际情况中飞机并不是按直线的航路飞行,两城市之间的直线距离可能是最短的,但按照豪华大巴运行的轨迹来看并不一定是最短的,因此所花费的时间和金钱就不一定是最少的。而模型一是按照两城市之间的直线距离来求最短路径,这样模型一中必然存在着较大误差。一般情况下,所采用的交通工具确定,两城市间的旅行时间就确定了。所以用时间来计算既省时又经济的旅

20、行路径,产生的误差更小,因此模型二与实际联系更加紧密。使模型贴近实际,通用性强。4.4.2复杂性分析本题中,所旅游的城市数目较多,我们用动态规划方法求解,毫无疑问,计算量和储存量都很大,在求解时耗费了较多的时间。 4.5模型的评价2 f5 t本文研究的是最佳旅游路线的选择问题,此问题属于旅行商问题,我们建立了路径最短,耗时最少,经济、省时、方便三个模型,根据周先生的不同需求,我们用改良圈算法和多目标规划解决了选择最佳路线的问题。 针对问题一,知此问题属于旅行商问题。首先,我们按附件所给各城市的顺序编号,用两城市间的直线距离代表两城市的距离,简化问题。然后,我们运用改良圈算法求解旅行商问题,以任

21、意两点之间的最短距离矩阵为权重,利用Matlab软件重复进行100次改良圈算法即以每一个城市为出发点,得到了最优圈,即最短的旅行路线。针对问题二,我们同样运用问题一所建的模型用到的改良圈算法,将模型一中的权值矩阵“最短距离”换为“最少花费”,建立模型二。同样利用Matlab软件进行次改良圈算法,就会得到最优圈,即花费最少的旅行路线。针对问题三,这里根据周游退休后以享受为主,在模型一、模型二结果的基础上,我们设定原则:优先考虑方便,当两地乘坐飞机所用的费用比乘坐豪华大巴所用费用高不出一个范围时,则乘坐飞机。我们给任意两地之间耗时最少的矩阵和花费最少的矩阵赋不同的权值。通过动态规划来实现,最终得到

22、满足周游先生自身需要的旅行方案。之后我们结合实际情况对三个模型进行科学误差分析,并分析了所用算法的复杂性,同时对我们解决旅行商所采用的算法进行了评价,这使我们对旅行商问题有了更深一步的理解。 X9 U5模型的改进模型一中我们把问题简单化,以两城市间的直线距离代替实际距离。这种假设只是为了解题方便,模型进一步完善就要把路程更接近于实际得到的路程,这样才更有说服力。建模型一、模型二、模型三的时候,都忽略了政府的宏观调控,市场经济,石油价格等对票价的的影响,事实上,在我国政府的策略,市场经济,石油价格等因素都会对旅游票价有影响,所以,模型的改进也要考虑政策的影响。参考文献:1司守奎.数学建模算法与程

23、序M,第五章图与网络:P87-89,2007.2司守奎.数学建模算法与程序M,第二十三章目标规划:P397-400,2007. 3王振龙,时间序列分析,北京:中国统计出版社,2002年。4韩中庚,长江水质综合评价与预测的数学模型,工程数学学报第22卷第7期:P47-P52,2005年。附录:*问题一 最短旅行方案的Matlab源程序*clc,clear%主函数:function mainload mydataglobal dd=zeros(100);C=zeros(100,102);for i=1:100for j=1:100d(i,j)=6378.140*acos(sin(y0(i)*pi/

24、180)*sin(y0(j)*pi/180). +cos(y0(i)*pi/180)*cos(y0(j)*pi/180)*cos(x0(i)-x0(j)*pi/180); endendxlswrite(juli,d,sheet1)i,j,y=find(d);a=sparse(i,j,y);a=tril(a);L=size(d,1)for i=1:100c1=i 1:100 100;circle,long=modifycircle(c1,L);c2=i 100 1:100;%改变初始圈,该算法的最后一个顶点不动circle2,long2=modifycircle(c2,L);if long20f

25、lag=0;for m=1:L-3for n=m+2:L-1if d(c1(m),c1(n)+d(c1(m+1),c1(n+1).d(c1(m),c1(m+1)+d(c1(n),c1(n+1)flag=1;c1(m+1:n)=c1(n:-1:m+1);endendendendlong=d(c1(1),c1(L);for i=1:L-1long=long+d(c1(i),c1(i+1);endcircle=c1;*问题二 最经济旅行方案的Matlab源程序*clc,cleard=xlsread(juli.xls);w=zeros(100)for i=1:99 for j=i+1:100 if d

26、(i,j)1500 w(i,j)=1700+(d(i,j)-1000)*1.1; end endendw=w+wxlswrite(feiyong,w,sheet1);function mainclc,clearload mydataug=xlsread(feiyong)i,j,y=find(ug);a=sparse(i,j,y);a=tril(a);L=size(ug,1);c1=1 2:99 100;circle,long=modifycircle(c1,L);c2=1 100 2:99;%改变初始圈,该算法的最后一个顶点不动circle2,long2=modifycircle(c2,L);if long2longlong=long2;circle=circle2;endcircle,longx=x0(circle) x0(1)y=y0(circle) y0(1)scatter(x,y,b,*)hold onplot(x,y)*问题三 动态优化的Lingo源程序*11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 财经金融

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁