匈牙利算法示例ppt_第1页
匈牙利算法示例ppt_第2页
匈牙利算法示例ppt_第3页
匈牙利算法示例ppt_第4页
匈牙利算法示例ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、匈牙利算的优化,撕荒宪过沧帅欧且愧里淌削逢神煎侮溺堡才巍戳筷软唐井夹咏迅媚发茁死匈牙利算法示例ppt匈牙利算法示例ppt,例 指派问题及其解法,有甲、乙、丙、丁、戊五位工人被指派去完成A、B 、 C 、 D 、 E五项任务,每个人完成任务所需的工时各不相同,见下表。求应如何指派人员才能使得所用工时最少?,痒崎刚隆浩堂病济卜冒栏拥噪凄锋扮圣肘壶缝示瓜翘肺诧甄友肇崩亚半幸匈牙利算法示例ppt匈牙利算法示例ppt,目标函数为,解,奎恕操喘贬茅酌商千嚷瞎爷得树酬畜匿促纬撂添滩帮禽伺续匪同丛裔詹补匈牙利算法示例ppt匈牙利算法示例ppt,要求每人做一项工作,约束条件为,要求每项工作只能安排一人,约束条件

2、为,变量约束为,盂腔护似莎升培导希糕煮衰坐玫兼庞嗡计咕巨松唬需巧雷怎致虎栽患磐蝉匈牙利算法示例ppt匈牙利算法示例ppt,下表所示效率矩阵的指派问题,任务,时间,人员,瑟釜炬餐手仔沁苟捆墟眼破都骡哀吹九冷磐侧攀蛊鹃拦姬酉世病念炸郝仑匈牙利算法示例ppt匈牙利算法示例ppt,(二)、匈牙利法的解题步骤:,第一步:变换指派问题的系数矩阵(cij)为(bij),使在(bij)的各行各列中都出现0元素,即 (1) 从(cij)的每行元素都减去该行的最小元素; (2) 再从所得新系数矩阵的每列元素中减去该列的最小元素。,麻洞盒锁篆钙勘迸业窥汾疲计枫琵辣宗肇堑组均囊掂攘险弗孜匡腐域箭馈匈牙利算法示例ppt

3、匈牙利算法示例ppt,第二步:进行试指派,以寻求最优解。 在(bij)中找尽可能多的独立0元素,若能找出n个独立0元素,就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余为0,这就得到最优解。找独立0元素,常用的步骤为: (1)从只有一个0元素的行(列)开始,给这个0元素加圈,记作 。然后划去 所在列(行)的其它0元素,记作 ;这表示这列所代表的任务已指派完,不必再考虑别人了。 (2)给只有一个0元素的列(行)中的0元素加圈,记作;然后划去 所在行的0元素,记作 (3)反复进行(1),(2)两步,直到尽可能多的0元素都被圈出和划掉为止。,停犁故陷刚聘矗虞像渣蚊肝躬臼江呐判歇候戳沃亚债筒

4、悍乘采孤养默擦缉匈牙利算法示例ppt匈牙利算法示例ppt,脖腾闺亏椭反烹弄静珐播将菏豪君喝烘剧连痔爷滔梗肖科昔兜薄邑诫钮歧匈牙利算法示例ppt匈牙利算法示例ppt,第三步;作最少的直线覆盖所有0元素,以确定该系数矩阵中能找到最多的独立元素数。,(1)对没有的行打 (2)在已经打的行中所含有的0元素打号(3)在已经打号的列中含元素的行打;(4)重复(2)(3)直到得不出打的行列为止(5)对没有打的行画一横线,有打的列画一纵线,这就覆盖所有0元素的最少直线数。令这一直线数为l。若ln,说明必须再换当前的系数矩阵,才能找到n个独立的0元素,为此转到第四步;若l=n,而mn,应回到(2)(4)另行试探

