有什么算法可以得出全最长路径算法的?

城市公交网络出行路径选择的计算机算法研究_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
6页¥2.005页¥2.002页免费5页免费5页免费4页免费2页免费4页免费4页免费5页免费
喜欢此文档的还喜欢73页免费3页1下载券2页免费10页免费31页7下载券
城市公交网络出行路径选择的计算机算法研究|好
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢[高分求助] Windows下通过PID得到程序完整路径(包括svchost.exe)的方法
[问题点数:100分,结帖人feng32tc]
[高分求助] Windows下通过PID得到程序完整路径(包括svchost.exe)的方法
[问题点数:100分,结帖人feng32tc]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。维库欢迎您!
微信扫一扫关注我们
当前位置:&>>&&>>&&>>&基于关系数据库的出行路径快速检索算法实现
  随着交通运输和经济的发展,越来越多的出行者需要考虑合理地选择出行方案。通常可供出行者选择的出行方案比较多,如何为出行者快速提供到达目的地的可行性出行方案,是现今旅游、交通运输等行业迫切需要解决的实际问题,同时也是学者研究的热点和难点之一。为了解决交通出行问题,研究人员提出了出行路径选择模型与算法。出行选择模型主要以换乘次数最少与出行距离最短为优化目标,其目的是寻找一条最优路径。因此出行路径选择模型中所涉及的多源交通数据量较大且关系复杂,目前多选择利用关系数据库存储出行路径选择模型中所涉及的交通基础数据。故对这些交通数据检索并最终确定最优的出行方案需要大量时间,而目前大多数的交通出行方案的查询只是针对如飞机、火车或者汽车的这种单一的交通工具的点到点查询。
  数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
  1 路径选择模型
  由于交通出行路径查询中涉及多源的交通数据较多,导致从出行者的起点到终点的出行方案很多。为了能够快速准确查询出可行的出行方案,本文采用了基于分层结构首尾协同的出行路径模型来快速准确查询可行的出行路线。该模型的基本思想就是同时从起点(S)和终点(T)查询中转站信息,直到找到匹配的可行方案。该模型的出行方案查询策略如图1所示。
  该模型主要包括以下几个部分:(1)选用SQL Server存储的交通数据及该模型中所产生的中间数据;(2)同时从起点(S)和终点(T)查询中转站信息,然后再对中转站信息进行匹配和查询,直到找到可行出行方案;(3)比较给出可行出行方案。
  该模型的具体描述如下:
  (1)利用SQL Server建立包括交通信息表、临时堆栈表、方案主表、方案子表和一些辅助临时表等一系列的关系数据表。SQL(ructured Query Language),结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照AI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括, Insert, Update, Delete, Create,以及在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
  (2)从起点(S)开始向前查询出所有经过起点的交通信息集合。设这些信息集合为S1且层次为1;再以S1为起点向前查询经过S1的所有交通信息集合(不含同种交通工具的重复信息),设这些信息集合为S2且层次为2;则第i次搜索形成信息集合为Si且层次为i;经过若干次搜索后可将以起点为出发点以终点为目的的整个交通数据搜索完毕。
  (3)从终点(T)开始向后查询出所有经过终点的交通信息集合。设这些信息集合为T1且层次为1;再以T1为起点向前查询出经过T1的所有交通信息集合,设这些信息为T2且层次为2,则第j次搜索形成信息集合为Tj且层次为j,经过若干次搜索后可将以终点为出发点以起点为目的的整个交通数据搜索完毕。
  (4)比较Si中任意中转站集中任意和Tj中相同的中转站,找到从起点到终点的出行可行方案。基于分层结构首尾协同的两次以内中转出行路径查询算法的流程图如图2所示。
  由图1可以得出如表1所示的直达、一次和二次转车出行条件。
  2 算法实现
  基于SQL Server的存储平台,设计了包含交通信息表(表2)、临时堆栈表(表3)、方案主表、方案子表和一些辅助临时表等用来存储路径选择过程中所涉及的数据。其中交通信息表格用来存储交通基础信息,该表中包括车次/航班号、站点序号以及站点编号等字段。临时堆栈表用来将每次查询出的车次信息按层次保存。SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、 Sybase 和Asht-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。方案主表是方案子表明细的汇总,具体字段见表4.
  3 应用与结果分析
  首先,根据图2和表1确定中转车次数最少的方案,根据方案查询出相应的信息,并将信息保存到临时堆栈表中(为解决同城多个站点中转问题,中转时使用地点编号作为中转条件);然后,生成可行的出行方案并保存到临时结果子表中;最后,对临时结果子表进行汇总并将结果保存到临时结果主表中。
  3.1 临时堆栈表数据查询
  临时堆栈表的数据是分层的,其S1和S2层是从起点查询的,T1和T2层是从终点查询的。其对应的表关联如下:
  第一层:
  T_TRAFFIC_INFO T1,T_TRAFFIC_INFO T2 Where
  T2.F_NB_STON_ID=(S) AND T1.F_VC_TRAIN_NO=
  T2.F_VC_TRAIN_NO AND T1.F_NB_SEQ_NO&T2.F_NB_SEQ_NO
  第二层:
  T_TRAFFIC_INFO T1,#T_STACK T2,T_TRAFFIC_INFO T3 WHERE
  T2.F_NB_LAY=1 And T2.F_NB_LOCAON_ID=
  T3.F_NB_LOCATION_ID And T1.F_VC_TRAIN_NO
  !=T2.F_VC_TRAIN_NO And T1.F_VC_TRAIN_NO=
  T3.F_VC_TRAIN_NO And T1.F_NB_SEQ_NO&T3.F_NB_SEQ_NO
  第三层:
  T_TRAFFIC_INFO T1,#T_STACK T2,T_TRAFFIC_INFO T3 WHERE T2.F_NB_LAY=4 And T2.F_NB_LOCATION_ID=
  T3.F_NB_LOCATION_ID And T1.F_VC_TRAIN_NO=T3.F_VC_TRAIN_NO And T1.F_NB_SEQ_NO&T3.F_NB_
  SEQ_NO And T1.F_VC_TRAIN_NO!=T2.F_VC_TRAIN_NO
  第四层:
  T_TRAFFIC_INFO T1,T_TRAFFIC_INFO T2 Where
  T2.F_NB_STATION_ID=(T) AND T1.F_VC_TRAIN_NO=
  T2.F_VC_TRAIN_NO AND T1.F_NB_SEQ_NO&T2.F_NB_SEQ_NO
  3.2 临时结果子表查询
  在临时堆栈表数据的基础上,根据表1所对应中转类型的条件可直接获得此中转类型的所有方案数;再将具体的方案信息保存到临时结果表中(先保存到子表中,主表信息可根据子表的方案号进行汇总得到)。
  3.3 结果分析
  将起点、终点及其他参数作为存储过程的入口参数,通过参数便可获得相应出行方案信息,同时可根据最优策略对这些方案进行排序,从而获得出行者所需要的方案。
  本文讨论了一种基于分层结构首尾协同的出行路径选择模型,通过对中转信息进行快速检索,并对相应信息判断是否匹配,以便找出相对优化的出行路径。但该算法仅适合起点(S)与终点(T)中都是有若干条线路途径的地点。&&来源:
