- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指派问题与匈牙利法 指派问题的数学模型的标准形式: 设n 个人被分配去做n 件工作,规定每个人只做一件工作,每件工作只有一个人去做。已知第i个人去做第j 件工作的效率( 时间或费用)为Cij(i=1.2…n;j=1.2…n)并假设Cij ≥0。问应如何分配才能使总效率( 时间或费用)最高? 设决策变量 称(Cij)n 为效率矩阵 指派问题与匈牙利法 指派问题的数学模型为: 指派问题与匈牙利法 例1 有一份中文说明书,需译成英、日、德、俄四种文字,分别记作A、B、C、D。现有甲、乙、丙、丁四人,他们将中文说明书译成不同语种的说明书所需时间如下表所示,问如何分派任务,可使总时间最少? 任务 人员 A B C D 甲 6 7 11 2 乙 4 5 9 8 丙 3 1 10 4 丁 5 9 8 2 指派问题与匈牙利法 指派问题与匈牙利法 康尼格定理 : 从效率矩阵[cij]的某行(列)元素中分别减去(或加上)一个常数ui,得到一个新的效率矩阵[bij],则以[bij]为效率矩阵的分配问题与以[cij]为效率矩阵的分配问题具有相同的最优解。 (匈牙利法仅适用于最小化问题,且cij非负) 指派问题与匈牙利法 解:1)变换效率矩阵,增加0元素。 -5 2)试指派(找独立0元素) ◎ ◎ ◎ ? ? 找到 3 个独立零元素: (位于不同行不同列的零元素) 指派问题与匈牙利法 3)检验 若圈出的 0元素每行每列有且仅有一个,则将圈出的0元素对应的变量取为1,其余变量取为0,即得到最优指派方案。 否则,转入下一步。 指派问题与匈牙利法 4)作最少的直线覆盖所有0元素 ◎ ◎ ◎ ? ? √ √ √ Th:独立零元素的最多个数==能覆盖所有零元素的最少直线数 (位置不唯一) 步骤参见: P150 指派问题与匈牙利法 5)增加零元素 在 没有被直线覆盖的元素中选择最小元素; 没有被直线覆盖的元素都减去该最小元素; 直线交点处的元素加上该最小元素; 得到新的矩阵,重复2)步进行试指派 指派问题与匈牙利法 0 0 0 0 0 0 试指派 ◎ ◎ ◎ ? ? ◎ 得到4个独立零元素, 所以最优解矩阵为: 即完成4个任务的总时间最少为:2+4+1+8=15 指派问题与匈牙利法 指派问题的求解步骤: 1) 变换指派问题的效率矩阵(cij)为(bij),使在(bij)的各行各列中都出现0元素,即 从(cij)的每行元素都减去该行的最小元素; 再从所得新系数矩阵的每列元素中减去该列的最小元素。 2) 进行试指派,以寻求最优解。 在(bij)中找尽可能多的独立0元素,若能找出n个独立0元素,就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余为0,这就得到最优解。 指派问题与匈牙利法 找独立0元素,常用的步骤为: 从只有一个0元素的行开始,给该行中的0元素加圈,记作◎ 。然后划去◎ 所在列的其它0元素,记作? ;这表示该列所代表的任务已指派完,不必再考虑别人了。依次进行到最后一行。 从只有一个0元素的列开始(画?的不计在内),给该列中的0元素加圈,记作◎;然后划去◎ 所在行的0元素,记作? ,表示此人已有任务,不再为其指派其他任务了。依次进行到最后一列。 若仍有没有划圈的0元素,且同行(列)的0元素至少有两个,比较这行各0元素所在列中0元素的数目,选择0元素少这个0元素加圈(表示选择性多的要“礼让”选择性少的)。然后划掉同行同列的其它0元素。可反复进行,直到所有0元素都已圈出和划掉为止。 指派问题与匈牙利法 若◎ 元素的数目m 等于矩阵的阶数n(即:m=n),那么这指派问题的最优解已得到。若m n, 则转入下一步。 3) 用最少的直线通过所有0元素。其方法: 对没有◎的行打“√”; 对已打“√” 的行中所有含?元素的列打“√” ; 再对打有“√”的列中含◎ 元素的行打“√” ; 重复①、②直到得不出新的打√号的行、列为止; 对没有打√号的行画横线,有打√号的列画纵线,这就得到覆盖所有0元素的最少直线数 l 。 注:l 应等于m,若不相等,说明试指派过程有误,回到第2步,另行试指派;若 l=m n,表示还不能确定最优指派方案,须再变换当前的系数矩阵,以找到n个独立的0元素,为此转第4步。 指派问题与匈牙利法 4) 变换矩阵(bij)以增加0元素 在没有被直线通过的所有元素中找出最小值,没有被直线通过的所有元素减去这个最小元素;直线交点处的元素加上这个最小值。新系数矩阵的最优解和原问题仍相同。转回第2步。 指派问题与匈牙利法 例2 已知四人分别完成四项工作所需时间如
文档评论(0)