资源描述:
《运筹学第8章网络规划ppt课件.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1赵明霞山西大学经济与管理学院管理运筹学——模型与方法第8章网络规划28.1图8.2最小树问题8.3最短路问题8.4最大流问题8.5最小费用流问题23图论中图是由点和边构成,可以反映一些对象之间的关系。例如:在一个人群中,对相互认识这个关系我们可以用图来表示,图8-1就是一个表示这种关系的图。(v1)赵(v2)钱(v3)孙(v4)李(v5)周(v6)吴(v7)陈e2e1e3e4e5图8-1G=(V,E)点集V={v1,v2,v3,...,vm}={1,2,3,…,m}边集E={eij=(vi,vj)}={eij=(i,j)}8.1图4当然
2、图论不仅仅是要描述对象之间关系,还要研究特定关系之间的内在规律,一般情况下图中点的相对位置如何、点与点之间联线的长短曲直,对于反映对象之间的关系并不是重要的,如对赵等七人的相互认识关系我们也可以用图8-2来表示,可见图论中的图与几何图、工程图是不一样的。(v1)赵(v2)钱孙(v3)李(v4)周(v5)吴(v6)陈(v7)e2e1e3e4e5图8-2结(端)点:vi,vj关联边,e3点相邻(同一条边),v1,v3边相邻(同一个端点),e1,e3环,e2多重边,e3,e4简单图:无环无多重边5图8-2次:结点的关联边数目d(v3)=4,偶点
3、d(v4)=3,奇点d(v2)=5d(v6)=0,孤立点d(v5)=1,悬挂边链:闭链:v1v2v3v1开链:v1v2v3边不同,简单链:v3v1v2v3v4v5边不同且结点不同,初等链:v1v2v3v4v5圈:初等闭链,且至少有3个不同结点,v1v2v3v16图8-27a1a2a3a4a14a7a8a9a6a5a10a12a11a13a15(v1)赵(v2)钱(v3)孙(v4)李(v5)周(v6)吴(v7)陈图8-3如果我们把上面例子中的“相互认识”关系改为“认识”的关系,那么只用两点之间的联线就很难刻画他们之间的关系了,这是我们引入一
4、个带箭头的联线,称为弧。图8-3就是一个反映这七人“认识”关系的图。相互认识用两条反向的弧表示。8连通图:若任何两个不同的点之间,至少存在一条链,则G为连通图。若,则G’是G的子图,G是G’的母图若,则G’是G的真子图,若,则G’是G的支撑图。无向图:由点和边构成的图,记作G=(V,E)。有向图:由点和弧构成的图,记作D=(V,A)。无向图是有向图的基础图G(D)路:弧(边)的方向与链的方向一致。回路:若路的第一个点和最后一个点相同,则该路为回路。开路赋权图:对一个图的每一条边(弧)(vi,vj),相应地有一个数wij,则称图G为赋权图,
5、wij称为边(vi,vj)上的权。网络:赋权连通图92021/7/3010例8-3:柯尼斯堡七桥问题欧拉回路:经过每边且仅一次厄尼斯堡七桥问题、邮路问题充要条件:图中无奇点哈密尔顿回路:经过每点且仅一次货郎担问题、快递送货问题8个节目,首尾为A,H或H,A;10名演员,不连续出演。如何安排?11例8-4节目排序问题节目演员12345678910A√√√√√√B√√√C√√√D√√E√√F√√G√√√H√√√√√1213树是图论中的重要概念,所谓树就是一个无圈的连通图。图8-4中,(a)就是一个树,而(b)因为图中有圈所以就不是树,(c)因
6、为不连通所以也不是树。图8-4v1v2v3v4v5v6v7v8v9v1v2v3v5v8v7v6v4v1v2v3v4v5v7v6v8v9(a)(b)(c)8.2最小树问题14给了一个无向图G=(V,E),我们保留G的所有点,而删掉部分G的边或者说保留一部分G的边,所获得的图G,称之为G的支撑(生成)图。在图8-4中,(b)和(c)都是(a)的支撑图。如果图G的一个支撑图还是一个树,则称这个支撑图为支撑(生成)树,在图8-5中,(c)就是(a)的支撑树。最小支撑(生成)树问题就是指在一个赋权的连通的无向图G中找出一个支撑树,并使得这个支撑树的
7、所有边的权数之和为最小。图8-5(a)(b)(c)树的基本性质任意两点间有且仅有一条链不相邻两点间添加一条边,有且仅有一个圈任意去掉一条边,得不连通图存在悬挂点边数+1=结点数15最小树的基本性质定理8-1:任意结点i的最小关联边(i,k)必在最小树中。定理8-2:点集V的非空子集,连结两子集的最小边(i,k)必在最小树中。16171、破圈算法步骤:(1)在给定的赋权的连通图上任找一个圈。(2)在所找的圈中去掉一个权数最大的边(如果有两条或两条以上的边都是权数最大的边,则任意去掉其中一条)。(3)如果所余下的图已不包含圈,则计算结束,所余
8、下的图即为最小树,否则返回第1步。18例8-52、避圈算法步骤:(1)任找一个点S,其余各点就是。(2)在连接S与的所有边中,选择权数最小的边(i,k);(3)将最小边(i,k)的另一个端点移