一种基于重叠社团划分的大规模道路网络双层路由方法

文档序号:6625081阅读:254来源:国知局
一种基于重叠社团划分的大规模道路网络双层路由方法
【专利摘要】一种基于重叠社团划分的大规模道路网络双层路由方法,在道路网络中探测基于重叠社团的分层结构,将整个网络划分为若干具有重叠节点的社团,并由此构成路网的双层结构:第一层为原始道路网络;第二层为社团连接逻辑层,其中的每一个点对应着第一层的一个社团,第一层社团间的重叠节点和道路连接对应着第二层节点间的连接,其中社团间的重叠节点被当做关键路由节点。在此网络架构下,路由被分解为第二层社团节点间的总体路由和第一层社团内部节点间的局域路由。本发明在道路网络划分社团时考虑了社团间的重叠节点,并将其作为社团间路由的关键节点。这将有利于降低大规模道路网络分层路由算法的计算复杂度,提高其实时性。
【专利说明】一种基于重叠社团划分的大规模道路网络双层路由方法

【技术领域】
[0001] 本发明涉及网络科学和交通领域,特别是指一种大规模道路网络的双层路由方 法。

【背景技术】
[0002] 在实际的生活中,我们每天都在处理路由问题。当需要用最小的代价到达目的地, 我们会综合考虑路程所要占用的时间、安全性和花费的成本。在网络中,路由问题对应的就 是最短路径问题。早期已有的查找最短路径的算法包括Dijkstra算法,A*算法等,但其在 大规模网络中路由花费的计算量和存储量太大,不具有很好的实时性。
[0003] 当前比较有效的方法是提前计算并保存路由节点,在路由选择的过程中,通过这 些路由节点信息来减少搜索的空间,降低计算的复杂度,以达到提高网络系统路由实时性 的目的。采用分层的方法就是其中一种比较有效的策略,尤其在大规模道路网络中的路径 规划或导航系统中有许多有价值的应用。其思想就是将网络划分成多个区域,每个区域包 含一定数量的边缘节点,其内部节点数连接比较紧密;区域之间的连接比较稀疏,原始网络 作为底层,每个区域作为1个点,区域之间的连接作为这些点之间的连边,构成高层逻辑网 络。在这样的双层网络结构中,路由算法将按照先在高层宏观路由,再在低层微观路由的方 法进行,该方法有利于降低算法复杂度,从而具有较好的实时性能。由此可见,区域的有效 划分对整个网络的路由搜索起到至关重要的作用,复杂网络中社团探测算法为大规模道路 网络中区域的划分提供了良好的技术手段。


【发明内容】

[0004] 为了改善已有大规模道路网络路由算法的计算量大和占用存储空间多等问题,本 发明提出一种基于重叠社团划分的大规模道路网络双层路由方法,该方法可以有效地降低 计算复杂度,具有较好的实时性。
[0005] 为了解决上述技术问题提出了如下技术方案:
[0006] 一种基于重叠社团划分的大规模道路网络双层路由方法,包括以下步骤:
[0007] 步骤一:构建道路网络G = (V,E,W),V表示道路网络交叉路口的点集,每个结点 具有精确的坐标,E表不道路的边集,W表不边的权值,在道路网络中W为道路的距尚;
[0008] 步骤二:对道路网络讲行朴闭划分,初始化毎个节点为单一社团,对任意社团计算 其相邻社团的函数模块化度

【权利要求】
1. 一种基于重叠社团划分的大规模道路网络双层路由方法,其特征在于:所述路由方 法包括以下步骤: 步骤一:构建道路网络G= (V,E,W),V表示道路网络交叉路口的点集,每个结点具有 精确的坐标,E表不道路的边集,W表不边的权值,在道路网络中W为道路的距尚; 步骤二:对道路网络进行社团划分,初始化每个节点为单一社团,对任意社团计算其相 邻社团的函数模块化度Q= ^Σ胃[Avw - ]δ((:ν,Cw),其中,V,W表示网络中的两个节 点;Avw表示网络的邻接矩阵,如果节点V,W相连,那么Avw为1 ;如果节点V,W不相连,那么 Avw为O;m=舍EvwAvw表示网络中边的数量;kv =ΣWAVW表示节点V的度,kw =ΣVAVW表 示节点w的度;当节点v,w属于同一个社团δ(Cv,cw)为1,否则为〇;将该社团和Q值最大 的相邻社团合并为一个社团,重复这一过程直到Q值不再增加为止;接着,将每个社团映射 为1个节点,社团之间的连接映射为新节点之间的边,其边权为社团间连边的数量,构成一 个新的网络,对此新网络再次应用上述社团划分方法,直到Q值不再增加为止,此时,新网 络划分为若干社团,其中每个社团分别对应于原始道路网络中的一个较大社团; 步骤三:在社团的边缘节点当中检测社团重叠节点,计算扩展的社团模块度函数值 iT 其中,i,j表示网络中的两个节点;Aij表示网络的邻接 矩阵,如果节点i,j相连,那么Au为1 ;如果节点i,j不相连,那么Au为0;m八^表 示网络中边的数量;Iii =ΣjAu表示节点i的度,kj=ΣAij表示节点i的度,Oi和Oj分别 表示节点i和j各自属于多少个社团;c表示网络中的社团数;k表示社团编号(0〈k<c), 检测边缘节点移除或者增加到相邻社团中对整个社团的扩展模块度函数值Qi的影响程 度,在原有的网络中找出社团边缘节点中的重叠节点;通过重叠社团检测,将整个网络划分 为多个具有重叠节点的社团,并由此构成路网的双层结构:第一层为原始道路网络;第二 层为社团连接逻辑层,其中的每一个点对应着第一层的一个社团,第一层社团间的重叠节 点或道路连接对应着第二层节点间的连接;设置第二层网络连边的权重参数:如果两个点 对应的社团有重叠节点,则边权为0,如果两个点之间对应的社团没有重叠节点但有η条道 路连接,η为正整数,则边权为其中最短的一条道路长度; 步骤四:构建社团内部边缘节点距离表Β,采用Dijkstra算法计算每个社团中的边缘 节点对之间的最短距离,其中最大的最短距离作为该社团的直径,保存这些信息在B表中, 设置第二层网络节点的权重参数为其所对应的社团直径; 步骤五:对任意的出发节点和目的节点计算其路由,如果0和D节点在同一个社团中, 而且均在社团边缘,直接从社团内部边缘节点距离表B中查询得到最优路径;如果0和D节 点在同一个社团中,而且不同时在社团边缘,通过Dijkstra算法计算得到最短路径; 步骤六:如果0和D节点不在同一个社团中,路由算法被分解为第二层社团节点间的总 体路由和第一层社团内部节点的局域路由,过程如下:在第二层加权网络中依据宽度优先 算法计算宏观路由,路径中点权和边权值之和最小即为最优宏观路由;宏观路径中的点权 为该点对应的社团直径,表示社团内部的路径长度的上界,而社团内部的路径需要由社团 局域路由来决定,局域路由可以从社团内部边缘节点距离表B中查询得到最优路径,则最 优路由方案为最优宏观路径加上最优局域路径。
【文档编号】G06Q10/04GK104239965SQ201410429109
【公开日】2014年12月24日 申请日期:2014年8月27日 优先权日:2014年8月27日
【发明者】杨旭华, 周诗杰, 程之 申请人:浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1