运筹学图与网络分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

图与网络分析(GraphTheoryandNetworkAnalysis)图与网络的基本知识最短路问题树及最小树问题最大流问题哥尼斯堡七桥问题哥尼斯堡(现名加里宁格勒)是欧洲一个城市,Pregei河把该城分成两部分,河中有两个小岛,十八世纪时,河两边及小岛之间共有七座桥,当时人们提出这样的问题:有没有办法从某处(如A)出发,经过各桥一次且仅一次最后回到原地呢?BDACABCD哥尼斯堡七空桥一笔画问题哈密尔顿(Hamilton)回路是十九世纪英国数学家哈密顿提出,给出一个正12面体图形,共有20个顶点表示20个城市,要求从某个城市出发沿着棱线寻找一条经过每个城市一次而且仅一次,最后回到原处的周游世界线路(并不要求经过每条边)。有7个人围桌而坐,如果要求每次相邻的人都与以前完全不同,试问不同的就座方案共有多少种?用顶点表示人,用边表示两者相邻,因为最初任何两个人都允许相邻,所以任何两点都可以有边相连。12376451237645123764512376451237645123764512376451237645得到第一次就座方案是(1,2,3,4,5,6,7,1),继续寻求第二次就座方案时就不允许这些顶点之间继续相邻,因此需要从图中删去这些边。12376451237645123764512376451237645123764512376451237645得出第二次就座方案是(1,3,5,7,2,4,6,1),那么第三次就座方案就不允许这些顶点之间继续相邻,只能从图中删去这些边。12376451237645123764512376451237645123764512376451237645得到第三次就座方案是(1,4,7,3,6,2,5,1),那么第四次就座方案就不允许这些顶点之间继续相邻,只能从图中删去这些边,只留下7点孤立点,所以该问题只有三个就座方案。1237645引论图的用处某公司的组织机构设置图总公司分公司工厂或办事处一、图与网络的基本知识(一)、图与网络的基本概念EADCB1、一个图是由点和连线组成。(连线可带箭头,也可不带,前者叫弧,后者叫边)v1v2v3v4v5v6e1e2e3e4e5e6e7e8e9e10例654321,,,,,vvvvvvV},,,,,,,,{10987654321eeeeeeeeeeE,},{211vve},{212vve},{323vve},{434vve},{315vve},{536vve},{537vve},{658vve},{669vve},{6110vve图1一个图是由点集和中元素的无序对的一个集合构成的二元组,记为G=(V,E),其中V中的元素叫做顶点,V表示图G的点集合;E中的元素叫做边,E表示图G的边集合。}{keEjvkeVjvV2、不带箭头的连线叫做边。如果一个图是由点和边所构成的,则称其为无向图,记作G=(V,E),连接点的边记作[vi,vj],或者[vj,vi]。3、若点与点之间的连线有方向,称为弧。如果一个图是由点和弧所构成的,那么称它为有向图,记作D=(V,A),其中V表示有向图D的点集合,A表示有向图D的弧集合。一条方向从vi指向vj的弧,记作(vi,vj)。v4v6v1v2v3v5V={v1,v2,v3,v4,v5,v6},A={(v1,v3),(v2,v1),(v2,v3),(v2,v5),(v3,v5),(v4,v5),(v5,v4),(v5,v6)}图24、一条边的两个端点是相同的,那么称这条边是环。5、如果两个端点之间有两条以上的边,那么称它们为多重边。6、不含环和多重边的图称为简单图;有多重边的图称为多重图。7、每一对顶点间都有边相连的无向简单图称为完全图。有向完全图则是指任意两个顶点之间有且仅有一条有向边的简单图。v1v2v3v4v5v6e1e2e3e4e5e6e7e8e9e10次为零的点称为弧立点,次为1的点称为悬挂点。悬挂点的关联边称为悬挂边。次为奇数的点称为奇点,次为偶数的点称为偶点。8、以点v为端点的边的个数称为点v的次,记作。)(vd图中d(v1)=4,d(v6)=4(环计两次)定理1所有顶点次数之和等于所有边数的2倍。定理2在任一图中,奇点的个数必为偶数。所有顶点的入次之和等于所有顶点的出次之和。有向图中,以vi为始点的边数称为点vi的出次,用表示;以vi为终点的边数称为点vi的入次,用表示;vi点的出次和入次之和就是该点的次。)(ivd)(ivd9、设G=(V,E),G′=(V′,E′)如果V′V,E′E,称G′是G的子图;如果V′=V,E′E,称G′是G的生成子图或支撑子图。v1v2v3v4v5v6v7e1e2e3e4e5e6e7e8e9e10e11(a)e5e7v1v2v5v6v7e1e6e8(b)子图v1v2v3v4v5v6v7e1e6e7e9e10e11(c)支撑子图在实际应用中,给定图中每条边,对应一个数,称之为“权”。通常把这种赋权的图称为网络。),(jivvjiw10、由两两相邻的点及其相关联的边构成的点边序列称为链。如:v0,e1,v1,e2,v2,e3,v3,…,vn-1,en,vn,e3v1v2v3v4v5v6e7e8e1e2e4e5e6e9e1011、图中任意两点之间均至少有一条链相连,则称此图为连通图。其链长为n,其中v0,vn分别称为链的起点和终点。所含的点、边均不相同的链称为初等链。起点和终点是同一个点的链称为圈。(二)、图的矩阵表示对于网络(赋权图)G=(V,E),其中边有权,构造矩阵,其中:称矩阵A为网络G的权矩阵。),(jivvjiwEvvEvvwajijijiji),(0),(nnjiaA)(nnjiaA)(EvvEvvajijiji),(0),(1设图G=(V,E)中顶点的个数为n,构造一个矩阵,其中:称矩阵A为网络G的邻接矩阵。654321654321010101101001010111101010001101111010vvvvvvvvvvvvB例权矩阵为:邻接矩阵为:v5v1v2v3v4v64332256437654321654321030303302004020576305020007204346040vvvvvvvvvvvvA二、树及最小树问题已知有六个城市,它们之间要架设电话线,要求任意两个城市均可以互相通话,并且电话线的总长度最短。v1v2v3v4v5v61、一个连通的无圈的无向图叫做树。树中次为1的点称为树叶,次大于1的点称为分支点。树的性质:(1)数必连通,但无回路(圈)。(2)n个顶点的树必有n-1条边。(3)树中任意两个顶点之间,恰有且仅有一条链(初等链)。(4)树连通,但去掉任一条边,必变为不连通。(5)树无回路(圈),但不相邻的两个点之间加一条边,恰得到一个回路(圈)。v1v2v3v4v5v62、若图G=(V,E)的生成子图是一个树,那么称该树是G的一个生成树(支撑树),或简称为图G的树。图G中属于生成树的边称为树枝,不在生成树中的边称为弦。一个图G有生成树的充要条件是G是连通图。v1v2v3v4v5v1v2v3v4v5(一)破圈法:在图中任选一个圈,从这个圈中去掉一条边。在余下的图中重复这个步骤,直到得到一不含圈的图为止。用破圈法求出下图的一个生成树。v1v2v3v4v5e1e2e3e4e5e6e7e8v1v2v3v4v5e2e4e6e8v1v2v3v4v5e1e2e3e4e5e6e7e8(二)避圈法:开始选一条边,以后每一步中,总从未被选取的边中选出一条与已选边不构成圈的边,重复这个过程,直到不能进行为止。v1v2v3v4v5v6v1v3v1v3v2v1v3v2v5v6v1v3v2v5v6v4v1v3v2v5根据破圈法和避圈法两种方式得到了图的两个不同的生成树,由此可以看到连通图的生成树不是唯一的。3、最小生成树问题一棵生成树所有树枝上权的总和为这个生成树的权。具有最小权的生成树,称为最小生成树。求赋权图G的最小支撑树的方法也有两种,“破圈法”和“避圈法”。破圈法:在原图中,任选一个圈,从圈中去掉权最大的一条边。在余下的图中重复这个步骤,直到得到一不含圈的图为止。655172344v1v2v3v4v5v6v1v7v4v3v2v5v620159162532817412336v1v7v4v3v2v5v620159162532817412336v1v7v4v3v2v5v6201591625328174123v1v7v4v3v2v5v6201591625328174123v1v7v4v3v2v5v61591625328174123v1v7v4v3v2v5v61591625328174123v1v7v4v3v2v5v6925328174123v1v7v4v3v2v5v6925328174123v1v7v4v3v2v5v69328174123v1v7v4v3v2v5v69328174123v1v7v4v3v2v5v693174123总造价=1+4+9+3+17+23=57v1v2v3v4v514231352避圈法:开始选一条权最小的边,以后每一步中,总从未被选取的边中选一条权尽可能小,且与已选边不构成圈的边。某六个城市之间的道路网如图所示,要求沿着已知长度的道路联结六个城市的电话线网,使电话线的总长度最短。v1v2v3v4v5v66515723445v1v2v3v4v5v61234最短路的一般提法为:设为连通图,图中各边有权(表示之间没有边),为图中任意两点,求一条路,使它从到的所有路中总权最短。即:最小。),(EVGjiljiltsvv,sv),(jivvjivv,tv),()(jivvjilL(一)、狄克斯彻(Dijkstra)算法适用于wij≥0,给出了从vs到任意一个点vj的最短路。三、最短路问题算法步骤:1.给始点vs以P标号,这表示从vs到vs的最短距离为0,其余节点均给T标号,。2.设节点vi为刚得到P标号的点,考虑点vj,其中,且vj为T标号。对vj的T标号进行如下修改:3.比较所有具有T标号的节点,把最小者改为P标号,即:当存在两个以上最小者时,可同时改为P标号。若全部节点均为P标号则停止,否则用代替vi,返回步骤(2)。0)(svP)(ivTEvvji),(])(,)(min[)(ijijjlvPvTvT)](min[)(iivTvPiv例一:用Dijkstra算法求下图从v1到v6的最短路。v1v2v3v4v6v5352242421解:(1)首先给v1以P标号,给其余所有点T标号。0)(1vP)6,,3,2()(ivTi(2)(3)3]30,min[])(,)(min[)(12122lvPvTvT5]50,min[])(,)(min[)(13133lvPvTvT3)(2vP(4)4]13,5min[])(,)(min[)(23233lvPvTvT5]23,min[])(,)(min[)(24244lvPvTvT5]23,min[])(,)(min[)(25255lvPvTvT4)(3vP(5)(6)5]44,5min[])(,)(min[)(35355lvPvTvT5)(4vP5)(5vP9]45,min[])(,)(min[)(46466lvPvTvT7]25,min[])(,)(min[)(56566lvPvTvT7)(6vP(7)(8)(9)(10)反向追踪得v1到v6的最短路为:6521vvvvv1v2v3v4v6v5352242421(二)、逐次逼近法首先设任一点vi到任一点vj都有一条弧。显然,从v1到vj的最短路是从v1出发,沿着这条路到某个点vi再沿弧(vi,vj)到vj。则v1到vi的这条路必然

1 / 107
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功