一种解决交通出行路线规划问题的方法技术

技术编号:20364676 阅读:103 留言:0更新日期:2019-02-16 17:20
本发明专利技术涉及一种解决交通出行路线规划问题的方法,其中,包括:步骤1、以交通路网路线图中交叉路口作为结点,各个交叉路口之间的路段为连线,路段长度为连线的权值,可以将交通路网简化为一个带权连线图G;以结点数量为行列数,构造一个二维矩阵,并用二维数组记录该二维矩阵;步骤2、将连线图G的源点作为最短路径树的根结点,根据最短路径树的生长法则,逐步将其他结点加入最短路径树,直到最短路径树覆盖所有其他结点或覆盖到问题需要求解的结点;步骤3、使用深度优先或广度优先搜索方法检索最短路径树,得到源点到任意某点的最短路径,即为所需的最优交通路径。本发明专利技术使用一种新的单源点最短路径算法,能够解决现实生活中交通出行面临的问题。

【技术实现步骤摘要】
一种解决交通出行路线规划问题的方法
本专利技术涉及交通导航技术,特别额涉及一种解决交通出行路线规划问题的方法。
技术介绍
随着社会发展,城市规模日益扩大、交通路线日益复杂、私家车出行日益增多,人们出行时交通路线的选择变得尤为重要。同时无线网络技术不断发展,电子地图日益完善,移动手持设备和车载设备广泛普及,这使得为用户实时提供路线选择也成为可能。单源点最短路径算法被广泛应用于求解该问题。早在1959年Dijkstra就给出了经典的单源点最短路径的算法并沿用至今,但Dijkstra算法存在大量的计算冗余。陆续出现的很多优化算法,如基于A*搜索的算法,它们通过估计当前顶点与目标顶点的距离进行顶点选择,使搜索具有方向感,其中ALT是典型代表,但它得到的是启发式解而不是精确解;剪枝算法,它们首先生成一些相关的辅助数据,根据这些数据来判断最短路径是否有可能通过某个顶点或某条边,不通过的顶点和边不进行处理,其中Reach剪枝算法是这类算法的典型代表;这些研究在一定程度上减少了Dijkstra算法的搜索空间,但效果依然不尽如人意。
技术实现思路
本专利技术的目的在于提供一种解决交通出行路线规划问题的方法,用于解决交通出行路线规划问题。本专利技术一种解决交通出行路线规划问题的方法,其中,包括:步骤1、以交通路网路线图中交叉路口作为结点,各个交叉路口之间的路段为连线,路段长度为连线的权值,可以将交通路网简化为一个带权连线图G;以结点数量为行列数,构造一个二维矩阵,并用二维数组记录该二维矩阵;步骤2、将连线图G的源点作为最短路径树的根结点,根据最短路径树的生长法则,逐步将其他结点加入最短路径树,直到最短路径树覆盖所有其他结点或覆盖到问题需要求解的结点;步骤3、使用深度优先或广度优先搜索方法检索最短路径树,得到源点到任意某点的最短路径,即为所需的最优交通路径。根据本专利技术的解决交通出行路线规划问题的方法的一实施例,其中,二维矩阵中若带权连线图G的两点之间有连线,用路线的权值作为距离值;若两点无直接路径连接,用∞表示距离值。根据本专利技术的解决交通出行路线规划问题的方法的一实施例,其中,所述数据预处理步骤1中,包括:步骤11:将一张交通路线图,以交通路网路线图中交叉路口作为结点,各个交叉路口之间的路段为连线,路段长度为连线的权值,可以将交通路网简化为一个带权连线图G;以结点数量为行列数,构造一个二维矩阵;步骤12:构造初始邻接矩阵arcs,arcs[i][j]表示连接顶点i,j的边的权值,如果存在边连接i,j,arcs[i][j]为该边的权值;如果不存在边连接这两个点的边,则arcs[i][j]为∞,其中arcs[i][i]=0。根据本专利技术的解决交通出行路线规划问题的方法的一实施例,其中,所述步骤2包括:步骤21:建立虚增长点链表P,链表P按点所在路径的路径值升序排序,其中,点所在的路径为从源点到当前点经过的所有点的序列;路径值为邻接矩阵arcs记录了任意两点之间的距离值,路径值是源点到当前点i经过的所有点的距离值的累加,记作cost[i];步骤22:建立待判定点链表N,链表N按点所在路径的路径值升序排序;步骤23:建立最短路径树,记录所有实增长点,源点到每一个实增长点的路径就是最短路径,该路径上邻接矩阵arcs值的累加就是路径值;确定最短路径树的根结点v0,将根结点v0作为实增长点插入最短路径树;步骤24:将与新增实增长点连通且不在最短路径树中的所有结点作为该新增实增长点的儿子结点插入最短路径树中,并加入待判定点链表N中;步骤25:逐个处理新增的待判定点:(1)如果该点不存在于链表P中,将该点按路径值升序排列插入链表P;从链表N中删除该点;(2)如果该点已经存在于链表P中,如果新增路径的路径值小于原虚增长点所在路径的路径值,从最短路径树中删除该点,从链表N中删除该点;(3)如果该点已经存在于链表P中,如果新增路径的路径值小于原虚增长点所在的路径的路径值,从最短路径树中删除原虚增长点”从链表N中删除该点;(4)重复步骤(1)到(3)的过程,直到链表N为空;步骤26:选择链表N中路径值最小的点,将其确定为实增长点,并执行步骤24和步骤25,直到链表P为空,此时,最短路径树记录了源点到所有其他结点的最短路径,每个结点的路径值表示源点到该结点的最短路径值。根据本专利技术的解决交通出行路线规划问题的方法的一实施例,其中,使用深度优先检索最短路径树,得到源点到任意某点的最短路径。根据本专利技术的解决交通出行路线规划问题的方法的一实施例,其中,使用广度优先搜索方法检索最短路径树,得到源点到任意某点的最短路径。本专利技术使用一种新的单源点最短路径算法,解决现实生活中交通出行面临的问题。它针对Dijkstra等经典算法在该求解问题过程中效率较低(尤其是处理稀疏矩阵时)的情况,巧妙的利用“树”结构便于记录和检索的特性,设计严谨的剪枝策略尽可能早的裁剪非最短路径提高算法效率,该算法尤其适合交通路网这种“稀疏矩阵”。附图说明图1所示为本专利技术一种求解单源点最短路径问题的方法的流程图;图2所示为某市区某段交通路线图的提取结果图;图3所示为最短路径树的第一生长图;图4所示为最短路径树的第二生长图;图5所示为最短路径树的第三生长图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。图1所示为本专利技术一种求解单源点最短路径问题的方法的流程图,如图1所示,该方法包括以下步骤:步骤1、以交通路网路线图中交叉路口作为结点,各个交叉路口之间的路段为连线,路段长度为连线的权值,可以将交通路网简化为一个带权连线图G;以结点数量为行列数,构造一个二维矩阵(若两点之间有连线,用路线的权值作为距离值;若两点无直接路径连接,用∞表示距离值;),用二维数组记录该矩阵;步骤2、将源点作为最短路径树sp_tree的根结点,根据最短路径树的生长法则,逐步将其他结点加入最短路径树sp_tree,直到最短路径树sp_tree覆盖所有其他结点或覆盖到问题需要求解的结点;步骤3、使用深度优先或广度优先搜索方法检索最短路径树sp_tree,可以得到源点到任意某点的最短路径。对于一实施例,所述数据预处理步骤1中,包括:步骤11:数据抽象化处理。将一张交通路线图,以交通路网路线图中交叉路口作为结点v,各个交叉路口之间的路段为连线e,路段长度为连线的长度,构造一个带权连线图G=(V,E)是带权图(有向、无向均可)表示,V为图中所有点的集合,E为图中所有边的集合;将图的权值设为相应边的长度,所有权值都非负;步骤12:构造初始邻接矩阵arcs,arcs[i][j]表示连接顶点i,j的边的权值。如果存在边连接i,j,arcs[i][j]为该边的权值;如果不存在边连接这两个点的边,则arcs[i][j]为∞,其中arcs[i][i]=0。如下表所示。V0V1……VnV00a∞∞V1a0∞b……∞∞0∞Vn∞b∞0表1图G的权值邻接矩阵所述最短路径树构造步骤2中,包括:步骤21:建立“虚增长点”链表P,链表按点所在路径的路径值升序排序;(1)点所在的路径:从源点到当前点经过的所有点的序列;(2)路径值:邻接矩阵arcs记录了任意两点之间的距离值,路径值是源点到当前点i经本文档来自技高网...

