基于分层路网的路径搜索方法和装置的制作方法

文档序号:6353081阅读:282来源:国知局
专利名称:基于分层路网的路径搜索方法和装置的制作方法
技术领域
本发明涉及地理信息系统领域,特别是涉及一种基于分层路网的路径搜索方法和
直O
背景技术
路径分析是现代地理信息系统应用的基本功能之一。随着智能交通的建设,尤其 是网络电子地图,车载导航软件,手机全球定位系统(GlcAal PositionSystem, GPS)导航等 各种导航产品的普及,路径分析技术获得了非常广泛的关注,并引起了大量学者的研究兴 趣,人们对于路径分析算法提出了灵活、准确、快速等要求。现有技术主要有二种方案路径 搜索方案一是迪杰斯特拉(Dijkstra)最短路径算法经常使用的路径分析模式有最短距 离,最快时间,最少收费等,无论采用何种模式,最优路径规划最终都可以归结为在特定道 路网中寻找具有最小代价的最短路径分析,即图论中的最短路问题。方法为给定带权有向 图G= (V, {E}),其中V是包含η个顶点的顶点集,E是包含m条弧的弧集,经典Dijkstra 算法能按路径长度递增的秩序产生源点ν到G中其余各顶点的最短路径。Dijkstra算法的缺点主要包括执行时间复杂度为0(n2),结合堆数据结构 Dijkstra算法执行时间的最佳上界是0(m+n log η)。对于小规模局域道路网络,Di jkstra 可以获取理论上最优的规划路线,但是随着路网复杂度的增加,以及搜索范围的扩大, Dijkstra的算法复杂度是发散的。对于大规模路网(如全国道路网络,约500万弧段或结 点),Dijkstra算法的时间和内存开销都非常大,因此这一经典的路径分析算法很难解决 该情形下的路径分析问题。其次,Dijkstra能获取数学上的最短路径,但在实际应用中,算 法上的最短路径,并不是人们出行的最优路径。以穿越北京市二环的路径分析为例,最短路 径会穿越二环内的大量胡同和小路,并不符合人的出行习惯。当然,Dijkstra算法对于每 一条道路计算费用时,可以利用道路功能等级进行费用加权计算,以实现在实际里程相差 不多的情形下,优先选择高等级的道路作为规划路线,但是,对于很多道路等级差别化不明 显的区域,很难获取更合理的规划路线。第二个方案启发式搜索方案,其估价函数为f' (v) = g(v)+h' (ν)式中,g(v)是从起点S到当前顶点ν的实际费用,h' (ν)是从当前顶点ν到目标 顶点E的费用估计函数。在实际应用中,一般这样计算估计费用,h' (v) = Ad' (ν)其中,d' (ν)是当前顶点t到目标顶点E的直线距离,λ是估计权值。将Di jkstra算法中的顶点权值d(v)用f' (ν)代替,即实现了启发式最短路径搜索。上述算法是目前广为流行的路径规划启发式算法,通过选择合适的估价函数,其使用的搜索空间比Dijkstra算法小。如图1所示,圆形区域a是Dijkstra的算法搜索空 间,椭圆形区域b是使用启发式策略后的算法搜索空间。但启发式搜索也有其的缺点1)估计权值λ的大小决定了算法搜索的复杂度,λ越大,算法越快,但准确度 降低;反过来,λ越小,算法越慢,但准确度提高;当λ =0时,启发式搜索等同于经典 Dijkstra,为最准确结果,但也最慢。所以,启发式实质上是一种牺牲一定准确度,以获取更 高效率的策略。2)对于很大规模的路网,如全国路网,即便使用启发式策略,在搜索过程中,算法 的复杂度依旧是发散的,尤其对于非常长距离的路径分析(如哈尔滨至海口),即便用启发 式策略提高了算法效率,但搜索规模依旧很大,效率依旧无法令人接受。

