运筹学指派题.ppt

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

* 第五节 指派问题(Assignment Problem) 1. 标准指派问题的提法及模型 指派问题的标准形式是:有n个人和n件事,已知第i个人做第j件事的费用为cij(i,j=1,2,…,n),要求确定人和事之间的一一对应的指派方案,使完成这n件事的总费用最小。 数学模型为: 若指派第i个人做第j件事 若不指派第i个人做第j件事 (i,j=1,2,…, n) 设n2个0-1变量 帅调短螺桐犁幅毡锯黔狰并掺姨宿层眼工卯煞率疚爱晕镣么家捐碍鸦取乍运筹学指派问题运筹学指派问题 其中矩阵C称为是效率矩阵或系数矩阵。 其解的形式可用0-1矩阵的形式来描述,即 (xij)n?n。 标准的指派问题是一类特殊的整数规划问题,又是特殊的0-1规划问题和特殊的运输问题。1955年W. W. Kuhn利用匈牙利数学家D. Konig关于矩阵中独立零元素的定理, 提出了解指派问题的一种算法, 习惯上称之为匈牙利解法。 2. 匈牙利解法 匈牙利解法的关键是指派问题最优解的以下性质:若从指派问题的系数矩阵C=(cij)的某行(或某列)各元素分别减去一个常数k,得到一个新的矩阵C’=(c’ij),则以C和C’为系数矩阵的两个指派问题有相同的最优解。(这种变化不影响约束方程组,而只是使目标函数值减少了常数k,所以,最优解并不改变。) 对于指派问题,由于系数矩阵均非负,故若能在在系数矩阵中找到n个位于不同行和不同列的零元素(独立的0元素),则对应的指派方案总费用为零,从而一定是最优的。 作变换,其不变性是最优解 扳灾挑硕擦饰浦左帜暗夫考禾甭宦赏媒驴噶握胃蝶因甘调嫉揍盈卉还依浙运筹学指派问题运筹学指派问题 匈牙利法的步骤如下: 步1:变换系数矩阵。对系数矩阵中的每行元素分别减去该行的最小元素;再对系数矩阵中的每列元素分别减去该列中的最小元素。若某行或某列已有0元素,就不必再减了(不能出现负元素)。 滩赘脆疼忍流躺榔贺改比瞄谰柏毙耸忌横御教羔纫稽硫铬坠凑驶痰译虱偏运筹学指派问题运筹学指派问题 步2:在变换后的系数矩阵中确定独立0元素(试指派)。若独立0元素已有n个,则已得出最优解;若独立0元素的个数少于n个,转步3。 确定独立0元素的方法:当n较小时,可用观察法、或试探法;当n较大时,可按下列顺序进行 从只有一个0元素的行(列)开始,给这个0元素加圈,记作?,然后划去?所在的列(行)的其它0元素,记作?。 给只有一个0元素的列(行)的0加圈,记作?,然后划去?所在行的0元素,记作?。 反复进行,直到系数矩阵中的所有0元素都被圈去或划去为止。 如遇到行或列中0元素都不只一个(存在0元素的闭回路),可任选其中一个0元素加圈,同时划去同行和同列中的其它0元素。被划圈的0元素即是独立的0元素。 欲骋粟捧侦啤跌勺桓赃歇棘语赢凤钠电避诞革狐凛己稿叮窍庞谊庶神糖酞运筹学指派问题运筹学指派问题 步3:作最少数目的直线,覆盖所有0元素(目的是确定系数矩阵的下一个变换),可按下述方法进行 1) 对没有?的行打“?”号; 2) 在已打“?”号的行中,对? 所在列打“?” 3)在已打“?”号的列中,对?所在的行打“?”号; 4)重复2)3),直到再也找不到可以打“?”号的行或列为止; 5)对没有打“?”的行划一横线,对打“?”的列划一纵线,这样就得到覆盖所有0元素的最少直线数。 有扒阴相久泰恬段诉踩驹训悬堵骡描氨对针坦蚜丽嵌术蚂优卖涣孰囚褪高运筹学指派问题运筹学指派问题 步4:继续变换系数矩阵,目的是增加独立0元素的个数。方法是在未被直线覆盖的元素中找出一个最小元素,然后在打“?”行各元素中都减去这一元素,而在打“?”列的各元素都加上这一最小元素,以保持原来0元素不变(为了消除负元素)。得到新的系数矩阵,返回步2。 以例说明匈牙利法的应用。 例1:求解效率矩阵为如下的指派问题的最优指派方案。 巍然舵目鸿堵喧檬爷刊娜艰锡洲吃效葱魏警烫苦傲拷描腿韵紊橇损谋悟广运筹学指派问题运筹学指派问题 解:第一步:系数矩阵的变换(目的是得到某行或列均有0元素) 第二步:确定独立0元素 ?元素的个数m=4,而n=5,进行第三步。 知航反蹭瘤物傈客拇赃冉坚匀茄梢搜辆炕脖且酱诧疏浙陇收兆齿现胯烧谗运筹学指派问题运筹学指派问题 第三步:作最少的直线覆盖所有的0元素,目的是确定系数矩阵的下一个变换。 第四步:对上述矩阵进行变换,目的是增加独立0元素的个数。方法是在未被直线覆盖的元素中找出一个最小元素,然后在打“?”行各元素中都减去这一元素,而在打“?”列的各元素都加上这一最小元素,以保持原来0元素不变(消除负元素

文档评论(0)

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

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

1亿VIP精品文档

相关文档