- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
匈牙利算法示例; (二)、解题步骤:; 第二步:进行试指派,以寻求最优解。
在(bij)中找尽可能多的独立0元素,若能找出n个独立0元素,就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余为0,这就得到最优解。找独立0元素,常用的步骤为:
(1)从只有一个0元素的行(列)开始,给这个0元素加圈,记作◎ 。然后划去◎ 所在列(行)的其它0元素,记作? ;这表示这列所代表的任务已指派完,不必再考虑别人了。
(2)给只有一个0元素的列(行)中的0元素加圈,记作◎;然后划去◎ 所在行的0元素,记作? .
(3)反复进行(1),(2)两步,直到尽可能多的0元素都被圈出和划掉为止。; (4)若仍有没有划圈的0元素,且同行(列)的0元素至少有两个,则从剩有0元素最少的行(列)开始,比较这行各0元素所在列中0元素的数目,选择0元素少的那列的这个0元素加圈(表示选择性多的要“礼让”选择性少的)。然后划掉同行同列的其它0元素。可反复进行,直到所有0元素都已圈出和划掉为止。
(5)若◎ 元素的数目m 等于矩阵的阶数n,那么这指派问题的最优解已得到。若m n, 则转入下一步。
第三步:作最少的直线覆盖所有0元素。
(1)对没有◎的行打√号;
(2)对已打√号的行中所有含?元素的列打√号;
(3)再对打有√号的列中含◎ 元素的行打√号; ; (4)重复(2),(3)直到得不出新的打√号的行、列为止;
(5)对没有打√号的行画横线,有打√号的列画纵线,这就得到覆盖所有0元素的最少直线数 l 。l 应等于m,若不相等,说明试指派过程有误,回到第二步(4),另行试指派;若 l=m n,须再变换当前的系数矩阵,以找到n个独立的0元素,为此转第四步。
第四步:变换矩阵(bij)以增加0元素。
在没有被直线覆盖的所有元素中找出最小元素,然后打√各行都减去这最小元素;打√各列都加上这最小元素(以保证系数矩阵中不出现负元素)。新系数矩阵的最优解和原问题仍相同。转回第二步。 ;例一:;2;4;◎; 有一份中文说明书,需译成英、日、德、俄四种文字,分别记作A、B、C、D。现有甲、乙、丙、丁四人,他们将中文说明书译成不同语种的说明??所需时间如下表所示,问如何分派任务,可使总时间最少?
;求解过程如下:
第一步,变换系数矩阵:; 第三步,作最少的直线覆盖所有0元素: ;0;练习:;-1;◎;◎;◎;◎;◎;◎;◎;◎;◎;用匈牙利法求解下列指派问题,已知效率矩阵分别如下: ;此课件下载可自行编辑修改,供参考!
感谢您的支持,我们努力做得更好!
文档评论(0)