[发明专利]结合Dijkstra算法和A*算法求取最佳路径的优化算法在审
申请号: | 201610981712.5 | 申请日: | 2016-11-08 |
公开(公告)号: | CN108062592A | 公开(公告)日: | 2018-05-22 |
发明(设计)人: | 杨庆;金建华;蒋晓明;谭得浩 | 申请(专利权)人: | 上海宝通汎球电子有限公司 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G01C21/34 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200000 上海市徐汇区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结合 dijkstra 算法 求取 最佳 路径 优化 | ||
本发明公开了一种结合Dijkstra算法和A*算法求取最佳路径的优化算法,Dijkstra算法是典型最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。A*(A‑Star)算法是一种静态路网中求解最短路经最有效的方法,A*关注点到点的最短路径(包括具体路径)。两种路径算法各有自身优缺点,本发明则是在Dijkstra算法和A*算法基础之上结合各自优点而发明的一种优化算法。
技术领域
本发明涉自动寻路算法。
背景技术
在现今出门越来越依赖导航寻路的时代,路径算法必然成为了各个导航寻路软件的重点,而在现今引应用较多的路径算法中有Dijkstra算法、A*算法、SPFA算法、Bellman-Ford算法和Floyd-Warshall算法...这些算法在复杂度和效率上各有优缺点,其中Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。A*算法效率较好,但当存在多个最小值时A*算法不能保证搜索的路径最优,由此结合两者的优点衍生出优化算法。
发明内容
本发明主要解决的技术问题是提供一种结合Dijkstra算法和A*算法求取最佳路径的优化算法,能够解决Dijkstra算法和A*算法在各自算法上的不足,而导致的算法效率难以得到提升或者无法得出最优路径的问题。
本发明的有益效果是:本发明结合Dijkstra算法和A*算法的优点得出求取最佳路径的优化算法,大大的弥补了两种独立算法各自的不足,不仅得到了最优解,而且还提升了算法的效率。
Dijkstra算法是由E.W.Dijkstra于1959年提出,又叫迪杰斯特拉算法,它应用了贪心算法模式,是目前公认的最好的求解最短路径的方法。算法解决的是有向图中单个源点到其他顶点的最短路径问题,其主要特点是每次迭代时选择的下一个顶点是标记点之外距离源点最近的顶点。但由于dijkstra算法主要计算从源点到其他所有点的最短路径,所以算法的效率较低。其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的某一个顶点,把从源到u且中间只经过S中顶点的路称为从源到u的特殊路径,并用数组dist记录当前每个顶点所对应的最短特殊路径长度。Dijkstra算法每次从V-S中取出具有最短特殊路长度的顶点u,将u添加到S中,同时对数组dist作必要的修改。一旦S包含了所有V中顶点,dist就记录了从源到所有其它顶点之间的最短路径长度。
A*算法,A*(A-Star)算法是一种静态路网中求解最短路最有效的方法。估价值与实际值越接近,估价函数取得就越好。公式表示为:f(n)=g(n)+h(n),其中f(n)是从初始点经由节点n到目标点的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价,h(n)是从n到目标节点最佳路径的估计代价。保证找到最短路径(最优解的)条件,关键在于估价函数h(n)的选取:估价值h(n)<=n到目标节点的距离实际值,这种情况下,搜索的点数多,搜索范围大,效率低。但能得到最优解。如果估价值>实际值,搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。例如对于几何路网来说,可以取两节点间欧几理德距离(直线距离)做为估价值,即f=g(n)+sqrt((dx-nx)^2+(dy-ny)^2);这样估价函数f在g值一定的情况下,会或多或少的受估价值h的制约,节点距目标点近,h值小,f值相对就小,能保证最短路的搜索向终点的方向进行。明显优于Dijkstra算法的毫无无方向的向四周搜索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海宝通汎球电子有限公司,未经上海宝通汎球电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610981712.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种双氧水生产设备
- 下一篇:一种基于中文文本进行情感倾向分析的方法及装置
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理