- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最短路径与选址问题
P={vi1,ei1,vi2,ei2,…,eik-1,vik}
路径是顶点与边的交替序列集合
在地理网络中,给定一个起始点,指定一个终止点,在从起点至终点的所有路径中,找到一条最短的路径,是为最短路径分析。
含义?
距离最短?时间最少?经济成本最节省?
指定障碍点?
指定中途点?……
最优路径分析
“纯距离”意义上的最短路径
最短路径的含义
“经济距离”意义上的最短路径
需要运送一批物资从一个城市到另一个城市,选择什么样的运输路线距离最短?
某公司在10大港口C1,C2,…,C10设有货栈,从Ci到Cj之间的直接航运价格,是由市场动态决定的。如果两个港口之间无直接通航路线,则通过第三个港口转运。那么,各个港口之间最廉价的货运线路是什么?
“时间”意义上的最短路径
某家经营公司有一批货物急需从一个城市运往另一个城市,那么,在由公路、铁路、河流航运、航空运输等4种运输方式和各个运输线路所构成的交通网络中,究竟选择怎样的运输路线最节省时间?
赋权图上的最短路径问题
空间距离
经济成本
时间成本
权重值
连接边
地理网络赋权图
最短路径分析
找出网络中不经过障碍点且权值总和最小的路径
找出网络中权值总和最小的路径
指定障碍点
找出网络中经过中途点且权值总和最小的路径
指定中途点
最短路径分析算法
1959年E.W.Dijkstar 提出的标号法是最短路径问题最基础也是应用最广泛的分析求解方法 。
标号法优点 ①不仅可以求出起点到终点的最短路径及其长度;
②而且可以求出起点到其他任何一个顶点的最短路径及其长度;
③同时适用于求解有向图或无向图上的最短路径问题。
标号法的基本思想
设G是一个赋权有向图,即对于图中的每一条边,都赋予了一个权值。在图G中指定两个顶点,确定为起点和终点,不妨设v1为起点,vk为终点。
找到从v1至vk的权值最小路径
最短路径分析算法
每次有一个顶点的标号由T至P,那么最多经过k-1步,就可以求得到从起点v1到每一个顶点的最短路径及其长度。
首先从起点v1开始,给每个顶点标一个符号与数字,称为标号。
这些标号又进一步区分为T标号和P标号两种类型。
其中,每一个顶点的T标号为临时标号,其数字表示从起点v1到该点的最短路径长度的上界(最大值);每一个顶点的P标号为固定标号 (当前顶点已找到最短路径),其数字表示从v1到该点的最短路长度。
标号法的基本思想
在最短路径计算过程中,对于已经得到P标号的顶点,不再改变其标号;对于凡是没有标上P标号的顶点,先给它一个T标号;算法的每一步就是把顶点的T标号逐步修改,将其变为P标号。(即依次修改顶点由临时标号T转换为固定标号P)
如何确定顶点由T至P?
最短路径分析算法
标号法具体计算步骤:
初始化,先给v1标上P标号P(v1)= 0,其余各点标上T标号T(vj)=+∞ (j≠1)。
① 如果刚刚得到P标号的点是vi,那么,找出下列集合包括的所有这样的顶点:
至v1的最短路径已找到
从vi出发可达的其它临时T标号的顶点
并且将其T标号修改为:
min[T(vj), P(vi)+wij]
vj原最短路径长度与通过vi再至vj的路径长度进行比较取较小值
从刚修改完标号数值的所有顶点vj中,将其数值最小的vj0的T标号修改为P标号
初始化:
P(v1)= 0, T(vj)=+∞
对于最近得到P标号的点vi :找出它直达的所有其它T标号的顶点
更新各顶点vj的权值:
min[T(vj), P(vi)+wij]
更新最小权值的
T标号顶点为P标号
当前网络图中已没有T标号顶点
停止,最短路径已找到
YES
NO
Dijkstar标号法算法流程:
例1:在下凸所示的赋权有向图中,每一个顶点vi(i=1,2,…,n)代表一个城镇;每一条边代表相应两个城镇之间的交通线,其长度用边旁的数字表示。试求城镇v1到v7之间的最短路径。
赋权有向交通阿网络图
解:初始化:首先给v1标上P标号P(v1)=0,表示从v1到v1的最短路径为零;其他点(v2,v3,…,v7)标上T标号T(vj)=+∞(j=2,3,…,7)。
P 0
T +∞
T +∞
T +∞
T +∞
T +∞
T +∞
第1步:
① v1是刚得到P标号的点。因为(v1,v2),(v1,v3),(v1,v4)∈E,而且v2,v3,v4是T标号,所以修改这3个点的T标号数值为:
T(v2)=min[T(v2),P(v1)+w12]=min[ +∞,0+2]=2
T(v3)=mi
原创力文档


文档评论(0)