本科毕业设计公交线路查询算法研究与实现.docx
- 文档编号:23349652
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:73
- 大小:507.31KB
本科毕业设计公交线路查询算法研究与实现.docx
《本科毕业设计公交线路查询算法研究与实现.docx》由会员分享,可在线阅读,更多相关《本科毕业设计公交线路查询算法研究与实现.docx(73页珍藏版)》请在冰豆网上搜索。
本科毕业设计公交线路查询算法研究与实现
摘要
随着中国经济的发展与社会信息化水平的推进,以计算机技术为代表的信息技术的应用已经深入到各行各业中了。
公交作为国家的经济大动脉是城市的重要组成部分,在国家经济和人民生活中发挥着重要作用并与人们的生活息息相关。
以西安市为例,全市现有线路200余条,站点几千个,覆盖了西安市的绝大部分区域,公交已成为市民最重要的出行方式。
在关于公交的众多问题当中,公交换乘是人们最关心的问题。
每一个市民所熟悉的公交线路是有限的,当去一个不熟悉的地方,如何乘坐公交车前往是市民常常遇到的问题,因此我们需要构建一个城市公交换乘系统,当市民输入出发站点与目的站点后,该系统能够根据一定的规则,例如,换乘次数最少,路程最短,票价最低等,给出一些乘车的方案,市民按照乘车方案的文字描述或电子地图(GIS)的直观显示,可以准确快捷的从出发点到目的地。
本文首先分析了图论及相关的背景知识,这其中包含了对公交网络进行数学建模及对其求解平均换乘次数等。
在此基础上针对市民乘车的实际问题提出了多种不同的换乘算法,包括改进的Dijkstra算法,利用数据库在集合运算方面的优秀性能而提出的扩展集合算法(广度优先搜索算法)及其改进,用邻接矩阵构造换乘矩阵实现的换乘算法;人工智能方面的算法(启发式搜索算法)—A*算法在换乘方面的应用及其改进算法—A*!
算法,基于蚂蚁算法实现的公交换乘算法,基于WebGIS的算法。
最后,在分析完上述算法并比较其优劣势后,在MicrosoftVisualC++编程环境下实现了一种算法并对其进行分析与测试。
各种测试表明,作者所开发的公交线路查询系统完全符合理论假设并有一定实用价值。
关键词:
公交换乘数学建模Dijkstra算法扩展集合算法换乘矩阵算法A*算法A*!
算法蚂蚁算法WebGIS
ABSTRACT
Withthedevelopmentofchina’seconomicandtheimprovementofsocialinformationlevel,theapplicationofinformationtechnologyincludingcomputertechnologyhavebeendeeplyrootedineverykindsofbusiness.Bus,asthebigarteryofnationaleconomic,isoneofthemostimportantpartsofacity.Itexertsagreatimportantfunctioninnationaleconomicandindividual’slifeandhasastrongrelationwithpeople’sactivity.
TakeXI’ANasanexample,therearemorethan200buslinesandthousandsofsitesthere.TheycoveralmosteveryregionofXI’ANandbecomethemostimportanttravelmethod.Bustransferisthemostconcernedprobleminalltheseproblems.
Thebus-lineswhicheverycitizenarefamiliarwitharelimited.Whenwecometoaplacethatwenevercometobefore,howtogettherewithbusisthemostfrequentproblem.Soweneedtobuildacitybustransfersystem.Whentheusersinputthestartsiteandthedestinationsite,accordingtosomerules,forexample,theleasttransfer,theshortestpath,andthelowestprice,etc,thesystemcangiveussomesuggestionsonbustransfer,wecangettoourdestinationsinthelightofthesesuggestionswithawrittendescriptionsormapdescriptionusingGISaccuratelyandconveniently.
Inthisessay,theauthorfirstintroducedsomeknowledgeaboutgraphtheoryandsomeotherbackgrounds,includingbuildingupamathmodelaboutbusnetwork,resolvingaveragetransfertimesbasedonthis,etc.Basedonthismodel,theauthorproposelotsofdifferenttransferalgorithms,includingDijkstraalgorithmanditsimprovement;expandingsetalgorithm(breathfirstsearchaboutgraph)anditsimprovementwhichdependingonthedatabase’sexcellentperformanceonsetmathematicoperations,usingadjacencymatrixtoconstructtransfermatrixalgorithm,artificialintelligencealgorithm(inspiringalgorithm)—A*algorithmusedonbustransferringandits’improvement—A*!
algorithm,bustransferalgorithmbasedonantalgorithm,WEBGISalgorithm.
Atlast,afteranalysisedthealgorithmsmentionedaboveandcomparedthesuperioritiesandinferiorsofthesealgorithms,theauthorimplementoneofthesealgorithmsinthevisualC++environment,thendosomeanalysisandtests.Thetestsmanifestthebus
transfersystemtheauthordevelopedfitsthetheoriesverywellandhassomepracticalvalues.
Keywords:
bustransfermathmoduleDijkstraalgorithmexpandingsetalgorithmtransfermatrixalgorithmA*algorithmA*!
algorithmantalgorithmWEBGIS
第一章绪论
1.1城市公交问题提出的背景与意义
在中国,伴随着经济的崛起,城市也在不断发展,城镇化的水平越来越高,城市的规模也越来越大了。
为了满足城市发展的需要,城市公共交通运输的覆盖面越来越广,公交线路也日渐增多,乘坐公交出行变得越来越便捷,越来越多的出行者选择公交作为自己的首选出行方案。
与此同时,公交给人们带来极大的便利的时候,也因线路众多,给人们在选择出行线路时带来一定的麻烦。
人们在所熟知的公交线路有限的情况下,想要到达一个陌生的地点是有一定难度的,或者即使到达目的地也因不了解线路而耗费更多的时间或金钱。
因此,提供方便,经济,高效,优化的公交出行线路方案,不仅能够方便本市市民的出行,对于外来游客,出差等的人的出行与生活都能带来极大的便利。
对于缓解城市的交通堵塞,提高城市的交通运输效率也是有帮助的。
当前胡总书记提出要建立和谐社会主义,运用科学发展观,建立此系统能够充分反映出城市建设的人性化,以人为本的思想,对于社会和谐,城市的健康快速发展是有好处的。
随着车辆数的增多,城市交通问题日趋严重,行车不畅通,车辆延误,并且产生了巨大的空气污染与噪音污染,与可持续发展思想不符,公交作为城市可持续发展交通的重要组成部分,在使用本系统后将吸引更多的人选择它出行,有利于可持续发展。
2008年又是中国的奥运年,有许多外国朋友来到中国,西安作为中华文明的代表,世界四大古都之一,必然会迎来许多的外国游客,本系统能够展示一个现代化的城市的信息化的风貌,有利于提升城市形象,有利于招商引资,促进城市的繁荣。
对于建立信息化社会,实现企业,行业,社会三层的信息化,抢占信息时代的制高点,是有一定贡献的。
公交作为城市动态大系统中的一个重要组成部分,是城市发展中不可缺少的物质条件与基础产业,也是联系社会生产,流通和人民生活的纽带。
没有城市公交的高速运转,就没有城市的现代化。
通过世界上绝大多数发达国家的城市发展模式与经验来看,优先发展公共交通已经被大多数国家作为解决大,中城市交通问题的最佳策略。
它是城市可持续发展的保障,因此在我国各大城市建立高效的,功能强大,人性化的公交
系统刻不容缓。
1.2我国城市公交及国内外研究现状
截至1994年底,全国城镇人口为34301万人,占全国人口的28.26%,百万人口以上的大城市有32个,按目前的城市化进程,预计在2010年或稍后,城市人口可达6.5亿,城市化水平在50%左右。
展望城市未来的发展,城市客运交通的发展必须与之相配套。
对大城市自身而言,还呈现如下的特点:
1.大城市自行车拥有量趋于饱和,越来越多的私家车的出现加重了交通拥堵;2.城市用地扩大,导致公交出行距离增加,换乘问题至关重要;3.道路网络设施供应不足,路网容量不足,结构不合理;4.公交管理手段落后,还没有全面信息化,智能化。
西方国家对这些方面重视的较早,如美国,日本,欧洲诸国等,他们已投入了极大的人力,财力在城市公交网络的构建上,现在已经形成了使用计算机网络与通信系统进行管理的智能交通系统ITS(IntelligenceTransportSystem),从而可以实时,准确,高效的在大范围内全方位的进行运输综合管理,使得人,车,路三者之间的关系更加和谐统一,极大的改善交通状况。
智能交通系统(IntelligentTransportSystem简称ITS)ITS是一个广泛包括各种技术的统称,是在较完善的道路设施基础上,将先进的计算机、电子技术、信息技术、传感器技术和系统工程技术集成,运用于地面交通的实际需求,建立起全方位、实时准确、高效的地面交通系统。
它能使交通基础设施发挥出最大的效能,提高服务质量,使社会能够高效地使用交通设施和资源,从而获得巨大的社会经济效益。
智能交通系统不但可能解决交通的拥挤,而且对交通安全、交通事故的处理和救援、客货运输管理、公路收费系统等方面都会产生巨大的影响。
1995年3月美国交通部首次正式出版了“国家智能交通系统项目规划”,明确规定了智能交通系统的7大领域和29个用户服务功能,并确定了到2005年的年度开发计划。
其中7大领域包括:
出行和交通管理系统、出行需求管理系统、公共交通运营系统、商用车辆运营系统、电子收费系统、应急管理系统、先进的车辆控制和安全系统。
应用发展较快的几个方面分别是,车辆安全系统(占51%),电子收费(占37%),公路及车辆管理系统(占28%),实时自动定位系统(占20%),商业车辆管理系统(占14%)。
日本组成了由四省一厅参加的全国统一智能交通系统开发组织(VERTIS),并于1996年制定了“推进ITS总体构想”。
并推出了一个投资预算达7.8兆亿日元,为期长达20年的发展计划,包含了智能子系统部分应用、改善基础设施建设及系统和产品的研究开发。
同时日本国内丰田、三菱、东芝等100多家企业也联合设立智能运输系统的开发和经营机构,加大智能交通产品开发的力度。
近年,日本投入了15亿日元开发了全国公路电子地图系统,打开了车辆电子导航市场。
而我国的城市公交信息系统的研究处于相对落后的水平,广大乘客获取信息的渠道与方式很少,公交信息的完整性与准确性得不到保证,而且没有专门的机构负责信息的发布与管理。
我国的公交信息系统的现状如下:
1.乘客获取的公交信息很少,而且以常规的手段为主。
我国乘客一般获取公交信息的手段有交通图,向熟悉的人问询等。
乘客获得公交信息很少,除去线路,站点等信息,有关班次,车辆到离站时间的信息基本没有。
2.乘客出行中获取信息困难,基本上没有实时信息。
除杭州等少数几个城市的乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其他城市,出行中的乘客无法获得任何实时信息。
3.缺乏专门的交通信息发布管理机构,乘客获得的信息的准确性得不到保证。
目前,我国大多数城市对于交通信息的发布没有专门的管理机构和规章制度。
在服务需求量较小时尚可应付,而随着从业人员与企业的增多,城市交通信息服务变得混乱和低效,有些甚至是对乘客的误导。
4.我国公交信息系统与网络的结合是低层次的。
在我国一些城市出现了基于网络的公交信息服务系统,如西安公交网,中国公交查询网等,可提供一定的信息查询服务,但总体上还处于一个较低的层次,信息是静态的,不能实时动态的满足需求[1]。
1.3研究的目的,内容及方法
本文研究的目的就是针对乘客公交信息系统中的核心问题—公交线路换乘问题提出一些算法,以期能够更快,更人性化的提供给乘客们公交出行方案,使得乘客能
更便捷的到达目的地。
本文的创新之处就在于系统的总结归纳并提出了解决公交换乘问题的各种算法,比较算法的优劣势,分析其应用场合,针对不同的场合提出不同的算法。
在内容安排上,本文分为五章来叙述。
本文的第一章主要是介绍一些背景知识及概况,在第二章中我们将此问题抽象成数学模型,利用图论分析,加入各种参变量,求解模型,获得各种有用结论,如最大换乘次数等。
在此基础上运用算法分析的知识,对其时间复杂度,空间复杂度,NP完全性等问题逐一分析。
第二章主要是在数学理论上分析此问题的深层次内涵,从理论高度上统揽全局。
第三章是本文的核心章节,包含了以第二章为基础而引出的各种算法。
基本上以每一种算法为一小节分别加以论述。
第三章将以这样几种算法为主:
利用数据库在集合运算方面的优秀性能而提出的广度搜索算法(扩展集合算法)及其改进,用邻接矩阵构造换乘矩阵实现的换乘算法;人工智能方面的算法:
启发式搜索算法—A*算法在换乘方面的应用及其改进算法—A*!
算法,基于蚂蚁算法实现的公交换乘算法,基于WebGIS的算法。
当然,其中还会包括一些对它们的改进算法,也会不断的对其反复比较论证。
部分算法将给出伪代码的描述,并会有选择性的实现这其中的一种算法,这也将作为下一章的基础。
作者选择VisualC++集成开发环境实现算法,在此基础上,第四章将主要阐述公交换乘系统的具体实现方案(模块设计)及相关描述,同时叙述了用软件工程的方法将其实现的过程及其测试。
第五章是全文的总结与拓展。
曾经有计算机科学家定义计算机科学为研究算法的科学[2]。
研究算法无疑是计算机科学的重要领域,也是本文的核心内容,贯穿始终。
这是本文的最重要的分析方法—算法设计与分析。
对于本文所涉及的问题,运用组合数学中的图论的相关理论也是重要的手段。
另外,在算法实现的时候,充分运用软件工程,UML的思想与方法,形成格式良好的代码和相关文档。
1.4公交换乘问题及公交网络建模的概况
公交网络中乘客出行路径选择的问题,可以表述为在公交网络(可以抽象为一张有向图)中,乘客任意的给定两点,程序给出一套最优出行路线的方案。
求解公交
换乘的算法是公交线路信息系统的关键技术,也是智能公交系统与公交网络优化等问题的重要研究领域。
国外对公交换乘问题的研究是伴随着公交客流分配领域的研究而发展起来的,AndersonJ在1977年就提出了一种称为Volvo方法的公交路径选择算法,该算法将乘客换乘次数最少作为乘客出行路径选择的首要目标,而将不同路线的发车频率作为第二目标进行路径搜索;Spiess和FLorian于1989年提出了公交网络出行策略理论,即将两点间吸引乘客乘坐的某种线路组合称为一种出行策略,以各种策略发车频率的高低作为乘客选择某种策略概率的计算依据,该方法的缺点是需要枚举所有的出行策略;NicholasKoncz等于1996年提出了公交网络静态多路径优化的算法,对公交网络中一次和二次换乘的问题进行了详细的描述,但该算法不能处理二次以上换乘的情况;而国外关于公交路径选择算法的最新研究成果是Gentile等于2004年提出的站点实时信息条件下的公交乘客路径选择算法。
在国内,上世纪90年代后,随着一些大城市的公交信息系统的建立,国内的一些学者也开始对公交网络路径选择问题进行研究。
张国伍于1992年在扩展Floyd算法的基础上,提出了公交网络多条最短路径算法;王祖祥等于1993年研究了公交网络中乘客换乘次数最少的约束条件下的最短路径算法,并给出了多条路径集的生成技术;肖宏年等于1995年对公交网络中的换乘现象进行了细致的分析,并提出了以换乘次数最少为目标的换乘矩阵算法。
之后国内对公交网络路径搜索算法的研究大多是对换乘矩阵算法的改进,但该类算法的缺陷是算法执行时间随着换乘次数的增加成指数式增长,一般要设置一个最大换乘次数的限制才能使用,这也是国内大多数此类系统的算法基础。
杨新苗等于2000年进行了公交乘客心理调查,提出了以Dijkstra算法为基础,以换乘次数与出行距离作为双重约束的最优路径搜索算法;
此外,近年来一些学者将人工智能算法—启发式算法,遗传算法等引入到该类问题的研究中。
但从总体上来说,国内外学者在对公交出行线路问题的研究中,由于换乘现象总是得不到有效的描述,因此至今仍未出现一种既能合理的反映乘客出行公交路线选择心理特点,同时又具有很高执行效率的算法。
综上所述,换乘现象能否被合理描述,是制约公交乘客出行时有效选择最优路径的关键,这一点在很大程度上依赖于对公交网络进行适当的数学拓扑模型的建立。
公交网络比单纯的线路网络要复杂得多,比如其中可能存在“共线”的情况,即在两个站点之间存在多条线路并且使用同一路段的情况,这也是对公交网络建模中的难点,还
有公交网是有方向性的,分“上行”,“下行”等。
早期的研究者大多采用道路网络的建模方式描述公交网络,在这方面,Dial(1971),Leclercq(1972),SheffiY(1985),DeCea(1989)等完成了一些基础工作;Nguyen等人将图论中的有向超级图理论引入公交网络的研究中,提出了公交超级网络模型,该模型能够使用一个统一的数据模型同时描述公交站点,公交线路,上车弧,下车弧,换乘弧等;Anez等提出了用对偶图描述公交网络的方法,但数据冗余较大。
我国对公交网络抽象建模的研究起步较晚。
杨新苗等根据FTA的研究结果,结合我国的城市道路网络特点,提出了一种基于GIS的公交网络表示方法;陆忠等(2002)使用节点—弧段模型对公交网络拓扑建模,并针对交叉口附近公交站点相邻的几种情况进行分类,提出了相邻公交站点合并的原则;黄正东(2003)在Choi等人的研究基础上,再用动态分段技术在道路网络上标示出站点与公交线路,并针对有些公交线路上下行不重合的现象提出了有向线的概念[3]。
第二章公交网络的拓扑建模
网络模型的设计主要包括三个方面:
软件模型设计,数学模型设计,数据库设计。
软件模型主要解决网络的逻辑表现方式,数据结构和提供给上层应用的程序接口。
它与具体数据结构和算法无关。
数学模型主要解决的是路径搜索算法的问题,用数学的方法来抽象网络模型的特征,提供快速路径搜索的解决方案,图论给我们提供了很好的工具。
应该说明的是,数学模型的建立与算法的设计是紧密相连的,本章主要论述的是数学模型的建立,算法的设计将在下一章中阐述。
数据存贮结构的设计是模型持久化的依据,与软件模型和数学模型都相关,它为各种算法提供了信息支持。
2.1图的相关概念
我们称G=(V,E)为图,如果:
(1)V是一个非空的有限集合,
(2)E是V中元素的无序对组成的有限集合。
把V中的元素叫做图的顶点,E中的元素叫做图的边。
称G=(V,E)是有向图,如果:
(1)V是一个非空的有限集合,
(2)E是V中元素的有序对组成的有限集合。
把V中的元素叫做图的顶点,E中的元素叫做图的有向边或边。
定义一:
图G=(V,E)的一个顶点与边的交错序列
,且边
的端点为
和
,i=1,2,…,k,则称
为一条道路(Path),
和
分别称为
的起点和终点。
特别的,若
中所有的边均不相同,则称其为简单道路。
以
为起点,
为终点的道路称为
—
道路。
定义二:
对于图G=(V,E),构造一矩阵
,其中
,
,则称矩阵A是图G的邻接矩阵。
定义三:
信号流图是一种顶点与弧都具有权值的有向图。
在工程系统中,特别是线性系统(线性网络)中得到广泛的应用,成为分析线性系统的一种有力工具。
信号流图的几种运算:
(1)加法规则(并联法则)
两个顶点间m条同向边可以用一条与它们同向的边代替,该边的增益为m个同向边的权的和。
(2)乘法法则(串联法则)
M+1个顶点
若有边
相连,则可用有向边
代替,
的增益为有向边
的权的乘积。
(3)顶点消去法则
一般的,以x为终点的有向边
和以x为始点的有向边
,其增益分别为
和
。
则可将顶点x消去,得有向边:
其增益分别为:
(4)反向法则
对于有向边
改变为
,其上的权值a变为
。
(5)自环消去法则
一般的,对于有m条以x为终点的有向边和自环的顶点x,如将m条有向边上的增益除以(1-环的增益),则可将自环消去,以x为起点的有向边的增益不变[2]。
以上这些法则是进行公交网络分析与化简的重要原则,故先列举出来。
2.2城市公交网络模型的建立
城市公交网络包含两个最基本的元素就是线路和站点,本系统内的所有交通工具都包含这两个元素,并且具有相同的基本特征:
每个站点都有若干条线路经过,经过站点的这些线路用名字唯一标识;每条线路由一系列站点组成,并按一定的次序经过这些站点,一条线路上的所有站点都可以用名字唯一标识。
路径搜索是建立在线路和站点的关系上的,搜索的结果应该是站点和路径的集合,表示如何乘车和怎样经过各个站点。
在这个抽象层次上可以将不同种类的交通工具统一起来,将公交网络用线路和站点的集合来表示。
同时,不同类型的交通工具的线路和站点也有自己的特点,像地铁、城市轻轨之类的有轨交通工具,机动性较小,速度快,准时,而且受路面条件和交通状况的影响很小,但是车次较少;轮渡是某些城市特有的交通工具,用于渡江,线路固定,速度慢,没有中间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 公交线路 查询 算法 研究 实现