《运筹学》课件运筹六.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《运筹学》课件运筹六.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学 课件 运筹
- 资源描述:
-
1、1第六章第六章 图与网路分析图与网路分析图是最直观的模型图是最直观的模型2BACD图论图论 Graph Theory 哥尼斯堡七桥问题哥尼斯堡七桥问题(Knigsberg Bridge Problem)Leonhard Euler(1707-1783)在在1736年发表第一篇图论年发表第一篇图论方面的论文,奠基了图论中的一些基本定理方面的论文,奠基了图论中的一些基本定理 很多问题都可以用点和线来表示,一般点表示实体,很多问题都可以用点和线来表示,一般点表示实体,线表示实体间的关联线表示实体间的关联ABCD36.1 图与网路的基本概念图与网路的基本概念 6.1.1图与网路图与网路 节点节点(Ve
2、rtex)物理实体、事物、概念物理实体、事物、概念 一般一般用用 vi 表示表示 边边(Edge)节点间的连线,表示有节点间的连线,表示有关系关系 一般一般用用 eij 表示表示 图图(Graph)节点和边的集合节点和边的集合 一般用一般用 G(V,E)表示表示 点集点集 V=v1,v2,vn 边集边集E=eij v1v5v4v3v2e12e34e13e24e22e13e45图图 6.1网路网路 (Network)边上具有表示连接强度边上具有表示连接强度的权值,如的权值,如 wij又称又称加权图加权图(Weighted graph)4 6.1.2 无向图与有向图无向图与有向图 边都没有方向的图
3、称为无向图,如图边都没有方向的图称为无向图,如图6.1 在无向图中在无向图中 eij=eji,或,或(vi,vj)=(vj,vi)当边都有方向时,称为有向图,用当边都有方向时,称为有向图,用G(V,A)表示表示 在有向图中,有向边又称为在有向图中,有向边又称为弧弧,用,用 aij表示,表示,i,j 的顺序的顺序是不能颠倒的,图中弧的方向用箭头标识是不能颠倒的,图中弧的方向用箭头标识 图中既有边又有弧,称为混合图图中既有边又有弧,称为混合图 6.1.3 端点,关联边,相邻,次端点,关联边,相邻,次 图中可以只有点,而没有边;而有边必有点图中可以只有点,而没有边;而有边必有点 若节点若节点vi,v
4、j 之间有一条边之间有一条边 eij,则称,则称 vi,vj 是是 eij 的的端点端点(end vertex),而,而 eij 是节点是节点 vi,vj 的的关联边关联边(incident edge)同一条边的两个端点称为同一条边的两个端点称为相邻相邻(adjacent)节点节点,具有共同,具有共同端点的边称为端点的边称为相邻边相邻边 一条边的两个端点相同,称为一条边的两个端点相同,称为自环自环(self-loop);具有两;具有两个共同端点的两条边称为个共同端点的两条边称为平行边平行边(parallel edges)既没有自环也没有平行边的图称为既没有自环也没有平行边的图称为简单图简单图(
5、simple graph)在无向图中,与节点相关联边的数目,称为该节点的在无向图中,与节点相关联边的数目,称为该节点的“次次”(degree),记为记为 d;次数为奇数的点称为;次数为奇数的点称为奇点奇点(odd),次数为偶数的点称为次数为偶数的点称为偶点偶点(even);图中都是偶点的;图中都是偶点的图称为偶图图称为偶图(even graph)6 6.1.3 端点,关联边,相邻,次端点,关联边,相邻,次 有向图中,由节点指向外的弧的数目称为正次数,记有向图中,由节点指向外的弧的数目称为正次数,记为为 d+,指向该节点的弧的数目称为负次数,记为,指向该节点的弧的数目称为负次数,记为 d 次数为
6、次数为 0 的点称为的点称为孤立点孤立点(isolated vertex),次数为,次数为 1 的的点称为点称为悬挂点悬挂点(pendant vertex)定理定理 1:图中奇点的个数总是偶数个:图中奇点的个数总是偶数个 6.1.4 链,圈,路径,回路,欧拉回路链,圈,路径,回路,欧拉回路 相邻节点的序列相邻节点的序列 v1 ,v2 ,vn 构成一条构成一条链链(link),又称,又称为为行走行走(walk);首尾相连的链称为;首尾相连的链称为圈圈(loop),或,或闭行走闭行走 在无向图中,节点不重复出现的链称为在无向图中,节点不重复出现的链称为路径路径(path);在;在有向图中,节点不重
7、复出现且链中所有弧的方向一致,有向图中,节点不重复出现且链中所有弧的方向一致,则称为有则称为有向路径向路径(directed path)首尾相连的路径称为首尾相连的路径称为回路回路(circuit);7 6.1.4 链,圈,路径,回路,连通图链,圈,路径,回路,连通图 走过图中所有边且每条边仅走一次的闭行走称为走过图中所有边且每条边仅走一次的闭行走称为欧拉欧拉回路回路定理定理 2:偶图一定存在欧拉回路:偶图一定存在欧拉回路(一笔画定理一笔画定理)6.1.4 连通图,子图,成分连通图,子图,成分 设有两个图设有两个图 G1(V1,E1),G2(V2,E2),若若V2 V1,E2 E1,则则 G2
8、 是是 G1 的子图的子图 无向图中,若任意两点间至少存在一条路径,则称为无向图中,若任意两点间至少存在一条路径,则称为连通图连通图(connected graph),否则为,否则为非连通图非连通图(discon-nected graph);非连通图中的每个;非连通图中的每个连通子图连通子图称为称为成分成分(component)链,圈,路径链,圈,路径(简称路简称路),回路都是原图的子图,回路都是原图的子图 平面图平面图(planar graph),若在平面上可以画出该图而没,若在平面上可以画出该图而没有任何边相交有任何边相交86.2 树树图与最小生成树图与最小生成树 一般研究无向图一般研究无
9、向图 树图:倒置的树,树图:倒置的树,根根(root)在上,在上,树叶树叶(leaf)在下在下 多级辐射制的电信网络、管理的指标体系、家谱、分多级辐射制的电信网络、管理的指标体系、家谱、分类学、组织结构等都是典型的树图类学、组织结构等都是典型的树图C1C2C3C4根叶9 6.2.1 树的定义及其性质树的定义及其性质 任两点之间有且只有一条路径的图称为任两点之间有且只有一条路径的图称为树树(tree),记为,记为T 树的性质树的性质:最少边的连通子图,树中必不存在回路最少边的连通子图,树中必不存在回路 任何树必存在次数为任何树必存在次数为 1 的点的点 具有具有 n 个节点的树个节点的树 T 的
10、边恰好为的边恰好为 n 1 条,反之,任何有条,反之,任何有n 个节点,个节点,n 1 条边的连通图必是一棵树条边的连通图必是一棵树 6.2.2 图的生成树图的生成树 树树 T 是连通图是连通图 G 的的生成树生成树(spanning tree),若,若 T 是是 G的的子图且包含图子图且包含图 G 的所有的节点;包含图的所有的节点;包含图 G 中部分指定节中部分指定节点的树称为点的树称为 steiner tree 每个节点有唯一标号的图称为标记图,标记图的生成树每个节点有唯一标号的图称为标记图,标记图的生成树称为称为标记树标记树(labeled tree)Caylay 定理定理:n(2)个节
11、点,有个节点,有nn 2个不同的个不同的标记树标记树10 6.2.2 图的生成树图的生成树 如何找到一棵生成树如何找到一棵生成树 深探法深探法(depth first search):任选一点标记为:任选一点标记为 0 点开始搜点开始搜索,选一条未标记的边走到下一点,该点标记为索,选一条未标记的边走到下一点,该点标记为 1,将,将走过的边标记;假设已标记到走过的边标记;假设已标记到 i 点,总是从最新标记的点,总是从最新标记的点向下搜索,若从点向下搜索,若从 i 点无法向下标记,即与点无法向下标记,即与 i 点相关联点相关联的边都已标记或相邻节点都已标记,则退回到的边都已标记或相邻节点都已标记
12、,则退回到 i 1 点继点继续搜索,直到所有点都被标记续搜索,直到所有点都被标记 广探法广探法(breadth first search):是一种有层级结构的搜索,:是一种有层级结构的搜索,一般得到的是树形图一般得到的是树形图11 6.2.3 最小生成树最小生成树 有有n 个乡村,各村间道路的长度是已知的,如何敷设光个乡村,各村间道路的长度是已知的,如何敷设光缆线路使缆线路使 n 个乡村连通且总长度最短个乡村连通且总长度最短 显然,这要求在已知边长度的网路图中找最小生成树显然,这要求在已知边长度的网路图中找最小生成树 最小生成树的算法最小生成树的算法:Kruskal 算法:将图中所有边按权值从
13、小到大排列,依算法:将图中所有边按权值从小到大排列,依次选所剩最小的边加入边集次选所剩最小的边加入边集 T,只要不和前面加入的边只要不和前面加入的边构成回路,直到构成回路,直到 T 中有中有 n 1 条边,则条边,则 T 是最小生成树是最小生成树 Kruskal 算法基于下述定理算法基于下述定理定理定理 3 指定图中任一点指定图中任一点vi,如果,如果 vj 是距是距 vi 最近的相邻节点,最近的相邻节点,则关联边则关联边 eij 必在某个最小生成树中。必在某个最小生成树中。推论推论 将网路中的节点划分为两个不相交的集合将网路中的节点划分为两个不相交的集合V1和和V2,V2=V V1,则,则V
14、1和和V2间权值最小的边必定在某个最小生间权值最小的边必定在某个最小生成树中。成树中。12 6.2.3 最小生成树最小生成树选边法:将连通图中所有边权从小到大排列,在保证不构成回路的选边法:将连通图中所有边权从小到大排列,在保证不构成回路的条件下,依次选所剩最小边,直到所有节点连通为止。条件下,依次选所剩最小边,直到所有节点连通为止。破圈法:将连通图中所有边权从大到小排列,在保证不破坏连通的破圈法:将连通图中所有边权从大到小排列,在保证不破坏连通的条件下,依次去掉剩余最大边破圈,直到没有回路为止。条件下,依次去掉剩余最大边破圈,直到没有回路为止。Prim 算法:不需要对边权排序,即可以直接在网
15、路图上算法:不需要对边权排序,即可以直接在网路图上操作,也可以在边权矩阵上操作,后者适合计算机运算操作,也可以在边权矩阵上操作,后者适合计算机运算 边权矩阵上的边权矩阵上的 Prim 算法算法:1、根据网路写出边权矩阵,两点间若没有边,则用、根据网路写出边权矩阵,两点间若没有边,则用 表示;表示;2、从、从 v1 开始标记,在第一行打开始标记,在第一行打 ,划去第一列;,划去第一列;3、从所有打、从所有打 的行中找出尚未划掉的最小元素,对该元素画圈,的行中找出尚未划掉的最小元素,对该元素画圈,划掉该元素所在列,与该列数对应的行打划掉该元素所在列,与该列数对应的行打 ;4、若所有列都划掉,则已找
16、到最小生成树、若所有列都划掉,则已找到最小生成树(所有画圈元素所对应所有画圈元素所对应的边的边);否则,返回第;否则,返回第 3 步。步。该算法中,打该算法中,打 行对应的节点在行对应的节点在 V1中,未划去的列在中,未划去的列在 V2中中13 6.2.3 最小生成树最小生成树 97125.19179810787111275.9165.195.9101710111610 Prim算法是多项式算法算法是多项式算法 Prim算法可以求最大生成树算法可以求最大生成树 网路的边权可以有多种解释,如效率网路的边权可以有多种解释,如效率v1v4v6v3v5v2101081177169.51712919.5
17、 v1v4v6v3v5v2108779.5146.3 最短路问题最短路问题 6.3.1 狄克斯特拉算法狄克斯特拉算法 (Dijkstra algorithm,1959)1、令、令 dij 表示表示 vi 到到 vj 的直接距离的直接距离(两点之间有边两点之间有边),若两点之间没有边,若两点之间没有边,则令则令 dij=,若两点之间是有向边,则,若两点之间是有向边,则 dji=;令;令 dii=0,Li j表示表示节点节点vi到节点到节点vj 的最短路径长,的最短路径长,s 表示始点,表示始点,t 表示终点;表示终点;2、从始点、从始点S出发,因为出发,因为L S S=0,将,将0填入节点填入节
18、点S旁的小方框内,表示节旁的小方框内,表示节点点S已标号,令已标号,令S V,其余节点属于,其余节点属于V,即其余节点均未标号;,即其余节点均未标号;3、找出与已标号节点相邻的所有未标号节点,在这些未标号节点中,、找出与已标号节点相邻的所有未标号节点,在这些未标号节点中,选取一个与始点选取一个与始点S距离最短的节点距离最短的节点vj1,即计算,即计算 ,1 rjsrjrjSdLMinL上式中,r为已标号节点下标,j为与已标号节点相邻的未标号节点的下标,j1为下一个要标号的节点下标。4、将LS j1填入节点vj1旁的小方框内,表示节点vj1已标号,令vj1V,并从集合V中去掉节点vj1;5、重复
19、步骤3、4,直到所有节点均已标号或标号无法进行下去为止。15例例1 1 狄克斯特拉算法狄克斯特拉算法2S5t63497491107133203152S5t634974911071332031507910111328按照Dijkstra算法,先将0填入节点S旁的小方框内,然后,依次选择与始点S距离最近的节点vj1进行标号,并把该距离LS j1填入节点vj1,旁的小方框内。依次选择离始点S最近的节点的顺序分别为v4,v2,v5,v3,v6,vt,最短路径为S256t,长度为28。准则1:每次选择离始点S最近的未标号节点进行标号;准则2:每次将已标号节点做最小延伸,并比较取其中最小的一个延伸所到达的
20、节点进行标号。显然,准则1概念较清晰,而准则2较容易手工操作。16 Dijkstra最短路算法的最短路算法的特点特点和和适应范围适应范围一种隐阶段的动态规划方法一种隐阶段的动态规划方法每次迭代只有一个节点获得永久标记,若有两个或两个以上每次迭代只有一个节点获得永久标记,若有两个或两个以上节点的临时标记同时最小,可任选一个永久标记;总是从一节点的临时标记同时最小,可任选一个永久标记;总是从一个新的永久标记开始新一轮的临时标记,是一种个新的永久标记开始新一轮的临时标记,是一种深探法深探法被框住的永久标记被框住的永久标记 Tj 表示表示 vs 到到 vj 的最短路,因此的最短路,因此 要求要求 di
21、j 0,第第 k 次迭代得到的永久标记,其最短路中最多有次迭代得到的永久标记,其最短路中最多有 k 条边,因条边,因此最多有此最多有n 1 次迭代次迭代可以应用于可以应用于简单简单有向图和混合图,在临时标记时,所谓相邻有向图和混合图,在临时标记时,所谓相邻必须是箭头指向的节点;若第必须是箭头指向的节点;若第 n 1 次迭代后仍有节点的标记次迭代后仍有节点的标记为为 ,则表明,则表明 vs 到该节点无有向路径到该节点无有向路径如果只求如果只求 vs 到到 vt 的最短路,则当的最短路,则当 vt 得到永久标记算法就结束得到永久标记算法就结束了;但算法复杂度是一样的了;但算法复杂度是一样的应用应用
22、 Dijkstra 算法算法 n 1 次次,可以求所有点间的最短路,可以求所有点间的最短路vs 到所有点的最短路也是一棵生成树,但不是最小生成树到所有点的最短路也是一棵生成树,但不是最小生成树17 6.3.2 Warshall-Floyd算法算法 (1962)Warshall-Floyd算法可以解决有负权值边算法可以解决有负权值边(弧弧)的最短路问题的最短路问题;基于思路:如果节点基于思路:如果节点vS到节点到节点vj的最短路径总是沿着某一特定的路径先的最短路径总是沿着某一特定的路径先到达节点到达节点vi,然后再沿边(然后再沿边(vi,vj)到达节点)到达节点vj,则这一特定路径肯定,则这一特
23、定路径肯定也是节点也是节点vS到节点到节点vi的最短路径。的最短路径。迭代公式迭代公式 ,.2,1 ),(),(1twvvdMinvvdijistijst若对于所有节点vjV,均满足,),(),(1jstjstvvdvvd则停止迭代,并通过反向追踪寻找vS到节点vj的最短路径。186 6-1-1-1-12 2-3-3-2-28 83 3-5-5-1-12 21 11 17 71 1-3-3-5-52v3v4v5v6v7v1v8v例 6.3.2 求下图具有负权网络图始点v1到终点v 8的最短路径及其长度。19W W i j i jd d t t(v(v1 1,v,vj j)v v1 1v v2
24、2v v3 3v v4 4v v5 5v v6 6v v7 7v v8 8t=1t=1t=2t=2t=3t=3t=4t=4v v1 10 0-1-1-2-23 30 00 00 00 0v v2 26 60 02 2-1-1-5-5-5-5-5-5v v3 3-3-30 0-5-51 1-2-2-2-2-2-2-2-2v v4 48 80 02 23 3-7-7-7-7-7-7v v5 5-1-10 01 1-3-3-3-3v v6 61 10 01 17 7-1-1-1-1-1-1v v7 7-1-10 05 5-5-5-5-5v v8 8-3-3-5-50 06 66 620 6.3.4
25、最短路应用举例最短路应用举例市话扩容市话扩容 (实装率实装率=0.8)年 号 年 号 0 1 2 3 4 5 6 7 8 9 10 11 12预测数 预测数 1.6 1.8 2.0 2.2 2.5 2.8 3.1 3.5 3.9 4.4 4.9 5.5 6.2t02000t64000t85000t96000t117000t128000t330001,42,76,135,124,8.83,8.31,3.52,6.04,8.33,7.15,8.91,32,4.53,6.84,7.51,2.52,4.33,5.521最短路应用举例最短路应用举例 市话扩容市话扩容0361211984128.8722.
展开阅读全文