整理合肥工业大学系统工程导论第4章 图与网络文档格式.docx
《整理合肥工业大学系统工程导论第4章 图与网络文档格式.docx》由会员分享,可在线阅读,更多相关《整理合肥工业大学系统工程导论第4章 图与网络文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
从起始点vi∈V指向终点vj∈V的弧a记为a=(vi,vj)≠(vj,vi)。
多重边和环:
两个顶点间具有两条以上的边称为多重边;
若边的两端为同一顶点则称其为环,如图1(参见P82图4-1)中的“边7”。
多重图和简单图:
含多重边的图称为多重图;
无环且无多重边的图称为简单图。
本章讨论的图一般都是简单图。
图1环图2支撑子图
支撑子图:
如果图G=(V,E),G'
=(V'
,E'
)且V'
V,E'
E,则称G'
为G的子图,如图2(b)所示(参见P82图4-2(b));
若在同一图中,V'
=V,E'
为G的支撑子图,如图2(c)所示(图4-2(c))。
(2)链
链:
在图G=(V,E)中,由一些顶点和边所组成的交错序列{v1,e1,v2,e2,…,vk-1,ek,vk}就称为一条联结顶点v1、vk的链。
开链和闭合链:
起点和终点不是同一顶点的链,则称其为开链,否则就称其为闭合链。
单纯链和基本链:
一条没有重复边的链称为单纯链,如图3(参见P82图4-3)中的边序列{5,6,2,7,8};
一个没有重复顶点的链称为基本链,如图3中的边序列{1,2,3}。
路和回路:
一个开的基本链称为路,如图中的边序列{1,6,7,3};
一个闭合的基本链称为回路,如图中的边序列{1,6,5}。
连通图:
如果在一个图中任意两个不同的顶点之间至少有一条路,则该图就称为连通图。
图3链图4树
(3)树
树:
如果连通图G的子图Gl也是连通的,并包含了G的所有顶点,且没有回路,则称Gl为G的一个生成树(简称树),记为T,如图4(参见P83图4-4)中的(b)、(c)、(d)即为图(a)的树:
T1={l,3,5},T2={2,3,5},T3={2,4,5}。
组成树的边就称为树枝。
树的性质如下:
树的任意两个顶点之间只有一条链;
在树中不相邻的两个顶点间添上—条边,则恰好得到一个回路;
在树中去掉任何一条边,则成为不连通图;
含有n个顶点的树,则有n-1条边。
例2已知有五个城市,试问如何在它们之间架设电话线,使任何两个城市都可以互相通话(允许通过其它城市),且电话线的根数最少?
解用五个点v1,v2,v3,v4,v5代表五个城市,如果某两个城市之间架设电话线,则在相应的两点之间连一条边,则该电话线网就可以用一个图来表示。
为了使任何两个城市都可以互相通话,则此图必须是连通图;
另外,若此图中有回路,从回路上任意去掉一条边,使余下的图仍是连通的,且可以省去一根电话线。
因此,满足要求的电话线网所对应的图必定是一个树,如图5所示。
(注意:
由于连通图对应的树有多个,故这里只给出了其中一个树)
图5电话线网图6割集
(4)割集
割集:
将连通图分割为两个子图所需割断的最少边集就称为割集,如图6(参见P83图4-5)中的边集{8,9}、{1,3,6}、{4,5,6}等。
注意:
割集的定义表明,当去掉构成割集的一组边时,则原连通图被分割成相互分离的两部分;
而只要少去掉一条边,则被分开的两部分仍是连通的。
例如,边集{7,8,9}就不是割集,因为移去这个边集可以使图分离为两部分,但若再连上边7,已分离的图仍不能连通,不符合割集的定义。
最小割集:
对于一个图有若干个割集,其中边数最少的割集,则称其为最小割集(简称最小割),如图6中的边集{8,9}。
二、最短路问题
1.问题的提出
在企业经营活动和日常生活中,常会遇到所谓的最短路问题,例如,从家中出发上班时,应走怎样的路线才能在最短时间内到达单位;
假日外出旅游时,怎样选择旅游路线才能使花费最省;
在企业经营中,需要运送一批物资到达某地,应选择怎样的运输路线才能使运费最省。
类似于各种管道铺设、线路安排、设备更新、选址等都属于最短路问题。
例3(管道铺设问题)从油田铺设管道,把原油运输到原油加工厂。
要求管道必须沿图7所给定的路线铺设,图中v1点为油田,v9点为原油加工厂,弧权为相应路段的管道长度,试问如何铺设管道才能使管道总长最短?
图7油田管道路线图图8油田管道最短路线图
解显然,可能的油田管道铺设方案有多种,而不同方案的管道总长不同,则现在的问题是要寻求一条从v1到v9的路线,使油田的管道总长最短。
若v1-…-vi-v9是从v1到v9的最短路,则v1-…-vi是从v1到vi的最短路,根据这一原理来求出该最短路问题。
(1)与v1直接相连的点为v2、v3,但l13=2<
l12=4,所以v1v3为最短路,连接v1v3两点;
(2)与v1v3直接相连的点为v2、v5、v6,则l12=4,l15=6,l16=6,min{l12,l15,l16}=4,连接v1v2;
(3)与v1v2v3直接相连的点为v4、v5、v6,则l14=10,l15=6,l16=6,min{l14,l15,l16}={l15,l16}=6,连接v3v5、v3v6;
(4)与v1v2v3v5v6直接相连的点为v4、v7、v8,则l14=10,l17=10,l18=8,min{l14,l17,l18}=8,连接v5v8;
(5)与v1v2v3v5v6v8直接相连的点为v4、v7、v9,则l14=10,l17=10,l19=12,min{l14,l17,l18}={l14,l17}=10,连接v2v4、v5v7;
(6)与v1v2v3v4v5v6v7v8直接相连的点为v9,则l19=12,min{l19}=12,连接v7v9、v8v9;
(7)至此已将所有的点都相连,如图8所示。
由图可见,v1v3v5v7v9或v1v3v5v8v9为所求的最短路线,相应的油田管道总长均为12。
2.两固定顶点间的的最短路问题——标号算法(又称狄克斯屈拉算法)
最短路问题可以化为线性规划问题或动态规划问题进行求解,这里着重介绍目前常用的一种标号算法——狄克斯屈拉(Dijkstra)算法。
利用这种算法,可以求出从起点v1到终点vn(即两个固定顶点间)的最短路,但该算法只适用于各弧权lij均为非负的情况(即lij≥0),一般在实际的管理工作中都能满足这一要求。
标号算法不适用于弧权为负的情况(但这种情况可以用福特算法来求解,略)。
标号算法的基本思路是(参见P86):
从起点v1开始,对每个顶点给定一个标号,标号分临时标号T和固定标号P两类。
顶点vi的临时标号记为T(i),它表示起点v1到顶点vi最短距离的上界;
顶点vi的固定标号记为P(i),它表示起点v1到顶点vi的实际最短距离。
已得到P类标号的顶点不再改变其标号,而没有标上P类标号的顶点则必须标上T类标号,算法的每一步都要把某一顶点的T类标号改为P类标号,直到终点vn获得P类标号时,就可求得从起点v1到终点vn的最短路线。
标号算法的计算步骤如下:
(1)给起点v1标上固定标号P
(1)=0,表示v1到v1的最短距离为零;
其余顶点vj(j=2,…,n)标上临时标号T(j)=∞,表示v1到vj暂时无路;
(2)设顶点vi是刚得到P类标号的顶点,把与顶点vi有弧直接相连且又属于T类标号的各顶点vj的标号,改为以下新的T类标号,即
T(j)=min{T(j),P(i)+lij}
(3)在T类标号中选出标号最小的顶点j0,并将其临时标号T(j0)改为固定标号P(j0);
(4)若终点vn获得P类标号,则算法终止,最短路已经找到,否则返回
(1)。
确定由起点v1到终点vn最短路径的方法有以下两种:
其一,在算法进行时作出标记,以表明每个固定标号的顶点是由哪个顶点得到标号的,然后从终点反向追踪到起点,这样就可找出最短路径;
其二,从终点反向逆算,看哪个顶点的固定标号与终点固定标号的差值恰好等于与终点直接相连的相应弧权,如顶点j,则对顶点j之前的顶点再做类似的逐点推算,直到起点为止,这样也可找到最短路径;
例4(邮递员投递路线问题)已知某邮递员沿着图9所示的街道网络投递邮件,试求从顶点1到顶点6的最短距离及其路线。
图9街道网络路线图
解用最短路标号算法求解时,首先给顶点1标上P类标号,即P
(1)=0,其余顶点标上T类标号,且T(j)=∞(j=2,…,6)。
第一步
与顶点1直接相连且又为临时标号的顶点是2和3,则将这两个顶点的T类标号改为
T
(2)=min{T
(2),P
(1)+l12}=min[∞,0+4]=4
T(3)=min{T(3),P
(1)+l13}=min[∞,0+3]=3
在所有的T类标号中,T(3)=3最小,于是令P(3)=3,即顶点3获得固定标号;
第二步
与顶点3直接相连且又为临时标号的顶点是2和5,则将它们的T类标号改为
T
(2)=min{T
(2),P(3)+l32}=min[4,3+2]=4
T(5)=min{T(5),P(3)+l35}=min[∞,3+2]=5
在所有的T类标号中,T
(2)=4最小,于是令P
(2)=4;
第三步
与顶点2直接相连且又为临时标号的顶点是4和5,则将它们的T类标号改为
T(4)=min{T(4),P
(2)+l24}=min[∞,4+3]=7
T(5)=min{T(5),P
(2)+l25}=min[5,4+1]=5
在所有的T类标号中,T(5)=5最小,于是令P(5)=5;
第四步
与顶点5直接相连且又为临时标号的顶点是4和6,则将它们的T类标号改为
T(4)=min{T(4),P(5)+l54}=min[7,5+2]=7
T(6)=min{T(6),P(5)+l56}=min[∞,5+4]=9
在所有的T类标号中,T(4)=7最小,于是令P(4)=7;
第五步
与顶点4直接相连且又为临时标号的顶点只有6,则将它的T类标号改为
T(6)=min{T(6),P(4)+l46}=min[9,7+3]=9
显然应令P(6)=9,即终点(顶点6)获得固定标号,算法到此结束,则顶点1到顶点6的最短距离为9。
要找出从顶点1到顶点6最短路的各顶点顺序,可从顶点6反向逆算。
与顶点6直接相连的是顶点4和顶点5,而顶点6与顶点4或顶点5固定标号之差为2和4,与顶点6直接相连的弧中只有弧(5,6)的弧权为4,因此顶点6之前的是顶点5。
类似地可以推算出,顶点5之前的是顶点3,顶点3之前的是顶点1,即有一条最短路线为1→3→5→6;
或者得出,顶点5之前的是顶点2,顶点2之前的是顶点1,即另一条最短路线为1→2→5→6。
这两条路线的最短距离均为9。
标号算法可用于任何弧(边)权为正的有向图(无向图)。
3.任意两顶点间的最短路问题——福劳德算法
网络图中任意两顶点间的最短路问题比上述两固定顶点间的最短路问题更具有普遍性。
显然,该问题可以应用前面介绍的标号算法(即狄克斯屈拉算法),分别将图中每两个顶点作为起点和终点,并通过反复计算来确定。
但这样做,其计算工作量会相当大,因此,下面介绍一种新算法——福劳德算法。
设网络图的顶点编号为1,2,…,N,令Dm矩阵的元素dijm为顶点vi到vj的一条最短路长度,该路径的中间顶点只有m个。
若不存在这种最短路,则dijm=∞。
由dijm的含义可知,dij0为直接相连(即相邻)的两顶点间的最短长度,且dii0=0;
dijN为所要确定的任意两顶点vi、vj之间的最短距离。
福劳德算法的求解步骤为:
(1)确定D0矩阵,其元素dij0为任意两相邻顶点vi、vj间的最短路长度,若顶点vi、vj间不存在这种最短路,则dij0=∞;
若i=j,则dii0=0;
(2)对m=1,2,…,N,依次按下式由Dm-1矩阵确定Dm矩阵:
dijm=min{dimm-1+dmjm-1,dijm-1}
若选出的最小元素是由dimm-1+dmjm-1决定的,则记下m;
若二者相等或取决于dijm-1,则不记录;
(3)如此类推,直到计算出DN矩阵为止。
例5(防火安全问题)某工地有四个重点防火点,道路和防火点位置如图10所示,试问安全员该如何确定任一防火点到其他防火点的最短路径?
图10防火点位置及其道路示意图
解应用福劳德算法:
第一步,写出D0矩阵
第二步,根据D0矩阵列表求出D1矩阵和相应的路径
dij1=min{di10+d1j0,dij0}
中间点
d111=d110=0
d311=min{6+0,6}=6
d121=min{0+1,1}=1
d321=min{6+1,5}=5
d131=min{0+2,2}=2
d331=min{6+2,0}=0
d141=min{0+1,1}=1
d341=min{6+1,2}=2
d211=min{2+0,2}=2
d411=min{1+0,1}=1
d221=min{2+1,0}=0
d421=min{1+1,∞}=2
1
d231=min{2+2,7}=4
d431=min{1+2,4}=3
d241=min{2+1,∞}=3
d441=min{1+1,0}=0
其路径矩阵为
其中,D1中的矩阵元素表示中间点为1(即m=1)时各点间的最短距离,相应的路径表示经过中间点1的最短路径。
例如,d421=2表示路径4→1→2对应的距离为2。
第三步,由D1矩阵按上述方法求出D2矩阵和相应的路径
此时中间点为两个,即m=2,其计算公式为
dij2=min{di21+d2j1,dij1}
d112=min{1+2,0}=0
d312=min{5+2,6}=6
d122=min{1+0,1}=1
d322=min{5+0,5}=5
d132=min{1+4,2}=2
d332=min{5+4,0}=0
d142=min{1+3,1}=1
d342=min{5+3,2}=2
d212=min{0+2,2}=2
d412=min{2+2,1}=1
d222=min{0+0,0}=0
d422=min{2+0,2}=2
d232=min{0+4,4}=4
d432=min{2+4,3}=3
d242=min{0+3,3}=3
(一)建设项目环境影响评价的分类管理d442=min{2+3,0}=0
4.环境影响评价工作等级的调整
(2)综合规划环境影响篇章或者说明的内容。
由于没有选择中间点,所以对应的路径与上一步相同。
注意,D2中的矩阵元素表示经过两个中间点时各点间的最短距离,而不是经过第二个顶点时各点间的最短距离,因为公式dij2=min{di21+d2j1,dij1}中di21+d2j1或dij1为已经经过一个中间点的值。
综合性规划
(1)土地利用的有关规划;
第四步,由D2矩阵按上述方法求出D3矩阵和相应的路径
(7)列出安全对策措施建议的依据、原则、内容。
此时中间点为三个,即m=3,其计算公式为
环境影响的经济损益分析,也称环境影响的经济评价,即估算某一项目、规划或政策所引起的环境影响的经济价值,并将环境影响的经济价值纳入项目、规划或政策的经济费用效益分析中去,以判断这些环境影响对该项目:
规划或政策的可行性会产生多大的影响。
对负面的环境影响估算出的是环境费用,对正面的环境影响估算出的是环境效益。
dij3=min{di32+d3j2,dij2}
表四:
项目排污情况及环境措施简述。
内涵资产定价法基于这样一种理论,即人们赋予环境的价值可以从他们购买的具有环境属性的商品的价格中推断出来。
(二)环境保护法律法规体系dij3=min{di32+d3j2,dij2}
d113=min{2+6,0}=0
3)迁移。
d313=min{0+6,6}=6
d123=min{2+5,1}=1
d323=min{0+5,5}=5
d133=min{2+0,2}=2
d333=min{0+0,0}=0
d143=min{2+2,1}=1
d343=min{0+2,2}=2
d213=min{4+6,2}=2
d413=min{3+6,1}=1
d223=min{4+5,0}=0
d423=min{3+5,2}=2
d233=min{4+0,4}=4
d433=min{3+0,3}=3
d243=min{4+2,3}=3
d443=min{3+2,0}=0
对应的路径仍同上。
第四步,由D3矩阵按上述方法求出D4矩阵和相应的路径
此时中间点为四个,即m=4,其计算公式为
dij4=min{di43+d4j3,dij3}
其计算结果为
d114=min{1+1,0}=0
d314=min{2+1,6}=3
4
d124=min{1+2,1}=1
d324=min{2+2,5}=4
d134=min{1+3,2}=2
d334=min{2+3,0}=0
d144=min{1+0,1}=1
d344=min{2+0,2}=2
d214=min{3+1,2}=2
d414=min{0+1,1}=1
d224=min{3+2,0}=0
d424=min{0+2,2}=2
d234=min{3+3,4}=4
d434=min{0+3,3}=3
d244=min{3+0,3}=3
d444=min{0+0,0}=0
对应的路径矩阵为
由D4矩阵可求出网络图中任意两点间的最短距离,并确定所对应的路径。
例如,点3到点2之间的的最短距离是4;
且由路径矩阵可知,先由第3行第2列对应的4确定由3→4,再查该矩阵的第4行第2列对应的1确定由4→1,最后查该矩阵的第1行第2列对应的0确定1→2可直接到达,因此确定点3到点2之间的的最短路径为3→4→1→2。
三、最大流问题
在实践中除了经常遇到最短路问题以外,还有一类重要问题,也就是求解一个网络系统的最大通过能力问题——网络的最大流问题。
例如,在通过能力有限的情况下,如何在一定时间内使甲乙两地铁路系统的车流(人员流、物资流)、金融系统的现金流、供水系统的水流、互联网的信息流等达到最大。
1.基本假设和符号含义
(1)将出发点称为源点S;
终点称为汇点T;
其余点称为中间点i;
(2)假设源点有无限多的物资、能量、信息及人力等要运出,而汇点则有无限大的仓库来存储这些物资、能量、信息及人力等;
(3)假设中间点不存储任何物资、能量、信息等,只起传递作用;
(4)由i点到j点的最大传递数量规定为线路的容量,用C(i,j)表示;
(5)规定X(i,j)为由i点到j点的实际通过流量。
实际支路通过流量X(i,j)等于支路容量C(i,j),就称为支路饱和。
2.基本定理及其有关概念
(1)流量守恒定律
根据上述假设,仿照电路中的基尔霍夫定律,可以得到流量守恒定律。
如果∑X(i,j),j∈V(i)表示流出i点的总流量,其中V(i)为可直接到达j点的点集合;
而∑X(j,i),j∈R(i)表示流入i点的总流量,其中R(i)为可直接到达i点的点集合,由于基尔霍夫定律中流入节点的电流之和与流出节点的电流之和相等的原理,与上述假设中的中间点只起传递作用相似,因此有
上式就称为流量守恒方程,式中f表示流量。
由假设(4)可知,0≤X(i,j)≤C(i,j),即实际流