CN102054355A - 适用于大规模交通流仿真的虚拟车辆路由方法 - Google Patents

适用于大规模交通流仿真的虚拟车辆路由方法 Download PDF

Info

Publication number
CN102054355A
CN102054355A CN 201110002566 CN201110002566A CN102054355A CN 102054355 A CN102054355 A CN 102054355A CN 201110002566 CN201110002566 CN 201110002566 CN 201110002566 A CN201110002566 A CN 201110002566A CN 102054355 A CN102054355 A CN 102054355A
Authority
CN
China
Prior art keywords
node
path
routing table
routing
traffic flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201110002566
Other languages
English (en)
Other versions
CN102054355B (zh
Inventor
蒋昌俊
张栋良
陈闳中
闫春钢
丁志军
张亚英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongji University
Original Assignee
Tongji University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongji University filed Critical Tongji University
Priority to CN 201110002566 priority Critical patent/CN102054355B/zh
Publication of CN102054355A publication Critical patent/CN102054355A/zh
Application granted granted Critical
Publication of CN102054355B publication Critical patent/CN102054355B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明揭示了一种适用于大规模交通流仿真的虚拟车辆路由方法,所述方法包括:将路径以下一跳的标示方法存入每个节点的路由表;车辆行驶到每个节点时,查询该节点的路由表;若在该表中可查询到欲到达目的地的下一跳节点ID,则按此目标移动,从而实现整个路由;否则计算整条路径,并将路径分解存储到各个相关的路由表。本发明利用查表方式减少重复路径计算,能够显著的节省大量车辆的最短路径计算时间;同时,本发明利用表的动态变化表征动态路况,在动态路网路径计算方面这种方法也有着很大的优势;因为在这种路径查询模式下,最优路径的更新完全取决于路由表的定期更新,其更新模式与计算机网络路由更新机制类似。

Description

适用于大规模交通流仿真的虚拟车辆路由方法
技术领域
本发明属于智能交通技术领域,涉及一种交通仿真方法,尤其涉及一种适用于大规模交通流仿真的虚拟车辆路由方法。
背景技术
在现有的交通仿真***中仿真车辆往往不遵循最短路径行驶,或是随机行驶,或是在交叉口按流量分配进行选择性转弯,这些仿真方法中车辆的行驶都不是“理性”的行为,单独跟踪一辆仿真车辆,往往会出现车辆在小范围“转圈”现象,这对于基于车辆理性行为的仿真试验非常不利,如考察一个路段受阻情况下交通流的变化情况时无法得到正确结果。因此,仿真***中的车辆应当以理性方式(最短路径)行驶。
但是,在大范围路网内对大量车辆的最短路径的计算相当耗时,尤其是在***初始化时,数十万辆车的行驶路线计算使得用户陷入长时间等待。针对这种现象,有人提出路径预存法:事先将一部分具有代表性的路径存在服务器内形成路径库,当车辆要产生是从路径库调出,直接赋予车辆,节省计算路径的时间。但是要形成具有代表性的路径库需要大量的存储空间,因为在上万个节点的路网上全部的路径数目要以亿计甚至几十亿计,而每一个路径平局长度有几百个路段长。在这种情况下即使预存十分之一的路径存储上也是不可接受的。
发明内容
本发明所要解决的技术问题是:提供一种适用于大规模交通流仿真的虚拟车辆路由方法,能够显著的节省计算时间。
为解决上述技术问题,本发明采用如下技术方案:
一种适用于大规模交通流仿真的虚拟车辆路由方法,所述方法包括:
将路径以下一跳的标示方法存入每个节点的路由表;
车辆行驶到每个节点时,查询该节点的路由表;若在该表中可查询到欲到达目的地的下一跳节点ID,则按此目标移动,从而实现整个路由;否则计算整条路径,并将路径分解存储到各个相关的路由表。
作为本发明的一种优选方案,在路由表的生成与更新使用分布式的求解方式,将路网按处理机数目分割,每台处理机处理局部路由表,再由多台处理机交互合成路由表可以加速全局路网路由表的计算。
作为本发明的一种优选方案,如果A节点与B节点之间的道路发生中断,则分别进行以A节点为源点和以B节点为源点的Dijkstra操作。
作为本发明的一种优选方案,所述Dijkstra操作包括如下步骤:
A1、处理、归并线路;
A2、确定所有线路的端点ID;
A3、判断所有线路是否均处理完毕,若是则转步骤A6;否则转步骤A4;
A4、提取一条线路;
A5、添加该线路信息至路由表,转步骤A3;
A6、结束。
本发明的有益效果在于:本发明提出的适用于大规模交通流仿真的虚拟车辆路由方法,利用查表方式,减少重复路径计算,能够显著的节省大量车辆的最短路径计算时间,其原因是,先计算的路径结果往往可以被后面的计算所利用。
同时,本发明利用表的动态变化表征动态路况,在动态路网路径计算方面这种方法也有着很大的优势;因为在这种路径查询模式下,最优路径的更新完全取决于路由表的定期更新,其更新模式与计算机网络路由更新机制类似。
附图说明
图1为Dijkstra子函数的流程图。
图2为一个简单的最短路径示意图。
图3为在路由表上更新更改的道路两端节点信息示意图。
图4为路网与路由表示意图。
图5为50个仿真周期内,每个周期内用于计算路径的耗时比较示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
本发明提出模仿计算机网络路由模式,将路径以下一跳的标示方法存入每个节点的路由表。车辆行驶到每个节点时,查询该节点的路由表,在该表中可查询到欲到达目的地的下一跳节点ID,从而实现整个路由。如图1所示。
具体做法是:首先选定一对OD点,察看O点路由表中是否有D点的下一跳信息,如果有按此目标移动,否则计算整条路径,并将路径分解存储到各个相关的路由表。
这种路径生成算法的最大优点是能够显著的节省大量车辆的最短路径计算时间,其原因是,先计算的路径结果往往可以被后面的计算所利用。
在动态路网路径计算方面这种方法也有着很大的优势。因为在这种路径查询模式下,最优路径的更新完全取决于路由表的定期更新,其更新模式与计算机网络路由更新机制类似。
此外在路由表的生成与更新上很适合与分布式的求解方式,将路网按处理机数目分割,每台处理机处理局部路由表,再由多台处理机交互合成路由表可以加速全局路网路由表的计算。
Dijkstra算法求的是从origID到其他所有点的最短路径。因为Dijkstra算法有最优子结构性质,即一条两顶点间的最短路径包含了该路径上其他点之间的最短路径。利用该性质,提取出包含尽量多节点的路径作为处理对象,降低需要做处理的路径总数,提高计算效率。
实施例二
如图2所示,左图为有5个道路节点的简单路网示意图,右图为道路节点A为单源的最短路径示意图。
如果从A点到B、C、D、E这4个点的最短路径为:
A-B:A-B。
A-C:A-B-C。
A-D:A-B-D。
A-E:A-B-D-E。
那么,经过处理归并,***接下来需要处理的线路只剩下线路[2]A-C:A-B-C和线路[4]A-E:A-B-D-E,避免了大量的重复计算,提高了效率和性能。
下一步确定所有线路的端点是上一步处理、归并线路的延续。其将上例中的点C和点E作为端点。因为点B和点D包含在了线路[2]或线路[4]中,所以点B、D在接下来的处理中将不作为端点考虑,而仅仅是作为中间节点参与处理。
提取某条线路,将线路信息添加到路由表中。该操作需要不断遍历该条线路,将线路所包含的路由信息添加进入路由表,建立相关的路由表信息。一次Dijkstra算法过后的路由表情况如表1所示。
Figure BDA0000043041270000041
表1路由表信息
从上表可以看出,点C到点D、E的路由表项为空。因为在以A点为源点的单源最短路径计算时,点C和点D、E从未出现在同一条最短路径上。而当有车辆的起点为C、终点为D或E,或者起点为D或E、终点为C的时候,因为相关路由表项为空,则须进行一次以该起点为单源的Dijkstra操作并更新路由表相关项。
路由表的信息更新发生在交通流仿真等车辆已显示的前提下,发生道路的增加或者删除的情况。路由表信息的更新是适应于动态道路网的情况,能及时相应道路的变动并重新计算相关道路节点的路由信息,引导车辆行驶在正确的路径上。
其核心思想是做两次分别以变更的道路两端的节点为源点的Dijkstra操作并更新路由表。更新过后,因此次更新而使得某些路径已经不是两点之间的最短路径,但是还是一条次优的最短路径。如果A点和B点之间的道路发生中断。则分别进行以A点为源点和以B点为源点的Dijkstra操作;如图3所示。
其功能是调用Dijkstra子函数做两次单源最短路径操作,更新因道路情况发生变化而产生的路由表的变化。
在图2所示的例子基础上,做图3所示的道路节点更新。
当道路节点AB间的道路发生中断时,以A点为源点做一次更新;再以B点作为源点做一次更新。
图3右上方的图为道路节点A为单源的最短路径示意图,图3右下方的图为道路节点B为单源的最短路径示意图。
更新后的路由表情况如表2所示。
Figure BDA0000043041270000051
Figure BDA0000043041270000061
表2更新后的路由表情况
以779个路口、1399个路段的路网为计算对象,每次产生200辆车,共产生50次。每一次的耗时如图所示,从图5中我们可以看出,传统的方法前后的计算之间没有很大差异,而基于路由表思想的算法中后面的计算受益于先前的计算结果,所以稍后计算所消耗的时间非常小。即使是在第一批200辆车的计算中,路由表的计算方法也大大地减少了计算的时间。
此更新方法有以下3个优势:
用Dijkstra子函数更新更改的道路两端的道路节点,使得该两点之间还是处于连通状态。若有车辆的行驶路径(仿真状态下更改道路)需经过该道路,那么更新后的路由表就可继续引导车辆行驶在更新过后的路径上,而不需要重新赋予车辆一条完整的全新的从起点到终点的最短路径。
由于该交通流仿真软件对车辆的引导是分步进行的,即车辆到达某个交通节点以后才会得知下一个行驶方向。所以,用户提取到的总是当前路由表内最新的行驶方向。用户不必关心该线路有没有经过修改等无关信息。
仅更新道路两端的节点,最大限度的保留了原先的该两点的原始信息。当发生车辆被原始信息引导到这两个节点的时候,节点上的新信息会继续引导车辆往最近更新的下一跳方向行驶。使得车辆能够连续行驶而不发生无法继续行驶的情况。
在空间占用方面,由于每个结点存在一个长度为路网节点个数长度的路由表,表面上需要大量的存储空间,但每个表中的表项只是当前节点相邻几个节点的重复,所以每个表项只需2-3个bit(路口一般不会超过五叉路)就可以描述下一跳的信息,所以有很大的压缩余地。以上海市地图1.4万个路口来计算,每个路由表占用的空间大约为:14K*0.5B=7KB而整个路网的路由表占用空间总合约为7K*14K=98M,因此这种方法在空间站用上也是可以接受的。
实施例三
一种适用于大规模交通流仿真的虚拟车辆路由方法,所述方法包括:
-将路径以下一跳的标示方法存入每个节点的路由表;
-车辆行驶到每个节点时,查询该节点的路由表;若在该表中可查询到欲到达目的地的下一跳节点ID,则按此目标移动,从而实现整个路由;否则计算整条路径,并将路径分解存储到各个相关的路由表。
在路由表的生成与更新使用分布式的求解方式,将路网按处理机数目分割,每台处理机处理局部路由表,再由多台处理机交互合成路由表可以加速全局路网路由表的计算。
如果A节点与B节点之间的道路发生中断,则分别进行以A节点为源点和以B节点为源点的Dijkstra操作。所述Dijkstra操作包括如下步骤:
A1、处理、归并线路;
A2、确定所有线路的端点ID;
A3、判断所有线路是否均处理完毕,若是则转步骤A6;否则转步骤A4;
A4、提取一条线路;
A5、添加该线路信息至路由表,转步骤A3;
A6、结束。
综上所述,本发明提出的适用于大规模交通流仿真的虚拟车辆路由方法,利用查表方式,减少重复路径计算,能够显著的节省大量车辆的最短路径计算时间,其原因是,先计算的路径结果往往可以被后面的计算所利用。
同时,本发明利用表的动态变化表征动态路况,在动态路网路径计算方面这种方法也有着很大的优势;因为在这种路径查询模式下,最优路径的更新完全取决于路由表的定期更新,其更新模式与计算机网络路由更新机制类似。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。

Claims (4)

1.一种适用于大规模交通流仿真的虚拟车辆路由方法,其特征在于,所述方法包括:
将路径以下一跳的标示方法存入每个节点的路由表;
车辆行驶到每个节点时,查询该节点的路由表;若在该表中可查询到欲到达目的地的下一跳节点ID,则按此目标移动,从而实现整个路由;否则计算整条路径,并将路径分解存储到各个相关的路由表。
2.根据权利要求1所述的适用于大规模交通流仿真的虚拟车辆路由方法,其特征在于:
在路由表的生成与更新使用分布式的求解方式,将路网按处理机数目分割,每台处理机处理局部路由表,再由多台处理机交互合成路由表可以加速全局路网路由表的计算。
3.根据权利要求1所述的适用于大规模交通流仿真的虚拟车辆路由方法,其特征在于:
如果A节点与B节点之间的道路发生中断,则分别进行以A节点为源点和以B节点为源点的Dijkstra操作。
4.根据权利要求3所述的适用于大规模交通流仿真的虚拟车辆路由方法,其特征在于:
所述Dijkstra操作包括如下步骤:
A1、处理、归并线路;
A2、确定所有线路的端点ID;
A3、判断所有线路是否均处理完毕,若是则转步骤A6;否则转步骤A4;
A4、提取一条线路;
A5、添加该线路信息至路由表,转步骤A3;
A6、结束。
CN 201110002566 2011-01-07 2011-01-07 适用于大规模交通流仿真的虚拟车辆路由方法 Active CN102054355B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110002566 CN102054355B (zh) 2011-01-07 2011-01-07 适用于大规模交通流仿真的虚拟车辆路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110002566 CN102054355B (zh) 2011-01-07 2011-01-07 适用于大规模交通流仿真的虚拟车辆路由方法

Publications (2)

Publication Number Publication Date
CN102054355A true CN102054355A (zh) 2011-05-11
CN102054355B CN102054355B (zh) 2013-05-01

Family

ID=43958631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110002566 Active CN102054355B (zh) 2011-01-07 2011-01-07 适用于大规模交通流仿真的虚拟车辆路由方法

Country Status (1)

Country Link
CN (1) CN102054355B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637227A (zh) * 2012-03-29 2012-08-15 武汉大学 基于最短路径的土地资源评价因子作用域划分方法
CN103942948A (zh) * 2014-04-10 2014-07-23 中南大学 基于分段拼接的城市公交线路网络的生成方法
CN105890609A (zh) * 2016-06-02 2016-08-24 同济大学 一种基于分布式动态路网的路径规划方法及***
CN111597210A (zh) * 2020-05-07 2020-08-28 江苏海平面数据科技有限公司 基于动态预存储的路网轨迹双向查询方法
CN112041864A (zh) * 2018-06-20 2020-12-04 西门子股份公司 确定生产设备路径的方法、装置、***、存储介质和终端
CN113345227A (zh) * 2021-05-31 2021-09-03 上海涵润汽车电子有限公司 一种随机交通流生成方法及装置
CN114785727A (zh) * 2022-05-06 2022-07-22 河海大学 一种剔除重复路由的计算方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003161621A (ja) * 2001-11-26 2003-06-06 Nissan Motor Co Ltd 推奨経路表示装置及び方法
JP2006038513A (ja) * 2004-07-23 2006-02-09 Navitime Japan Co Ltd ナビゲーションシステム、経路探索装置およびナビゲーション装置ならびにプログラム
CN1796942A (zh) * 2004-12-21 2006-07-05 厦门雅迅网络股份有限公司 城际导航路径的计算方法
CN101256083A (zh) * 2008-04-09 2008-09-03 山东大学 基于动态信息的城市交通网络路径选择方法
CN101257443A (zh) * 2008-02-15 2008-09-03 北京大学 车辆自组织网络中基于道路网格的查询方法
CN101374114A (zh) * 2008-09-26 2009-02-25 北京科技大学 一种基于方向信息的车载移动ad hoc网络路由选择方法
CN101441817A (zh) * 2008-12-22 2009-05-27 浙江中天信息技术有限公司 一种基于多信息源的动态交通信息的车辆导航方法
CN101777255A (zh) * 2010-01-28 2010-07-14 东南大学 基于城市路网可靠度的紧急救援设施配置方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003161621A (ja) * 2001-11-26 2003-06-06 Nissan Motor Co Ltd 推奨経路表示装置及び方法
JP2006038513A (ja) * 2004-07-23 2006-02-09 Navitime Japan Co Ltd ナビゲーションシステム、経路探索装置およびナビゲーション装置ならびにプログラム
CN1796942A (zh) * 2004-12-21 2006-07-05 厦门雅迅网络股份有限公司 城际导航路径的计算方法
CN101257443A (zh) * 2008-02-15 2008-09-03 北京大学 车辆自组织网络中基于道路网格的查询方法
CN101256083A (zh) * 2008-04-09 2008-09-03 山东大学 基于动态信息的城市交通网络路径选择方法
CN101374114A (zh) * 2008-09-26 2009-02-25 北京科技大学 一种基于方向信息的车载移动ad hoc网络路由选择方法
CN101441817A (zh) * 2008-12-22 2009-05-27 浙江中天信息技术有限公司 一种基于多信息源的动态交通信息的车辆导航方法
CN101777255A (zh) * 2010-01-28 2010-07-14 东南大学 基于城市路网可靠度的紧急救援设施配置方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637227A (zh) * 2012-03-29 2012-08-15 武汉大学 基于最短路径的土地资源评价因子作用域划分方法
CN102637227B (zh) * 2012-03-29 2013-10-23 武汉大学 基于最短路径的土地资源评价因子作用域划分方法
CN103942948A (zh) * 2014-04-10 2014-07-23 中南大学 基于分段拼接的城市公交线路网络的生成方法
CN105890609A (zh) * 2016-06-02 2016-08-24 同济大学 一种基于分布式动态路网的路径规划方法及***
CN105890609B (zh) * 2016-06-02 2019-01-25 同济大学 一种基于分布式动态路网的路径规划方法及***
CN112041864A (zh) * 2018-06-20 2020-12-04 西门子股份公司 确定生产设备路径的方法、装置、***、存储介质和终端
CN111597210A (zh) * 2020-05-07 2020-08-28 江苏海平面数据科技有限公司 基于动态预存储的路网轨迹双向查询方法
CN113345227A (zh) * 2021-05-31 2021-09-03 上海涵润汽车电子有限公司 一种随机交通流生成方法及装置
CN114785727A (zh) * 2022-05-06 2022-07-22 河海大学 一种剔除重复路由的计算方法

Also Published As

Publication number Publication date
CN102054355B (zh) 2013-05-01

Similar Documents

Publication Publication Date Title
CN102054355B (zh) 适用于大规模交通流仿真的虚拟车辆路由方法
CN101650191B (zh) 道路网络拓扑抽象的方法及装置
CN108163015B (zh) 一种基于点式链接的城轨信号***电子地图描述方法
CN102506849B (zh) 寻找带约束的最短路径的方法
CN103837154A (zh) 路径规划的方法及***
CN112712247A (zh) 一种面向跨线运营的开行方案制定方法及***
CN102437953B (zh) 片上网络中的低功耗自适应路由方法
CN112347596B (zh) 一种城市公交线网优化方法
CN103294823B (zh) 基于文化蚁群***的轨道交通多模式最优换乘查询方法
CN102982395A (zh) 一种基于空间节点聚类方法的快速公交换乘方法
Ruan et al. Map navigation system based on optimal Dijkstra algorithm
CN105373661A (zh) 一种基于动态规划算法的电网专题图布局方法
CN104217580A (zh) 面向车辆群组动画的路网语义建模方法及***
CN102819581A (zh) 一种地理信息***拓扑集中的多边形链生成方法
CN101571404A (zh) 考虑交叉口转向的最短路径拍卖算法
CN104606886A (zh) 一种分布式无碰撞移动规划的方法
CN114640619B (zh) 基于平均通信距离的天基网络拓扑设计方法及相关设备
CN106804053A (zh) 一种移动自组织网络中基于自适应吸引子选择的单播路由方法
CN103021257A (zh) 电子地图的生成方法及装置
Qing et al. Efficient cluster routing design under the environment of internet of things based on location
CN103412912A (zh) 一种划分逻辑节点等级的方法及装置
CN115081153A (zh) 一种考虑车载容量和站点容量的公交网络设计优化方法
CN113918676A (zh) 上下行道路合并方法、装置、电子设备及存储介质
Yu-Tong Retracted: Research of Computer Network Data Transmission Routing Method
Wu et al. Application of Java—Based optimization Dijkstra algorithm in parking lot berth guidance

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant