聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 最佳路径问题

最佳路径问题

时间:2022-12-16 00:11:16    下载该word文档
路径分析是GIS中最基本的功能,其核心是对最佳路径的求解。从网络模型的角度看,最佳路径的求解是在指定网络的两个结点之间找一条阻碍强度最小的路径。另一种路径分析功能是求解最佳游历方案,又分为弧段最佳游历方案求解和结点最佳游历方案求解两种。

最佳路径分析也称最优路径分析,以最短路径分析为主。这里最佳包含很多含义,不仅指一般地理意义上的距离最短,还可以是成本最少、耗费时间最短、资源流量(容量)最大、线路利用率最高等标准。很多网络相关问题,如最可靠路径问题、最大容量路径问题、易达性评价问题和各种路径分配问题均可纳入最佳路径问题的范畴之中。无论判断标准和实际问题中的约束条件如何变化,其核心实现方法都是最短路径算法。


最短路径问题从算法研究的角度考虑最短路径问题通常可归纳为两大类:一类是所有点对之间的最短路径,另一类是单源点间的最短路径问题。

网络分析:最佳路径问题


“最佳路径”中的“佳”包含很多含义,它不仅可以指一般地理意义上的距离最短,还可以是时间最短、费用最少、线路利用率最高等标准。但是无论引申为何种判断标准,其核心实现方法都是最短路径算法。

最短路径的数据基础是网络,组成网络的每一条弧段都有一个相应的权值,用来表示此弧段所连接的两结点间阻抗值。在数学模型中,这些权值可以为正值,也可以为负值。由于在GIS中一般的最短路径问题都不涉及负回路的情况,因此以下所有的讨论中假定弧段的权值都为非负值。
若一条弧段(vivj的权值表示结点vivj间的长度,那么道路u{e1e2,…,ek}的长度即为u上所有边的长度之和。所谓最短路径问题就是在vivj之间的所有路径中,寻求长度最小的路径,这样的路径称为从vivj的最短路径。
最短路径问题的算法一般分为两大类:一类是所有点对间的最短路径,另一类则是单源点间的最短路径问题,其各自的求解方法是不同的。


5.3.2最佳路径分析
最佳路径分析也称最优路径分析,以最短路径分析为主,一直是计算机科学、运筹学、交通工程学、地理信息科学等学科的研究热点。这里“最佳”包含很多含义,不仅指一般地理意义上的距离最短,还可以是成本最少、耗费时间最短、资源流量(容量)最大、线路利用率最高等标准。很多网络相关问题,如最可靠路径问题、最大容量路径问题、易达性评价问题和各种路径分配问题均可纳入最佳路径问题的范畴之中。无论判断标准和实际问题中的约束条件如何变化,其核心实现方法都是最短路径算法。
地理网络因地理元素属性的不同而表现为同形不同性的网络形式,为了进行网络路径分析,需要将网络转换成加权有向图,即给网络中的弧段赋以权值,权值要根据约束条件而确定。若一条弧段的权表示起始结点和终止结点之间的长度,那么任意两结点间的一条路径的长度即为这条路上所有边的长度之和。最短路径问题就是在两结点之间的所有路径中,寻求长度最小的路径,这样的路径称为两结点间的最短路径。
最短路径问题的表达是比较简单的,从算法研究的角度考虑最短路径问题通常可归纳为两大类:一类是所有点对之间的最短路径,另一类是单源点间的最短路径问题。
1.最短路径算法

1Dijkstra算法基本思想
戴克斯徒拉Dijkstra算法是E.W.Dijkstra1959年提出的一种按路径长度递增的次序产生最短路径的算法,此算法被认为是解决单源点间最短路径问题比较经典而且有效的算法。其基本思路是:假设每个点都有一对标号dj,pj其中dj是从起源点s到点j的最短路径的长度(从顶点到其本身的最短路径是零路(没有弧的路),其长度等于零)pj则是从sj的最短路径中j点的前一点。求解从起源点s到点j的最短路径算法也称标号法或染色法,其基本过程如下:
初始化。起源点设置为ds=0ps为空,并标记起源点sV5
60k=s,其他所有点设为未标记点。
10030V4检验从所有已标记的点k到其直接连接的未标记的点jV0
10距离,并设置2010V1
V3dj=mindj,dk+lkj
5其中,lkj为从点kj的直接连接距离。V250选取下一个点。从所有未标记的结点中,选取dj中最小5.37带权的有向图的一个i
di=mindj,所有未标记的点j
i就被选为最短路径中的一点,并设为已标记的点。
找到点i的前一点。从已标记的点中找到直接连接到点i的点j*,作为前一点,记为
i=j*
标记点i。如果所有点已标记,则算法完全推出,否则,记k=i,重复步骤②③④。5.37为某一带权有向图,若对其施行Dijkstra算法,则所得从V0到其余各顶点的最短路径以及运算过程中距离的变化情况如表5.5所示。
5.5Dijkstra算法示例及计算过程



V1V2V3V4V5Vj
S从源点V0到各终点的距离值和最短路径的求解过程
i=110V0,V2
30V0,V4100V0,V5
V2V0,V2
i=2
60V0,V2,V330V0,V4100V0,V5
V4V0,V2,V3
i=3
50V0,V4,V3

90V0,V4,V5
V3
V0,V2,V3,V4
i=4

60V0,V4,V3,V5
V5
V0,V2,V3,V4,V5
i=5

通过上述例子可知,在求解从起源点到某一特定终点的最短路径过程中还可得到起源点到其他各点的最短路径,因此,这一计算过程的时间复杂度是O(n2,其中n为网络中的结点数。
2)弗洛伊德算法
弗洛伊德(Floyd)算法能够求得每一对顶点之间的最短路径,其基本思想是:假设求从顶点ViVj的最短路径。若从ViVj有弧,则从ViVj存在一条长度为dij的路径,该路径不一定是最短路径,需要进行n次试探。首先判别弧(Vi,V1)和弧(V1,Vj)是否存在(即考虑路径Vi,V1,Vj是否存在)如果存在,则比较Vi,VjVi,V1,Vj的路径长度,较短者为从ViVj的中间顶点的序号不大于1的最短路径。假如在路径上再增加一个顶点

免费下载 Word文档免费下载: 最佳路径问题

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服