技术资料出处:刘 晟1,汪长勤2
该文章仅供学习参考使用,版权归作者所有。
因本网站内容较多,未能及时联系上的作者,请按本网站显示的方式与我们联系。
【】【】【】【】
上一篇:下一篇:
本文已有(0)篇评论
发表技术资料评论,请使用文明用语
字符数不能超过255
暂且没有评论!
12345678910
12345678910
12345678910
您最关心的搜索
在当今工业自动化应用中,复杂的控制系统代替人工来操作不同的机器和过程。术语“自动化”指其智能化足以制定正确的过程决策从而实现目标结果的系统。我们这里所说的“系统”是指闭环控制系统。这些系统依赖于输入至控制器的传感器数据,提供反馈,控制器据此采取措施。[][][][][][][][][][]求迷宫中从入口到出口的路径的算法及实现_中华文本库
第1页/共7页
文本预览:
基础及前沿研究
中国科技信息 2 0 年第 2 期     HI   I NC  A 08 3 C NA SCE E ND TE C HNOL OGY   I NFORMA ON Dec. 0 TI 2 8 0
求迷宫中从入口到出口的 路径的算法及实现
涂海丽  东华理工大学 340  400
摘  要 本文首先进行了迷宫算法的设计,并在算法 的基础上用 C 语言实现了求迷宫中从入口到 出口的路径,最后进行了调试和数据测试。 关键字 迷宫算法;程序实现;调试
Abstract This article gave the design of maze algorithm firstly, and based on the algorithm, it also got a solution of the entrance to the path of exports with C language, finally, it debuged and tested with data. key words Maze Algorithm;Programming Achieve;Debug
1本次设计所用到的库函数有:输入 . 输出函数(std io . ) 过程调用函数 h ; (proces.) sh ; 动态存储分配函数(m a l loc. h) 。 2本程序的设计过程分三大块:主程 . 序(m a n( ; 试探函数(s a ch ( ; 数据子 i ) ) er ) ) 文件(i tc 。主要过程就是:通过主程 npu. ) 序调用数据文件,然后用一维数组来模拟 二维数组进行动态存储,再从第一个入口 开始, 调用试探函数探测通路, 把探测到的 通路入栈, 进入下一层调用。直到找出所有 的通路,最后打印输出。
fr i - ; i = 1 +)/ o ( 1 < ; + i/ 在当前点的 8 = 各 方向进行探测 f j - ; j = 1+ j or( 1 < ; +) = { i = i +; h 0i j = j +; h 0j i (i = 0 = 0 & & i > = 0 & i f (! ||j! ) h & h <o & j >=0 & j <o & & t bi ][h ]= = 0 r w& h & h c l a [h j ) {             / /判断条件 i1 r i ; / e [ ]= h /当前点入栈, i 进入下一层 调用 i2 r j ; e [ ]= h i t i ][h ]= 1 ab[h j ; s a ch ( , , i , , + ,1 e r row colt h j i 1i , ab, h r e i 2no) e, ; t i ][h ]= 0 ab[h j ; } } } m a n( i ) { F I E   *p; L f i   ow, ,t , *ab2 i1 i2 nt r col*ab1  t , e , e , * * * i no, , , j r, i j i ; 00 , i (f f f (p= open ( i "npu . , r" ) t c" " ) = = N U L L )/打开数据文件 / { p i f" h e o e r nt(T  
第1页/共7页
寻找更多 ""

我要回帖

更多关于 路径规划算法 的文章

 

随机推荐