1.一种最短路径查询方法,其特征在于,包括以下步骤:
s1,通过生成树算法获取最短路径ri;
s2,计算ri的备用路径集合{rbi};
s3,从备用路径集合{rbi}中获取最短路径r(i+1);
s4,计算最短路径r(i+1)的备用路径集合{rb(i+1)};
s5,利用备用路径集合{rb(i+1)}更新最短路径ri的备用路径集合{rbi};
s6,从最短路径ri的备用路径集合{rbi}和最短路径r2的备用路径集合{rb(i+1)}中获取最短路径r(i+2);
s7,循环s4-s6步骤顺序依次获得不同备用路径集合的最短路径;
其中,i为最短路径序号。
2.如权利要求1所述的最短路径查询方法,其特征在于:实施步骤s1时,使用双向生成树算法获取最短路径ri。
3.如权利要求1所述的最短路径查询方法,其特征在于:备用路径集合计算包括以下子步骤;
s2.1,排除最短路径ri上的点集{ax}和{bx},排除线a1a2,b1b2;
a1和b1是第一最短路径r1上的任选两点,a1与起点之间距离小于第一阈值,b1与终点之间距离小于第二阈值;
{ax}是最短路径ri起点到a1之间的所有点的集,{bx}是最短路径ri上b1到终点之间的所有点的集,a2是最短路径ri起点出发方向a1的下一点,b2是最短路径ri起点出发方向b1上一点;
s2.2,如果还存在最短路径r(i+1)与最短路径ri在点集{ax}和{bx}完全重合,则排除线a1a3,b1b3;
a3是最短路径ri起点出发方向a1的下一点,b3是第一最短路径r1起点出发方向b1上一点;
s2.3,查找a1到b1的最短路径,替换最短路径ri上a1与b1之间的部分,得到备用路径rbi
s2.4,对最短路径ri上包括起点和终点在内的任意两点查询组成其备用路径集合{rbi}。
4.如权利要求3所述的最短路径查询方法,其特征在于:实施步骤s2中,计算新增最短路径rm的备用路径集合时,先将最短路径rm与已有各条最短路径比较,对于新增最短路径rm与现有各条最短路径路径重合部分点的备用路径计算采用直接继承。
5.如权利要求3所述的最短路径查询方法,其特征在于:更新新增路径rm之前已有各条最短路径的备用路径集合时,比较rm与已有各条最短路径只对已有各条最短路径排除与rm重合路径部分点后的最长备用路径进行更新。
6.一种最短路径查询系统,其特征在于,包括:
第一路径获取模块,其用于通过生成树算法获取最短路径ri;
第一计算模块,其用于计算ri的备用路径集合{rbi};
第二路径生成模块,其用于从备用路径集合{rbi}中获取最短路径r(i+1);
第二计算模块,其用于计算最短路径r(i+1)的备用路径集合{rb(i+1)};
更新模块,其用于更新最短路径ri的备用路径集合{rbi};
第二路径获取模块,其用于从最短路径ri的备用路径集合{rbi}和最短路径r2的备用路径集合{rb(i+1)}中获取最短路径r(i+2);
控制模块,其用于控制第二计算模块、更新模块和第二路径获取模块顺序循环执行,依次获得不同备用路径集合的最短路径;其中,i为最短路径序号。
7.如权利要求6所述的最短路径查询系统,其特征在于:第一路径获取模块使用双向生成树算法获取最短路径ri。
8.如权利要求6所述的最短路径查询系统,其特征在于:备用路径集合计算采用以下步骤;
s2.1,排除最短路径ri上的点集{ax}和{bx},排除线a1a2,b1b2;
a1和b1是第一最短路径r1上的任选两点,a1与起点之间距离小于第一阈值,b1与终点之间距离小于第二阈值;
{ax}是最短路径ri起点到a1之间的所有点的集,{bx}是最短路径ri上b1到终点之间的所有点的集,a2是最短路径ri起点出发方向a1的下一点,b2是最短路径ri起点出发方向b1上一点;
s2.2,如果还存在最短路径r(i+1)与最短路径ri在点集{ax}和{bx}完全重合,则排除线a1a3,b1b3;
a3是最短路径ri起点出发方向a1的下一点,b3是第一最短路径r1起点出发方向b1上一点;
s2.3,查找a1到b1的最短路径,替换最短路径ri上a1与b1之间的部分,得到备用路径rbi
s2.4,对最短路径ri上包括起点和终点在内的任意两点查询组成其备用路径集合{rbi},i为最短路径序号。
9.如权利要求8所述的最短路径查询系统,其特征在于:第一计算模块计算新增最短路径rm的备用路径集合时,先将最短路径rm与已有各条最短路径比较,对于新增最短路径rm与现有各条最短路径路径重合部分点的备用路径计算采用直接继承。
10.如权利要求8所述的最短路径查询方法,其特征在于:更新模块其更新新增路径rm之前已有各条最短路径的备用路径集合时,在比较rm与已有各条最短路径时,只对已有各条最短路径排除与rm重合路径部分点后的最长备用路径进行更新。