欢迎来到天天文库
浏览记录
ID:14261693
大小:854.38 KB
页数:25页
时间:2018-07-27
《超速行车问题的数学模型解决方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数学建模论文所在学校:河北科技大学所在学院:理学院参赛年级:11级参赛学生:杜玫、马涛、周楠楠2013年5月31日超速行车问题的数学模型解决方案【摘要】本文要解决的问题是在行车问题中通过对时间和费用的权衡,从而选择出所需的行车路线的方案问题。实际生活中,为了缩短时间和减少费用开支必然会面对路线选择的问题。因此如何快速、高效地从众多可行路线中选出符合题目要求的最优路线成为了解决此问题的关键。鉴于本题路线选择的多样性和路线分布的整齐度,本文中采用了常规的Dijkstra算法。其基本思想是从起点A出发,在每个十字路口选择所要走的路线时根据
2、所给的要求,进行最优选择,从而搜寻出满足要求的最优路线,然后对可行解进行进一步处理,得到明确的路线。针对问题一的两个小问,本文采用了同一算法,只是变换了算法中对应的模型。在第一问中(只考虑速度,即最快达到B),本文将在每个单位路段上以其所给的最高限速行驶时所需要的时间作为每个路段的权值,并选择时间最短作为此问的目标优化模型,并通过VC++编程得到了A与B两点间的一条最优①号路线。在第二问中(只考虑费用,即花费最少到达B),本文将在每个单位路段上以其所给的最高限速行驶时所需要的花费作为每个路段的权值,并选择花费最少作为此问的目标优化模
3、型,仍按第一问的算法思路进行VC++编程得到了A与B两点间的最优②号路线。针对问题二,根据本题需要同时考虑费用和时间,在本文中根据问题一的第一小问已得出的所需时间最短时选择的①号路线,所以问题二只需考虑在此路线选择18个路段可行的超速方案,使在0.8T内可以用最少的花费由A到B,本文中分别将题中的四种限速在不超速(超速0%)以及两种超速(超速10%,超速50%)情况下的花费分别算出,即每个路段上有三种花费情况,将其花费作为对应的路线选择的权值,并选择最少的总花费作为此问的目标优化模型,同样通过VC++编程得到了A与B两点间的最优的超
4、速选择。本文的主要特点在于,所用算法的效率十分显著。在对题目中的数据做简单预处理后便可以进行编程,实现路线的选择,另外,本文所建立的模型简单、所用算法比较清晰。关键字:最短路径Dijkstra算法权值的选择一、问题的重述从A城到B城,路段如下图所示,A在左下角,B在右上角,横向纵向各有10条公路,任意两个相邻的十字路口距离为100公里,所以A城到B城相距1800公里。任意相邻的路段都有限速,如图,单位为km/h。标注为130的路段是高速路段,每段收费3元。整个旅途上的费用有如下两类。第一类与花费时间相关,如住店和饮食,由公式给出,单
5、位为小时。第二类是汽车的油费,每百公里油量(升)由公式给出,其中,的单位为公里/每小时。汽油价格为每升7元。需要解决的问题:1.遵守所有的限速规定,求时间最短的路线和花费最少的路线分别是哪一条?2.为了防止超速行驶,交警放置了一些固定雷达在某些路段上,如图上红色的路段。另外,他们放置了20个移动雷达。这些雷达等概率地出现在各个路段,你可能在一个路段同时发现多个雷达,也可能在装有固定雷达的路段发现移动雷达。每个雷达都监控了自身所在的整个路段。如果你超速,则你有的可能被雷达探测到,且会被罚款100元;如果你超速,你有的可能被雷达探测到,
6、且会被罚款200元。假设是遵守所有限速规定所花的最少时间,但你有急事想在时间内赶往B城,那么包括罚款在内最少花费多少?路线又是哪一条?22二、问题分析(一)模型假设1、当行车到十字路口时,路线选择只能为图的上方或右方;2、移动雷达出现在每个路段的概率相同,且当多个移动雷达同时出现同一路段时,被罚款的概率不叠加;3、在安装固定雷达路段,若超速,则必被罚款;4、超速行车时只考虑超速10%与50%的情况,且无论被移动或固定雷达发现,超速10%罚款100元,超速50%罚款200元;5、当遵守限速规则的时候,在每个路段上行驶的速度恰都按照所给
7、的限速行驶。(二)建立模型及求解最短路径问题是网络理论中应用最广泛的问题之一,通过对上题的分析,本文中采用Dijkstra算法[1][2]对题中路线分步进行点对点编程录入,然后输出最短路径的结果。1、问题一第一小问,建立模型及求解(用Dijkstra算法[1][2]求时间最短路线)本问以时间最短作为最优路线的模型,首先为了方便计算与程序录入,运用下式运算将题的每个路段对应的限速转化为以此速度行驶对应的时间:设t1、t2、t3、t4分别对因为在某路段上分别以行驶所耗的时间,为行驶所用时间的总和,n1、n2、n3、n4分别为通过限速为v
8、1、v2、v3、v4的路段的个数。列式计算,如下式子:22目标函数通过Dijkstra算法[1][2]编程取则可算得计算得出根据选择路线,则可得符合题意的①号路线为如下图中粗实线所示:BA2、问题一第二小问,建立模型及求解(用Dijk
此文档下载收益归作者所有