运筹学04-整数规划-匈牙利解法精品课件课件.pptxVIP

运筹学04-整数规划-匈牙利解法精品课件课件.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第四章整数规划

例:有甲、乙、丙、丁四个熟练工人,他们都是多面手,有4个任务要他们完成,若规定每人只分配一次任务,而每项任务只能由一个人完成,每人未完成每项任务的工时耗费如表所示,问如何分配使完成任务的总工时耗费最少?

零件机床

A

B

C

D

机床

4

1

8

2

1

9

8

4

7

1

8

4

6

3

1

6

5

7

2

1

零件

1

1

1

1

表任务分配工时耗费表

第四章整数规划

B、任务分配问题的数学模型

设:xij为第i个工人分配去做第j项任务

aij为第i个工人为完成第j项任务时的工时消耗。则

当分配第j项任务给第i个工人时

当不分配第j项任务给第i个工人时

i,j=1,2,…,n

由于每人只允许分配一项任务,

且每项任务只能由一人来完成,

故其数学模型、目标函数及约束条件如下:

第四章整数规划

C、任务分配问题的解法-----匈牙利解法

匈牙利数学家考尼格(Konig)提出的,得名匈牙利解法

(theHungarianMethodofAssignment)

1、匈牙利解法的基本思想---适用条件

基于任务分配问题的标准型,标准型要满足下述三个条件:

(1)目标要求为min

(2)效率矩阵{aij}为n阶方阵

(3)阵中所有元素aij≥0,且为常数

定理1

设一个任务分配问题的效率矩阵为{aij},若{aij}中每一行元素分别减去一个常数ui,每一列元素分别减去一个常数vj,得到一个新的效率矩阵{bij},其中一个元素bij=aij-ui-vj,则{bij}的最优解等价于{aij}的最优解。

第四章整数规划

2、匈牙利解法的基本思路:

(1)按照定理1中所述方法不断变化效率,设法在原有效率矩阵基础上经

变换后找出一组有m个不同行、不同列零元素的新效率矩阵。

(2)新效率矩阵中,令对应于不同行、不同列的的那组零元素所对应的

xij=1,其余xij=0,由此计算出目标函数为:

这样得到新效率矩阵的最优解,根据定理1,他也是原问题的最优解。

(3)验证最优解的方法:设法用最少的直线数覆盖方阵中位于不同行、

不同列的零元素。

如果覆盖所有零元素的最少直线数等于m,则得到最优解,否则不是

定理2

若一个方阵中的一部分元素为零,一部分元素非零,则覆盖方阵中所

有元素的最少直线等于位于不同行、不同列的零元素最多个数。

第四章整数规划

3、匈牙利解法的计算步骤:

第一步:效率矩阵的初始变换----零元素的获得

(1)行变换:找出每行的最小元素,该行各元素减去这个最小元素。

(2)列变换:找出每列的最小元素,该列各元素减去这个最小元素。

经变换后的效率矩阵,其每行、每列至少有一个零元素。

第二步:最优性检验

检查能否找到m个位于不同行、不同列的零元素,即检查覆盖所有零元

素的直线是否为m条

效率

矩阵

初始

变换

/

/

第四章整数规划

3、匈牙利解法的计算步骤:

(1)逐行检查:从第一行开始,如果该行只有一个零元素,就在这个

零元素上打上括号,并划去打括号零元素同列的其他零元素。

如果该行没有零元素,或有两个或多个零元素(已划去的不记在

内),则转下行

(2)逐列检查:依照行检查的方法从第一列开始逐列检查。

表最优性检验

第四章整数规划

①每行都有一个零元素标有括号,显然这些括号零在不同行

和不同列,因此得到最优解。

②每行、每列都有两个或更多的零,这是从剩有零元素最少的

行开始,比较这行各零元素所在列中零元素的个数,选择零

元素少的那列的这个零元素打括号,划掉同行同列的其他零

元素,然后重复以上步骤,直到所有零都做了标记。

③矩阵中所有零都做了标记,但标有()的零元素个数少于

m,此时就可以找出能覆盖矩阵中所有零元素的最少直线的

集合。

步骤如下:

最优性检验后可能可能出现的情况

//

//

第四章整数规划

步骤如下:

对无()的行打√

对打√行上所有零元素的列打√

在打√的列上有()的行打√

重复步骤,直到过程结束

对没有打√的行划横线,对所有打√的列划垂线,这时得

到覆盖矩阵中所有零的最少直线数

第四章整数规划

3、匈牙利解法的计算步骤:

第三步:非最优阵的变换——零元素的移动

当表中的覆盖所有零的直线数小于m时,得到的不是

文档评论(0)

8d758 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档