1、1,第四章 网络规划设计理论基础,2,通信网设计要求: 满足各项性能指标要求 节省费用 要求设计人员应掌握相当的网络理论基础知识和网络分析的计算方法,如通信网所涉及的数学理论、优化算法、网的分析方法与指标计算方法等。 通信网的拓扑结构在通信网设计中的作用: 影响网的造价和维护费用; 对网络的可靠性和网络的控制及质量起着重要的作用。 对网络的拓扑结构的研究是通信网的规划和设计中第一层次的问题。 在通信网的规划、设计和维护中,可靠性是一项重要的性能指标。,3,第四章 网络规划设计理论基础,4.1 图论基础 4.2 树 4.3 路径选择算法 4.4 网络流量分配及其算法 4.5 通信网的可靠性,4,
2、4.1 图论基础,4.1.1 图的概念4.1.2 图的矩阵表示,5,4.1.1 图的概念,图论是专门研究人们在自然界和社会生活中遇到的包含某种二元关系的问题或系统。它把这种问题或系统抽象为点和线的集合,用点和线相互连接的图来表示,通常称为点线图。图论就是研究点和线连接关系的理论。 传统的网都是转接式的,包括电路转接和信息转接,是由交换节点和传输线路构成。从数学模型来说这是一个图论的问题。,图4.1 图的概念,图的概念,通信网中: 点交换节点 线传输链路 图论在通信网的设计中的应用: (1)确定最佳网络结构 (2)进行路由选择 (3)分析网络的可靠性等,6,4.1.1 图的概念,设有节点集V=v
3、1,v2,vn和边集E=e1,e2,em,当存在关系R,使VVE成立时,则说由节点集V 和边集E 组成图G,记为G=(V,E)。 关系R 可以说成对任一边ek,有V 中的一个节点对(vi,vj)与之对应。 图G 中的V 集可任意给定,而E 集只是代表V中的二元关系。对viV ,vjV, 当且仅当vi对vj存在某种关系时(如邻接关系)才有某一个ek E。一个ek只能对应一点对(vi,vj)。 如果有一条边ek与节点对(vi,vj)相对应,则称vi, vj是ek的端点,记为ek =(vi , vj),称点vi , vj与边ek关联,而称vi与vj为相邻节点。 若有两条边与同一节点关联,则称这两条边
4、为相邻边。,1. 图的定义,7,4.1.1 图的概念,例4.1 图4.2中 V=v1, v2, v3, v4 E=e1, e2,e3,e4, e5, e6 其中e1=(v1, v2) , e2=(v1, v3), e3=( v2, v4),e4=(v2, v3) , e5=( v3, v4), e6=( v1, v4)。 故可将图4.2记为G =(V, E )。图中v1与e1,e2,e6关联, v1与v2, v3, v4是相邻节点, e1与e2,e3,e4,e6是相邻边。,图4.2 图G,8,4.1.1 图的概念,一个图可以用几何图形来表示,但一个图所对应的几何图形不是唯一的。 不难看出,图4
5、.2表示的图与图4.1表示的图是相同的图G,说明一个图只由它的节点集V、边集E 和点与边的关系所确定,而与节点的位置和边的长度及形状无关。 图4.1和图4.2只是一个图G 的两种不同的几何表示方法。,9,4.1.1 图的概念,节点:表示物理实体,用vi表示。 边:节点间的连线,表示两节点间存在连接关系,用eij表示。,2图的相关概念,无向图:设图G =(V, E ),当vi对vj存在某种关系R等价于vj对vi存在某种关系R,则称 G 为无向图。即图G 中的任意一条边 ek 都对应一个无序节点对(vi, vj),(vi,vj)=(vj, vi)。如图4.3所示。,图4.3 无向图,10,4.1.
6、1 图的概念,有向图:设图G =(V,E ),当vi对vj存在关系R不等价于vj对vi存在关系R, 则称G 为有向图。即图G 中的任意一条边都对应一个有序节点对(vi, vj ),(vi,vj)(vj,vi)。其边的方向为vi vj 。如图4.4所示。,图4.4 有向图,11,4.1.1 图的概念,有权图:设图G =(V, E ),如果对它的每一条边ek 或对它的每个节点vi 赋以一个实数pk,则称图G 为有权图或加权图,pk 称为权值。对于电路图,若节点为电路中的点,边为元件,则节点的权值可以为电压和电阻,边的权值为电流。对于通信网而言,节点可代表交换局,权值可以为造价或容量等,边代表链路,
7、权值可以为长度,造价等,如图4.5所示。,图4.5 有权图,12,4.1.1 图的概念,自环:若与一个边er 相关联的两个节点是同一个节点,则称边er 为自环。 重边: 在无向图中与同一对节点关联的两条或两条以上的边称为重边。 在有向图中与同一对节点关联且方向相同的两条或两条以上的边称为重边。 没有自环和重边的图称为简单图。 在实际问题中,重边常可合并成一条边。对于一条无向边可画成两条方向相反的有向边,使有向图中没有无向边,也可将与同一对节点相关联的两条有向边合并成一条无向边。,图4.6 自环和重边,13,4.1.1 图的概念,节点的度数:与某节点相关联的边数可定义为该节点的度数,记为d(vi
8、)。如图4.6(a)中d(v2)=4,d(v3)=2,d(v1)=4。 若为有向图, d+(vi):表示离开或从节点vi射出的边数,即节点vi的出度, d-(vi):表示进入或射入节点vi的边数即节点vi的入度, 节点vi的度数d(vi)=d+( vi)+d-( vi)。 如图4.6(b)中,d+(v1)=3, d-(v1)=1, d(v1)=4。,图4.6 自环示意图,14,4.1.1 图的概念,边序列:有限条边的一种串序排列称为边序列,边序列中的各条边是首尾相连的,如图4.7中(e1,e2,e3,e4,e5,e6,e3)就是一个边序列。在边序列中,某条边是可以重复出现的,节点也是可以重复出
9、现的。,图4.7 边序列,链(chain):没有重复边的边序列叫做链。在链中每条边只能出现一次。起点和终点不是同一节点的链叫开链。起点和终点重合的链叫闭链。通常所说的链指的是开链。链中边的数目称为链的长度。如图4.7中(e2,e3,e4)为闭链,而(e1,e2,e3,e6)为开链。,15,边序列,开链,闭链,径,回路,16,4.1.1 图的概念,径(path):既无重复边,又无重复节点的边序列叫做径。在径中,每条边和每个节点都只出现一次。如图4.7 中(e1,e2,e3)即为一条径。在一条径中,除了起点和终点的节点的度数为1外,其他节点的度数都是2。,图4.7 边序列,链和径是不一样的,链中可
10、以有重复的节点,而径中不能出现重复的节点,链中各节点的度数不定,而径中各节点度数是有规律的。,17,4.1.1 图的概念,回路(circuit):起点和终点重合的径称为回路(或称为圈),回路是每个节点度数均为2的连通图,如图4.7中(e2,e3,e4)是一回路。由定义可知,回路必为连通图。回路是最小闭链。,图4.7 边序列,对于有向图,可有相仿的定义,只是在链中,相邻二条边对共有端而言,前面的边必须是射出边,而后面的是射入边。,18,4.1.1 图的概念,连通图:设图G =(V,E),若图中任意两个节点之间至少存在一条路径,则称图G为连通图,否则称G 为非连通图。,3图的连通性,在图4.8中,
11、(a)为一连通图,(b)为一非连通图。,图4.8 连通图与非连通图,19,非连通图总可以分成几个部分,每一个部分都是原图的一个最大连通子图。 最大:是指若在最大连通子图上再加上原图的任意一个元素(一条边或一个端)都将使子图成为非连通图。,20,4.1.1 图的概念,环路:不重边的回路的并称为环路。而环路可以是连通的或不连通 。,如图4.9中,(e1,e2,e6,e5,e4,e3)是环路,是回路(e1,e2, e3)与回路(e4,e5,e6)的不重边的并,它们有一个公共点v3,是连通的。,图4.9 环路,连通的环路:为一单一回路(即最小闭链),或有公共端、而无公共边的回路的并(即有重复端的闭链)
12、。 非连通的环路:为无重复端的回路的并(即分离的回路的并)。 环路中每个端点的度数均为偶数。 闭链和回路都是环路(连通的),但环路不一定是闭链和回路(当环路是非连通时)。,21,环路:1,2,3,4,(1,3),(1,2),(2,4)等 (1,4),(3,4):不是环路,22,4.1.1 图的概念,子图、真子图和生成子图: 从原来的图中适当地去掉一些边和端点后得到子图。设有图G=(V,E),G=(V,E): 子图:V V,E E,则称G是G的子图,写成G G; 真子图:若V V,E E,则称G是G的真子图,写成G G ; G不包含G的所有边 生成子图:若V=V,E E则称G是G的生成子图。 G
13、包含G的所有端。最大连通子图:若图G是图G的一个连通子图,但再加上一个属于原图G的任何一个其他元素,图G就失去了连通性,成为非连通图,则图G叫图G的最大连通子图。,23,4.1.1 图的概念,从子图的定义可以看出,每个图都是它自己的子图。从原来的图中适当地去掉一些边和节点后得到子图。如果子图中不包含原图的所有边就是原图的真子图,若包含原图的所有节点的子图就是原图的生成子图。如图4.10中,(b)是(a)的真子图,(c)是(a)的生成子图,也是真子图。,图4.10 图与子图,24,4.1 图论基础,4.1.1 图的概念4.1.2 图的矩阵表示,25,4.1.2 图的矩阵表示,图的表示方法 几何图
14、形:图的最直接的表示方法是用几何图形,且这种方法已经被广泛地应用。 矩阵:但这种表示在数值计算和分析时有很大缺点,因此需借助于矩阵表示。这些矩阵是与几何图形一一对应的,即由图形可以写出矩阵,由矩阵也能画出图形。这样画出的图形可以不一样,但在拓扑上是一致的,也就是满足图的抽象定义。用矩阵表示的最大优点是可以存入计算机,并进行所需的运算。图常用的两种矩阵: 邻接矩阵 权值矩阵,26,4.1.2 图的矩阵表示,由节点与节点之间的关系确定的矩阵称为邻接矩阵。它的行和列都与节点相对应,因此对于一个有n个节点,m条边的图G,其邻接矩阵是一个nn的方阵,方阵中的每一行和每一列都与相应的节点对应,记作C(G)
15、=cijnn。,1.邻接矩阵,27,4.1.2 图的矩阵表示,cij对于有向图:cij对于无向图:,28,4.1.2 图的矩阵表示,邻接矩阵C 有如下特点:(1)对于无向简单图,邻接矩阵是一个对称阵,有cij= cji ,而对于有向图却不一定。 (2)当图中无自环时,C 阵的对角线上的元素都为 0。若有自环,则对角线上对应的相应元素为1。 (3)有向图中,C 阵中的每行上1的个数为该行所对应的节点的射出度数d+(vi),每列上的1的个数则为该列所对应的节点的射入度数d-(vi);无向图中,每行或每列上1的个数则为该节点的总度数d(vi)。当某节点所对应的行和列均为零时说明该节点为孤立节点。,2
16、9,4.1.2 图的矩阵表示,例4.2 求图4.11(a),(b)的邻接矩阵。,图4.11 图的矩阵表示,30,4.1.2 图的矩阵表示,解:图4.11(a)的邻接矩阵为,图4.11(b)的邻接矩阵为,31,4.1.2 图的矩阵表示,对于无向简单图,邻接矩阵是对称的,且对角线上的元素全为零。对于有向简单图,即没有自环和同方向并行边的有向图,对角线元素也为零,但邻接矩阵不一定对称。,32,4.1.2 图的矩阵表示,设G为有权图,而且是具有n个节点的简单图,其权值矩阵为,2权值矩阵,33,4.1.2 图的矩阵表示,无向简单图的权值矩阵是对称的,对角线元素全为零。有向简单图的权值矩阵不一定对称,但对
17、角线元素也全为零。,34,4.1.2 图的矩阵表示,图4.12和图4.13的权值矩阵W(G1)和W(G2)分别为:,图4.12 无向图G1,图4.13 有向图G2,35,第四章 网络规划设计理论基础,4.1 图论基础 4.2 树 4.3 路径选择算法 4.4 网络流量分配及其算法 4.5 通信网的可靠性,36,4.2 树,4.2.1 树的概念及性质4.2.2 图的生成树及其求法4.2.3 最小生成树算法,37,4.2.1 树的概念及性质,任何两节点间有且只有一条径的图称为树(tree)。 树中的边称为树枝(branch)。 若树枝的两个节点都至少与两条边关联,则称该树枝为树干(trunk)。
18、若树枝的一个节点仅与此边关联,则称该树枝为树尖,并称该节点为树叶(leaf)。 若指定树中的一个点为根,则称该树为有根树 。,1定义,38,4.2.1 树的概念及性质,图4.14所示为一棵树,v1为树根,e1,e6等为树干,e7,e4,e11等为树尖,v6,v7,v8,v10等为树叶。,图4.14 树,39,40,4.2.1 树的概念及性质,树是无环的连通图,但增加一条边便可以得到一个环。任何两节点间有径的图一定是连通图,而只有一条径就不能有环。 树是最小连通图,即去掉树中的任何一条边就成为非连通图,丧失了连通性。 若树有m条边及n个节点,则有m =n -1,即有n个节点的树共有n-1个树枝。
19、 除了单点树外,任何一棵树中至少有两片树叶。,2树的性质,41,4.2 树,4.2.1 树的概念及性质4.2.2 图的生成树及其求法4.2.3 最小生成树算法,42,4.2.2 图的生成树及其求法,设G 是一个连通图,T 是G 的一个子图且是一棵树,若T 包含G 的所有节点,则称T 是G 的一棵生成树,也称支撑树。只有连通图才有生成树;反之,有生成树的图必为连通图。 图G 的生成树上的边组成树枝集。生成树之外的边称为连枝,连枝的边集称为连枝集或称为树补。如果在生成树上加一条连枝,便会形成一个回路。若图G 本身不是树,则G的生成树不止一个,而连通图至少有一棵生成树。 连通图G 的生成树T的树枝数
20、称为图G 的阶。如果图G 有n个节点,则它的阶是(G)=n -1。,1图的生成树,43,4.2.2 图的生成树及其求法,具有n 个节点、m 条边的连通图,生成树T 有n-1条树枝和m-n+1条连枝。 连枝集的连枝数称为图G 的空度,记为,当G 有m 条边时,有(G)= =|G-T|=m-n+1 显然有m =+,44,4.2.2 图的生成树及其求法,图的阶表示生成树的大小,取决于G 中的节点数。 图的空度表示生成树覆盖该图的程度,越小,覆盖度越高,=0表示图G就是树。另一方面,空度也反映图G 的连通程度,越大,连枝数越多,图的连通性越好,=0表示图G有最低连通性,即最小连通图。,45,4.2.2
21、 图的生成树及其求法,破圈法:拆除图中的所有回路并使其保持连通,就能得到G的一棵生成树。避圈法:在有n个点的连通图G中任选一条边(及其节点);选取第二、三条边,使之不与已选的边形成回路;直到选取完n-1条边且不出现回路,结束。,2生成树的求法,46,4.2.2 图的生成树及其求法,例4.3 分别用破圈法和避圈法选择图4.15(a)的一棵树。,图4.15(a),解: 破圈法:如图4.15所示,选择回路(v1 ,v3 ,v4),去掉e1;选择回路(v1 ,v2 ,v3),去掉e3;选择回路(v2 ,v3 ,v5),去掉e6;最后选择回路(v3 ,v4 ,v6,v5),去掉e9依次得到图4.15(b
22、)-(e),其中(e)为(a)的一棵生成树。 避圈法:依次选取五条边e3, e4, e7, e9, e8,每一条边均不与已选边形成回路,见图4.16,最后得到G的又一棵生成树(e)。,47,4.2.2 图的生成树及其求法,图4.15 破圈法示意图,48,4.2.2 图的生成树及其求法,图4.16 避圈法示意图,49,4.2 树,4.2.1 树的概念及性质4.2.2 图的生成树及其求法4.2.3 最小生成树算法,50,4.2.3 最小生成树算法,最小生成树:如果连通图G 本身不是一棵树,则它的生成树就不止一棵。如果为图G 加上权值,则各个生成树的树枝权值之和一般不相同,其中权值之和最小的那棵生成
23、树为最小生成树。最小生成树一般是在两种情况下提出的: 有约束条件下的最小生成树; 无约束条件下的最小生成树。,51,4.2.3 最小生成树算法,Kruskal算法(K算法) 是顺序取边算法,是避圈法求生成树的推广。将连通图G 中的所有边按权值的非减次序排列; 选取权值最小的边为树枝,再按的次序依次选取不与已选树枝形成回路的边为树枝。如有几条这样的边权值相同则任选其中一条; 对于有n个点的图直到n-1条树枝选出,结束。这种算法的复杂性主要决定于把各边排列成有序的队列。,1无约束条件的情况,52,4.2.3 最小生成树算法,写出图G 的权值矩阵; 由点v1开始,在行1中找出最小元素w1j; 在行1
24、和行j中,圈去列1和列j的元素,并在这两行余下的元素中找出最小元素,如wjk(如有两个均为最小元素可任选一个); 在行1、行j和行k中,圈去列1、列j和列k的元素,并在这三行余下的元素中找出最小元素; 直到矩阵中所有元素均被圈去,即找到图G 的一棵最小生成树。,2.Prim算法(P算法)顺序取端,53,4.2.3 最小生成树算法,例4.4 要建设连接如图4.17所示的七个城镇的线路网,任意两个城镇间的距离见表4.1,请用P算法找出线路费用最小的网路结构图(设线路费用与线路长度成正比)。,表4.1 各城镇间的距离(km),图4.17 七个城市的地图,54,4.2.3 最小生成树算法,解:这个问题
25、可抽象为用图论求最小生成树的问题,首先列出权值矩阵在第一行中,上述过程,依次找到7,8,8,将这些最小元素对应的边和节点全部画出就可得到一棵最小生成树,如图4.18所示。,找出最小元素5,圈去第1行和第3行中第1列和第3列的元素,在这两行余下的元素中找到最小元素7,再圈去第1行、第3行和第4行中第1列、第3列和第4列的元素,从这3行余下的元素中找到最小元素为3,重复,55,选择(3,4),选择(4,5),选择(3,7),56,选择(1,2),选择(2,6),57,4.2.3 最小生成树算法,所以,费用最小的网路结构网路总长度L为L=3+5+7+7+8+8=38 km,图4.18 最小费用网络结
26、构图,58,4.2.3 最小生成树算法,在设计通信网的网络结构时,经常会提出一些特殊的要求,如某交换中心或某段线路上的业务量不能过大,任意两点间经过转接的次数不能过多等,这类问题可归结为求有约束条件的最小生成树的问题。关于有约束条件的最小生成树的求法目前并没有一般的有效算法,而且不同的约束条件,算法也将有区别。这里,我们只介绍一种常用的解决有约束条件的生成树的方法,即穷举法。穷举法就是先把图中的所有生成树穷举出来,再按条件筛选,最后选出最短的符合条件的生成树。显然这是一种最直观的也是最繁杂的方法,虽然可以得到最佳解,但计算量往往很大。,2有约束条件的最小生成树,59,第四章 网络规划设计理论基
27、础,4.1 图论基础 4.2 树 4.3 路径选择算法 4.4 网络流量分配及其算法 4.5 通信网的可靠性,60,4.3 路径选择算法,路由选择顺序: (1)首选路由:最短路径。即图论中的端间最短径。可分为两种情况:a.指定端到其他各端的最短径。D算法b.任意两端间的最短径。F算法 (2)迂回路由:次短径或可用径。求网中某指定端点到其他各端点的最短路径, 通常认为Dijkstra算法是最有效的方法之一,将这 一方法简称为D算法。,61,4.3 路径选择算法,4.3.1 狄克斯特拉(Dijkstra)算法4.3.2 Warshall-Floyd算法4.3.3 第K条最短路径选择问题,62,4.
28、3.1 狄克斯特拉(Dijkstra)算法,D算法中用到的几个符号Gp,G-Gp,wj 已知图G =(V,E ),将其节点集分为两组:置定节点集Gp和未置定节点集G-Gp。 Gp :指定点vs到Gp内的所有节点的最短路径计算已完成称Gp内的所有节点为置定节点。 G-Gp :vs到G-Gp内的节点距离是暂时的,随着算法的进行将不断调整,使其成为最短径。称G-Gp内的节点是未置定节点。 转接点:在计算各未置定节点的最短径时,是将Gp中的节点作为转接点,计算(vs,vj)的径长wj(vjG-Gp),若该次计算的径长小于上次的值,则更新径长,否则,径长不变。计算后取其中径长最短者,之后将vj划归到Gp
29、中。当(G-Gp)最终成为空集,同时Gp=G,即求得vs到所有其他节点的最短路径。,1D算法原理,63,4.3.1 狄克斯特拉(Dijkstra)算法,wj :表示vs与其他节点的距离。 wi:在Gp中,表示上一次划分到Gp中的节点vi到vs的最短路径。 wj:在G-Gp中,表示从vs到vj 仅经过Gp中的节点作为转接点所求得的该次的最短路径的长度。 如果vs与vj不直接相连,且无置定节点作为转接点,则令 。,64,4.3.1 狄克斯特拉(Dijkstra)算法,图4.19 D算法流程图,2D算法实现流程,65,4.3.1 狄克斯特拉(Dijkstra)算法,例4.5 用D算法求图4.20中v
30、1到其他各节点的最短路径。,图4.20 D算法例题图,66,4.3.1 狄克斯特拉(Dijkstra)算法,解:计算过程及结果列于表4.2及表4.3中。最终路径图如图4.21所示。,表4.2 D算法计算过程,67,4.3.1 狄克斯特拉(Dijkstra)算法,图4.21 v1到其他各节点的最短路径,表4.3 v1到其他各节点的最短路径和径长,68,4.3 路径选择算法,4.3.1 狄克斯特拉(Dijkstra)算法4.3.2 Warshall-Floyd算法4.3.3 第K条最短路径选择问题,69,4.3.2 Warshall-Floyd算法,F算法使用距离矩阵W和路由矩阵R 。 距离矩阵是
31、一个nn矩阵,以图G的n个节点为行和列。记为W=wij n n, wij表示图G中vi和vj两点之间的路径长度。 路由矩阵是一个nn矩阵,以图G的n个节点为行和列。记为R =rij n n ,其中rij表示vi至vj经过的转接点(中间节点)。 F算法的思路: 首先写出初始的W阵和R阵; 接着按顺序依次将节点集中的各个节点作为中间节点,计算任意两点间的径长,每次计算后都以求得的与上次相比较小的径长去更新前一次较大径长,若后求得的径长比前次径长大或相等则不变。以此不断更新W阵和R阵,直至所有的节点都计算完,即W中的数值收敛。,1F算法的基本思路,70,4.3.2 Warshall-Floyd算法,
32、图4.22 F算法流程图,2F算法实现流程,71,(1)写出图G的初始距离矩阵W 0和路由矩阵R0。 已知图G :n个端点,边长为di j,72,(2)依次将G中的各节点k作为中间节点,求wij的最短路径,k=1,2,n。当节点k为中间节点时,求第k次的更新矩阵:,和,其中,,73,W k:为当vk作为转接点时的最短路径长度矩阵; R k:为当vk作为转接点时,任意两端间经过的转接点矩阵。 (3)如果kn则返回(2),若 k=n结束。 从Wk和Rk中可以找到任意两端间的最短径和对应的路由。 由D算法和F算法求得的最短径是最优解。,74,求解:,75,76,4.3.2 Warshall-Floy
33、d算法,例4.6 用F算法求图4.23 中任意点之间的最短路径。,图4.23 F算法例题图,77,4.3.2 Warshall-Floyd算法,解:计算结果如下: (1)初始化距离矩阵W0和路由矩阵R0。,78,4.3.2 Warshall-Floyd算法,(2)依次以v1, v2, , v7为中间节点修改W阵和R阵,结果如下:,W1=,R1=,79,4.3.2 Warshall-Floyd算法,W2=,R2=,W3=W2,R3=R2,80,4.3.2 Warshall-Floyd算法,W4=,R4=,W5=W4,R5=R4,81,4.3.2 Warshall-Floyd算法,W6=,R6=,
34、82,4.3.2 Warshall-Floyd算法,从W7和R7可以找到任何节点间最短径的径长和路由。,R7=,W7=,83,4.3 路径选择算法,4.3.1 狄克斯特拉(Dijkstra)算法4.3.2 Warshall-Floyd算法4.3.3 第K条最短路径选择问题,84,4.3.3 第K条最短路径选择问题,最短路径通常为信息传输的首选路由,如果该路由上有业务量溢出或发生故障,就要寻找迂回路由。迂回路由应依次选择次最短路径,第三条最短路径等,这就是研究第K条最短路径要解决的问题。 业务量溢出或发生故障的两种情况 a.发生在某段或某几段电路上。 b.发生在某个或某几个交换节点上。,85,4
35、.3.3 第K条最短路径选择问题,第K条最短路径可分为两类:一类是两点之间边分离的第K条最短路径; 一类是两点之间点分离的第K条最短路径。,86,4.3.3 第K条最短路径选择问题,第K条最短路径可分为两类: 两点之间边分离的第K条最短路径;在这里,边分离径是指无公共边但有公共点的径,如图4.24中P1和 P2所示。求法是将最短路径中的所有边去掉,用D算法在剩下的图中求出次最短路径,再依照此方法求出第三条最短路径,;,P1:xv1v2y P2:xv3v2v4y,87,4.3.3 第K条最短路径选择问题,第K条最短路径可分为两类: 两点之间点分离的第K条最短路径。点分离径是指除了起点和终点外无公
36、共点的径,如图4.24中的P1和P3所示。求法是将最短路径中的所有节点去掉,在剩下的图中求出次最短路径,同样依照此方法求出其他最短路径。当剩下的图中两点间不存在路径时,结束。,P1:xv1v2y P3:xv5v6y,88,P1:vsv2vt P2:vsv3v2v4vt P3:vsv5v6vt,边分离径:P1与P2; 端分离径 : P1与P3,边分离径与点分离径,89,第四章 网络规划设计理论基础,4.1 图论基础 4.2 树 4.3 路径选择算法 4.4 网络流量分配及其算法 4.5 通信网的可靠性,90,4.4 网络流量分配及其算法,4.4.1 流量分配的相关概念4.4.2 网络最大流算法标
37、号法4.4.3 最佳流问题,91,4.4.1 流量分配的相关概念,网络的作用主要是将业务流从信源送至信宿。 为了充分利用网络中的各种资源,包括线路,转接设备等,希望能合理的分配流量,以使从源到宿的流量尽可能大,传输代价尽可能小。 流量分配的优劣直接关系到网络的使用效率和相应的经济效益,是网络运行的重要指标之一。 网内流量的分配并不是任意的,它受限于网络的拓扑结构、边和节点的容量,所以流量分配实际上是在某些限制条件下的优化问题。 通信网中,流量是指传信率,如几路电话,每秒几比特的数据。实际中,通信流量具有随机性,为了简化,这里只讨论平均流量的问题。,流量分配,92,4.4.1 流量分配的相关概念
38、,设N=(V,E)为有向图,它有两个非空不相交的节点子集X,Y。X中的节点称为源,Y中的节点称为宿,其他节点称为中间节点,在边集E(N)上定义一个取非负整数值的函数C,则称N为一个网络。函数C称为N的容量函数,函数C在边eij=(vi,vj)的值叫边eij的容量,记为C(eij)或C(i,j)。一般来说C(i,j)C(j,i)。,1. 网络的定义,93,4.4.1 流量分配的相关概念,满足以下条件的网络叫单源单宿网络。 网络中有且只有一个节点,其d-(v)=0,称该节点为源(发送节点)。 网络中有且只有一个节点,其d+(v)=0,称该节点为宿(接收节点)。 设N为有一个源x和一个宿y的网络,f
39、是定义在边集E(N)上的一个实数函数,V1,V2是V的子集,用(V1,V2)表示起点在V1中,终点在V2中的边的集合,把这个集合记为,2. 单源单宿网络,94,4.4.1 流量分配的相关概念,通过网络N的边(i,j)的实际流量叫作这条边的流,记为fij,各边的流的集合叫网络N的流。 从源发出的实际的流量(或宿收到的总流量)F叫网络的总流量。,3. 流的概念,95,4.4.1 流量分配的相关概念,设f 是定义在边集E(N)上的一个整数值函数,若满足(1) 对所有的 有 (2) 对所有的中间节点i有 f(i,V)=f(V,i)则称f 是网络N的一个可行流(flow),f(x,V)称为可行流f 的值
40、,记作f(x,y)。f(i,V)叫流出节点i的流,f(V,i)叫流入节点i的流。,4. 可行流的定义,96,4.4.1 流量分配的相关概念,在图4.25中所示的网络N中,每条边旁的第一个数是边的容量, 第二个数是边的流。例如C(x,1)=8,f(x,1)=4,C(1,2)=5,f(1,2)=1等等。,图4.25 流,不难验证,网络N 满足流的两个条件,网络N 的流值 f(x,y)=8。 每一个网至少有一个流零流。,97,4.4.1 流量分配的相关概念,设f是网络N的一个流,如果不存在N的流f,使f(x,y) f(x,y) ,则称f为最大流,最大流的值记作fmax。网络流量的讨论主要是要找出它的
41、一个最大流,为此,先来讨论割的概念。,5最大流定义,98,4.4.1 流量分配的相关概念,割的定义:设N=(V,E)是只有一个源x和一个宿y的网络,V1是V(N)的一个子集,xV1,y ,(V1, )表示起点在V1,终点在 的边的集合,把这些边的集合称为N的一个割,记作K。割中边的容量之和叫做割K的容量,用C (V1, ) 或用C(K)表示割K的容量,于是 。由割的定义可知,网络N 的一个割是分离源和宿的弧的集合。 割的方向取从源到宿的方向。,6割与割集,99,割与割集的概念有区别,割K是按有向图来定义的,而割 集则是按无向图来定义的。,在图4.25中割(V1, )=(v1,v3),(v2,v
42、4),而由节点子集V1和 确定的割集是( v1,v3),( v3,v2),( v2,v4),把N的割(V1, )的全部边删去,自x到y将不存在任何有向链。我们取割的方向为从vx到vy的方向。,图4.25,100,4.4.1 流量分配的相关概念,最小割:设 N为一个网,K是N的一个割,若不存在N的割K使C(K)C(K),则称K是N的最小割,其容量记为Cmin(K)。 对于任何网络N,有fmaxCmin(K)。,101,4.4.1 流量分配的相关概念,7最大流最小割定理 在任何网络中,最大流的值等于最小割的容量,即fmax= Cmin(K)。 8前向边和反向边 在图的割集中,与割方向一致的边叫做前
43、向边,与割方向相反的边叫反向边。 9饱和边、非饱和边、零流边和非零流边 若f(i,j)=C(i,j),则称边(vi,vj)为饱和边,若f(i,j)C(i,j),则称此边为非饱和边。若f(i,j)=0则称边eij为零流边,否则,为非零流边。,102,可增广路,不可增广路,103,4.4.1 流量分配的相关概念,路:设N 为一个网络,N 中相异节点v1, v2,vn,对任意的i (i=1,2,n),(vi,vi+1)或(vi+1,vi)是N 的一条边,且二者不能同时出现。这些节点的序列形成一条从x到y的道路,称为N 中从x到y的一条路。在网络的路中可包含前向边,也可包含反向边。可增广路与不可增广路
44、:若从x到y的一条路中,所有前向边都未饱和,所有反向边都是非零流量的,则这条路称可增广路(可增流路)。若从x到y的一条路中,有一条前向边为饱和的或有一条反向边为零流量的,则这条路称为不可增广路。,10路、可增广路与不可增广路,104,4.4 网络流量分配及其算法,4.4.1 流量分配的相关概念4.4.2 网络最大流算法标号法4.4.3 最佳流问题,105,4.4.2 网络最大流算法标号法,基本思想:从某初始可行流出发,在网络中寻找可增广路,若找到一条可增广路,则在满足可行流的条件下,沿该可增广路增大网络的流量,直到网络中不再存在可增广路。若网络中不存在可增广路,则网络中的可行流就是所求的最大流
45、。 使用标号法求解网络最大流的过程如下:(1)从任一个初始可行流出发,如零流。(2)标号寻找一条从x到y点的可增广路。,1标号法基本思想,利用逐渐增大流值的方法可以达到寻求最大流的目的,这就是确定最大流的标号法,简称M算法。,106,4.4.2 网络最大流算法标号法,(3)求解增广量:对于可增广路,总可能使其所有前向边都增加一个正整数,所有的反向边都减,而同时保持全部边的流量为正值且不超过边的容量,也不影响其他路上的边的流量,但却使网络的流F增加了。当x到y的全部路都为不可增广路时,F就不能再增加了,即F达到最大值。增流量用如下方法确定:若可增广路上的边(i,j)的可增流量为,则此可增广路的增
46、流量为=minij。,107,4.4.2 网络最大流算法标号法,(4)增广过程:前向边增加流量,反向边减。 (5)如增广后仍是可行流,则转到第(2)步;否则,已得到最大流。上面讨论的主要是针对网络中某一条可增广路来求解最大流。对于一个网络而言,应用最大流最小割定理来求解。,108,4.4.2 网络最大流算法标号法,标号法分为两个过程: 其一是标记过程,用来寻找可增广路,同时可确定集合V1,此过程只需对每个节点检查一次,就能找到一条可增广路; 其二是增广路的流的增加。标记过程中,每一个节点给三种不同的记号:第一个记号是下标i,即要检查的节点iV1的下标; 第二个记号用“+”或“-”来标记,若C(
47、i,j)-f(i,j)0则记为“+”号,若f(j,i)0则记为“-”号; 第三个记号则用来说明有关弧上所能增大的流值。,2标号算法步骤,109,4.4.2 网络最大流算法标号法,标号算法如下: 第一步:标记过程 (1)给源x标记为(x,+,),此时称x已标记,未检查。其余端点称未标记,未检查。已标未查:即该点已被标记,而其邻接点未查,没有给标记 (2)任选一个已标记未检查的节点 i,若节点j与i关联且尚未标记,则当(i,j)E, C(i,j) f(i,j)时,将j标上(i,+,(j)),其中(j)=min(i),C(i,j)- f(i,j),之后称j已标记,未检查。(j,i)E, f(j,i)
48、0时,将j标上(i, -, (j)),其中(j)=min(i),f(j,i),之后称j已标记,未检查。不满足、条件的j就不标,表明无可增广路通过该点。与节点i关联的节点都被标记后,将i的第二个记号“+”或“-”用一个小圆圈圈起来,称i已被标记且邻接点被检查(已标已查)。 (3)重复(2)直到宿y被标记,或者直至不再有节点可以被标记。在前者情况下,转向增广过程;在后者情况下,整个算法结束。,110,前者(y被标记)说明存在一条可增广路,故转入增广过程,沿该可增广路增流y,再返回(1),继续寻找其他的可增广路;而后者,各点都已查,y未标记,说明已无可增广路,算法结束,所得到的流即为最大流。而网络中仍有标记的节点的集合即为在最大流最小割定理中定义的节点集V1。,