1、第七章 网络优化模型,图与网络的基本概念 最短路径问题 最大流问题 最小费用最大流问题,哥尼斯堡七桥问题,简捷表示事物之间的本质联系,归纳事物之间的一般规律,在一个人群中,对相互认识这个关系我们可以用图来表示。,7.1 图与网络的基本概念,7.1 图与网络的基本概念,7.1.1 图与网络的概念及分类1、图:图由点和边组成 G=( V, E )点集V= vi 边集E= ei ,每一条边和两个端点关联,一条边可以用两个端点表示(vi,vj),边数:m ( G ) = | E | 点数: n ( G ) = | V |,7.1 图与网络的基本概念,无向边: 有向边:无向图:由无向边构成的图有向图:由
2、有向边构成的图,2、无向图和有向图,7.1 图与网络的基本概念,3、简单图和多重图,环:e 9 多重边:e 6 和 e 7简单图:不含环和多重边多重图:含多重边,判断下列哪些图是简单图,哪些图是多重图?,7.1 图与网络的基本概念,7.1 图与网络的基本概念,4、次:以点v为端点的边数叫做点v的次,d(v),奇点:次为奇数偶点:次为偶数悬挂点:d(v)=1 孤立点:d(v)=0,定理7.1:任何图,d ( vi ) = 2 m定理7.2:任何图,奇点有偶数个,7.1 图与网络的基本概念,出次d+(vi) :有向图中,以vi为始点的边数入次d-(vi) :有向图中,以vi为终点的边数,d+(v)
3、 =d-(v) = m,7.1 图与网络的基本概念,5、连通图:,链:无向图G =(V, E)前后相继的点边序列称为链初等链:点边序列中没有重复的点和重复边的链称为初等链( v1 , e1 , v2 , e6 , v4 , e3 , v3 , e8 , v5 ),7.1 图与网络的基本概念,5、连通图:,圈:无向图G =(V, E)中起点和终点重合的链称为圈,初等圈:没有重复点和重复边的链圈称为初等圈( v1 , e1 , v2 , e6 , v4 , e3 , v3 , e5 , v1 ),7.1 图与网络的基本概念,5、连通图:,对于有向图来说,如果链和圈中边的方向与有向图中所标方向相同,
4、那么链就称为道路,圈就称为回路。连通图:任意两个点之间至少有一条链相连的图称为连通图,7.1 图与网络的基本概念,6、子图与生成子图:,子图:图G=( V, E ),E是E的子集,V是V的子集,且E 的边与V的顶点想关联, G=( V, E)是图G的一个子图。生成子图:若V=V,则G是G的生成子图,7.1 图与网络的基本概念,6、网络:,网络(赋权图):由点、边以及与点边相关联的权数所构成的图称为网络,记作N=V,E,W,无向网络有向网络,7.1 图与网络的基本概念,7.1.2 树的概念及性质,1、树(T):无圈的连通图称为树 树叶 分枝点,7.1 图与网络的基本概念,7.1.2 树的概念及性
5、质,2、树的性质性质7.1 树中任意两点之间有且只有一条链。性质7.2 如图G中任意两点之间,有且只有一条链,则该图G是一个树。性质7.3 一个树,则m=n-1。性质7.4 树中任意两个不相邻的点之间增加一条边,则形成唯一的圈。性质7.5 一个树如果去掉任何一条边,该图就不再连通。,7.1 图与网络的基本概念,7.1.2 树的概念及性质3、图的生成树,生成树(支撑树):图G的生成子图是一棵树,则称该树为G的生成树图G中属于生成树的边称为树枝,不属于生成树的边称为弦定理7.3:图G=(V,E),有生成树的充分必要条件为G是连通图,4、最小生成树:图G = ( V,E )的生成树所有树枝上的权数的
6、总和,称为生成树的权。权数最小的生成树称为最小生成树。,寻找最小生成树的方法:避圈法、破圈法,最小生成树权=11,5、根树有向树:若一个有向图在不考虑边的方向时是一棵树,则称这个有向图为有向树。根树:有向树T,恰有一个结点入次d-(vi) =0,其余各点入次d-(vi) =1,则称T为根树,根树中入次d-(vi) =0的点称为根出次d+(vi) =0称为叶其他点称为分枝点,7.1 图与网络的基本概念,在根树中,若每个顶点的出次d-(vi) m,称这棵树为m叉树。若每个顶点的出次d-(vi) =m或0,则称这棵树为完全m叉树,7.1 图与网络的基本概念,求从v1到v8的最短路径,标号:T标号(试
7、探性标号) P标号(永久性标号),1、狄克斯托算法(Dijkstra):标号法,7.2 最短路问题,V2,V3,V7,V1,V8,V4,V5,V6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v1 P(v1)=0, T(vi)=,T(v2)=2 , T(v4)=1 , T(v6)=3min T(v2),T(v4),T(v6)=min 2,1,3 =1P(v4) =1 S=v1 ,v4,P(v1)=0,L12=2L14=1L16=3,P(v4)=1,v2,v3,v7,v1,v8,v4,v5,v6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v1 ,v4
8、,P(v2) =2,P(v1)=0,P(v4)=1,T(v2)=2 T(v6)=3 T(v7)=3min T(v2),T(v6),T(v7)=min 2,3,3=2P(v2) =2 S=v1 ,v4 , v2,L12=2L16=3L42=11L47=3,v2,v3,v7,v1,v8,v4,v5,v6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v1 ,v4 , v2,P(v6) =3,P(v1)=0,P(v4)=1,P(v2) =2,L16=3L47=3 L23=8L25=7,T(v6)=3 T(v7)=3 T(v3)=8 T(v5)=7 min T(v6),T(v7),
9、T(v3), T(v5)=min 3, 3, 8, 7=3P(v6) =3 S=v1 ,v4 , v2 , v6,v2,v3,v7,v1,v8,v4,v5,v6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v1 ,v4 , v2 , v6,P(v7) =3,P(v6) =3,P(v1)=0,P(v4)=1,P(v2) =2,L47=3 L23=8L25=7 L67=7,T(v7)=3 T(v3)=8 T(v5)=7 min T(v7),T(v3),T(v5)=min 3, 8, 7=3P(v7) =3 S=v1 ,v4 , v2 , v6 , v7,v2,v3,v7,v1
10、,v8,v4,v5,v6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v1 ,v4 , v2 , v6 , v7,P(v5) =6,P(v7) =3,P(v6) =3,P(v1)=0,P(v4)=1,P(v2) =2,L23=8L25=7 L75=6L78=11,T(v3)=8 T(v5)=6 T(v8)=11 min T(v3),T(v5),T(v8)=min 8, 6, 11=6P(v5) =6 S=v1 ,v4 , v2 , v6 , v7 , v5,v2,v3,v7,v1,v8,v4,v5,v6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v
11、1 ,v4 , v2 , v6 , v7 , v5,P(v3) =8,P(v5) =6,P(v7) =3,P(v6) =3,P(v1)=0,P(v4)=1,P(v2) =2,L23=8L53=15 L58=10L78=11,T(v3)=8 T(v8)=10 min T(v3), T(v8)=min 8, 10=8P(v3) =8 S=v1 ,v4 , v2 , v6 , v7 , v5 , v3,v2,v3,v7,v1,v8,v4,v5,v6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v1 ,v4 , v2 , v6 , v7 , v5 , v3,P(v8) =10,P
12、(v3) =8,P(v5) =6,P(v7) =3,P(v6) =3,P(v1)=0,P(v4)=1,P(v2) =2,L38=14L58=10L78=11,T(v8)=10 P(v8) =10 S=v1 ,v4 , v2 , v6 , v7 , v5 , v3 , v8,v2,v3,v7,v1,v8,v4,v5,v6,6,1,3,4,10,5,2,7,5,9,3,4,6,8,2,S=v1 ,v4 , v2 , v6 , v7 , v5 , v3 , v8,v1到v8的最短路径为v1 ,v4 , v7 , v5 , v8,长度为10,P(v8) =10,P(v3) =8,P(v5) =6,P(
13、v7) =3,P(v6) =3,P(v1)=0,P(v4)=1,P(v2) =2,狄克斯托算法(Dijkstra)的适用条件:1、用于赋权有向图。 对于赋权无向图的处理2、权数 wij 0,2、逐次逼近算法可用于网络中有权数为负数的边,7.2 最短路问题,7.2 最短路问题,7.3 最大流问题,1、流量和容量有向连通图G = ( V,E ),G的每条边(vi,vj)上有非负数cij称为边的容量,仅有一个入次=0的点vs称为发点,一个出次=0的点vt称为收点,其余点为中间点,这样的网络G称为容量网络,记为G(V,E,C)。,7.3.1 基本概念,7.3 最大流问题,2、可行流和最大流可行流必须满
14、足的两个条件(1)容量限定条件: 0fij cij(2)流量守恒条件:每一个节点流量平衡,7.3 最大流问题,饱和边、不饱和边、流量的间隙,(vi,vj)是饱和的,2、如果fijcij,流从vi到vj的方向是不饱和的,( vi,vj )是不饱和的间隙为12=c12-f12=5 3 = 2,1、如果cij=fij,流从vi到vj的方向是饱和的,3、增广链,容量网络G,若u为网络中从vs到vt的一条链,u上的边与u同向的称为前向边,与u反向的称为后向边,定理7.4 可行流f是最大流的充要条件是不存在从vs到vt的可增广链。,7.3 最大流问题,4、割集,S =(vs,v3),= (v1,v2,v4
15、,v5,vt),为G的割集,割集E的容量=14,其中S =(vs,v1, v3,v4),= (v2,v5,vt),为G的割集,(v1,v2), (v3,v4), (v3,v6)的容量和为割集E的容量=13,其中割集容量最小的称为网络G的最小割集容量(最小割),定理7.5:(流量割集定理)设f为网络G=(V,E,C)的任一可行流,S是任一割集,则有W (f),定理7.6:(最大流-最小割定理)任一个网络G中,从vi到vj的最大流的流量等于分离vi,vj的最小割的容量,7.3 最大流问题,7.3.2 最大流算法,7.3 最大流问题,解:从零流开始,寻找增广链vsv1v4vt 最小容量min 5,5
16、,4 =4,(5 , 4),(5 , 4),(4 , 4),vsv1v5vt 最小容量min 1,3,3 =1,(5 , 5),(3 , 1),(3, 1),vsv2v5vt 最小容量min 4,3,2 =2,(4 , 2),(3 , 2),(3, 3),vsv2v6vt 最小容量min 2,2,5 =2,(4 , 4),(2, 2),(5 , 2),vsv3v6vt 最小容量min 3,2,3 =2,(3 , 2),(2 , 2),(5 , 4),网络最大流量=11,流量安排如上图,从任一可行流开始寻找最大流,采用标号法寻找增广链,( ,+),解:先给发点标号,即:vs标( ,+ ),(vs
17、,v1) fs1 = cs1 = 5(vs,v2) fs2 =2 cs2 = 4 s2= 2 所以给v2标号(+vs,2)(vs,v3) fs3 =2 cs3 = 3 s3= 1 所以给v3标号(+vs,1),(+vs,2),(+vs,1),(v2,v5) f25 =0 0 51= min3 , 2=2 所以给v1标号(-v5,2),(-v5,2),(v1,v4) f14 =2 c24 = 5 51= min3 , 2=2 所以给v2标号(+v1,2),(+v1,2),(v4,vt) f4t =2 c4t = 4 4t= min2 , 2=2 所以给vt标号(+v4,2),(+v4,2),存在
18、一条从vs到vt 的可增广链 = 2调整流量,(4 , 4),(3 , 2),(3 , 1),(5 , 4),(4 , 4),(vs,v1) fs1 = cs1 = 5(vs,v2) fs2 =4 = cs2 = 4(vs,v3) fs3 =2 0,则令j=min( fji , i ),并给vj标号( - vi , j ) b:若有向边方向为从vi到vj ,且fij cij,则令j=min( cij - fji , i ),并给vj标号( + vi , j )如果vt得到标号,说明存在一条可增广链,需要调整;如果vt没得到标号,说明已找到最大流。,2、调整过程:(1)令(2)调整之后,重新进行
19、标号。3、重复1、2步直到找到最大流。,在容量网络G=V,E,C中,每条边(vi,vj)上除了容量cij外,还给出了单位流量的费用dij0,记为G=V,E,C,D。d(f)=dijfij称为流f的费用。 所谓最小费用最大流问题就是找出所有最大流中总费用最小的最大流。,7.4 最小费用最大流问题,7.4 最小费用最大流问题,在容量网络G=V,E,C,D中,f是G上的一个可行流,是从vs到vt的(关于f)的增广链, 称为增广链的费用。,定理7.7:若f是流量为W(f)的最小费用流,是关于f的从vs到vt的一条最小费用增广链,则f经过调整流量得到新可行流f,一定是流量为W(f)+ 的可行流中的最小费用流。,7.4 最小费用最大流问题,7.4 最小费用最大流问题,7.4 最小费用最大流问题,7.4 最小费用最大流问题,