CN107121146A - 基于路链深度的最优路径规划方法 - Google Patents
基于路链深度的最优路径规划方法 Download PDFInfo
- Publication number
- CN107121146A CN107121146A CN201710408095.4A CN201710408095A CN107121146A CN 107121146 A CN107121146 A CN 107121146A CN 201710408095 A CN201710408095 A CN 201710408095A CN 107121146 A CN107121146 A CN 107121146A
- Authority
- CN
- China
- Prior art keywords
- chain
- road
- road chain
- queue
- path
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
Abstract
本发明提出了一种基于路链深度的最优路径规划方法,用于解决现有最优路径规划方法中存在的规划效率低的技术问题。实现步骤为:生成路链拓扑文件;创建路链队列;采用动态规划算法计算路链的邻接路链哈希表;获取目标节点所在的路链深度;计算待规划路径的最短长度;由终点回溯至起点得到待规划路径。本发明基于路链进行路径规划,路链的深度作为转弯次数,用广度搜索得到最少转弯次数,在计算路链的邻接路链哈希表时采用了动态规划算法,将当前步骤的最优结果保存下来,用于后续路链扩展时的计算,有效地提高了后续步骤在计算最优解时的效率,并且相应的减少了储存空间,该方法规划得到的路径符合人们对道路选择的感性认知,可用于车辆导航。
Description
技术领域
本发明属于导航技术领域,涉及一种最优路径规划方法,具体涉及一种基于路链深度的最优路径规划方法,可以用来路径搜索、资源配置和车辆导航。
背景技术
路径规划,是指在具有障碍物的环境中,基于网络拓扑结构,按照一定的评价标准,寻找一条从起始状态到目标状态的无碰撞路径。路径规划问题可以抽象成图论中的最优路径搜索问题,即图论中求解带权图的最优路径问题。在交通控制、资源配置、车辆导航等领域,最优路径方法越来越成为研究的热点。
路径规划具体实现算法分为两大类,分别为遍历算法和启发式算法,广度优先搜索(Breadth-First-Search)是一种简单的遍历算法,无论是有向图还是无向图,广度优先搜索算法都适用。从宏观上来看,每一次迭代,广度优先搜索算法会向外拓展一次已访问过的范围。许多经典的路径规划算法都是从广度优先搜索算法演化而来,例如Prim最小生成树算法和Dijkstra算法。基于广度优先算法的路径规划,由于广度优先算法本身的特点,使得在规划路径时规划方法的算法效率低,并且空间复杂度高。
启发式搜索算法是路径规划算法中的经典算法,是指在对状态空间的搜索过程中,首先评估各个搜索位置,接着选取一个最佳的位置,最佳位置一般是与目标估计距离最小的位置,然后将这个最佳的位置当作新的起点来继续搜索,从而逐渐向目标靠近,直至搜索到最终目标为止。这样剪除掉了许多无意义的搜索,提升了搜索效率。启发式搜索算法有GBFS(Greedy-Best-First Search)搜索算法和A*算法。GBFS算法是在广度优先搜索算法的基础上加入评估函数,通过评估函数,避免一些不可能得到最短路径的搜索动作。GBFS的搜索效率明显高于广度优先算法。但是因为GBFS算法的评价函数基于贪心策略设计,只考虑位置方向的信息,总是试图向最接近目标点的方向移动,使得GBFS算法在有障碍物的地图上表现不佳,很多情况下得到的路径都不是最短路径。A*算法最大的一个优势在于其不仅能精确的寻找到最短的路径,而且其搜索范围比较小。总而言之,它融合了Dijkstra算法与GBFS算法的优点,是目前各种寻径算法中最受欢迎的选择,即使在有障碍物的情况下,选择合适的距离评估函数,A*算法也能够搜索到最短路径。但是仅考虑路径规划的最短路径时,A*算法在现实道路网中得到的路径虽然在距离上是最短,但是所得路径的转弯次数太多,不符合现实生活中人们驾车出行时对路径选择的感性认识。
在评价路径规划方法的优劣时,路径复杂性和路径长度同等重要,Streeter等人发现,面对规划出来的路径时,人们更易选择那些相对直观的路径,在20多种路径选择标准之中,转弯次数较少的舒适路径是最受欢迎的一种标准。例如在国家地理信息科学杂志上,Bin Jiang在Computing the fewest turn map directions based on the connectivityof natural roads一文中提出了一种基于路链得到最少转弯时的最短路径规划方法,规划的路径符合人们选择道路的感性认知,但是他所提出的方法中在计算最少转弯路径时采用广度优先搜索算法,并将搜索到的所有路径结果都保存下来用于后续的最短路径判断中,这无疑保留了广度优先算法的算法效率低,这样的路径规划在理论上的正确性是毋庸置疑的,但是他的算法效率则有待提升。
面对如今日益复杂的道路网络,尤其是超大规模路网,路径规划的效率需要进一步提升。现有的方法通常是对常用路径规划算法进行改进,例如数据结构的优化、搜索空间、分层搜索等。然而,我们忽略了这样的一点,路网数据库作为路径规划算法的输入,对路径规划的效率也有显著的影响,例如对于同一个路网,路网数据库A以图的方式存储了1000个元素,路网数据库B以另外的一种“巧妙”的方式存储了100个元素,那么基于路网数据库B的路径规划效率肯定会更高。因此在不损失地图的信息前提下,降低路网在数据库中的元素数量且,可以提升路径规划的效率。上述的“巧妙”的方式之一就是以路链为基本元素来表达地图。路链的概念由Thomson于2006年首次提出,路链是指一条自然延伸的道路,由道路网中相互之间具有良好延续性的路段拼接而成。较长的路链可以代表主路网中的主干道,而对于较短的路链,它可以代表路网中的小道路。任何地理网络都可以完全分解为路链,路链不仅突出了道路的几何整体性,还能保持路网的各部分结构及道路连通性。以图的方式来构建路网的拓扑是将节点(即路口)作为基本元素,以路链的方式来构建路网的拓扑以一条自然道路作为基本元素。因为路网中道路的数量肯定要比路口的数量要少,因此采用路链的方式来表达地图所需要的元素更少,以路链为基础进行路径规划效率更高。
动态规划算法通常用于求解具有某种最优性质的问题。动态规划算法能够保存已解决的子问题的最优解,并整合子问题的最优解来构建最终问题的最优解,这样就可以避免大量的重复计算,节省时间,进而提高算法效率。
发明内容
本发明的目的在于克服上述现有技术存在的不足,提出了一种基于路链深度的最优路径规划方法,旨在获得最优路径的同时,提高规划效率。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(1)根据城市道路网生成节点拓扑文件,并根据节点拓扑文件生成路链拓扑文件,该路链拓扑文件的路链数据结构包括访问判断、前继指针、路链深度、哈希表和最后路链;
(2)创建路链队列:
(2a)在路链拓扑文件中搜索包含待规划路径起点的路链,并将搜索到的路链作为路链队列元素;
(2b)对路链队列元素的哈希表进行初始化,得到路链队列;
(3)判断路链队列是否为空,若是,路径规划失败,否则,从路链队列中取出队首路链,并执行步骤(4);
(4)采用动态规划算法,计算队首路链的各邻接路链哈希表的键值:
(4.1)获取队首路链的各邻接路链最小邻接长度minadjlength:
分别计算各邻接路链的邻接长度adjlength,并找出各邻接路链邻接长度的最小值;
(4.2)判断各邻接路链哈希表中是否存在与队首路链的交点,若是,比较邻接路链与队首路链交点在邻接路链哈希表中的值与邻接路链的最小邻接长度minadjlength的大小,并将比较结果的最小值作为邻接路链与队首路链交点在哈希表中的值,否则,在邻接路链的哈希表中新增一个键值对,该键值对的键为邻接路链与队首路链的交点,值为邻接路链的最小邻接长度minadjlength;
(5)判断队首路链是否含有待规划路径目标节点,若是,定义路链队列的截止深度,并将队首路链的路链深度值赋予路链队列的截止深度,再执行步骤(7),否则,执行步骤(6);
(6)判断队首路链的各邻接路链是否存在于路链队列中或被访问过,若是,执行步骤(7),否则,给队首路链的路链深度增加一后赋予邻接路链的路链深度,并将队首路链的邻接路链加入路链队列,再执行步骤(7);
(7)判断队首路链是否被标记为最后路链,若是,同时改变路链队列最后一个元素的最后路链状态和队首路链访问标记状态,否则,改变队首路链访问标记状态;
(8)判断队首路链的路链深度是否大于路链队列的截止深度,若是,执行步骤(9),否则,执行步骤(3);
(9)获取待规划路径的最短长度:
(9.1)依次判断待规划路径目标节点所在各路链的深度与路链队列的截止深度是否相等,若是,执行步骤(9.2),否则,跳过该条待规划路径目标节点所在的路链,并执行步骤(9.1);
(9.2)获取待规划路径目标节点所在各路链最短的最终长度;
(9.3)在待规划路径目标节点所在各路链最短的最终长度中,找出最小的值作为待规划路径的最短长度;
(10)获取待规划路径的路线:由待规划路径目标节点的前继指针回溯至待规划路径起点,得到待规划路径的路线。
本发明与现有技术相比,具有如下优点:
1、本发明由于以路链的方式来构建路网的拓扑结构图,基本元素是道路网中的自然道路,道路网中道路的数量明显少于道路网中路口的数量,采用路链的方式来表达地图所需要的元素更少,提高了路径效率的同时降低了空间复杂度。
2、本发明由于在获取待规划路径的最短长度的过程中,采用动态规划算法计算队首邻接路链的各邻接路链哈希表的键值,得到邻接路链哈希表键值对值的最优值,用于后续计算各邻接路链的邻接路链哈希表的键值,避免了现有技术需要计算非最优值带来的冗余计算量,提高了规划效率。
附图说明
图1.是本发明的实现流程图;
图2.是本发明的实施例城市道路网的拓扑结构图;
图3.是本发明的实施例路链拓扑文件的拓扑图。
具体实施方式
以下结合附图和具体实施例,对本发明作进一步详细说明。
参照图1,一种基于路链深度的最优路径规划方法,包括以下步骤:
步骤1,根据城市道路网生成节点拓扑文件,并根据节点拓扑文件生成路链拓扑文件,该路链拓扑文件的路链数据结构包括访问判断、前继指针、路链深度、哈希表和最后路链;
本实施例中,根据城市道路网生成节点拓扑文件;
参照图2,本实施例中城市道路网的拓扑结构图,其所有线段表示道路,线段的长短表示道路的距离,点n1~n12分别表示道路需要转弯的节点,点Start和End分别表示本实施里所需要规划路径的起点和目标节点;
提取城市道路网拓扑结构图中所有的节点和相邻节点间线段的长度,构成节点拓扑文件;
本实施例中,根据节点拓扑文件生成路链拓扑文件;
在节点拓扑文件中,依次将相邻节点和与之对应的长度转换为一条包含两个节点的边,判断当前节点连线的方向是否与下一对相邻节点连线的方向一致,如果相同,则将该相邻节点加入当前路链,否则,该相邻节点为一条新的路链,当遍历完所有的节点拓扑文件后,即可生成与城市道路网相对应的路链拓扑文件;
参照图3,本实施例路链拓扑文件的拓扑图,线段L1~L10表示根据节点拓扑文件生成的路链,每条路链的数据结构包括:访问判断、前继指针、路链深度、哈希表和最后路链;
访问判断,表示路链是否被访问过,初始值为false,即未被访问,状态变为true时,表明已经被访问;
前继指针,表示路链节点的父亲节点,初始值指向空位置;
路链深度,表示起始节点到该路路链径的转弯次数,初始值为0;
哈希表,哈希表中的键为路链上的节点,值为键对应节点到待规划路径起点的路径长度,键与值之间存在着对应关系。
最后路链旨在判断当前路链是否为当前路链深度下,路链队列的最后一条路链,初始值为false;
步骤2,创建路链队列:
步骤2a,在路链拓扑文件中搜索包含待规划路径起点的路链,并将搜索到的路链作为路链队列元素;
搜索路链拓扑文件的时候,遍历路链拓扑文件中的每一条路链,选择路链中含有待规划路径起点的路链,将其作为队列元素;
步骤2b,对路链队列元素的哈希表进行初始化,得到路链队列;
路链队列元素的哈希表初始化具体为:路链队列元素的哈希表键值对的键指向待规划路径起点,哈希表键值对的值赋为零,改变路链队列最后路链的状态;
在本实施例中,L1为起点所在的路链,则路链队列里仅有路链L1,其哈希表中键值对的键为节点Start,值为0;
步骤3,判断路链队列是否为空,若是,路径规划失败,否则,从路链队列中取出队首路链,并执行步骤4;
若队列为空,则表明在待规划路径起点所在的路链拓扑图和待规划路径终点所在的路链拓扑图没有连通,即在起点和终点之间不存在通路,路径规划失败,若队列不为空,则提出队首路链,并执行步骤4;
步骤4,采用动态规划算法,计算队首路链的各邻接路链哈希表的键值:
步骤4.1,获取队首路链的各邻接路链最小邻接长度minadjlength:
分别计算各邻接路链的邻接长度adjlength,并找出各邻接路链邻接长度的最小值;
其邻接长度的计算公式为:
adjlength=curlength+d
其中curlength为队首路链哈希表每一键值对的值,d为队首路链哈希表的键到队首路链与邻接路链交点间的路链距离,其中,每一个键值对的值curlength和相应的d对应一个邻接长度adjlength,在计算完一条邻接路链所有的邻接长度后,在所有的邻接长度中选取值最小的minadjlength作为队首路链到该条邻接路链的邻接长度,然后,把最小值minadjlength对应队首路链哈希表中键值对中的键,即队首路链的对应节点,作为该邻接路链与队首路链交点的前继节点;
本实施例中,队首路链L1只有一个键值对,所以由步骤4.1分别计算队首路链L1到邻接路链L2、L3、L4和L5的各邻接长度只有一个,根据邻接长度的计算公式,得到L2的邻接长度为L.n1-start,其中L.n1-start表示图2中节点n1到节点Start得路段长度,L3的邻接长度为L.n2-start,L4的邻接长度为L.n3-start,L4的邻接长度为L.n3-start;
步骤4.2,判断各邻接路链哈希表中是否存在与队首路链的交点,若是,比较邻接路链与队首路链交点在邻接路链哈希表中的值与邻接路链的最小邻接长度minadjlength的大小,并将比较结果的最小值作为邻接路链与队首路链交点在哈希表中的值,否则,在邻接路链的哈希表中新增一个键值对,该键值对的键为邻接路链与队首路链的交点,值为邻接路链的最小邻接长度minadjlength;
进行计算邻接路链的哈希表时,若邻接路链的哈希表键值对有更新,则键值对键的前继指针也要更新为邻接长度minadjlength对应节点的前继指针;
本实施例中,在L1为队首路链时,其邻接路链L2、L3、L4和L5的哈希表都为空,则路链L2、L3、L4和L5的哈希表新增一键值对,L2哈希表键值对的值为步骤4.1计算得到的最小邻接长度L.n1-start,键为值相对应的节点n1,节点n1的前继指针指向节点Start,L3哈希表键值对的值为L.n2-start,键为节点n2,其前继指针指向节点Start,L4哈希表键值对的值为L.n3-start,键为节点n3,其前继指针指向节点Start,L5哈希表键值对的值为L.n3-start,键为节点n3,其前继指针指向节点Start;
步骤5,判断队首路链是否含有待规划路径目标节点,若是,定义路链队列的截止深度,并将队首路链的路链深度值赋予路链队列的截止深度,再执行步骤7,否则,执行步骤6;
在定义路链队列的截止深度后,其初始值为无穷大,当截止深度被赋值之后,表明从待规划路径起点至待规划路径终点存在通路,且通路的最少转弯次数为截止深度;
当队首路链含有待规划路径的目标节点时,则表明当前的路链深度是从目标节点可到达终点的最小深度,至此,不用再扩展新的邻接路链加入到路链队列中;
在本实施例中,在拓展深度为3的路链L10时,其路链中包含待规划路径目标节点,则将L10的深度3赋予队列截止深度;
步骤6,判断队首路链的各邻接路链是否存在于路链队列中或被访问过,若是,执行步骤7,否则,给队首路链的路链深度增加一后赋予邻接路链的路链深度,并将队首路链的邻接路链加入路链队列,再执行步骤7;
队首路链的邻接路链未被访问过或是未在连路队列时,即表明从待规划路径起点到该邻接路链最少转弯次数要比当前队首路链多一次,因此将队首路链的路链深度增加一后赋予该邻接路链的路链深度;
本实施例中,在L1为队首路链时,其邻接路链L2、L3、L4和L5既未被访问过,也未在路链队列中,因此将L1路链深度加一后赋予路链L2、L3、L4和L5的路链深度并将它们依次加入路链队列;
步骤7,判断队首路链是否被标记为最后路链,若是,同时改变路链队列最后一个元素的最后路链状态和队首路链访问标记状态,否则,改变队首路链访问标记状态;
在遍历所有同等的路链深度后,即当队首路链是在同等深度下的最后一条路链时,才能遍历路链队列中下一深度的路链;
在本实施例中,当L1为队首路链时,深度为零的路链只有L1,因此L1的最后路链状态为标记状态,在访问结束L1后,将L1的访问标记状态改为已标记状态,同时,将当前队列最后的路链,也就是L4路链的最后路链状态标记;
步骤8,判断队首路链的路链深度是否大于路链队列的截止深度,若是,执行步骤9,否则,执行步骤3;
队首路链的路链深度不大于路链队列的截至深度保证得到的路径转弯次数最少;
本实施例中,在L1为队首路链时,路链深度为零,截至深度为无穷大,返回步骤3,访问连路队列中路链深度为1的路链L2、L3、L4和L5,由步骤3到步骤7计算得深度为1的邻接路链L6和L7的哈希表,L6的哈希表中有四对键值对,1)键为n4,前继指针指向n1,值为L.n4-n1-Start,2)键为n5,前继指针指向n2,值为L.n5-n2-Start,3)键为n6,前继指针指向n3,值为L.n6-n3-n2-Start,4)键为n7,前继指针指向n3,值为L.n7-n3-n2-Start,L7的哈希表有一个键值对,键为n7,前继指针指向n3,值为L.n7-n3-n2-Start,此时路链队列中有路链L6和L7,路链L7被标记为最后路链,路链队列截至深度未赋值,由步骤8判断后,回到步骤3,由步骤3逐步到步骤7,依次访问路链L6和L7,计算得路链L6的邻接路链L7,L8,和L9的哈希表键值对,邻接路链L7原有的哈希表键值对和计算出来的一样大小,并且L7已经在路链队列中,因此不改变,路链L8的哈希表键值对中键为n8,前继指针指向n7,值为L.n8-n7-n3-n2-Start,路链L9的哈希表键值对中键为n9,前继指针指向n7,值为L.n9-n8-n7-n3-n2-Start,计算的L7的邻接路链L10的哈希表键值对,键为n12,值为L.n12-n7-n3-n2-Start,此时路链队列中有路链L8、L9和L10,路链深度为3,由于路链L10中含有带规划路径的目标节点,因此将L10的路链深度3赋予路链队列的截至深度,执行步骤9;
步骤9,获取待规划路径的最短长度:
步骤9.1,依次判断待规划路径目标节点所在各路链的深度与路链队列的截止深度是否相等,若是,执行步骤9.2,否则,跳过该条待规划路径目标节点所在的路链,并执行步骤9.1;
本实施例中,待规划路径目标节点所在路链L10的路链深度等于截至深度,执行步骤9.2;
步骤9.2,获取待规划路径目标节点所在各路链最短的最终长度:
(1)将待规划路径目标节点所在路链哈希表中的每个键值对节点分别记为当前节点,路径长度记为length;
(2)分别计算待规划路径目标节点所在路链的最终长度finalLength
finalLength=length+d
其中d为当前节点与待规划路径目标节点之间部分路链的长度;
本实施例中,L10的最终长度为:
finalLength=L.n12-n7-n3-n2-Start+L.End-n11-n12
=L.End-n11-n12-n7-n3-n2-Start
(3)在所有待规划路径目标节点所在路链最终长度中找出最小值和对应的节点;
本实施例中,获取待规划路径目标节点所在路链L10的最短最终长度为L10的最终长度,即:L.End-n11-n12-n7-n3-n2-Start;
步骤9.3,在待规划路径目标节点所在各路链最短的最终长度中,找出最小的值作为待规划路径的最短长度;
本实施例中待规划路径目标节点所在路链只有路链L10,因此路链L10的最短最终长度是带规划路径的最短长度;
步骤10,获取待规划路径的路线:由待规划路径目标节点的前继指针回溯至待规划路径起点,得到待规划路径的路线;
在本实施例中,待规划路径目标节点所在路链为L10,回溯路链L10的哈希表键值对中键的前继节点,得到依次经过节点End-n11-n12-n7-n3-n2-Start的一条路线,本实施例待规划路径由起点到目标点的路线为Start-n2-n3-n7-n12-n11-End。
Claims (5)
1.一种基于路链深度的最优路径规划方法,其特征在于,包括以下步骤:
(1)根据城市道路网生成节点拓扑文件,并根据节点拓扑文件生成路链拓扑文件,该路链拓扑文件的路链数据结构包括访问判断、前继指针、路链深度、哈希表和最后路链;
(2)创建路链队列:
(2a)在路链拓扑文件中搜索包含待规划路径起点的路链,并将搜索到的路链作为路链队列元素;
(2b)对路链队列元素的哈希表进行初始化,得到路链队列;
(3)判断路链队列是否为空,若是,路径规划失败,否则,从路链队列中取出队首路链,并执行步骤(4);
(4)采用动态规划算法,计算队首路链的各邻接路链哈希表的键值:
(4.1)获取队首路链的各邻接路链最小邻接长度minadjlength:
分别计算各邻接路链的邻接长度adjlength,并找出各邻接路链邻接长度的最小值;
(4.2)判断各邻接路链哈希表中是否存在与队首路链的交点,若是,比较邻接路链与队首路链交点在邻接路链哈希表中的值与邻接路链的最小邻接长度minadjlength的大小,并将比较结果的最小值作为邻接路链与队首路链交点在哈希表中的值,否则,在邻接路链的哈希表中新增一个键值对,该键值对的键为邻接路链与队首路链的交点,值为邻接路链的最小邻接长度minadjlength;
(5)判断队首路链是否含有待规划路径目标节点,若是,定义路链队列的截止深度,并将队首路链的路链深度值赋予路链队列的截止深度,再执行步骤(7),否则,执行步骤(6);
(6)判断队首路链的各邻接路链是否存在于路链队列中或被访问过,若是,执行步骤(7),否则,给队首路链的路链深度增加一后赋予邻接路链的路链深度,并将队首路链的邻接路链加入路链队列,再执行步骤(7);
(7)判断队首路链是否被标记为最后路链,若是,同时改变路链队列最后一个元素的最后路链状态和队首路链访问标记状态,否则,改变队首路链访问标记状态;
(8)判断队首路链的路链深度是否大于路链队列的截止深度,若是,执行步骤(9),否则,执行步骤(3);
(9)获取待规划路径的最短长度:
(9.1)依次判断待规划路径目标节点所在各路链的深度与路链队列的截止深度是否相等,若是,执行步骤(9.2),否则,跳过该条待规划路径目标节点所在的路链,并执行步骤(9.1);
(9.2)获取待规划路径目标节点所在各路链最短的最终长度;
(9.3)在待规划路径目标节点所在各路链最短的最终长度中,找出最小的值作为待规划路径的最短长度;
(10)获取待规划路径的路线:由待规划路径目标节点的前继指针回溯至待规划路径起点,得到待规划路径的路线。
2.根据权利要求1所述的基于路链深度的最优路径规划方法,其特征在于:步骤(1)中所述的哈希表,其键值对中的键为路链上的节点,值为对应节点到待规划路径起始节点之间的路径长度,所述的路链深度,其初始值为零。
3.根据权利要求1所述的基于路链深度的最优路径规划方法,其特征在于:步骤(2b)中所述的对路链队列元素的哈希表进行初始化,具体为:将路链队列元素的哈希表键值对的键指向待规划路径起点,并将哈希表键值对的值赋为零。
4.根据权利要求1所述的基于路链深度的最优路径规划方法,其特征在于:步骤(5)中所述的路链队列的截止深度,其在未被赋值之前为无穷大。
5.根据权利要求1所述的基于路链深度的最优路径规划方法,其特征在于:步骤(9.2)中所述的获取待规划路径目标节点所在各路链最短的最终长度,实现步骤为:
(1)将待规划路径目标节点所在路链哈希表中的每个键值对节点分别记为当前节点,路径长度记为length;
(2)分别计算待规划路径目标节点所在路链的最终长度finalLength
finalLength=length+d
其中d为当前节点与待规划路径目标节点之间部分路链的长度;
(3)在所有待规划路径目标节点所在路链最终长度中找出最小值和对应的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408095.4A CN107121146B (zh) | 2017-06-02 | 2017-06-02 | 基于路链深度的最优路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408095.4A CN107121146B (zh) | 2017-06-02 | 2017-06-02 | 基于路链深度的最优路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107121146A true CN107121146A (zh) | 2017-09-01 |
CN107121146B CN107121146B (zh) | 2019-02-19 |
Family
ID=59729572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710408095.4A Active CN107121146B (zh) | 2017-06-02 | 2017-06-02 | 基于路链深度的最优路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107121146B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019185052A1 (zh) * | 2018-03-30 | 2019-10-03 | 日本电气株式会社 | 用于确定两点之间的可达路径的方法、装置和系统 |
CN111197991A (zh) * | 2020-01-15 | 2020-05-26 | 西安电子科技大学 | 基于深度神经网络的预测车辆最佳驾驶路径方法 |
CN111275975A (zh) * | 2020-02-28 | 2020-06-12 | 清华大学 | 一种交叉口转向流量数据的获取方法、装置和存储介质 |
CN112923940A (zh) * | 2021-01-11 | 2021-06-08 | 珠海格力电器股份有限公司 | 路径规划方法、装置、处理设备、移动设备及存储介质 |
CN113607183A (zh) * | 2021-08-05 | 2021-11-05 | 北京中交兴路信息科技有限公司 | 一种车辆的运输路线规划方法、装置、存储介质及终端 |
CN113840228A (zh) * | 2021-08-25 | 2021-12-24 | 北京航空航天大学杭州创新研究院 | 一种基于定位匹配的行人室内定位方法 |
CN113899383A (zh) * | 2021-11-22 | 2022-01-07 | 上海西井信息科技有限公司 | 基于短路径的多车防死锁方法、系统、设备及存储介质 |
CN113946152A (zh) * | 2021-11-22 | 2022-01-18 | 中国重汽集团济南动力有限公司 | 一种全局路径规划方法、系统及低速商用无人车 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103472828A (zh) * | 2013-09-13 | 2013-12-25 | 桂林电子科技大学 | 基于改进蚁群粒子群算法的移动机器人路径规划方法 |
CN104268259A (zh) * | 2014-10-10 | 2015-01-07 | 厦门雅迅网络股份有限公司 | 一种运用于导航终端的快速模糊容错搜索交叉路口的方法 |
US20160187151A1 (en) * | 2014-12-30 | 2016-06-30 | Yahoo! Inc. | Method and/or system for walking route recommendation |
-
2017
- 2017-06-02 CN CN201710408095.4A patent/CN107121146B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103472828A (zh) * | 2013-09-13 | 2013-12-25 | 桂林电子科技大学 | 基于改进蚁群粒子群算法的移动机器人路径规划方法 |
CN104268259A (zh) * | 2014-10-10 | 2015-01-07 | 厦门雅迅网络股份有限公司 | 一种运用于导航终端的快速模糊容错搜索交叉路口的方法 |
US20160187151A1 (en) * | 2014-12-30 | 2016-06-30 | Yahoo! Inc. | Method and/or system for walking route recommendation |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11615090B2 (en) | 2018-03-30 | 2023-03-28 | Nec Corporation | Method, apparatus and system for determining accessible paths between two nodes |
WO2019185052A1 (zh) * | 2018-03-30 | 2019-10-03 | 日本电气株式会社 | 用于确定两点之间的可达路径的方法、装置和系统 |
CN111197991B (zh) * | 2020-01-15 | 2022-09-23 | 西安电子科技大学 | 基于深度神经网络的预测车辆最佳驾驶路径方法 |
CN111197991A (zh) * | 2020-01-15 | 2020-05-26 | 西安电子科技大学 | 基于深度神经网络的预测车辆最佳驾驶路径方法 |
CN111275975B (zh) * | 2020-02-28 | 2021-04-02 | 清华大学 | 一种交叉口转向流量数据的获取方法、装置和存储介质 |
CN111275975A (zh) * | 2020-02-28 | 2020-06-12 | 清华大学 | 一种交叉口转向流量数据的获取方法、装置和存储介质 |
CN112923940A (zh) * | 2021-01-11 | 2021-06-08 | 珠海格力电器股份有限公司 | 路径规划方法、装置、处理设备、移动设备及存储介质 |
CN113607183A (zh) * | 2021-08-05 | 2021-11-05 | 北京中交兴路信息科技有限公司 | 一种车辆的运输路线规划方法、装置、存储介质及终端 |
CN113840228A (zh) * | 2021-08-25 | 2021-12-24 | 北京航空航天大学杭州创新研究院 | 一种基于定位匹配的行人室内定位方法 |
CN113840228B (zh) * | 2021-08-25 | 2024-04-02 | 北京航空航天大学杭州创新研究院 | 一种基于定位匹配的行人室内定位方法 |
CN113899383A (zh) * | 2021-11-22 | 2022-01-07 | 上海西井信息科技有限公司 | 基于短路径的多车防死锁方法、系统、设备及存储介质 |
CN113946152A (zh) * | 2021-11-22 | 2022-01-18 | 中国重汽集团济南动力有限公司 | 一种全局路径规划方法、系统及低速商用无人车 |
CN113899383B (zh) * | 2021-11-22 | 2024-04-19 | 上海西井科技股份有限公司 | 基于短路径的多车防死锁方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107121146B (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107121146B (zh) | 基于路链深度的最优路径规划方法 | |
CN102810118B (zh) | 一种变权网k近邻搜索方法 | |
CN106503789A (zh) | 基于迪杰斯特拉和最大最小蚁群的无环最短路径搜索方法 | |
CN105512169B (zh) | 基于路径和权的最短路径搜索方法 | |
US20140107921A1 (en) | Query scenarios for customizable route planning | |
CN107220731A (zh) | 一种物流配送路径规划方法 | |
CN105606116B (zh) | 一种对路导航的导航方法、导航装置及其系统 | |
CN109540165B (zh) | 一种启发式搜索的高速路网约束寻路算法 | |
CN106447097A (zh) | 一种受限最长频繁路径的查询方法 | |
CN115713856A (zh) | 一种基于交通流预测与实际路况的车辆路径规划方法 | |
CN115759499A (zh) | 一种基于优化算法的路径规划方法、装置、设备及介质 | |
CN106485211B (zh) | 一种基于二叉树的文本行精确定位方法 | |
CN113865589A (zh) | 一种基于地形坡度的长距离快速路径规划方法 | |
CN104596527B (zh) | 一种划分各级引导道路和细街路的方法 | |
CN111337047A (zh) | 基于多任务点约束的非结构化道路宏观路径规划方法 | |
CN114186410A (zh) | 随机gis网络驱动的交通最短可靠路径方法 | |
CN114969234A (zh) | 一种面向全量城市路网的向量表征方法 | |
CN114253975A (zh) | 一种负载感知的路网最短路径距离计算方法及装置 | |
CN108052743B (zh) | 一种阶梯接近中心度确定方法及系统 | |
CN109992593A (zh) | 一种基于子图匹配的大规模数据并行查询方法 | |
CN106658570A (zh) | 基于二次栅格划分的移动sink信息收集路径构建方法 | |
CN111985366B (zh) | 一种道路中心线及桩号识别方法、装置 | |
CN113808424A (zh) | 基于双向Dijkstra的城市路网K条最短路径的获取方法 | |
CN113239138A (zh) | 地图匹配方法、装置、计算机设备和存储介质 | |
Sun et al. | Discovering expert drivers from trajectories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |