[发明专利]一种城市路网数据组织与最短路径快速计算方法在审
申请号: | 201410752964.1 | 申请日: | 2014-12-08 |
公开(公告)号: | CN105740964A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 龚勃文;林赐云 | 申请(专利权)人: | 吉林大学;林赐云 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 130022 吉*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种城市路网数据组织与最短路径快速计算方法,涉及城市路网管理及交通诱导领域,包括建立邻接节点编号和邻接边权值数据组织结构并存到路网数据文件file中、邻接节点和邻接边权值定位查询及基于排序定位的改进Dijkstra最短路径计算三个步骤。本发明利用城市路网拓扑结构的稀疏特性巧妙地设计了一种能够定位查询邻接节点信息又能有效节省存储空间的路网数据组织结构,改变传统Dijkstra计算方法确定永久标号节点的实现策略,构建了一种新的临时标号节点数据组织和更新机制,实现了永久标号节点的定位获取,解决了多个同时具有最小长度标号的临时节点处理问题,有效提升了Dijkstra最短路径算法的计算效率,计算方法具有普遍适用性和可移植性。 | ||
搜索关键词: | 一种 城市 路网 数据 组织 路径 快速 计算方法 | ||
【主权项】:
一种城市路网数据组织与最短路径快速计算方法,其特征包括以下步骤:(1)建立邻接节点编号和邻接边权值数据组织结构并存到路网数据文件file中首先将交叉口抽象为节点、交叉口之间的路段的每一个行驶方向抽象为一条有向边,且每条边都有权值,即将由交叉口和路段组成的路网抽象为由节点和边组成的有向加权图,因此,任意一条边都有两个不相同的节点确定。对图中的节点从1开始按照递增的顺序进行编号,得到节点编号集合E,节点总数为N。邻接节点编号和邻接边权值数据组织结构与存储方法为:确定路网中邻接节点最多的节点,获得其邻接节点总数为R,建立一个N行2R+1列的数据表文件。按E中节点编号递增的顺序,第1列依次存储各节点的邻接节点总数,第2列至第2R+1列依次存储各节点的所有邻接节点编号和与它们相应的邻接边权值。(2)邻接节点和邻接边权值定位查询根据数据文件file,以任意节点u(u∈E)为例,邻接节点和邻接边权值的具体查询方法为:1)查询节点u的全部邻接节点编号和邻接边权值:节点u的全部邻接节点编号在数据文件file中的存储位置为第u行的第2列~第file(u,1)+1列(其中,file(u,1)表示file文件中的第u行第1列),即全部邻接节点编号为file(u,2)~file(u,file(u,1)+1)所存储的数据,与它们相应的邻接边权值在数据文件file中的存储位置为第u行的第file(u,1)+2列~第2file(u,1)+1列,即全部邻接边权值为file(u,file(u,1)+2)~file(u,2file(u,1)+1)所存储的数据;2)查询节点u的某一个邻接节点的邻接边权值:如节点u的某一个邻接节点为file(u,v)(v小于节点u的邻接节点总数+1)所存储的数据,则与之相应的邻接边权值为file(u,v+file(u,1))所存储的数据。(3)基于排序定位的改进Dijkstra最短路径计算基于步骤1)中所建立的路网数据文件和步骤2)中所给出的邻接节点和邻接边权值数据查询方法,针对传统的Dijkstra算法所存在的问题进行改进,设计了一个求解单个节点到其他所有节点之间最短路径的改进Dijkstra算法,具体实现过程如下:1)首先给出计算过程中所使用符号的定义:为每个节点i(i∈E)分别定义一个长度标号、前驱节点标号p(i)及状态标号s(i),其中,d(i)用于存储从计算起点到节点i的累积权值,p(i)用于存储从起点到节点i的路径上节点i前面的一个节点,s(i)用于存储节点i的计算状态,若s(i)=0表示尚未求得从路径起点到到该节点的最短路径(称为临时标号),若s(i)=1表示已求得从路径起点到到该节点的最短路径(称为永久标号),定义w(i,j)为节点i到其邻接节点j(j∈E)之间的邻接边权值;定义一个行数可变的动态一维数组Q,用于存储长度标号小于+∞且状态标号为临时标号的节点编号,用L表示Q的行数变量,随着Q中数据的增减L是动态变化的,同时为统计Q中拥有最小长度标号的节点的各数,还需要定义一个变量x。2)基于上述定义,改进的Dijkstra算法求解单个节点到其他所有节点的最短路径共包括以下几个分步骤:分步骤一:从数据文件file中读取数据并赋值给二维数组M;分步骤二:初始化,确定计算的起点为z(z∈E),求节点z到其他所有节点的最短路径,令d(z)=0,s(z)=0,p(z)=0,对于r∈E且r≠z的节点,令d(r)=+∞,s(r)=0,p(r)=0,令Q={z},x=0;分步骤三:确定下次迭代计算将为永久标号的节点,首先对Q中数据按照各节点的长度标号数据大小递减的顺序进行重新排序,确定拥有最小长度标号的邻接节点个数并赋值给x,即此时Q中第L‑x+1行至第L行所存储的数据均为具有最小长度标号的节点编号,将这些节点的状态标号同时由临时标号更新为永久标号,即令K={Q(k)|k=(L‑x+1):L,k为整数},s(k)=1(k∈K),为方便后续对Q中数据的更新操作,令L=L‑x;分步骤四:对于集合K中的每个节点k,更新节点k的所有邻接节点标号和一维数组Q,首先根据节点k的编号在二维数组M中查找它的所有邻接节点编号为M(k,2)~M(k,M(k,1)+1)所存储的数据,以及与这些邻接节点相应的邻接边权值为M(k,M(k,1)+2)~M(k,2M(k,1)+1)所存储的数据,再对M(k,2)~M(k,M(k,1)+1)中的每个节点t判断d(t)>d(k)+w(k,t)是否成立,如果成立,则令d(t)=d(k)+w(k,t),p(t)=k,并判断在此次更新之前节点t的长度标号d(t)是否为+∞,若果是,则令L=L+1,Q(L)=t;分步骤五:转至步骤三,重复步骤三~步骤四的计算,直到所有节点的状态编号全部为1时停止计算,即获得了从计算的起始节点z到其他所有节点的最短路径。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学;林赐云,未经吉林大学;林赐云许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410752964.1/,转载请声明来源钻瓜专利网。
- 上一篇:水钻加工头及水钻机
- 下一篇:一种车队预约管理方法及系统
- 同类专利
- 专利分类
G06 计算;推算;计数
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置