§2 分配问题与匈牙利法.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§2 分配问题与匈牙利法

§2. 分配问题与匈牙利法 (assignment problem and Hungian method) 2.1分配问题的标准形式及其数学模型 2.2匈牙利解法 2.3一般的指派问题 1. 问题的提出及数学模型 2. 分配问题的匈牙利解法 匈牙利方法的基本思想 匈牙利解法的基本步骤 例2:用匈牙利解法解本节例题 课堂练习:求解下列分配问题 两点说明 分配问题的求解软件(WINQSB) * 例1:设某工程有B1,B2,B3,B4 四项任务,需由四个工人A1,A2,A3,A4去完成,由于任务性质和每个工人的技术水平不相同,他们完成各项任务所需的时间也不一样(见下表)。问应当如何分配,即哪个人去完成哪项任务,才能使完成四项任务的总时间最少? 9 11 8 7 A4 13 16 14 9 A3 15 14 4 10 A2 4 13 15 2 A1 B4 B3 B2 B1 任务 人员 设 该问题的解为: 用矩阵形式表示为: 解矩阵 设有n项任务,需有n个人去完成,每个人只能完成一项任务,每项任务只能由一个人去完成,设第i人完成第j 项任务需要的时间是aij , 问如何分配才能使完成任务的总时间最少? 设 一般分配问题 分配问题是一种特殊的运输问题,特殊在哪里? 高度退化!因而一般不使用表上作业法求解。 定义4.1 效率矩阵 其中aij?0 表示第i 人完成第j 项任务的效率(时间、费用等)。 定义4.2 任务的一种分配方法称为一个匹配。(分配问题的一个解),使目标函数取得最小值的匹配称为最优匹配(最优解) 特点:每行恰有一个1;每列恰有一个1。 如果效率矩阵的所有元素aij?0, 而其中存在一组位于不同行不同列的0元素, 则只要令对应于这些位置的xij=1,其余xij=0,就可以得到分配问题的最优解。 效率矩阵: 最优解 问题:如何产生这组独立0元素? 定义4.3 位于效率矩阵的不同行不同列的0元素称为独立0元素。 定理1:如果从效率矩阵A的每一行元素中分别减去(或加上)一个常数ui,从每一列元素中分别减去(或加上)一个常数vj,得到一个新的效率矩阵B,其中bij=aij-ui-vj,则B对应的分配问题与A对应的分配问题同解。 证明:将B中的数据代入目标函数,有: 定理.2 效率矩阵A的元素可分成“0”与非“0”两部分,则覆盖“0” 元素的最少直线数等于位于不同行不同列“0” 元素的最大个数。 ? ? ? ? 0 0 0 ? ? ? ? ? ? ? 0 0 独立0元最多两个;至少需用两条直线覆盖所有0元素。 第一步:初始变换获得0元素。 从效率矩阵的每行减去该行的最小元素;然后从所得矩阵的每列减去该列的最小元素,令所得矩阵为B. 第二步:在B中寻找位于不同行、不同列的0元素。 (1)检查B的每行每列,从中找出未加标记的0元素最少的一排(即行列的统称),在该排用()标出一个0元,若该排有多个0元,则任意标出一个即可; (2)把刚得到()号标记的0元所在的行、列中的其余0元划去,用?表示; (3)凡是(0), ?就成为加了标记的0元,返回(1)重复(1)、(2)、 ( 3),直到所有0元都加上标记为止。若得到的加()号的0元素个数等于n,则结束;否则转第三步 第三步:找出能覆盖矩阵中所有0元素的最少直线集合。 (1)对没有(0)的行打?; (2)对已经打?的行中所有?元素所在的列打?; (3)再对打?的列中所有(0)元素所在的行打?; (4)重复(2)(3)直到得不出新的打?的行、列为止; (5)对没有打 ?的行和打?的列划线,即为覆盖所有0元素的最少直线。 第四步:修改矩阵B以增加独立0元素的个数。 (1)在未被直线覆盖的所有元素中,找出最小元素; (2)所有打?的行都减去此最小元素,然后所有打?的列都加上此最小元素,令这个新矩阵为B,返回第二步。 效率矩阵 第一步:初始变换 9 11 8 7 13 16 14 9 15 14 4 10 4 13 15 2 7 9 4 2 2 4 1 0 4 7 5 0 11 10 0 6 2 11 13 0 2 4 0 0 0 0 1 0 2 3 5 0 9 6 0 6 0 7 13 0 得解矩阵 找独立0元素 0 0 1 0 2 3 5 0 9 6 0 6 0 7 13 0 总时间为: 4+4+9+11=28 例3:用匈牙利解法解下列分配问题 效率矩阵 9 14 12 17 7 10 6 6 7 9 7 10 4 10 6 14 15 6 6 9 8 9 9 7 12 第一步:初始变换 0 0 0 0 0 9 14 12 17 7 10 6 6 7 9 7 10 4 10 6 14 15 6 6 9 8 9 9 7 12 6 4 6 7 7 2 7 5 1

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档