【技术保护点】
1.一种解决交通出行路线规划问题的方法,其特征在于,包括:步骤1、以交通路网路线图中交叉路口作为结点,各个交叉路口之间的路段为连线,路段长度为连线的权值,可以将交通路网简化为一个带权连线图G;以结点数量为行列数,构造一个二维矩阵,并用二维数组记录该二维矩阵;步骤2、将连线图G的源点作为最短路径树的根结点,根据最短路径树的生长法则,逐步将其他结点加入最短路径树,直到最短路径树覆盖所有其他结点或覆盖到问题需要求解的结点;步骤3、使用深度优先或广度优先搜索方法检索最短路径树,得到源点到任意某点的最短路径,即为所需的最优交通路径。

【技术特征摘要】
1.一种解决交通出行路线规划问题的方法,其特征在于,包括:步骤1、以交通路网路线图中交叉路口作为结点,各个交叉路口之间的路段为连线,路段长度为连线的权值,可以将交通路网简化为一个带权连线图G;以结点数量为行列数,构造一个二维矩阵,并用二维数组记录该二维矩阵;步骤2、将连线图G的源点作为最短路径树的根结点,根据最短路径树的生长法则,逐步将其他结点加入最短路径树,直到最短路径树覆盖所有其他结点或覆盖到问题需要求解的结点;步骤3、使用深度优先或广度优先搜索方法检索最短路径树,得到源点到任意某点的最短路径,即为所需的最优交通路径。2.如权利要求1所述的解决交通出行路线规划问题的方法,其特征在于,二维矩阵中若带权连线图G的两点之间有连线,用路线的权值作为距离值;若两点无直接路径连接,用∞表示距离值。3.如权利要求1所述的解决交通出行路线规划问题的方法,其特征在于,所述数据预处理步骤1中,包括:步骤11:将一张交通路线图,以交通路网路线图中交叉路口作为结点,各个交叉路口之间的路段为连线,路段长度为连线的权值,可以将交通路网简化为一个带权连线图G;以结点数量为行列数,构造一个二维矩阵;步骤12:构造初始邻接矩阵arcs,arcs[i][j]表示连接顶点i,j的边的权值,如果存在边连接i,j,arcs[i][j]为该边的权值;如果不存在边连接这两个点的边,则arcs[i][j]为∞,其中arcs[i][i]=0。4.如权利要求2所述的解决交通出行路线规划问题的方法,其特征在于,所述步骤2包括:步骤21:建立虚增长点链表P,链表P按点所在路径的路径值升序排序,其中,点所在的路径为从源点到当前点经过的所有点的...

【专利技术属性】
技术研发人员:阳晗杰蒋遂平闫国玉
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1