CN108062592A - 结合Dijkstra算法和A*算法求取最佳路径的优化算法 - Google Patents
结合Dijkstra算法和A*算法求取最佳路径的优化算法 Download PDFInfo
- Publication number
- CN108062592A CN108062592A CN201610981712.5A CN201610981712A CN108062592A CN 108062592 A CN108062592 A CN 108062592A CN 201610981712 A CN201610981712 A CN 201610981712A CN 108062592 A CN108062592 A CN 108062592A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- algorithms
- dijkstra
- path
- shortest path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Automation & Control Theory (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
Abstract
本发明公开了一种结合Dijkstra算法和A*算法求取最佳路径的优化算法,Dijkstra算法是典型最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。A*(A‑Star)算法是一种静态路网中求解最短路经最有效的方法,A*关注点到点的最短路径(包括具体路径)。两种路径算法各有自身优缺点,本发明则是在Dijkstra算法和A*算法基础之上结合各自优点而发明的一种优化算法。
Description
技术领域
本发明涉自动寻路算法。
背景技术
在现今出门越来越依赖导航寻路的时代,路径算法必然成为了各个导航寻路软件的重点,而在现今引应用较多的路径算法中有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算法的毫无无方向的向四周搜索。
Dijkstra算法和A*算法都是最短路径问题的常用算法,下面就对这两种算法的特点进行一下比较。Dijkstra算法计算源点到其他所有点的最短路径长度,A*关注点到点的最短路径(包括具体路径),Dijkstra算法建立在较为抽象的图论层面,A*算法可以更轻松地用在诸如游戏地图寻路中。Dijkstra算法的实质是广度优先搜索,是一种发散式的搜索,所以空间复杂度和时间复杂度都比较高。对路径上的当前点,A*算法不但记录其到源点的代价,还计算当前点到目标点的期望代价,是一种启发式算法,也可以认为是一种深度优先的算法。由上可知,当目标点很多时,A*算法会带入大量重复数据和复杂的估价函数,所以如果不要求获得具体路径而只比较路径长度时,Dijkstra算法会成为更好的选择。A*算法和Dijistra算法的区别在于有无估价值,Dijistra算法相当于A*算法中估价值为0的情况。A*算法是在Dijkstra算法中加入了对未来代价的预测,从而使搜索具有一定方向性,提高了效率。结合Dijkstra算法和A*算法的优点得出求取最佳路径的优化算法,大大的弥补了两种独立算法各自的不足,不仅得到了最优解,还提升了算法的效率。
附图说明
图1是Dijkstra算法的流程图
图2是A*算法原理图;
具体实施方式
根据本发明结合Dijkstra算法和A*算法求取最佳路径的优化算法的一实施例,通过电子地图中两个坐标点位置,先通过A*算法计算出所有最短路径,如存在多个值则通过Dijkstra算法进行筛选,获取最优路线。
Claims (1)
1.一种结合Dijkstra算法和A*算法求取最佳路径的优化算法,使用A*算法提升计算效率,使用Dijkstra算法解决A*算法存在多个最小值时不能获得最优路径的问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610981712.5A CN108062592A (zh) | 2016-11-08 | 2016-11-08 | 结合Dijkstra算法和A*算法求取最佳路径的优化算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610981712.5A CN108062592A (zh) | 2016-11-08 | 2016-11-08 | 结合Dijkstra算法和A*算法求取最佳路径的优化算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108062592A true CN108062592A (zh) | 2018-05-22 |
Family
ID=62137620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610981712.5A Pending CN108062592A (zh) | 2016-11-08 | 2016-11-08 | 结合Dijkstra算法和A*算法求取最佳路径的优化算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108062592A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110137911A (zh) * | 2019-06-03 | 2019-08-16 | 西南交通大学 | 一种基于Dijkstra算法的阀组最后断路器识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309917A (zh) * | 2012-03-12 | 2013-09-18 | 富士通株式会社 | 路径搜索方法和路径搜索装置 |
CN103309932A (zh) * | 2012-03-15 | 2013-09-18 | 富士通株式会社 | 路径搜索方法和路径搜索设备 |
CN103364004A (zh) * | 2012-03-28 | 2013-10-23 | 富士通株式会社 | 路径搜索方法和路径搜索装置 |
US20150241225A1 (en) * | 2014-02-27 | 2015-08-27 | Telenav, Inc. | Navigation system with point of interest detour mechanism and method of operation thereof |
-
2016
- 2016-11-08 CN CN201610981712.5A patent/CN108062592A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309917A (zh) * | 2012-03-12 | 2013-09-18 | 富士通株式会社 | 路径搜索方法和路径搜索装置 |
CN103309932A (zh) * | 2012-03-15 | 2013-09-18 | 富士通株式会社 | 路径搜索方法和路径搜索设备 |
CN103364004A (zh) * | 2012-03-28 | 2013-10-23 | 富士通株式会社 | 路径搜索方法和路径搜索装置 |
US20150241225A1 (en) * | 2014-02-27 | 2015-08-27 | Telenav, Inc. | Navigation system with point of interest detour mechanism and method of operation thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110137911A (zh) * | 2019-06-03 | 2019-08-16 | 西南交通大学 | 一种基于Dijkstra算法的阀组最后断路器识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107228677B (zh) | 偏航识别方法和装置 | |
CN100517346C (zh) | 一种最优路径的寻径方法 | |
CN103245347B (zh) | 基于路况预测的智能导航方法及系统 | |
AU2011380820B2 (en) | Autonomous travel system | |
CN110989352B (zh) | 一种基于蒙特卡洛树搜索算法的群体机器人协同搜索方法 | |
Andre et al. | Coordinated multi-robot exploration: Out of the box packages for ROS | |
Chen et al. | A real-time vehicle navigation algorithm in sensor network environments | |
CA3153599A1 (en) | Multi-agv routing method and system thereof | |
CN103968854B (zh) | 一种路径聚类规划方法 | |
CN109059926A (zh) | 跨楼层路径规划方法及系统 | |
CN105466447B (zh) | 导航系统及导航方法 | |
CN102506849A (zh) | 寻找带约束的最短路径的方法 | |
CN104156459A (zh) | 一种基于相同开销网格的高效寻路的方法及系统 | |
CN105318882B (zh) | 兴趣点绑定道路的方法及装置 | |
CN106202114B (zh) | 路径导航方法和装置 | |
CN104613976A (zh) | 确定路径的方法及装置 | |
CN103763771B (zh) | 基于Cell的室内移动终端定位方法 | |
CN105869512A (zh) | 多信息的混杂度量地图建图方法和装置 | |
CN103439726B (zh) | 一种应用于gps的快速k最短路径规划方法 | |
CN105651290A (zh) | 一种导航引擎的快速重新规划路径的方法 | |
CN113485379A (zh) | 一种改进A-Star算法的移动机器人路径规划方法 | |
CN108062592A (zh) | 结合Dijkstra算法和A*算法求取最佳路径的优化算法 | |
CN107449426B (zh) | 导航逻辑方法及其室内ar导航系统 | |
Jia et al. | An improved JPS algorithm in symmetric graph | |
JP5132694B2 (ja) | データ生成装置、データ生成方法及び経路探索装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
DD01 | Delivery of document by public notice | ||
DD01 | Delivery of document by public notice |
Addressee: Patent director of Shanghai Baotong fanqiu Electronics Co.,Ltd. Document name: First notice of examination |
|
DD01 | Delivery of document by public notice | ||
DD01 | Delivery of document by public notice |
Addressee: Patent of Shanghai Baotong fanqiu Electronics Co.,Ltd. The person in charge Document name: Deemed withdrawal notice |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180522 |