CN104390651B - 考虑交叉口转向限制的最短路径混合边节点标号方法 - Google Patents
考虑交叉口转向限制的最短路径混合边节点标号方法 Download PDFInfo
- Publication number
- CN104390651B CN104390651B CN201410706334.0A CN201410706334A CN104390651B CN 104390651 B CN104390651 B CN 104390651B CN 201410706334 A CN201410706334 A CN 201410706334A CN 104390651 B CN104390651 B CN 104390651B
- Authority
- CN
- China
- Prior art keywords
- path
- impedance
- enter
- judges
- label
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
Abstract
本发明提供一种考虑交叉口转向限制的最短路径混合边节点标号方法,用于导航领域中的最短路径生成,尤其用于在包含交叉口转向限制的城市交通网络中高效地查找最短路径。本发明将节点分为两类,一类为包含转向限制的受限交叉口,另一类为无转向限制的自由交叉口,在最短路径查找过程中自适应选择基于节点或者边标号策略,对于受限交叉口采用基于边的标号策略,对于自由交叉口采用基于节点的标号策略;采用初始化、路径选择、路径扩展三个步骤实现并进行了具体子步骤设计。本发明能够获得与基于边的标号方法一致的最优结果,同时通过有效地减少在自由交叉口的路径生成、评估、存储的系统消耗,达到或者接近基于节点的标号方法的运算性能。
Description
技术领域
本发明涉及导航领域中的最短路径计算技术领域,尤其是涉及一种考虑交叉口转向限制的最短路径混合边节点标号方法。
背景技术
最短路径问题,即查找起点和终点间的最优路径,在交通工程学、地理信息科学和通信等领域有着广泛的应用。继Dijkstra(1959)和Hart(1968)的先驱工作之后,在文献中已有多种高效的算法和数据结构用于求解最短路径问题。
近年来,导航和位置服务应用的大量兴起,研发满足大众出行服务实际需求的最短路径计算方法变得愈发重要。在真实城市网络中,左转向和掉头经常被禁止,用于减少交叉口信号灯周期,提高交叉口的通行能力。然而,传统最短路径算法为基于节点的标号算法(Dijkstra算法),将交通网络抽象为简单的有向图,缺乏对交叉口转向限制的有效建模,导致查找的最短路径包含不合理的交叉口转向,不能在实际导航应用中使用。
针对以上问题,国内外学者已提出多种方法对交叉口转向限制进行建模。第一种为网络修正法,该方法用由虚拟的点和边所组成的子网络所代替交通网络中每个交叉路口。经过网络修正后,传统最短路径算法能够被直接应用。然而,网络修正需要大量的编辑工作,非常耗时耗力,无法适应大范围城市网络导航的需求。此外,由于网络修正带了明显的网络规模扩张,该方法往往使网络变得太大而无法加载到内存中。作为一种替代方法,Gutierrez和Medaglia(2008)提出一种基于边的最短路径标号方法,采用基于边的标号策略,能够直接在原始路网中使用,无须对网络进行修正,使其广泛使用于众多导航应用中。然而,由于交通网络中边的数量远大于节点数量,基于边的标号方法与传统基于节点的标号方法相比具有明显的效率低下问题。
参考文献:Gutierrez,E.and Medaglia,A.L.,2008,Labeling algorithm forthe shortest path problem with turn prohibitions with application to large-scale road networks.Annals of Operations Research,157,pp.169-182.
发明内容
本发明提出一种混合边-节点标号方法(Hybrid link-node Dijkstraalgorithm,HLND),用于在包含交叉口转向限制的城市道路网络中查找最短路径。
本发明提供一种考虑交叉口转向限制的最短路径混合边节点标号方法,包括以下步骤:
步骤1,初始化,包括以下子步骤,
S101,首先判断遍历网络中是否还有未遍历的边αjk,是则进入S102,否则进入S103;
S102,判断边αjk的尾节点k是否为受限节点,
是则初始化边αjk的标号阻抗否则初始化节点k的标号阻抗
然后返回S101;
S103,创建从起点r到自身的标号令其阻抗为
S104,判断起点r是否还有未遍历的下游边αrk,是则进入S105,否则进入步骤2;
S105,新建路径且令阻抗trk为边αrk的阻抗;
S106,判断边αrk的尾节点k是否为受限节点;
是则初始化边αrk的标号阻抗
否则初始化节点k的标号阻抗
S107,将插入到优先队列SE中,使
然后返回S104;
步骤2,路径选择,包括以下子步骤,
S201,判断是否优先队列SE为空,是则停止流程返回为空,否则进入S202;
S202,从优先队列SE中选取并移除阻抗最小的路径路径的最后一条边αij称为选取边;
S203,判断是否路径的尾节点j为终点s,是则停止流程返回最短路径否则进入步骤3;
步骤3,路径扩展,包括以下子步骤,
S301,判断选取边αij是否有为遍历的可行转向ψijk,是则进入S302,否则返回步骤2;
S302,新建路径令相应阻抗
S303,判断转向的尾节点k是否为受限节点,是则进入S304,否则进入S307;
S304,判断新建路径阻抗是否小于现有的边标号的阻抗是则进入S305,否则返回S301;
S305,判断现有边标号是否属于优先队列SE,是则将移出优先队列SE,然后进入S306,否则直接进入S306;
S306,用新建路径替换现有边标号将新建路径加入优先队列,使然后返回S301;
S307,判断新建路径阻抗是否小于现有的节点标号的阻抗是则进入S308,否则返回S301;
S308,判断现有节点标号是否属于优先队列SE,则将移出优先队列SE,然后进入S309,否则直接进入S309;
S309,用新建路径替换现有节点标号将新建路径加入优先队列,使然后返回S301。
本方法无需网络修正,将节点分为两类:一类为包含转向限制的受限交叉口,另一类为无转向限制的自由交叉口,在最短路径查找过程中自适应选择基于节点或者边标号策略,对于受限交叉口采用基于边的标号策略,对于自由交叉口采用基于节点的标号策略。本方法能够获得与基于边的标号方法一致的最优解,同时通过有效地减少在自由交叉口的路径生成、评估、存储的系统消耗,达到或者接近基于节点的标号方法的运算性能。
附图说明
图1为本发明实施例的流程图。
具体实施方式
本发明的技术方案为一种混合边-节点标号方法,其原理在于,在最短路径查找过程中自适应选择基于节点或者边标号策略,对于受限交叉口采用基于边的标号策略,对于自由交叉口采用基于节点的标号策略。具体实施时,可采用计算机软件技术实现自动运行流程。参见图1,实施例包括以下步骤,
步骤1:初始化
实施例的具体初始化实现设计如下:
遍历网络中的每条边αjk
若边αjk的尾节点k是受限交叉口,则令边αjk的标号为空,阻抗为无穷大
若边αjk的尾节点k是自由交叉口,则令k节点的标号为空,阻抗为无穷大
结束遍历
创建从起点r到自身的标号令其阻抗为
遍历起点r的每条下游边αrk
新建路径(即在路径末端添加边αrk),且令其阻抗为边αrk的阻抗trk
若边αrk的尾节点k是受限交叉口,则令边标号且阻抗
若边αrk的尾节点k是自由交叉口,则令节点标号且阻抗
将插入到优先队列SE中,
结束遍历
本文中根据习惯,用:=表示等于。
相应流程可设计如下:
S101,首先判断遍历网络中是否还有未遍历的边αjk,是则进入S102,否则进入S103;
S102,判断边αjk的尾节点k是否为受限节点(即受限交叉口),
是则初始化边αjk的标号阻抗否则初始化节点k的标号阻抗
S103,创建从起点r到自身的标号令其阻抗为
S104,判断起点r是否还有未遍历的下游边αrk,是则进入S105,否则进入步骤2;
S105,新建路径且令阻抗trk为边αrk的阻抗;
S106,判断边αrk的尾节点k是否为受限节点(即受限交叉口);
是则初始化边αrk的标号阻抗
否则初始化节点k的标号阻抗
S107,将插入到优先队列SE中,
然后返回S104。
步骤2:路径选择
实施例的具体初始化实现设计如下:
如果优先队列为空(即),则停止,否则继续
从SE中选取并移除阻抗最小的路径(路径的最后一条边αij称为选取边)
如果选取路径的尾节点j为终点s,则停止流程返回最短路径否则继续
相应流程可设计如下:
S201,判断是否优先队列为空,是则停止流程返回为空,否则进入S202;
S202,从SE中选取并移除阻抗最小的路径路径的最后一条边αij称为选取边;
S203,判断是否路径的尾节点j为终点s,是则停止流程返回最短路径否则进入步骤3。
步骤3:路径扩展
实施例的具体初始化实现设计如下:
遍历选取边αij的每个可行转向ψijk(ψijk为边αij到边αjk的转向,tjk为边αjk的阻抗)
新建路径(即在选取路径末端添加边αjk),令阻抗
如果可行转向ψijk的尾节点k为受限交叉口
如果新建路径阻抗小于现有的边标号的阻抗
如果现有边标号则将移出优先队列
替换现有边标号将新建路径加入优先队列,即
结束如果
结束如果
如果可行转向尾节点k是自由交叉口
如果新建路径阻抗小于现有的节点标号的阻抗
如果现有节点标号则将移出优先队列
替换现有节点标号将新建路径加入优先队列,即
结束如果
结束如果
结束遍历
返回步骤2
相应流程可设计如下:
S301,判断选取边αij是否有为遍历的可行转向ψijk,是则进入S302,否则返回步骤2;
S302,新建路径令其阻抗
S303,判断转向的尾节点k是否为受限节点(即受限交叉口),是则进入S304,否则进入S307;
S304,判断新建路径阻抗是否小于现有的边标号的阻抗是则进入S305,否则返回S301;
S305,判断现有边标号是否属于优先队列SE,是则将移出优先队列SE,然后进入S306,否则直接进入S306;
S306,用新建路径替换现有边标号将新建路径加入优先队列,即然后返回S301;
S307,判断新建路径阻抗是否小于现有的节点标号的阻抗是则进入S308,否则返回S301;
S308,判断现有节点标号是否属于优先队列SE,则将移出优先队列SE,然后进入S309,否则直接进入S309;
S309,用新建路径替换现有节点标号将新建路径加入优先队列,即然后返回S301。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (1)
1.一种考虑交叉口转向限制的最短路径混合边节点标号方法,其特征在于,包括以下步骤:
步骤1,初始化,包括以下子步骤,
S101,首先判断遍历网络中是否还有未遍历的边αjk,是则进入S102,否则进入S103;
S102,判断边αjk的尾节点k是否为受限节点,
是则初始化边αjk的标号阻抗否则初始化节点k的标号阻抗
然后返回S101;
S103,创建从起点r到自身的标号令其阻抗为
S104,判断起点r是否还有未遍历的下游边αrk,是则进入S105,否则进入步骤2;
S105,新建路径且令阻抗trk为边αrk的阻抗;
S106,判断边αrk的尾节点k是否为受限节点;
是则初始化边αrk的标号阻抗
否则初始化节点k的标号阻抗
S107,将插入到优先队列SE中,使
然后返回S104;
步骤2,路径选择,包括以下子步骤,
S201,判断是否优先队列SE为空,是则停止流程返回为空,否则进入S202;
S202,从优先队列SE中选取并移除阻抗最小的路径路径的最后一条边αij称为选取边;
S203,判断是否路径的尾节点j为终点s,是则停止流程返回最短路径否则进入步骤3;
步骤3,路径扩展,包括以下子步骤,
S301,判断选取边αij是否有为遍历的可行转向ψijk,是则进入S302,否则返回步骤2;
S302,新建路径令相应阻抗
S303,判断转向的尾节点k是否为受限节点,是则进入S304,否则进入S307;
S304,判断新建路径阻抗是否小于现有的边标号的阻抗是则进入S305,否则返回S301;
S305,判断现有边标号是否属于优先队列SE,是则将移出优先队列SE,然后进入S306,否则直接进入S306;
S306,用新建路径替换现有边标号将新建路径加入优先队列,使然后返回S301;
S307,判断新建路径阻抗是否小于现有的节点标号的阻抗是则进入S308,否则返回S301;
S308,判断现有节点标号是否属于优先队列SE,则将移出优先队列SE,然后进入S309,否则直接进入S309;
S309,用新建路径替换现有节点标号将新建路径加入优先队列,使然后返回S301;
其中,:=表示等于。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410706334.0A CN104390651B (zh) | 2014-11-27 | 2014-11-27 | 考虑交叉口转向限制的最短路径混合边节点标号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410706334.0A CN104390651B (zh) | 2014-11-27 | 2014-11-27 | 考虑交叉口转向限制的最短路径混合边节点标号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104390651A CN104390651A (zh) | 2015-03-04 |
CN104390651B true CN104390651B (zh) | 2017-02-22 |
Family
ID=52608586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410706334.0A Active CN104390651B (zh) | 2014-11-27 | 2014-11-27 | 考虑交叉口转向限制的最短路径混合边节点标号方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104390651B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105841709B (zh) * | 2016-03-22 | 2019-01-18 | 吉林大学 | 一种汽车行驶路径规划方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100535600C (zh) * | 2005-08-25 | 2009-09-02 | 厦门雅迅网络股份有限公司 | 一种提供道路导航路径的装置 |
CN101571995B (zh) * | 2009-06-11 | 2011-06-08 | 东南大学 | 考虑交叉口转向的最短路径标号算法 |
CN102169637B (zh) * | 2010-12-08 | 2013-05-22 | 北京大学 | 面向城市交通的动态路径诱导方法 |
US20130261965A1 (en) * | 2011-03-31 | 2013-10-03 | Microsoft Corporation | Hub label compression |
CN103149576B (zh) * | 2013-01-29 | 2014-12-17 | 武汉大学 | 一种浮动车数据的地图匹配方法 |
-
2014
- 2014-11-27 CN CN201410706334.0A patent/CN104390651B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104390651A (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6257313B2 (ja) | 道路網動的適応ヒエラルキーおよびルーティングのための方法およびシステム | |
CN102538806B (zh) | 一种路径规划方法以及相关设备 | |
CN104567894B (zh) | 用于提供地图数据的装置和方法及其系统 | |
CN108647221B (zh) | 一种基于gis的公交路径规划方法 | |
CN107389079B (zh) | 高精度路径规划方法和系统 | |
CN102081658A (zh) | 基于分层路网的路径搜索方法和装置 | |
US20110158232A1 (en) | Computer-implemented systems and methods for planning a route | |
CN101694749A (zh) | 一种路径推测方法及装置 | |
CN103268701B (zh) | 城市路网负载平衡方法 | |
CN101645200A (zh) | 导航路径选择方法和装置 | |
CN107883971A (zh) | 导航路线的更新方法及装置 | |
CN110619426B (zh) | 一种路网模型的构建方法、装置、设备和存储介质 | |
Li et al. | A hybrid link‐node approach for finding shortest paths in road networks with turn restrictions | |
CN101650191A (zh) | 道路网络拓扑抽象的方法及装置 | |
CN102506849A (zh) | 寻找带约束的最短路径的方法 | |
CN103968854A (zh) | 一种路径聚类规划方法 | |
CN107403550A (zh) | 公交路网数据采集方法、装置和终端设备 | |
CN105160429B (zh) | 一种具有虚拟换乘微枢纽的多模式公交换乘方法 | |
CN112985443A (zh) | 路径规划方法、装置及终端设备 | |
CN104390651B (zh) | 考虑交叉口转向限制的最短路径混合边节点标号方法 | |
CN100520300C (zh) | 城际导航路径的计算方法 | |
CN104596527A (zh) | 一种划分各级引导道路和细街路的方法 | |
CN104217580A (zh) | 面向车辆群组动画的路网语义建模方法及系统 | |
CN103021257B (zh) | 电子地图的生成方法及装置 | |
Dibbelt | Engineering algorithms for route planning in multimodal transportation networks |
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 |