最优路径算法

上传人:鲁** 文档编号:559582538 上传时间:2023-10-10 格式:DOCX 页数:4 大小:145.71KB
返回 下载 相关 举报
最优路径算法_第1页
第1页 / 共4页
最优路径算法_第2页
第2页 / 共4页
最优路径算法_第3页
第3页 / 共4页
最优路径算法_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《最优路径算法》由会员分享,可在线阅读,更多相关《最优路径算法(4页珍藏版)》请在金锄头文库上搜索。

1、解决方案一:Dijkstra算法(单源最短路径)单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。在弄清楚如何求算 单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质。一. 最短路径的最优子结构性质该性质描述为:如果P(i,j) = Vi.Vk.VsVj是从顶点i至叮的最短路径,k和s是 这条路径上的一个中间顶点,那么P(k,s)必定是从k到s的最短路径。下面证明该性质的 正确性。假设P(i,j) = Vi.Vk.Vs.Vj是从顶点i至叮的最短路径,则有 P(i,j) = P(i,k)+P(k,s)+P(s,j)。而P(k,s)不是从k到s的最短距离,那么必定存在另一条 从

2、 k 到 s 的最短路径 P(k,s),那么 P(i,j) = P(i,k)+P(k,s)+P(s,j)vP(i,j)。则与 P(i,j) 是从i至叮的最短路径相矛盾。因此该性质得证。二. Dijkstra 算法由上述性质可知,如果存在一条从i至叮的最短路径(Vi.Vk,Vj),Vk是Vj前面的一 顶点。那么(Vi.Vk)也必定是从i到k的最短路径。为了求出最短路径,Dijkstra就提出 了以最短路径长度递增,逐次生成最短路径的算法。譬如对于源顶点V0,首先选择其直接 相邻的顶点中长度最短的顶点Vi,那么当前已知可得从VO到达Vj顶点的最短距离 distj = mindistj,disti

3、+ matrixij。根据这种思路,假设存在G = vV,E,源顶点为VO, U = VO,disti记录V0到i的最短距离,pathi 记录从V0到i路径上的i前面的一个顶点。1. 从V-U中选择使disti值最小的顶点i,将i加入到U中;2. 更新与 i 直接相邻顶点的 dist 值。(distj = mindistj,disti + matrixij)3. 知道U=V,停止。测试数据:6010060运行结果:7010S020ltj0070200解决方案2ArcGISforAndroid 査找最短路径ArcGIS for An droid (10.1.1)只支持在线的网络分析,执行路径分析

4、可以通过Rout in gTask 类的solve方法来进行,通过给slove方法传递RoutingParameters类型的参数,可以最短 路径的查找。而要成功执行路径分析,就必须发布网络分析服务,比较麻烦,下面的代码中 使用的服务是arcgiso nlin e.上已经发布的服务。以下代码程序的界面如下:界面包含两控件:Textview和MapView,在执行路径分析前单击MapView会增加路径分 析的停靠点,长按MapView会根据停靠点(至少要两个停靠点)执行查找最短路径的操作, 执行成功之后会在Textview中显示相关的路径信息,这时候单击查询的路径,会选中路径 片段,相关的信息也会在TextView上显示。单击TextView就会清空所有结果,恢复到原始 状态。结果:02rlonw Pork长度:0-840464米时间;143250分钟,描述:Turn right on San Antonio Rd” w

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号