- 9
- 0
- 约1.5万字
- 约 52页
- 2016-12-09 发布于北京
- 举报
第六章 图论与网络101117
第六章 图与网络分析 一、图的基本概念与模型 二、树图和图的最小支撑树 三、最短路问题 四、网络的最大流 五、网络的最小费用流 一、图的基本概念与模型 例1.哥尼斯堡七桥问题(七桥难题)18世纪的哥尼斯堡城中流过一条河(普雷.哥尔河),河的两岸和河中的两个小岛有七座桥彼此相联。当地居民热衷于讨论这样的问题:是否可以设计一种方案,使得人们从自己家里出发,经过每座桥一次恰好一次,最后回到家里。这便是著名的“哥尼斯堡七桥问题”。一、图的基本概念与模型 用图来表示问题: A、B、C、D表示河的两岸和两岛, 其连线表示连接他们的桥。 问:从A、B、C、D任一点出发,能否通过每条边一次且仅一次,再回到起点?(一笔画原理) 答:欧拉证明这样的走法是不存在的。 定义:在图中找一条经过每边一次且仅一次的路,通称欧拉回路。 例3:a、b、c、d、e、f企业之间的业务往来。两图无区别 例4:石油流向的管网示意图。图论发展比较缓慢,计算机的发展,重新驱动图论发展 一、基本概念1.图:由点集vvi和v中元素的无序对的一个集合Eek所构成无向图,计为GV,E,Vi为顶点,ek为边。 (由点和边组成) 2.简单图:不含环和多重边的图。含有多重边的图称为多重图。 7.有向图:点和有向边(或称弧)构 成的图。 8.网络:点或边带有某种数量指标的有向图称为网络,或称赋权图。 9.路:有向图中有起点,有终点的链为路(每条边方向相同),圈为回路。 10.连通图:图中任两点之间至少有一条链,则称此图为连通图。 11.树:比赛安排情况,企业组织结构用树表示。 定义:无圈的连通图称为树,TV,E) 性质:①任两点间必有且仅有一条链。②两个不相邻的顶点间添上一条 边,就得到一个圈。③去掉任何一条边,图就不连通。④含有p个顶点的树有p-1条边。树枝总数(权总数) 最小的生成树称为该图的 最小生成树。 最少生成树的寻找方法有:破圈法、避圈法。 1.图矩阵:边vi,vj的权为ωij,则aijv1 1v2Av33v42.邻接矩阵: aij 最短路问题是网络理论中应用最广泛的问题之一。许多最优化问题可以使用这个模型,如设备更新,管道铺设,线路安排,厂区布局,费用问题等。 1、Dijkstra算法:某一点至其他各点的距离最短 2、Floyd算法:任意两点间的距离最短 3、逐次逼近法:带有负权时求最短短路 1、Dijkstra算法 被认为是求无负权网络最短路问题的最好方法。 算法的基本思路基于以下原理: 若序列vs,v1, …vn-1,vn是从vs到vn的最短路, 则序列vs,v1, …vn-1必为从vs到vn-1的最短路。 1、Dijkstra算法 1、Dijkstra算法 1给起点vs以 P标号,PvS0,其余各点均给T标号, Tvi+ ∞ 2若vi点为刚得到P标号的点,考虑这样的点vj:vi,vj∈E,且vj为T标号,对vj的T标号进行如下的更改:Tvjmin[Tvj,Pvi+wij] 3比较所有具有T标号的点,把最小者改为P标号,即: Pvimin[Tvi] 当存在两个以上最小者时,可同时改为P标号。若全部点均为P标号,则停止,否则vi代vi转回2)。 1、Dijkstra算法 1、Dijkstra算法 1、Dijkstra算法 6考虑点v3,v3,v4?E ,v3,v5?E,且v4,v5标号为T,重新计算Tv4min[Tv4,Pv3+l34]min[9,6+4]9Tv5min[Tv5,Pv3+l35]min[8,6+7]8 7比较所有T标号,Tv58最小, ∴Pv58 8考虑点v5,v5,v6?E ,v5,v7?E,且v6,v7标号为TTv6min[Tv6,Pv5+l56]min[+ ∞,8+5]13Tv7min[Tv7,Pv5+l57]min[+ ∞,8+6]14 9比较所有T标号,Tv49最小, ∴Pv49 10考虑点v4,v4,v6?E ,v4,v7?E,且v6,v7标号为TTv6min[Tv6,Pv4+l46]min[13,9+9]13Tv7min[Tv7,Pv4+l47]min[14,9+7]14 11比较所有T标号,Tv613最小, ∴Pv613 12考虑点v6,v6,v8?E ,v6,v7?E,且v6,v7标号为TTv813+417Tv714 13比较所有T标号,Tv714最小, ∴Pv714 14考虑点v7,v7,v8?E , Tv815;Tv814最小 ∴Pv815,结束。 2、Floyd算法 求任意两点间的最短距离,如采用Dijkstra算法比较繁琐。 而Floyd算法可直接求出网络中任意两点间的最短路。 为计算方便,令网络的权矩阵为Ddijn×n,lij 为vi到vj的距离其中2、Floy
原创力文档

文档评论(0)