第六章-指派问题..ppt_第1页
第六章-指派问题..ppt_第2页
第六章-指派问题..ppt_第3页
第六章-指派问题..ppt_第4页
第六章-指派问题..ppt_第5页
免费预览已结束,剩余37页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章指派问题,组合优化理论,CombinatorialOptimizationTheory,指派问题(AssignmentProblem,AP)是一种特殊的线性规划问题,也属于0-1整数规划问题.在图论中称为最佳匹配问题(OptimalMatching).,问题描述:有n项任务需要去完成,恰好有n个人可以去完成这n项任务,而每个人完成各项任务的效率是不同的,如果要求每人完成其中一项,且每项任务只交给其中一人去完成,应如何分配,使总的效率最高.,第六章指派问题,1最大基数匹配问题,2指派问题,3指派问题的应用,4瓶颈分配问题,第六章指派问题,1最大基数匹配问题,人员工作分配问题:,某公司有工作人员x1,x2,xn,他们去做n项工作y1,y2,yn,每人会做其中的一项或几项,要求每人至多做一项,每项工作至多由一人来做,问能否每人都分配到一项会做的工作?,如果不,那么最多几人有会做的工作可做?且如何安排?,可用图和矩阵给出它的数学模型及求解方法.,1最大基数匹配问题,Definition4.1,设图G=(V,E),Graph,Vertex,Edge,1、如果,且对,与无公共顶点,则称边子集M是G的一个匹配;,2、M中的每条边的两个顶点称为关于M是饱和的,否则称为非饱和的;,3、G中每个顶点都关于M是饱和的,则称M是G的一个完备匹配;,4、如果M是一匹配,而不存在其他匹配M1,使得,5、如果M是一匹配,而对不是G的匹配,则称M是G的一个极大匹配.,,则称M是G的最大(基数)匹配;,第六章指派问题,6、如果G的顶点V可分成两个满足如下条件的子集X,Y:,对,则与ej关联的两个顶点分属XY,,称G=(X,Y,E)为二部图或偶图.,x3,x1,x2,y2,y1,y3,x4,x5,y4,y5,人员工作分配问题就是在二部图中寻找最大匹配.,1最大基数匹配问题,x3,x1,x2,y2,y1,y3,x4,x5,y4,y5,该问题也可用矩阵表示,如果xi会做yj,否则,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,在矩阵中寻找什么?,寻找最多的不同行不同列的1元素.,(二部图G的邻接矩阵),称为独立元(素),第六章指派问题,如何寻找?,礼让原则,从每行、每列中,1最少的行或列先取,一样多时随意.,遗憾的是这是错的,1最大基数匹配问题,1965年匈牙利著名数学家Edmonds为之设计了命名为“匈牙利算法”的有效算法,计算复杂性为O(n).,就二部图的邻接矩阵,先给出几个概念:,在第i行第j列上的(1被加圈)表示xi(或yj)已被分配,或该行(或列)已被分配;,不同行不同列的,称为A的一个分配,用M表示;,第六章指派问题,设M为已知分配,xi未被,分配,而该行没有1,则xi不能被分配;若有1,选择一个1(aij),如果第j列没有加圈1,则对该1加圈,得到一新的分配M,有,,如果有加圈1(ai1j),则对aij,ai1j打,且划去第j列,,再看第i1行有否没有被划去的1,,有,再重复上述过程,直至不能继续为止.,这时所得序列,称为关于M的交互链.,如果在交互链中,最后得到的是无圈1,则称该交互链为可增广链.,把可增广链中的加圈1与没圈的1,互换标记,得到一新的分配M,有.,上述过程称之为增广过程.,交互链、可增广链可在图G中描述,1最大基数匹配问题,Theorem4.1(Berge,1957),M是A的最大分配的充要条件是不存在可增广链.,匈牙利算法:,Step1,任给一初始分配M,,设S为未被M分配的行集合;,Step2,如果,则此时已得到最大分配,,End,否则,取;,Step3,寻找xi出发的可增广链,,如果存在,则进行增广;,且令,GotoStep2;,否则,xi不能被分配,,令,GotoStep2;,对图G的最大匹配,结论也成立,proof,Theorem4.1的证明,Proof:,必要性:,若M是A的最大分配,显然A中无关于M的可增广链,不然M还可以增广成独立元更多的分配,与M是最大分配相违;,充分性:,反证,若M不是最大分配,,则存在分配M1,作,由于M2是由M,M1中非公共部分组成,而M,M1都是分配,所以,从M2的任一1出发,按交互链得到方法,得到的链必是M,M1中的1交替出现.,由于,所以在所有的交互链中,必有一条链属于M1的1多于属于M的1,且以M1的1出发、结束,这是关于M的可增广链.与条件矛盾.,证毕,第六章指派问题,Example1,求G的最大匹配,G的邻接矩阵如右所示:,Solution:,不妨设初始匹配,取x3,从x3y2出发,,得一增广链:,增广得:,取x4,,得一增广链:,增广得:,取x5,从x5y3出发,,得一交互链,但不是增广链.,从x5y4出发,,因y4未被分配,所以对x5y4加圈,得:,所以,M是最大匹配,且是完备匹配.,2指派问题,在第一节的人员工作安排问题中,分配工作时,只考虑人员有工作做.但事实上,由于工作的性质和个人的特长不同,在完成不同的任务时,其效益是不同的(成本、时间、利润、费用etc.).,2指派问题,设有n个人员去完成n项任务,第i人完成第j项任务的效益为,要求每人完成且仅完成一项,问如何分配,使完成n项任务的总效益最佳.,可以是max、min先考察min,称C=(cij)nn为效益矩阵.,第六章指派问题,Example2,有一份中文说明书需要译成英、日、德、俄四种语言,分别记为E、J、G、R.现有A、B、C、D四人,他们将中文翻译成不同语言所需时间如表,问应分配何人去完成何任务(一人完成一项任务),使所需总时间最少?,Solution:,设,s.t.,2指派问题,显然,这是一个0-1规划问题,,也是一个特殊的运输问题.,所以,分配问题可用解IP问题方法(如:分支定界法),或解运输问题的表上作业法.,但是,1、IP是NP-C问题;2、有基变量2n-1个,而有n-1个为零,高度退化.,1955年,Kuhn-Munkras提出了解AP的算法,将求AP转化为求完备匹配问题,其计算复杂性为O(n3).,由于算法引用了匈牙利数学家Knig的结论,所以,该算法也称为匈牙利算法.,第六章指派问题,Theorem4.2(Knig,1931),Definition4.2,图G=(V,E),一个顶点在C中,称C为G的一个点(对边的)覆盖.,点集若G中每条边至少有,点数最少的点覆盖C称为G的最小点覆盖.,二部图G=(X,Y,E),M为最大匹配,C为最小点覆盖,则有,监测点的设置等是最小点覆盖的应用.,点覆盖在二部图G的邻接矩阵上如何表示?,Proof,x3,x1,x2,y2,y1,y3,x4,y4,Theorem4.2的证明,Proof:,显然,若,,则,若,,设X1为在M中没有独立元的行的集合.,如右,令Z是X1中行出发的关于M的交互链上的所有点,,如右,记,则,表示S中的行的所有1对应的列,取,则B是A的一个覆盖,,如果不是,则有1元素行在S,列在Y-T中,这与矛盾.,而,,显然,所以B是最小覆盖.,证毕,2指派问题,显然,Ex.2的可行解可用一个0-1矩阵表示.,表示:,因此,求解指派问题可在效益矩阵上进行.,Theorem4.3,如果从效益矩阵(cij)的第i行中每个元素减去a和第j列中每个元素加上b,得到一个新的效益矩阵.,则以为新的目标函数与原目标函数的指派问题最优解相同.,第六章指派问题,匈牙利算法:,Step1,使效益矩阵各行各列出现零元素;,具体:从效益矩阵的每行各元素减去该行最小元素;,再从所得矩阵的每列各元素减去该列最小元素.,称各行各列所减的数值之总和为缩减量,记为S.,S=2+4+9+7+4+2=28,2指派问题,Step2,试寻求最优解;,用上节的求最大匹配的算法.,这时得到最大匹配M.,如果,则已得到最优解;,即,28=S,每行每列有零元素,能保证有n个独立零元素吗?,如果,则gotostep3;,第六章指派问题,Step3,作缩减后的效益矩阵的最小覆盖;,具体:a、对没有0的行打;,b、对已打的行中所有含0元素的列打;,c、对打的列上有0的行打;,d、重复b、c,直到得不出新的打的行列为止;,e、对打的列画纵线,没打行画横线.,这就得到最小覆盖.,2指派问题,Example3,求效益矩阵为C的最小指派.,Solution:,缩减量S1=26,此时,.,第六章指派问题,Step4,增加零元素,具体:a、求出未被直线覆盖的元素中的最小值k;,显然,在直线下增加零元素是不增加独立零的,本例k=2,b、对打的行减去k,打的列加上k,,gotostep2.,-2,-2,+2,缩减量为S2=2+2-2=2,此时,,所以最优解为,zmin=,S1+S2=26+2=28,28,零元素是增加吗?,2指派问题,考虑极大化问题,令可以吗?,匈牙利算法要求矩阵元素非负,作一新矩阵,取,则,Example4,(婚姻问题),取M=28,对人多任务少,人少任务多,如何?,虚设.,第六章指派问题,3指派问题的应用,Example5,现有6项任务,由4个工厂来完成,已知各个工厂完成各项任务的费用矩阵为C,,应如何分配任务,使总费用最小?,具体分别1、无要求;,2、一厂至多完成两项;,3、一厂至多完成两项,至少完成一项.,Solution:,1、无要求,碰巧,符合2、3的要求,Zmin=13,3指派问题的应用,2、一厂至多完成两项,设想每个工厂由两个分厂组成,问题变为8个工厂完成6项任务,虚设2个任务,费用为零.,说明什么?,3、一厂至多完成两项,至少完成一项.,一个厂不能同时完成最后两个任务.,如何做到?,MM,MM,MM,MM,Zmin=13,第六章指派问题,Example6,(铁路列车运行分派问题),A站与B站之间拟开7对客车,客车的运行时间如图,现在要给列车固定乘务组.现在假定,哪站的乘务组换班地点就在那站,乘务组在对方折返停留的最短时间为2小时,问如何分派任务使7个乘务组在折返点的总耗时最小?,问题:列车如何配对,乘务组由哪个车站提供?,A,B,024681012141618202224,12,14,10,8,6,4,2,13,11,9,7,5,3,1,3指派问题的应用,A,B,024681012141618202224,12,14,10,8,6,4,2,13,11,9,7,5,3,1,Solution:,2468101214,20,24,最大数与最小数?,2,17,2468101214,22,18,25,2414,构造一个新矩阵C,2468101214,zmin=20小时,如何考虑A、B两站的均衡?,第六章指派问题,指派问题的分支与定界算法,因为,所以是没必要使用B.B.M,在此只是对方法的训练.,参见Ex.3,Solution:,该问题的可行解仅有24个,然而若n=20,则可行解超过1018个.,指派问题的约束为:,考虑去掉约束(*)得一松弛问题.,3指派问题的应用,分配人工作时间AE2BJ4AG9AR7总时间=22,解松弛问题,得:下界为22.,显然,不是可行解.考虑最优解中,任务E必为A、B、C、D四人中一人完成.所以分成四支,每支先确定一人完成E,余下三项按前述松弛问题处理.,第一支AE,,不可行,得下界为27.,分配人工作时间AE2BJ4DG13BR8总时间=27,类似得到:,第二支BE,etc.,分配人工作时间BE15AJ10AG9AR7总时间=41,第六章指派问题,122,227,341,433,636,724,834,1237,1128,1339,928,1031,A,E,E,E,E,D,C,B,DE,524,E,J,J,J,C,B,A,C,A,G,G,可行,可行*,J,J,J,D,C,B,*,可行*,*,*,经计算13次(几乎是可行解的一半)找到最优解,,BJ,AG,CR,zmin=28,4瓶颈分配问题,4瓶颈分配问题,经典分配问题(AP),每人完成一个任务每个任务一人完成,条件:,目标:,总完成时间最少,总效益最佳,数学模型:,求解方法:,匈牙利算法,s.t.,第六章指派问题,瓶颈分配问题(BAP),每人完成一个任务每个任务一人完成,条件:,目标:,最大完成时间最小,经典分配问题:,z=5,瓶颈分配问题:,z=2,数学模型:,设,4瓶颈分配问题,第一个任务的完成时间:,s.t.,这是非线性的,第六章指派问题,求解方法:,首先会想到什么方法,一、化为经典分配问题,1,1,4,4,4,13,40,40,13,求效益矩阵(dij)的经典分配:,所以,,fmin=2,4瓶颈分配问题,对原效益矩阵C的元素cij的不同的值按从小到大的顺序排序.,c(k)为第k个值,用s表示不同c(k)值的个数,则,定义数列d(t)如下:,构建新的效益矩阵D:,对,当,令,则效益矩阵D的经典分配问题的最优解即为原问题的最优解.,如前例,有什么缺点吗?,计算量,如:s=20,n=10,这给计算机的存储和运算带来巨大困难.,第六章指派问题,二、阀门算法,几个记号:,1、yk表示第k个可行方案的最大完成时间,3、表示矩阵的最大匹配数,算法步骤:,Step1,任给初始可行方案,令k=1;,Step2,计算yk,在中擦去得,求的最大匹配Mk+1;,Step3,若则Mk为最优解,fmin=yk,否则,令k=k+1,gotostep2.,4瓶颈分配问题,见前例:,取x11=1,x22=1,x33=1其余为零,得y1=4,取x11=1,x23=1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论