导航系统中必经点最短路径的获取方法技术方案

技术编号:9841693 阅读:208 留言:0更新日期:2014-04-02 04:43
本发明专利技术揭示了一种导航系统中必经点最短路径的获取方法,所述方法获取过K个必经点的N条最短路径,求过K个必经结点的N条最短路径就是对每次找到的过K个必经点最短路径的子图进行再次分割,并且和已有子图存在的过K个必经点的最短路径的进行一一比较,找出最短的,这样不断地重复执行,并在执行过程中去除重复的路径,直到路径条数达到满足或者已无路径为止。本发明专利技术提出的导航系统中必经点最短路径的获取方法,可获取若干条过K个必经点的最短路径,方便用户根据需要选择。

【技术实现步骤摘要】
【专利摘要】本专利技术揭示了一种,所述方法获取过K个必经点的N条最短路径,求过K个必经结点的N条最短路径就是对每次找到的过K个必经点最短路径的子图进行再次分割,并且和已有子图存在的过K个必经点的最短路径的进行一一比较,找出最短的,这样不断地重复执行,并在执行过程中去除重复的路径,直到路径条数达到满足或者已无路径为止。本专利技术提出的,可获取若干条过K个必经点的最短路径,方便用户根据需要选择。【专利说明】
本专利技术属于线路导航
,涉及一种导航系统,尤其涉及一种。
技术介绍
最短路径问题在计算机科学、交通工程、通信工程、控制理论等众多领域都有广泛的应用,是解决其它许多复杂网络优化问题的子问题之一。随着车辆的广泛普及和交通网络的不断发展,智能交通诱导系统的作用将显得越为突出。交通诱导系统可根据驾驶员的意愿为其提供最佳行驶路线来达到诱导出行行为、减少车辆在路上的逗留时间;同时,它还能避免因盲目行驶或凭经验行驶造成交通堵塞。作为用户来说,除了最优路线外,次优,再次优等路线也显得同样重要;这样可以使用户拥有更大的选择空间,同时为了进一步提供更人性化的服务,诱导系统还应设置多个必经点以满足用户在出行途中的需要,比如要途径超市、加油站等;还有军事人员及物资的运输中要必须考虑必经点,该必经点可能是一些重要的城市、桥梁、加油站、弹药库、中转站等;故必经点的考虑也必将是未来智能交通诱导系统的发展趋势。随意智能手机的推广,越来越多的人,采用手机进行导航。有鉴于此,如今迫切需要设计一种获取过K个必经点的N条最短路径的方法。
技术实现思路
本专利技术所要解决的技术问题是:提供一种,可获取若干条过K个必经点的最短路径,方便用户根据需要选择。为解决上述技术问题,本专利技术采用如下技术方案:一种,所述方法获取过K个必经点的N条最短路径,其中,K、N为大于等于1的整数;所述方法包括:计算过第一条K个必经点的最短路径;对每次找到的过K个必经点最短路径的子图进行再次分割,并且和已有子图存在的过K个必经点的最短路径的进行一一比较,找出最短路径,如此不断地重复执行,并在执行过程中去除重复的路径,直到路径条数达到满足或者已无路径为止。作为本专利技术的一种优选方案,所述方法具体包括如下步骤:步骤S1、计算第1条过K个必经点的最短路径;根据Dijkstra算法,对起点、必经点和终点所有可能路径,分别按顺序求取每两个结点之间的最短路径,然后进行依次叠加,从而计算出过第一条K个必经点的最短路径;步骤S2、用第一数组类arrWebShortestPaths对第一条过K个必经点的最短路径进行添加;在该过K个必经点的最短路径对应的子图中,第1条最短路径对应的子图为原图,保持所有结点不变,按照该条路径进行分段断开,从而形成若干个对应的子图,计算每个子图对应的过K个必经点的最短路径,并把每个子图对应的最短路径的长度和从原图形成该子图所断开的某两个结点之间路段用第二数组类arrFormSubnetlnfo进行保存;步骤S3、删除第二数组类arrFormSubnetlnfo此次中形成新子图的母图记录,比较第二数组类arrFormSubnetlnfo每个元素对应最短路径的长度,求最小长度,找出该元素,并从记录中可知其最短路径对应的子图是通过原图断开哪几段路段后形成的;故重新找出这条过K个必经点最短路径,与第一数组类arrWebShortestPaths中已存储的所有最短路径进行比较,若存在相同的,则不进行添加,反之,则添加;步骤S4、判断第一数组类arrWebShortestPaths中已有的最短路径是否有存在重复路段,把没有重复路段的用整型变量作一标记,返回执行步骤S2,直到该标记值和所需的最短路径条数N相等或者已无最短路径为止。本专利技术的有益效果在于:本专利技术提出的,可获取若干条过K个必经点的最短路径,方便用户根据需要选择。【专利附图】【附图说明】图1为26结点图的示意图。图2为本专利技术最短路径获取方法的流程图。【具体实施方式】下面结合附图详细说明本专利技术的优选实施例。实施例一本专利技术在带有导航的手机(当然也可以是其他电子设备)基础上,在求解最短路径问题的经典方法Dijkstra算法的基础上,提出一种。设G=(V,E)是一个带权有向或无向图,例如图1,该图是由结点和相连的弧线组成,两个结点之间的不同连接方式组成了两点间所有的路径,每条路径都与其所在的子图相关,子图可以是原图断开某些结点之间的连接或去掉若干个结点以及与这些结点相关的连接组成。在一个子图中求过K个必经点的最短路径,可通过分段求解每一种排列的路径后,去路径最小值来确定最终的最短路径。对于一个没有孤立结点的子图,每两个结点间存在最短路径;假设图中无孤立结点,那么从起始结点到目的结点之间存在若干条路径;对于每一条路径,该路径有多少段(不同结点之间的连接)就可以通过断开每一段形成多少个子图,这些子图中从起始结点到目的结点的路径集合相并再并上原图中被断开的这条路径所形成的集合,就等于原图中起始结点到目的结点之间的路径集合。根据以上原理可知,只要在子图中,起始结点和目的结点之间存在路径即是存在最短路径;故保持子图所有结点和原图一致,只是断开路径的不同,在原图找到两点之间的最短路径后,断开这条第一最短路径后形成的众子图都分别存在起始结点和目的结点之间的最短路径,倘若两结点之间还存在连接;对于原图来说第二最短路径便是这些形成子图的最短路径中最短的,如果所有子图中都不存在这两点间的路径时,表明只有第一最短路径这一条。因此,求过K个必经结点的N条最短路径就是对每次找到的过K个必经点最短路径的子图进行再次分割,并且和已有子图存在的过K个必经点的最短路径的进行一一比较,找出最短的,这样不断地重复执行,并在执行过程中去除重复的路径直到路径条数达到满足或者已无路径为止。对于过K个必经点的N条最短路径算法,必须先求得过第一条K个必经点的最短路径,然后再通过断开第一最短路径所形成的子图集对应的最短路径集合求第二最短路径,如此循环以致求得第N条最短路径。请参阅图2,本专利技术具体包括如下步骤:【步骤S1】求出第1条过K个必经点的最短路径。根据Dijkstra算法,对起点、必经点和终点所有可能路径,分别按顺序求取每两个结点之间的最短路径,然后进行依次叠加,从而计算出过第一条K个必经点的最短路径。 【步骤S2】用第一数组类arrWebShortestPaths对第一条过K个必经点的最短路径进行添加;在该过K个必经点的最短路径对应的子图中(第1条对应的子图为原图),保持所有结点不变,按照该条路径进行分段断开,从而形成若干个对应的子图,计算每个子图对应的过K个必经点的最短路径,并把每个子图对应的最短路径的长度和从原图形成该子图所断开的某两个结点之间路段用第二数组类arrFormSubnetlnfo进行保存。【步骤S3】删除第二数组类arrFormSubnetlnfo此次中形成新子图的母图记录,比较第二数组类arrFormSubnetlnfo每个元素对应最短路径的长度,求最小长度,找出该元素,并从记录中可知其最短路径对应的子图是通过原图断开哪几段路段后形成的。故重新找出这条过K个必经点最短路径,与第一数组类arrWebShortestPaths中已存本文档来自技高网...

【技术保护点】
一种导航系统中必经点最短路径的获取方法,其特征在于,所述方法获取过K个必经点的N条最短路径,其中,K、N为大于等于1的整数;所述方法包括:计算过第一条K个必经点的最短路径;对每次找到的过K个必经点最短路径的子图进行再次分割,并且和已有子图存在的过K个必经点的最短路径的进行一一比较,找出最短路径,如此不断地重复执行,并在执行过程中去除重复的路径,直到路径条数达到满足或者已无路径为止。

【技术特征摘要】

【专利技术属性】
技术研发人员:李保印
申请(专利权)人:闻泰通讯股份有限公司
类型:发明
国别省市:浙江;33

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

1