第六章离散模型课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第六章离散模型课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 离散 模型 课件
- 资源描述:
-
1、第六章 离散优化模型及算法设计浙江大学数学建模基地浙江大学数学建模基地在上一章中在上一章中,我们介绍了与计算复杂性有关的一些基本概念我们介绍了与计算复杂性有关的一些基本概念.人们发现人们发现,在离散问题中存在着两个互不相交的类:在离散问题中存在着两个互不相交的类:P P类与类与NPNP完全类(若完全类(若P PNPNP)。)。前者具有求解的有效算法而后者不可能有这种算法。从这一点上讲,前者具有求解的有效算法而后者不可能有这种算法。从这一点上讲,P P问题可以看成是一类具有良好性质而又较容易求解的问题,而问题可以看成是一类具有良好性质而又较容易求解的问题,而NPNP完全问完全问题则是固有地难解的
2、。题则是固有地难解的。在在5.45.4中看到,有着广泛应用背景的线性规划问题是一个中看到,有着广泛应用背景的线性规划问题是一个P P问题。这样,问题。这样,作为线性规划子问题的运输问题及作为运输问题子问题的指派问题自然作为线性规划子问题的运输问题及作为运输问题子问题的指派问题自然更是更是P P问题。虽然从平均的角度讲,人们似乎更常遇到问题。虽然从平均的角度讲,人们似乎更常遇到NPNP完全问题,但完全问题,但P P仍不失为一个十分重要的问题类。一方面,很多仍不失为一个十分重要的问题类。一方面,很多P P问题象线性规划一样有问题象线性规划一样有着极广泛的应用前景,且它们本身又是十分有趣的;另一方面
3、,它们也着极广泛的应用前景,且它们本身又是十分有趣的;另一方面,它们也是研究一些更为复杂、难解的问题时经常被采用的研究工具。在本章中,是研究一些更为复杂、难解的问题时经常被采用的研究工具。在本章中,将再介绍一些经常遇到的将再介绍一些经常遇到的P P问题并给出求解它们的有效算法。问题并给出求解它们的有效算法。一、拟阵问题及贪婪算法一、拟阵问题及贪婪算法在在P类中又存在着一个被称为拟阵的具有更为良好性质的问题类,其中的类中又存在着一个被称为拟阵的具有更为良好性质的问题类,其中的任一问题均可用一种被称为贪婪法的方法来求解,而这一性质并不是所有任一问题均可用一种被称为贪婪法的方法来求解,而这一性质并不
4、是所有的的P问题都具有的。问题都具有的。例例 6.1(最小生成树问题(最小生成树问题MST)给定一连通图给定一连通图G=(V,E),),有一表示边长的权有一表示边长的权C(e)(表示顶点间的距离或费用),求此图的具有)(表示顶点间的距离或费用),求此图的具有最小总权的生成树。最小总权的生成树。e此问题的标准形式为给定一完全图此问题的标准形式为给定一完全图G G,其每边赋有一权数,求此完全图的,其每边赋有一权数,求此完全图的最小生成树。所谓树是指连通而无圈的图,单独的一个点也可看成一颗最小生成树。所谓树是指连通而无圈的图,单独的一个点也可看成一颗树。树用树。树用(U U,T T)表示,表示,U
5、U为树的顶点,为树的顶点,T T为树的边集。不相交的树的集合为树的边集。不相交的树的集合被称为森林。一个连通图的生成树是指图中具有最多边数的一棵树。容被称为森林。一个连通图的生成树是指图中具有最多边数的一棵树。容易证明,对于一个连通图易证明,对于一个连通图G G,G G 的任一生成树必有的任一生成树必有V V-1-1条边。条边。求解最小生成树的算法主要依据下面的定理:求解最小生成树的算法主要依据下面的定理:定理定理 6.1 设设(V1,T1),),(Vk,Tk)为连通图为连通图G中的森林,中的森林,V1 U V2U Vk=V。k,若仅有一个顶点在若仅有一个顶点在Vi中的具有最小权的边为(中的具
6、有最小权的边为(,u),),则必有一棵则必有一棵G的最小生成树包含边(的最小生成树包含边(,u)。)。,1i根据定根据定1可以作了如下算法:任选一点可以作了如下算法:任选一点 ,令,令 若若V1=V,停;否则,找出仅有一个顶点在,停;否则,找出仅有一个顶点在V1中的边里具有最小权的边中的边里具有最小权的边(,u),设,将),设,将u加入加入V1(,u)加入)加入T。重复上述步骤,直到。重复上述步骤,直到V1=V。1 11:,:.VT 证明:设:设G的一棵最小生成树(的一棵最小生成树(V,T)不含()不含(,u)。将()。将(,u)加入)加入T,由于(由于(V,T)是生成树,)是生成树,T U(
7、,u)中含有过()中含有过(,u)的唯一的圈。不)的唯一的圈。不妨设妨设 ,则,则 ,此圈中的点不全由,此圈中的点不全由Vi中的点组成中的点组成,因此必存在因此必存在圈中的另一边圈中的另一边 。删去边。删去边 得到一新的生成树(得到一新的生成树(V,T1),),T1=,须其总权不超过(,须其总权不超过(V,T)的权)的权,即(即(V,T)是包含边(是包含边(,u)的最小生成树。)的最小生成树。iViV,iiuuu,uu例例6.2 求图求图9.1中图中图G的最小生成树。的最小生成树。解:不妨从顶点开始寻找。不妨从顶点开始寻找。标号标号1,先加入,先加入 (因为边权(因为边权最小),最小),标号标
8、号2。再加入。再加入 标号标号3。,每次加入一条一顶点已标,每次加入一条一顶点已标号加一顶点未标号而又具有最小权的边,直到所有顶点均标号为止。找号加一顶点未标号而又具有最小权的边,直到所有顶点均标号为止。找到的最小生成树已用又线标在图到的最小生成树已用又线标在图6.2中。中。111,V212244 容易看出算法的计算量为容易看出算法的计算量为O (V)2 ,所以此算法是有效算法,若,所以此算法是有效算法,若G具有具有O()条边,其中)条边,其中n=V ,计算量的界还是不能改进的,因为每条,计算量的界还是不能改进的,因为每条边至少应被检查一次。边至少应被检查一次。2nC由例由例6.2可以看出,算
9、法执行的每一步均加入一条可以加入的(即不生成可以看出,算法执行的每一步均加入一条可以加入的(即不生成圈的)具有最小权的边,而不去考虑它对以后选取的影响,这种算法被圈的)具有最小权的边,而不去考虑它对以后选取的影响,这种算法被称为贪婪算法。称为贪婪算法。例例6.3 (入树问题入树问题)给出一个有向图给出一个有向图G=(V,A),对),对A中的每一条孤中的每一条孤e,给,给出一个权出一个权C(e),求),求A的一个具有最大权(或最小权)的子集的一个具有最大权(或最小权)的子集B,要求,要求B中任意两条孤都没有公共的终点。中任意两条孤都没有公共的终点。考察下面的入树问题实例:考察下面的入树问题实例:
10、例例6.4 给出有向图给出有向图G=(V,A)(图(图9.3),孤上标出的数字为该边的,孤上标出的数字为该边的权,求此图具有最大权的入树。权,求此图具有最大权的入树。解:由于入树不能包含具有公共终点的孤,故对每一顶点解:由于入树不能包含具有公共终点的孤,故对每一顶点 只能选取只能选取一条入孤。为使选出的弧具有最大权,只需要对每一顶点选取权最大的一条入孤。为使选出的弧具有最大权,只需要对每一顶点选取权最大的入孤,可用计算量为入孤,可用计算量为O O(V VE E)的贪婪法求解,具有最大权的入树)的贪婪法求解,具有最大权的入树为为 。i 1221244553,类似地,出树问题也可以用贪婪法求解。类
11、似地,出树问题也可以用贪婪法求解。例例6.5 (矩阵拟阵问题矩阵拟阵问题)给出一个矩阵给出一个矩阵Amxn,记其,记其n个列向量为个列向量为e1,,en。设对每一列向量设对每一列向量en已指定一权已指定一权C(en)求)求 的一个线性无的一个线性无关的子集,它具有最大的权和。关的子集,它具有最大的权和。1,iin易见,这一问题也可以用贪婪法求解。集合易见,这一问题也可以用贪婪法求解。集合 的线性无关的的线性无关的子集被称为独立子集,利用贪婪法必可求得具有最大权的独立子集,可用子集被称为独立子集,利用贪婪法必可求得具有最大权的独立子集,可用线性代数知识加以证明线性代数知识加以证明(见习题(见习题
12、1)。1,iin例例6.6 求矩阵求矩阵A的列向量具有最大权和的独立子集的列向量具有最大权和的独立子集7*45762101543100012731214531011AC(C(e ei i)8 4 7 5 2 6 48 4 7 5 2 6 4解:采用贪婪法,先取权最大的列采用贪婪法,先取权最大的列e1,同时对,同时对A作高斯消去,逐次加入作高斯消去,逐次加入线性无关的向量:线性无关的向量:A的列向量中具有最大权的独立子集为的列向量中具有最大权的独立子集为 。1354取e6取e4取e3?45110205431000334211045310111231110543100033421104531011
13、A4/904/194/90204/514/34/100033421104531011定义定义6.1 (拟阵拟阵)设设E是一个有限集,是一个有限集,为为E的部分子集构成的封闭系统(即的部分子集构成的封闭系统(即若若 ,则必有,则必有 )。若)。若M=(E,)上的离散优化问题的每一)上的离散优化问题的每一实例均可用贪婪算法求出最优解,则称实例均可用贪婪算法求出最优解,则称M为一拟阵。(注:为一拟阵。(注:被称为独立系被称为独立系统)。统)。,AAA现以矩阵拟阵为例,对定义现以矩阵拟阵为例,对定义6.1作一说明。作一说明。对矩阵拟阵的每一实例,对矩阵拟阵的每一实例,E=e1,en为矩阵列向量的集合,
14、为矩阵列向量的集合,为为E的线性无的线性无关子集构成的系统,称为独立系统,其元素被称为独立子集。由于关子集构成的系统,称为独立系统,其元素被称为独立子集。由于E的任一的任一线性无关子集的子集也是线性无关子集的子集也是E的线性无关子集,故独立系统的线性无关子集,故独立系统是封闭的。又由是封闭的。又由于这一离散优化问题的任一实例都可用贪婪法求解,故构成一拟阵,被称于这一离散优化问题的任一实例都可用贪婪法求解,故构成一拟阵,被称为矩阵拟阵。例为矩阵拟阵。例9.1被称为图拟阵,例被称为图拟阵,例9.3被称为划分拟阵。被称为划分拟阵。拟阵问题(或称拟阵结构)拟阵问题(或称拟阵结构)有一个明显而又本质的特
15、性,其任一极大独立有一个明显而又本质的特性,其任一极大独立子集中包含着相同个数的元素,从而可以引入基的概念。例如,矩阵列向子集中包含着相同个数的元素,从而可以引入基的概念。例如,矩阵列向量的所有线性无关极大组均具有相同的向量个数,这就导出了基量的所有线性无关极大组均具有相同的向量个数,这就导出了基即矩即矩阵列秩的概念。对于图拟阵,每一极大独立集均为一生成树,其边数均为阵列秩的概念。对于图拟阵,每一极大独立集均为一生成树,其边数均为|V|-1。对于划分拟阵,孤集被划分成个。对于划分拟阵,孤集被划分成个|V|个子集,每一子集由指向同一个子集,每一子集由指向同一顶点的孤组成。显然,任一极大独立集应在
16、每一子集中取一条孤,故其基顶点的孤组成。显然,任一极大独立集应在每一子集中取一条孤,故其基数为顶点个数。数为顶点个数。我们不加证明地引入下面的定理,虽然其证明并不十分困难。我们不加证明地引入下面的定理,虽然其证明并不十分困难。定理定理6.2 E为一有限集合,为为一有限集合,为E的部分子集构成的封闭独立系统。以下的部分子集构成的封闭独立系统。以下两个条件均为两个条件均为M=(E,y)构成拟阵(即其上的优化问题可用贪婪法求解)构成拟阵(即其上的优化问题可用贪婪法求解)的充分必要条件:的充分必要条件:(条件(条件2)若若I、I均为均为A的两个极大独立集,则的两个极大独立集,则|I|=|I|。AE(条
17、件(条件1)若若I、I|I|M|,G中至少含一条路,其中中至少含一条路,其中M中的边多于中的边多于M中的边,不难看出,这条路是中的边,不难看出,这条路是G的的关于关于M的增广路。的增广路。现在可以看出,找最大匹配的关键在于找增广路。读者不难用顶点标号现在可以看出,找最大匹配的关键在于找增广路。读者不难用顶点标号的办法(由未盖点出发),作出一个求解两分图匹配的增广路算法。此的办法(由未盖点出发),作出一个求解两分图匹配的增广路算法。此算法稍加改动,还可以用于非两分图的情况。算法稍加改动,还可以用于非两分图的情况。三、网络流问题三、网络流问题网络流问题是又一类具有广泛应用前景的网络流问题是又一类具
18、有广泛应用前景的P问题,本节将介绍一些有关问题,本节将介绍一些有关网络流问题的基本理论与算法。网络流问题的基本理论与算法。1、最大流问题(、最大流问题(MFP)边赋值的有向图称为网络。给定一个网络,其边赋值表示该边的容量。最边赋值的有向图称为网络。给定一个网络,其边赋值表示该边的容量。最大流问题要求在不超过边容量的前提下求出网络中两个指定顶点之间的最大流问题要求在不超过边容量的前提下求出网络中两个指定顶点之间的最大流。例如:当网络是通讯网时,我们可能会去求出网络中两个指定点间大流。例如:当网络是通讯网时,我们可能会去求出网络中两个指定点间的最大通话量;当网络是城市的街道时,我们又可能会去求两地
19、间的最大的最大通话量;当网络是城市的街道时,我们又可能会去求两地间的最大交通流,即单位时间内允许通过的车辆数等等。交通流,即单位时间内允许通过的车辆数等等。建模:建模:给定一有向图给定一有向图G=(V,A),),A的每一条孤(边)(的每一条孤(边)(i,j)上已赋一)上已赋一表示边容量的非负整数表示边容量的非负整数C(i,j)。并已指定)。并已指定V中的两个顶点中的两个顶点 s、t,分别称,分别称它们为发点和收点。它们为发点和收点。设网络中已存在一个流(不一定是最大流),记孤(设网络中已存在一个流(不一定是最大流),记孤(i,j)上的流量为)上的流量为 (i,j),记),记s发出的总流量(即发
20、出的总流量(即t收到的总流量)为收到的总流量)为 ,根据平衡条件,可,根据平衡条件,可得如下的约束条件,得如下的约束条件,有,有i 其中是其中是 指指A中以顶点中以顶点i为起点的孤集,为起点的孤集,是指是指A中以中以 i为终点的孤集为终点的孤集,(.1)式表示式表示s发出流为发出流为 ,t收入的流为收入的流为 ,其余各点只起中转作用,其余各点只起中转作用,既不增加也不消耗流量。根据边容量限止,还应有既不增加也不消耗流量。根据边容量限止,还应有 iAiA,i jC i ji jA而我们的愿望是使总流量尽可能地大。而我们的愿望是使总流量尽可能地大。即在(即在(6.1)、)、(6.2)式约束下式约束
21、下使达到最大,易见,这是一个线性规划问题的子问题,故使达到最大,易见,这是一个线性规划问题的子问题,故 类。类。PtivtsisivjijiAijiAiji若若若.0),(),(),(),(对于一个较为复杂的网络,要想直接找出最大流是不太可能的。为了简化对于一个较为复杂的网络,要想直接找出最大流是不太可能的。为了简化问题,我们先引入一些符号。问题,我们先引入一些符号。记记、为为的两个不相交的子集,的两个不相交的子集,s ,用(,)表示发,用(,)表示发点在,收点在的边集,点在,收点在的边集,记记,并定义如下的切割概念:,并定义如下的切割概念:,P tQ,i P j Qi P j QP Qi j
22、 C P QC i j定义定义6.5 (切割)(切割)设设是是的顶点集合的顶点集合的一个真子集,的一个真子集,为为关于关于的补集。若的补集。若、满足满足 且且 则称则称和和 为的一个切割。为的一个切割。PPSPtPP根据切割的定义可以看出,当和根据切割的定义可以看出,当和 为一切割时,如果去掉连接为一切割时,如果去掉连接和的和的边集(边集(,),就切断了由通往),就切断了由通往t的所有通路。所以,对网络的任一切的所有通路。所以,对网络的任一切割(割(,),),(,)必为最大流的一个上界,)必为最大流的一个上界,而而 。PPPP,P PP P例例6.9 网络如图网络如图9.6所示,边(弧)上的两
23、数字分别表示边容量及实际流所示,边(弧)上的两数字分别表示边容量及实际流量。取,则,显然量。取,则,显然、是网络的是网络的一个切割。对于这一切割容易算出一个切割。对于这一切割容易算出而网络的流量而网络的流量 。P,6,9P PC P P为了尽可能地增大网络上的流量,按如下方法作出一个和为了尽可能地增大网络上的流量,按如下方法作出一个和具有相同顶具有相同顶点并具有相同发点和收点的增广网络点并具有相同发点和收点的增广网络()(简记(简记)。)。包含两包含两类边,对中每一条边(类边,对中每一条边(i,j):A(1)若)若 ,作正向边(,作正向边(i,j),规定容量规定容量 ,即剩余容量。,即剩余容量
24、。,i jC j i,C j iC j ij i(2)若)若 ,作反向边(,作反向边(j,i),),规定容量规定容量 事实上是边(事实上是边(j,i)上最多可减少的容量。)上最多可减少的容量。,0i j,Cj ij iCj i第一类边称为正规边,第二类边则称为增广边。例如由图第一类边称为正规边,第二类边则称为增广边。例如由图9.6中的流可以中的流可以作出其相应的增广网络图作出其相应的增广网络图9.7,其中实箭线为正规定,虚箭线为增广边,其中实箭线为正规定,虚箭线为增广边,边上的数字为边容量。边上的数字为边容量。如果增广网络上存在着由如果增广网络上存在着由st的通路的通路p(称为原网络的一条增广
25、路),(称为原网络的一条增广路),记记 ,则只要在,则只要在P中的一切正规边上增加流量中的一切正规边上增加流量a,而在对应,而在对应增广边(增广边(j,i),),G的边(的边(i,j)上减少流量)上减少流量a,就得到,就得到G的一个由的一个由st的增的增大了流量大了流量a的更大的流。例如,从图的更大的流。例如,从图9.7上可以找出增广路上可以找出增广路,a=2。于是,图。于是,图9.6中的流可改进增大为图中的流可改进增大为图9.8(a)中的流,总流量为中的流,总流量为7。由于其增广网络图。由于其增广网络图9.8(b)中不再存在增广路,无法中不再存在增广路,无法再继续增大。容易看出,若取再继续增
展开阅读全文