指派问题201105.ppt

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

指 派 问 题 设有n项任务要分给n个人去完成,每人完成一项. 由于每个人的专长不同,故完成不同任务所需的成本也不同. 若第i个人完成第j项任务的成本为cij ,则如何分配这些工作任务,使总成本为最小? 这类问题称为指派问题,矩阵C=(cij)称为成本矩阵. 设置变量: z………总成本 数学模型 : 每项任务由一人完成 每人只承担一项任务 总成本最小 解矩阵的特征 全部元素仅取0或1 每行有且仅有一个1 每列有且仅有一个1 性质 从原成本矩阵C的任一行(列)中各元素加(减)一个常数,得到新的成本矩阵,则此两成本矩阵的指派问题的最优解是相同的. 证明:设矩阵C的第i行对应的常数为di, 即f与z仅差一个常数, 所以两目标在相同的约束 条件下,最优解是相同的. 求解的思想方法 若利用以上性质,能把成本矩阵变换到存在n个独立的0元素(在不同行不同列),且保持每个Cij非负.这时让这n个0元素的位置对应的xij=1,其余位置的xij=0,就得最优解.因为它是目标值为0的可行解,且总有 匈牙利数学家 康尼格(D.Konig)的定理 若在成本矩阵C中最多能找到k个独立0, 则必可画k条直线把C的全部0覆盖. 匈牙利法 步骤 (1)把成本矩阵的各行每一元素分别减去该行中的最小元素,再检查每列中是否都有0,若不是,则把没有0的列的每一元素分别减去该列中的最小元素. (2)如果能在矩阵中找到n个独立的0元素, 就可以进行指派, 即对应于这n个0元素的位置的xij=1,其余位置的xij=0. 结束. (3)当独立的0个数kn时, 可用k条直线覆盖全部0. 然后从未被覆盖的各元素中,选出最小的元素a,把未被覆盖的各元素减去这个最小元素,而两直线交叉处的元素加上这个最小元素. (这种操作相当于:未被覆盖的行都减a ,被覆盖的列都加a .) (4)重复第(3)步, 直做到能在矩阵中找到n个独立的0为止,这样就可以进行指派. 最大化指派问题 不平衡时的处理办法—虚拟法 前面讲的方法只适用于人数与任务数相等 当人数与任务数不相等时 n----人数, m----任务数 若nm,则虚拟n-m个任务,相应Cij=0 若nm,则虚拟m-n个人,相应Cij=0 这样就化为人数与任务数相等的情况 在C中找出最多独立0的步骤 设Wi表示第i行0的数目,Lj表示第j列0的数目. 1.统计Wi和Lj(i,j=1,2,…n). 2.按W1,W2,…,Wn,L1,L2,…,Ln顺序找出第一个最小正数,选中该行(列)首个0. 3.删除该0所在的行与列,对应的Wi=0,Lj=0. 4.重复步骤1~3,直到全部Wi=0为止. 这样就找到4个独立0 如果按自上而下从左到右顺序找 这样只找到3个独立0 画覆盖线的方法 刚才每个独立0,都画了两条线,把覆盖0数目少的一条拿走,保留另一条. 这样,4条线就覆盖了全部0

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档