- 8
- 0
- 约1.05万字
- 约 12页
- 2020-10-02 发布于陕西
- 举报
§5.5 指派问题 Ch5 Integer Programming
Assignment Problem 2013-5-17 Page 1 of 12
求解例5.4指派问题的方法:匈牙利算法
匈牙利算法是匈牙利数学家克尼格(Konig )证明了下面两个基本
定理,为计算分配问题奠定了基础。因此,基于这两个定理基础上
建立起来的解分配问题的计算方法被称为匈牙利法。
假设问题求最小值,m个人恰好做m项工作,第i个人做第j 项工作的
效率为c ,效率矩阵为[c ] 。
ij ij
【定理5.1 】如果从分配问题效率矩阵[cij ] 的每一行元素中分别减去
(或加上)一个常数ui (被称为该行的位势),从每一列分别减去
(或加上)一个常数v (称为该列的位势),得到一个新的效率矩
j
阵[b ],若其中b =c -u -v ,则[b ] 的最优解等价于[c ] 的最优解。这
ij ij ij i j ij ij
里c 、b 均非负。
ij ij
运筹学 北京邮电大学
§5.5 指派问题 Ch5 Integer Programming
Assignment Problem 2013-5-17 Page 2 of 12
【定理5.2 】 若矩阵A 的元素可分成“ 0”与非“ 0”两部分,则覆盖
“ 0”元素的最少直线数等于位于不同行不同列的“ 0”元素(称为独
立元素)的最大个数。
如果最少直线数等于m ,则存在m个独立的“ 0”元素,令这些零元
素对应的x 等于1,其余变量等于0,得到最优解。定理5.1告诉我们
ij
如何将效率表中的元素转换为有零元素,定理5.2告诉我们效率表中
有多少个独立的“ 0”元素。
【例5.7 】已知四人分别完成四项工作所需时间如下表,求最优分
配方案。
85 92 73 90
C=95 87 78 95
82 83 79 90
86 90 80 88 进入演示
运筹学 北京邮电大学
§5.5 指派问题 Ch5 Integer Programming
Assignment Problem 2013-5-17 Page 3 of 12
【解】最优分配方案是怎样安排四人的工作,使得完成工作总时间
最少,是求最小值问题。
第一步:找出效率矩阵每行的最小元素,并分别从每行中减去最
小元素,有
第二步:找出矩阵每列的最小元素,再分别从每列中减去,有
Min
85 92 73 9073 12 19 0 17 9 15 0 9
95
原创力文档

文档评论(0)