200 likes | 334 Views
图与网络分析 ( Graph Theory and Network Analysis). 赵芳玲. 图论是运筹学的一个重要分支,它是建立和处理 离散类 数学模型的一个重要工具 。用图论的方法往往能帮助人们解决一些用其它方法难于解决的问题。图论的发展可以追溯到 1736 年欧拉所发表的一篇关于解决著名的“哥尼斯堡七桥问题”的论文。由于 这种数学模型和方法直观形象,富有启发性和趣味性, 深受人们的青睐。到目前为止,已被广泛地应用于系统工程、通讯工程、计算机科学及经济领域。传统的物理、化学、生命科学也越来越广泛地使用了图论模型方法。. 图与网络分析
E N D
图与网络分析 (Graph Theory and Network Analysis) 赵芳玲
图论是运筹学的一个重要分支,它是建立和处理离散类数学模型的一个重要工具。用图论的方法往往能帮助人们解决一些用其它方法难于解决的问题。图论的发展可以追溯到1736年欧拉所发表的一篇关于解决著名的“哥尼斯堡七桥问题”的论文。由于这种数学模型和方法直观形象,富有启发性和趣味性,深受人们的青睐。到目前为止,已被广泛地应用于系统工程、通讯工程、计算机科学及经济领域。传统的物理、化学、生命科学也越来越广泛地使用了图论模型方法。图论是运筹学的一个重要分支,它是建立和处理离散类数学模型的一个重要工具。用图论的方法往往能帮助人们解决一些用其它方法难于解决的问题。图论的发展可以追溯到1736年欧拉所发表的一篇关于解决著名的“哥尼斯堡七桥问题”的论文。由于这种数学模型和方法直观形象,富有启发性和趣味性,深受人们的青睐。到目前为止,已被广泛地应用于系统工程、通讯工程、计算机科学及经济领域。传统的物理、化学、生命科学也越来越广泛地使用了图论模型方法。
图与网络分析 (Graph Theory and Network Analysis) 图的基本知识 树及最小生成树 最短路问题 最大流问题 最小费用最大流问题
1、 最短路的概念:设 为连通图,图中各边 有权 ( 表示 之间没有边), 为图中任意两点,求一条路 ,使它为从 到 的所有路中总权最短。即: 最小。 三 、最短路问题 2、最短路的算法 (1)由图写出其权矩阵 (2)由Mat lab软件求最短路
function[D,R]=floyd(a) n=size(a,1); D=a for i=1:n for j=1:n R(i,j)=j; end end R for k=1:n for i=1:n for j=1:n if D(i,k)+D(k,j)<D(i,j) D(i,j)=D(i,k)+D(k,j); R(i,j)=R(i,k); end end end k D R end 附程序:
v2 v4 2 4 3 2 v6 2 v1 1 2 5 4 v3 v5 例1 求下图从v1到v6的最短路。(无向图) 解 [D,R]=floyd(a)
最短距离 D = 0 3 4 5 5 7 3 0 1 2 2 4 4 1 0 3 3 5 5 2 3 0 2 4 5 2 3 2 0 2 7 4 5 4 2 0 最短路径 R = 1 2 2 2 2 2 1 2 3 4 5 5 2 2 3 2 2 2 2 2 2 4 5 6 2 2 2 4 5 6 5 5 5 4 5 6 v1到v6的最短路为:
例2有一批货要从1运到8,运输路线如下图所示,弧旁的 数字是这段路的单位运费。试给出总运费最小的运输路线。 (有向图) 2 6 1 2 3 1 10 5 9 4 3 7 6 5 5 2 3 4 6 7 8 4 8
D = 0 2 8 1 6 3 3 10 Inf 0 6 Inf 5 Inf Inf 9 Inf Inf 0 Inf Inf Inf Inf 6 Inf 9 14 0 5 Inf 2 9 Inf Inf 9 Inf 0 Inf Inf 4 Inf 11 16 5 7 0 4 11 Inf 7 12 Inf 3 Inf 0 7 Inf Inf Inf Inf Inf Inf Inf 0 R = 1 2 2 4 4 6 4 4 1 2 3 4 5 6 7 5 1 2 3 4 5 6 7 8 1 7 7 4 7 6 7 7 1 2 3 4 5 6 7 8 1 7 7 4 7 6 7 7 1 2 5 4 5 6 7 5 1 2 3 4 5 6 7 8 1到8的最短路径为 {1,4,7,5,8} 最小运费为10。
2 v1 v2 3 -4 2 v3 v4 3 例3求右图从v1到v4的最短路。 (有负权) [D,R]=floyd(a) D = 0 -1 3 1 Inf 0 Inf 2 Inf -4 0 -2 Inf Inf Inf 0 R =1 3 3 3 1 2 3 4 1 2 3 2 1 2 3 4 v1到v4的最短路p=(v1,v3,v2,v4) ,其权d4=1
方法:将此问题用一个赋权有向图来描述,然后求这个赋权有向图的最短路。 求解步骤: 1)画赋权有向图: 设 Vi表示第i年初,(Vi ,Vj )表示第i 年初购买新设备用到第j年初(j-1年底),而Wi j表示相应费用,则5年的一个更新计划相当于从V1到V6的一条路。 2)求解 (MATLAB )
118 82 60 44 46 v3 v5 v2 v4 v6 v1 32 34 34 36 32 46 62 44 60 82
a=[0 32 44 60 82 118 inf 0 32 44 60 82 inf inf 0 34 46 62 inf inf inf 0 34 46 inf inf inf inf 0 36 inf inf inf inf inf 0]; [D,R]=floyd(a) 解 D = 0 32 44 60 82 106 Inf 0 32 44 60 82 Inf Inf 0 34 46 62 Inf Inf Inf 0 34 46 Inf Inf Inf Inf 0 36 Inf Inf Inf Inf Inf 0 R =1 2 3 4 5 3 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 更新计划 (v1,v3,v6) 第一年和第三年初各购置一台新设备,总费用为106万元
例5 银行计划用6千万元来发展某种产品的生产。现有三个投资对象,预测对它们的投资额与5年的利润关系如下: 对一个单位的最大投资额是3千万元。试制定这项投资计划,使总利润最大。
解 首先考虑对A 投资。设为Ai对A投资后剩余i(千万元)。应有A6,A5,A4,A3。再接着考虑对B投资。设为Bj为对B(实际上是对A和B)投资后剩余j(千万元)。应有B3,B2,B1,B0。最后的余款全部投资给C,记作C0。而开始时记作S6,表示总投资额有6(千万元)从S6到A5的弧表示对A投资1千万元,可收益2千万元,故弧(S6,A5)的权为2,其它的依此类推。如图7-13所示。显然,现在的问题是要求从S6到C0的最长路。我们只需将每一个权变号,就可以把最长路问题变成最短路问题
从 到 的最长路是( , , , )。即对A投资3千万元,对B投资1千万元,对C投资2千万元,五年可获利润7.7千万元。
练习: 求下列图中从到各顶点的距离,并给出从到的最短路。