发明内容
本发明所要解决的技术问题是提供一种基于分层路网的路径搜索方法,可解决现 有路径搜索的效率过低,对于规模较大的路网无法适于实用的问题。本发明还提供了一种基于分层路网的路径搜索装置,以保证上述方法在实际中的 应用。为了解决上述问题,本发明公开了一种基于分层路网的路径搜索方法,包括在 下层路网分别搜索起点S的局部最优路径I^= (S... Ji)和终点E的局部最优路径Rne =(Nk. . . E);所述节点Ji和节点Nk为上层路网节点;所述节点Ji位于起点S的预设范围 内,所述节点Nk位于终点E的预设范围内;在上层路网搜索节点Ji和节点Nk的局部最优 路径I^n = (Ji. . . Nk);合并上述局部最优路径,获得从起点S到终点E的最优路径Rse = (S· · · Ji. · · Nj^· · · E) ο优选的,所述局部最优路径和Rffl的搜索方法具体为将起点S和终点E是作 为当前节点;判断当前节点是否为最上层路网节点,若否,在当前节点的预设范围内,基于 当前层路网搜索该当前节点到上一层路网节点的局部最优路径;将该上一层路网的节点作 为当前节点,重复上述判断和搜索过程。优选的,所述路网的层数η与所述起点S和终点E之间的距离D相关若D < 10 千米,则η = 1 ;若10千米彡D < 50千米,则η = 2 ;若50千米彡D < 100千米,则η = 3 ; 若100千米彡D < 500千米,则η = 4 ;若D彡500千米,则η = 5。优选的,将当前层路网搜索的所有上一层节点采用堆数据结构管理,作为上层路 网局部最优路径搜索的基础。优选的,所述节点的预设范围为以该节点为中心的圆形区域或方形区域,其中若 所述节点位于第1层路网,则圆形区域的半径为10千米,方形区域的边长为20千米;若所 述节点位于第2层路网,则圆形区域的半径为50千米,方形区域的边长为100千米;若所述 节点位于第3层以上的路网,则圆形区域的半径为100千米,方形区域的边长为200千米。优选的,在所述局部最优路径搜索步骤之前还包括根据所述起点S和终点E之间 的距离,增加道路的费用权值参数S,并根据下述公式计算道路的费用τ'τ ‘ = (β-δ)· τ,β e (0 1〕,δ e (0 β)其中,τ表示道路的原始费用;β表示道路的费用权值。
优选的,在同一层网络搜索局部最优路径的方式为迪杰斯特拉最短路径算法或启 发式路径规划方法;对于启发式路径规划方法,用下列公式估算局部最优路径的开始节点 到达目标节点的费用f' (ν)f' (v) = g(v) + A d' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费 用权值,d' (ν)为当前节点V到目标节点的直线距离。优选的,在同一层网络搜索局部最优路径的方式为自适应启发式路径规划方法, 所述局部最优路径的开始节点到达目标节点的费用f' (ν)的计算公式为f' (v) = g(v) + o Ad' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费 用权值,d' (ν)为当前节点V到目标节点的直线距离,σ为自适应调节参数;所述自适应 调节参数σ与所述局部最优路径的开始节点和目标节点之间的距离D相关;若D 彡 500 千米,贝U σ = 1 ;若100 千米< D < 500 千米,则 σ = 0. 8+0. 2 X (D-100) / (500-100);若10 千米彡 D ( 100 千米,则 σ = 0. 6+0. 2 X (D-10) / (100-10);若D<10 千米,贝 Ijo = 0. 4+0. 2XD/10。依据本发明的另一优选实施例,还公开了一种基于分层路网的路径搜索装置,包 括上升搜索单元,上层路径搜索单元和路径合并单元,其中上升搜索单元用于在起点S的 预设范围内基于下层路网搜索起点S到上层路网节点Ji的局部最优路径= (S... Ji), 以及,在终点E的预设范围内基于下层路网搜索终点E到上层路网节点Nk的局部最优路径 Rne= (Nk... E);上层路径搜索单元用于在上层路网搜索所述上升搜索单元产生的节点Ji 和节点Nk的局部最优路径Rtn= (Ji... Nk);路径合并单元用于合并所述上升搜索单元和上 层路径搜索单元产生的局部最优路径1^、Rne和Rjn,获得从起点S到终点E的最优路径I SE
(S· · · Ji. · · Nj^. · · Ε) ο优选的,还包括路网层数设置单元和上升搜索控制单元,其中所述上升搜索控制单元采用下述策略为所述上升搜索单元产生局部最优路径 和I ,将起点S和终点E作为当前节点;判断当前节点是否为最上层路网节点,若否,在 当前节点的预设范围内,基于当前层路网搜索该当前节点到上一层路网节点的局部最优路 径;将该上一层路网的节点作为当前节点,重复上述判断和搜索过程;所述路网层数设置单元采用下述规则设置路网的层数η 若D < 10千米,则η = 1 ;若10千米< D < 50千米,则η = 2 ;若50千米< D < 100千米,则η = 3 ;若100千米 ^ D < 500千米,则η = 4 ;若D彡500千米,则η = 5 ;其中D表示所述起点S和终点E之 间的距离。优选的,还包括节点管理单元,用于将上升搜索控制单元在当前层路网搜索的所 有上一层节点采用堆数据结构管理,作为上一层路网局部最优路径搜索的基础。优选的,还包括区域设置单元,用于为所述上升搜索单元或上升搜索控制单元设 置所述节点的预设搜索范围,该预设搜索范围为以该节点为中心的圆形区域或方形区域, 其中若所述节点位于第1层路网,则圆形区域的半径为10千米,方形区域的边长为20千 米;若所述节点位于第2层路网,则圆形区域的半径为50千米,方形区域的边长为100千米;若所述节点位于第3层以上的路网,则圆形区域的半径为100千米,方形区域的边长为 200千米。优选的,还包括道路费用权值设置单元,用于根据所述起点S和终点E之间的距 离,设置道路的费用权值参数、并根据下述公式计算道路的费用τ',为所述上升搜索 单元和上层路径搜索单元提供局部最优路径的搜索基础τ ‘ = (β-δ)· τ,β e (0 1〕,δ e (0 β)其中,τ表示道路的原始费用;β表示道路的费用权值。优选的,还包括第一局部最优路径搜索单元,用于在同一层网络,基于迪杰斯特拉 最短路径算法或启发式路径规划方法,搜索开始节点到目标节点之间最优路径;对于启发 式路径规划方法,用下列公式估算局部最优路径的开始节点到达目标节点的费用f' (ν)f' (v) = g(v) + A d' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费 用权值,d' (ν)为当前节点V到目标节点的直线距离。优选的,还包括第二局部最优路径搜索单元,用于在同一层网络,基于自适应启发 式路径规划方法,搜索开始节点到目标节点之间的最优路径;所述开始节点到达目标节点 的费用f' (ν)的计算公式为f' (v) = g(v) + o Ad' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费 用权值,d' (ν)为当前节点V到目标节点的直线距离,σ为自适应调节参数;所述自适应 调节参数σ与所述局部最优路径的开始节点和目标节点之间的距离D相关;若D彡500千米,则σ=1;若100 千米< D < 500 千米,贝丨J σ = 0. 8+0. 2 X (D-100) / (500-100);若10 千米彡 DSlOO 千米,则 σ = 0. 6+0. 2 X (D-10) / (100-10);若D<10 千米,贝 Ijo = 0. 4+0. 2XD/10。与现有技术相比,本发明具有以下优点本发明优选实施例中,起点和终点的局部最优路径通过预设范围控制路网搜索规 模;远距离的节点Ji和Nk之间的最优路径在路网规模较小的上层路网进行搜索,从而使得 总体搜索规模在较小的可控范围内进行,路径搜索效率大大提高,可解决现有路径搜索效 率过低,对于规模较大的路网无法适于实用的问题。在本发明进一步的优选实施例中,通过起点和终点之间的距离配置路网的层数, 可适应不同距离情况的路径搜索,兼顾搜索效率和搜索精度的平衡,一方面,保证各种距离 情形下的路径分析结果的合理性,另一方面,通过搜索层数的控制,让各种距离情形下路径 分析算法的搜索空间保持稳定。在本发明进一步的优选实施例中,将当前层路网搜索的所有上一层节点采用堆数 据结构管理,作为上层路网局部最优路径搜索的基础,可综合处理局部最优和全局最优的 关系。在本发明进一步的优选实施例中,通过控制道路权值参数,可充分体现人们的实 际出行习惯,使路径分析的结果更加合理,尤其可规避一些理论上通行,但用户很难会选择 的路段。
另外,对于采用启发式搜索方法的情况,本发明的优选实施例中,通过增加自适应 调节参数ο,构造启发式费用权值λ与距离D的模糊映射关系对于较远距离的路径分 析,加大λ值,以优先考虑更高的效率;对于较近距离的路径分析,减小λ值,以获取更准 确的结果。


图1是现有技术Dijkstra与启发式路径搜索比较示意图;图2是本发明基于分层路网的路径搜索方法第一实施例流程图;图3是本发明基于分层路网的路径搜索方法分层策略示意图;图4-1 图4-5分别是北京市三环范围内分层路网中第1层 第5层路网示意 图;图5是本发明基于分层路网的路径搜索方法第二实施例流程图;图6是本发明基于分层路网的路径搜索装置一实施例的结构框图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。参照图2,示出了本发明基于分层路网的路径搜索方法第一实施例的流程,具体包 括以下步骤步骤S201 在下层路网分别搜索起点S的局部最优路径= (S. . . Ji)和终点E 的局部最优路径Rne = (Nk... Ε);上述节点Ji和节点Nk为上层路网节点;节点Ji位于起点S的预设范围内,节点Nk 位于终点E的预设范围内;该预设范围为以S或E为中心的圆形区域或方形区域,区域的大 小与节点所在的路网层相关,如,当节点位于第1层路网时,圆形区域的半径可设置为10千 米,方形区域的边长可设置为20千米;当节点位于第2层路网时,则圆形区域的半径可设置 为50千米,方形区域的边长可设置为100千米;若所述节点位于第3层以上的路网,则圆形 区域的半径可设置为100千米,方形区域的边长可设置为200千米。步骤S202 在上层路网搜索节点Ji和节点Nk的局部最优路径= (Ji. . . Nk);在步骤S201和S202的局部最优路径搜索中,可采用Dijkstra最短路径算法,也 可以采用启发式路径规划方法;若采用启发式路径规划方法,可采用用下列公式估算局部最优路径的开始节点到 达目标节点的费用f' (ν)f' (v) = g(v) + A d' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费 用权值,d' (ν)为当前节点ν到目标节点的直线距离。步骤S203 合并上述局部最优路径,获得从起点S到终点E的最优路径Rse = (S· · · Ji. · · Nj^· · · E) ο在本优选实施例中,为适应不同距离情况的路径搜索,兼顾搜索效率和搜索精度 的平衡,一方面,保证各种距离情形下的路径分析结果的合理性,另一方面,通过搜索层数的控制,让各种距离情形下路径分析算法的搜索空间保持稳定,通过起点S和终点E之间的 距离D来配置路网的层数η。一般来讲,D大于500千米时,为较远距离的省际间路径分析; 100 500公里为城市间路径分析;50 100公里为城市内部或相邻城市间的路径分析; 10 50公里为城市内部穿越;0 10公里为较劲距离路径分析。为此,本优选实施例对于 不同的距离区间,按下列规则设定不同的搜索层数控制若D < 10 千米,则 η = 1 ;若10千米彡D < 50千米,则η = 2 ;若50千米彡D < 100千米,则η = 3 ;若100千米彡D < 500千米,则η = 4 ;若D彡500千米,则η = 5。当η > 2时,步骤201中的局部最优路径和I ,的可采用下述方法实现将起点S和终点E是作为当前节点;判断当前节点是否为最上层路网节点,若否,在当前节点的预设范围内,基于当前 层路网搜索该当前节点到上一层路网节点的局部最优路径;将该上一层路网的节点作为当前节点,重复上述判断和搜索过程。参照图4-1 图4-5,分别示出了北京市三环范围内分层路网中第1层 第5层路 网图,其中,图4-1所示的第1层路网为去掉社区内部道路和公园内部道路等局部道路后的 道路图,图4-2 图4-5所示的第2层 第5层道路是基于道路功能属性、特征属性等进一 步抽象出的道路图,从图中不难看出,随着道路层数的上升,道路规模大大减少,因此,基于 本发明的分层路网上升搜索策略,可大大减少路径的搜索规模,从而使得总体搜索规模在 较小的可控范围内进行,路径搜索效率大大提高。在本优选实施例中,为避免因局部最优路径和全局最优路径的矛盾,将当前层路 网搜索的所有上一层节点采用堆数据结构管理,作为上层路网局部最优路径搜索的基础。参照图3,示出了一个简单的分层搜索策略示意图,图中虚线为相对下层路网G1, 实线为相对上层路网G2,S和E分别表示为起点和终点。在图3中,以起点S的上升搜索 为例,节点J1, J2, J3, J4都有可能是上层的起始点。因此,将节点J1 J4和N1 N4均纳入 堆数据结构管理,作为上层路网局部最优路径搜索的基础,需要分别计算路径(J1. . . N1), (J1. . . N2),。。。,(J4. . . N4),然后与路径(S. . . Ji)、(Nk. . . Ε)综合后比较,获得从起点S到终 点E总体费用最小的路径I SE = (S... Ji. . . Nk. . . Ε)。另外,为充分体现人们的实际出行习惯,使路径分析的结果更加合理,尤其是需要 规避一些理论上通行,但用户很难会选择的路段时,可根据起点S和终点E之间的距离,合 理地调整道路费用的权值。比如较远距离的时间最快路径分析,可以将最顶层高速公路的 权值减少,以使高速公路通过费用降低,规划路线更多地选择高速;反过来,对于较近距离 的路径分析,尽量减少高速和其他道路的费用权值差值,以避免“绕路”。在本优选实施例 中,为实现上述目标,增加了一个道路的费用权值参数S,并根据下述公式重新计算道路的 费用τ ‘τ ‘ = (β-δ)· τ,β e (0 1〕,δ e (0 β)其中,τ表示道路的原始费用;β表示道路的费用权值。显然,δ越大,τ'越小,即该道路的费用越小;道路的费用越小,在搜索路径时,
10该道路越会被优先搜索到。在步骤S201和S202的局部最优路径搜索中,采用启发式路径规划方法时,理论 上,只要启发式的估计费用小于实际的费用,启发式策略就可以在保证一定精度情形下有 效地提高Dijkstra算法的效率。但在大量的实际应用中,真实的路网分布和道路拓扑关系 都非常繁杂,过大的λ值很容易造成绕路,为此,在本方法实施例进一步的优选实施例中, 通过增加一个自适应调节参数σ,构造λ与D的模糊映射关系,当进行较远距离的路径分 析时,可加大λ的值,以优先考虑更高的搜索效率;对于较近距离,可减小λ值,以获取更 准确的搜索结果。其中,局部最优路径的开始节点到达目标节点的费用f' (ν)的计算公式 为f' (v) = g(v) + o Ad' (ν),σ e
上述公式中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启 发式费用权值,d' (ν)为当前节点ν到目标节点的直线距离,O为自适应调节参数;该自 适应调节参数σ与局部最优路径的开始节点和目标节点之间的距离D相关;若D 彡 500 千米,贝Ij σ = 1 ;若100 千米< D < 500 千米,则 σ = 0. 8+0. 2 X (D-100) / (500-100);若10 千米彡 D ( 100 千米,则 σ = 0. 6+0. 2 X (D-10) / (100-10);若D<10 千米,贝 Ijo = 0. 4+0. 2XD/10。参照图5,示出了本发明基于分层路网的路径搜索方法第二实施例的流程,具体包 括以下步骤步骤S501 将起点S和终点E作为当前节点,将第1层路网作为当前层路网;步骤S502 判断当前节点是否为最上层路网节点?若是,转步骤S505 ;否则,转步 骤 S503 ;步骤S503 在当前节点的预设范围内,基于当前层路网,搜索该当前节点到上一 层路网节点的局部最优路径;步骤S504:将上述上一层路网节点作为当前节点,将上述上一层路网作为当前层 路网;转步骤S502 ;步骤S505 合并起点S到最上层路网节点Ji之间的局部最优路径= (S. . . Ji), 以及,最上层路网节点Nk到终点E之间的局部最优路径Rne = (Nk. . . E);步骤S506 在最上层路网搜索所有最上层路网节点Ji和Nk之间的局部最优路径 Rjn = (Ji- · · Nk);步骤S507 合并上述局部最优路径,获得从起点S到终点E总体费用最小的路径 Rse = =(S. . . Ji. · · Nk. · · E)。对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但 是本领域的技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明, 某些步骤可以采用其他顺序或同时执行。其次,本领域技术人员也应该知悉,上述方法实施 例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。参照图6,示出了本发明基于分层路网的路径搜索装置一实施例的结构框图,具体 包括以下单元上升搜索单元61 用于在起点S的预设范围内基于下层路网搜索起点S到上层路网节点Ji的局部最优路径= (S. . . Ji),以及,在终点E的预设范围内基于下层路网搜索 终点E到上层路网节点Nk的局部最优路径Rne = (Nk. . . E);上层路径搜索单元62 用于在上层路网搜索上升搜索单元61产生的节点Ji和节 点Nk的局部最优路径I^n = (Ji. . . Nk);路径合并单元63 用于合并上升搜索单元61和上层路径搜索单元62产生的局部 最优路径1^、Rne和,获得从起点S到终点E的最优路径Rse = (S... Ji. . . Nk. . . E)。在本装置实施例的另一优选实施例中,还包括路网层数设置单元64、上升搜索控 制单元65、节点管理单元66、区域设置单元67、道路费用权值设置单元68、第一局部最优路 径搜索单元69-1和第二局部最优路径搜索单元69-2,其中路网层数设置单元64 采用下述规则设置路网的层数η 若D < 10千米,则η = 1 ;若10千米< D < 50千米,则η = 2 ;若50千米< D < 100千米,则η = 3 ;若100千米 ^ D < 500千米,则η = 4 ;若D彡500千米,则η = 5 ;其中D表示所述起点S和终点E之 间的距离。上升搜索控制单元65 采用下述策略为上升搜索单元61产生局部最优路径和 Rjn 将起点S和终点E作为当前节点;判断当前节点是否为最上层路网节点,若否,在当前 节点的预设范围内,基于当前层路网搜索该当前节点到上一层路网节点的局部最优路径; 将该上一层路网的节点作为当前节点,重复上述判断和搜索过程。节点管理单元66:用于将上升搜索控制单元65在当前层路网搜索的所有上一层 节点采用堆数据结构管理,作为上一层路网局部最优路径搜索的基础。区域设置单元67 用于为上升搜索单元61或上升搜索控制单元65设置节点的预 设搜索范围,该预设搜索范围为以该节点为中心的圆形区域或方形区域,其中若所述节点 位于第1层路网,则圆形区域的半径为10千米,方形区域的边长为20千米;若所述节点位 于第2层路网,则圆形区域的半径为50千米,方形区域的边长为100千米;若所述节点位于 第3层以上的路网,则圆形区域的半径为100千米,方形区域的边长为200千米。道路费用权值设置单元68 用于根据起点S和终点E之间的距离,设置道路的费 用权值参数、并根据下述公式计算道路的费用τ',为上升搜索单元61和上层路径搜索 单元62提供局部最优路径的搜索基础τ ‘ = (β-δ)· τ,β e (0 1〕,δ e (0 β)上述公式中,τ表示道路的原始费用;β表示道路的费用权值。第一局部最优路径搜索单元69-1 用于在同一层网络,基于迪杰斯特拉最短路径 算法或启发式路径规划方法,搜索开始节点到目标节点之间最优路径;对于启发式路径规 划方法,用下列公式估算局部最优路径的开始节点到达目标节点的费用f' (ν)f' (v) = g(v) + A d' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费 用权值,d' (ν)为当前节点V到目标节点的直线距离。第二局部最优路径搜索单元69-2:用于在同一层网络,基于自适应启发式路径 规划方法,搜索开始节点到目标节点之间的最优路径;上述开始节点到达目标节点的费用 f ‘ (ν)的计算公式为f' (v) = g(v) + o Ad' (ν)
其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费 用权值,d' (ν)为当前节点V到目标节点的直线距离,σ为自适应调节参数;该自适应调 节参数σ与局部最优路径的开始节点和目标节点之间的距离D相关若D彡 500 千米,贝Ij σ = 1 ;若100 千米< D < 500 千米,贝丨J σ = 0. 8+0. 2 X (D-100) / (500-100);若10 千米彡 D ( 100 千米,则 σ = 0. 6+0. 2 X (D-10) / (100-10);若D <10 千米,贝Ijo = 0. 4+0. 2XD/10。需要说明的是,上述装置实施例属于优选实施例,所涉及的单元和模块并不一定 是本发明所必须的。下面,结合具体实例,与现有Dijkstra算法方案、启发式搜索方案对比说明本发 明基于分层路网的路径搜索方案的技术效果。运行环境CPU为 Pentium E52002. 5GHz,内存 2GB,操作系统为 WindowsXP。基础数据ISBN978-7-900M7-80-3全国数据,弧段数量为4693431条。实施过程包括6组实验,每一组实验选取100个案例。对于城际间的路径搜索分 析,每一组案例以起始地范围内(如北京市)随机取点作为起点,以到达地范围内(如海南 省)随机取点作为终点。对于市内(如北京市和上海市)的路径搜索分析,只随机选取起 点和终点距离在10公里以上的案例作为测试用例。上述实验的搜索规模和搜索时间对比 情况分别参见表1和表2所示。需要说明的是,考虑到当弧段数量大于沈0000时,所需的内存等资源占用会非常 大,特别是在嵌入式设备上,可能会出现因资源耗尽而宕机的问题,因此,实验中设定,当搜 索弧段大于260000时,搜索堆会溢出。如果出现堆溢出情况,在计算搜索弧段和搜索时间 均值时,不考虑该溢出案例。表1搜索规模对比情况(搜索弧段数量的对比)
起点-终点Dijkstra算法搜 索弧段数量(条)启发式方案搜索 弧段数量(条)本发明方案的搜 索弧段数量(条)最大均值最大均值最大均值北京-海南溢出溢出溢出溢出90444616北京-广州溢出溢出溢出溢出63933461北京-郑州溢出溢出986856851013631013北京-天津溢出168162600472901721251025北京市内19034987038350771128197883277上海市内211970107581501731907573112254 表2搜索效率对比情况(搜索时间的对比)
1权利要求
1.一种基于分层路网的路径搜索方法,其特征在于,包括在下层路网分别搜索起点S的局部最优路径= (S. . . Ji)和终点E的局部最优路径 Rne = (Nk. . . E);所述节点Ji和节点Nk为上层路网节点;所述节点Ji位于起点S的预设范 围内,所述节点Nk位于终点E的预设范围内;在上层路网搜索节点Ji和节点Nk的局部最优路径Rtn = (Ji. . . Nk);合并上述局部最优路径,获得从起点S到终点E的最优路径I SE = (S... Ji. . . Nk. . . Ε)。
2.如权利要求1所述的方法,其特征在于,所述局部最优路径和I ,的搜索方法具 体为将起点S和终点E是作为当前节点;判断当前节点是否为最上层路网节点,若否,在当前节点的预设范围内,基于当前层路 网搜索该当前节点到上一层路网节点的局部最优路径;将该上一层路网的节点作为当前节点,重复上述判断和搜索过程。
3.如权利要求1所述的方法,其特征在于,所述路网的层数η与所述起点S和终点E之 间的距离D相关若0 < 10千米,则η = 1 ; 若10千米< D < 50千米,则η = 2 ; 若50千米< D < 100千米,则η = 3 ; 若100千米< D < 500千米,则η = 4 ; 若D彡500千米,则η = 5。
4.如权利要求2所述的方法,其特征在于,将当前层路网搜索的所有上一层节点采用 堆数据结构管理,作为上层路网局部最优路径搜索的基础。
5.如权利要求1或2所述的方法,其特征在于,所述节点的预设范围为以该节点为中心 的圆形区域或方形区域,其中若所述节点位于第1层路网,则圆形区域的半径为10千米,方形区域的边长为20千米;若所述节点位于第2层路网,则圆形区域的半径为50千米,方形区域的边长为100千米;若所述节点位于第3层以上的路网,则圆形区域的半径为100千米,方形区域的边长为 200千米。
6.如权利要求1所述的方法,其特征在于,在所述局部最优路径搜索步骤之前还包括 根据所述起点S和终点E之间的距离,增加道路的费用权值参数δ,并根据下述公式计算道 路的费用τ ‘τ ‘ = (β-δ) . τ,β £(0 1〕,δ e(0 β)其中,τ表示道路的原始费用;β表示道路的费用权值。
7.如权利要求1所述的方法,其特征在于,在同一层网络搜索局部最优路径的方式为 迪杰斯特拉最短路径算法或启发式路径规划方法;对于启发式路径规划方法,用下列公式估算局部最优路径的开始节点到达目标节点的 费用f' (ν)f' (v) = g(v) + Ad' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费用权 值,d' (ν)为当前节点ν到目标节点的直线距离。
8.如权利要求1所述的方法,其特征在于,在同一层网络搜索局部最优路径的方式为 自适应启发式路径规划方法,所述局部最优路径的开始节点到达目标节点的费用f' (ν) 的计算公式为f' (v) = g(v) + 0 λ d' (ν)其中,g(v)为局部最优路径的开始节点到当前节点V的实际费用,λ为启发式费用权 值,d' (ν)为当前节点V到目标节点的直线距离,σ为自适应调节参数;所述自适应调节 参数σ与所述局部最优路径的开始节点和目标节点之间的距离D相关;若D彡500千米,则σ=1;若 100 千米< D < 500 千米,贝U σ = 0. 8+0. 2 X (D-100) / (500-100);若 10 千米彡 D ( 100 千米,则 σ = 0. 6+0. 2 X (D-10) / (100-10);若 D <10 千米,贝Ijo = 0. 4+0. 2XD/10。
9.一种基于分层路网的路径搜索装置,其特征在于,包括上升搜索单元用于在起点S的预设范围内基于下层路网搜索起点S到上层路网节点 Ji的局部最优路径= (S... Ji),以及,在终点E的预设范围内基于下层路网搜索终点E 到上层路网节点Nk的局部最优路径Rne = (Nk. . . Ε);上层路径搜索单元用于在上层路网搜索所述上升搜索单元产生的节点Ji和节点Nk的 局部最优路径Rjn = (Ji- . . Nk);路径合并单元用于合并所述上升搜索单元和上层路径搜索单元产生的局部最优路径 Rsj > Rne和IW获得从起点S到终点E的最优路径Rse = (S... Ji... Nk... Ε)。
10.如权利要求9所述的装置,其特征在于,还包括路网层数设置单元和上升搜索控制 单元,其中所述上升搜索控制单元采用下述策略为所述上升搜索单元产生局部最优路径和 Rjn 将起点S和终点E作为当前节点;判断当前节点是否为最上层路网节点,若否,在当前 节点的预设范围内,基于当前层路网搜索该当前节点到上一层路网节点的局部最优路径; 将该上一层路网的节点作为当前节点,重复上述判断和搜索过程;所述路网层数设置单元采用下述规则设置路网的层数η 若D < 10千米,则η = 1 ;若 10千米< D < 50千米,则η = 2 ;若50千米< D < 100千米,则η = 3 ;若100千米< D < 500千米,则η = 4 ;若D彡500千米,则η = 5 ;其中D表示所述起点S和终点E之间的 距离。
11.如权利要求10所述的装置,其特征在于,还包括节点管理单元,用于将上升搜索控 制单元在当前层路网搜索的所有上一层节点采用堆数据结构管理,作为上一层路网局部最 优路径搜索的基础。
12.如权利要求9或10所述的装置,其特征在于,还包括区域设置单元,用于为所述上 升搜索单元或上升搜索控制单元设置所述节点的预设搜索范围,该预设搜索范围为以该节 点为中心的圆形区域或方形区域,其中若所述节点位于第1层路网,则圆形区域的半径为10千米,方形区域的边长为20千米;若所述节点位于第2层路网,则圆形区域的半径为50千米,方形区域的边长为100千米;若所述节点位于第3层以上的路网,则圆形区域的半径为100千米,方形区域的边长为 200千米。
13.如权利要求9所述的装置,其特征在于,还包括道路费用权值设置单元,用于根据 所述起点S和终点E之间的距离,设置道路的费用权值参数δ,并根据下述公式计算道路的 费用τ',为所述上升搜索单元和上层路径搜索单元提供局部最优路径的搜索基础τ ‘ = (β-δ) . τ,β e (0 1〕,δ e (0 β)其中,τ表示道路的原始费用;β表示道路的费用权值。
14.如权利要求9所述的装置,其特征在于,还包括第一局部最优路径搜索单元,用于 在同一层网络,基于迪杰斯特拉最短路径算法或启发式路径规划方法,搜索开始节点到目 标节点之间最优路径;对于启发式路径规划方法,用下列公式估算局部最优路径的开始节 点到达目标节点的费用f' (ν)f' (v) = g(v) + Ad' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费用权 值,d' (ν)为当前节点ν到目标节点的直线距离。
15.如权利要求9所述的装置,其特征在于,还包括第二局部最优路径搜索单元,用于 在同一层网络,基于自适应启发式路径规划方法,搜索开始节点到目标节点之间的最优路 径;所述开始节点到达目标节点的费用f' (ν)的计算公式为f' (v) = g(v) + o λ d' (ν)其中,g(v)为局部最优路径的开始节点到当前节点ν的实际费用,λ为启发式费用权 值,d' (ν)为当前节点ν到目标节点的直线距离,σ为自适应调节参数;所述自适应调节 参数σ与所述局部最优路径的开始节点和目标节点之间的距离D相关;若D彡500千米,则σ=1;若 100 千米< D < 500 千米,则 σ = 0. 8+0. 2 X (D-100) / (500-100);若 10 千米彡 D ( 100 千米,则 σ = 0. 6+0. 2 X (D-10) / (100-10);若 D <10 千米,贝Ijo = 0. 4+0. 2XD/10。
全文摘要
本发明提供了一种基于分层路网的路径搜索方法和装置,所述方法包括在下层路网分别在预设范围内搜索起点S的局部最优路径RSJ=(S...Ji)和终点E的局部最优路径RNE=(Nk...E);所述节点Ji和节点Nk为上层路网节点;在上层路网搜索节点Ji和节点Nk的局部最优路径RJN=(Ji...Nk);合并上述局部最优路径,获得从起点S到终点E的最优路径RSE=(S...Ji...Nk...E)。本发明方案中,起点和终点的局部最优路径通过预设范围控制路网搜索规模;远距离的节点Ji和Nk之间的最优路径在路网规模较小的上层路网进行搜索,从而使得总体搜索规模在较小的可控范围内进行,路径搜索效率大大提高。
文档编号G06F17/30GK102081658SQ201110006188
公开日2011年6月1日 申请日期2011年1月13日 优先权日2011年1月13日
发明者李少杰, 李楷, 马海波, 黄跃峰 申请人:北京超图软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1