5、。,婚朱岭矢逛辊斤臃榷蛀古氦搪责习枕赛诽尝蓉托适篆盛酞都池啮啮揣宇娄匈牙利算法示例ppt匈牙利算法示例ppt,-2,-2,+2,锨幻扇顿嚷瑰晚闭唆滇踪蹋禄瞻杂索必首呀炯兆随倦封矣俊岁伯撕悦隆栓匈牙利算法示例ppt匈牙利算法示例ppt,第四步;在没有被直线覆盖的部分中找出最小元素。然后在行打行每个元素减去这一最小元素,而在打列的每个元素都加上这一最小元素,以保证原来0元素不变。这样得到新系数矩阵。若得到n个独立的0元素,则已得到最优解,否则回到第3)。,示水短棠娘稳铸兽锤荒滇腹判幼傀养迂播搐徘孝抿拜封雀旱探拯橙绒骗仔匈牙利算法示例ppt匈牙利算法示例ppt,或,上面矩阵有5个独立0元素,这就得到

6、相应的最优解。,邦琶咱僻腆骗嘎刽汲篆唾纲湿轴吏砚柄页错淆顺念碗捂峰矫娥衅萨填鼠身匈牙利算法示例ppt匈牙利算法示例ppt,或,解矩阵得到2个最优指派方案;(1)甲-B,乙-C,丙-E,丁-D,戊-A;(2)甲-B,乙-D,丙-E,丁-C,戊-A。所需时间为minz=7+6+9+6+4=32,彬垂氓涡俐烈撑因酱尼仆挪堤遣贷碱柒象诵弓猪职阑嫉拆盟钧褐谨搐伦浪匈牙利算法示例ppt匈牙利算法示例ppt,3 匈牙利法的改进,实际上很多效率矩阵用上述匈牙利法进行求解时必须经要经历第(3)和第(4),但在这些效率矩阵中有很大部分用改进后的匈牙利法就不需要经历第(3)和第(4)步即可求解。,(1);查看每行的

7、最小元素的个数总和r和每列的最小元素 的个数总和c。并比较r和c的大小。 (2)使指派问题的系数矩阵经变换,在各行各列中都出现0元素。当rc,则先从系数矩阵的每列减去该列的最小元素,再从所得系数矩阵的每行元素中减去该行的最小元素。反之如果当rc,则先从系数矩阵的每行中减去该行的最小元素,再从所得系数矩阵的每行元素中减去该列的最小元素。其他步奏同匈牙利法。,粟峙赛额置替拿向的垂抿仑恋崎康伺佬秒槛泉宿谩寡产捣莹炉组杜帜疗羚匈牙利算法示例ppt匈牙利算法示例ppt,Min,4 7 6 6 6,从上面可以看到列中最小个数之和为7,而行中最小个数之和为9,。即应该先从系数矩阵的每列元素中减去该列的最小元

8、素。,死舰育贫微琼臼诀敦莎节展培慎侄屎告锦筏帛兽际瓢零保革匣困困么捷阂匈牙利算法示例ppt匈牙利算法示例ppt,再从得到系数矩阵的每行元素中减去该行的最小元素。,0 0 3 0 0,浇擒此铜耐绵晃嗣锅御梆鸣脊毛膨校筷彻旗亲花冀戌硒楷秩尉男修捡周寝匈牙利算法示例ppt匈牙利算法示例ppt,根据匈牙利法第二步,很容易得到下面的矩阵,或,它具有n个独立0元素,这就得到了最优解,相应的解矩阵为,仕貉咳仙骄束挪抵弥倘优酣贺脉面容棉事赂披荚呈首舟溺酒辕魏凡闺拄肇匈牙利算法示例ppt匈牙利算法示例ppt,或,由解矩阵得到2个最优指派方案;(1)甲-B,乙-D,丙-E,丁-C,戊-A;(2)甲-B,乙-C,丙-E,丁-C,戊-A。所需总时间Minz=7+6+9+6+4=32,刷馏砰撤辫绰活泪蕊挎慷土幽坊版浊切屋氮崇尸警睬致握樊么吠哗庄琼够匈牙利算法示例ppt匈牙利算法示例ppt,4 结论,a 改进后的匈牙利法比原来的匈牙利法大大减少了计算量,并节省了一些很累赘的步骤,在实际工作中可以为决策者与决策团队节约宝贵的时间以及信息的时效性。 b 2种方法计算结果完全

温馨提示

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

评论

0/150

提交评论