匈牙利算法

指派问题的匈牙利算法
匈牙利数学家 科尼格( (Konig )利用指派问题的特点,
给出一种简便、有效,也是十分常用的方法。
基本原理是:如果效率矩阵  
ij
b 中某行各元素,分别减去
一个常数 K ,得到新的效率矩阵  
ij
b
,则 两效率矩阵的最优解
相同 。对于列也具有这样的性质。
这个原理不难理解,对任何一项任务来说,n 个人 完成
这项任务的效率表现在效率矩阵中该任务对应的 一列 上,效
率高的人,所用的时间少,效率低的人所用的时间多。
数 如果对这些时间都加上或减去一个常数 K变 ,并不改变 n
个人完成这项任务的快慢顺序,因此 不影响指派方案。 。
同理对任何一个人来说,他 完成各项任务的效率 表现在
效率矩阵相应的 一行 上,对这一行所有的时间加上或减去同
数 一个常数 K, 只会影响完成任务的总时间 , 不会改变他完成
各项任务的快慢顺序 ,所以也不影响指派方案。
这个原理也可由指派问题的 数学模型直接推出 ,如在例
3 的效率矩阵第 2 列每个元素加上常数 K ,则目标函数变为
44 43 42 41
34 33 32 31
24 23 22 21
14 13 12 11
9 15 ) 8 ( 7
13 16 ) 14 ( 9
15 8 ) 4 ( 10
4 13 ) 15 ( 2
x x x K x
x x x K x
x x x K x
x x x K x y
    
    
    
     
数 容易看出它与原目标函数 y 相比,多了一项: ) (
42 32 22 12
x x x x K    ,
但由约束条件得: 1
42 32 22 12
    x x x x ,因此,目标函数只多了
一个常数 K ,约束条件没有变化,所以不会改变最优解,只
数 会使目标函数值增加常数 K.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值