匈牙利算法对于指派问题的原始-对偶解法

基础知识:匈牙利算法原始表达式解法(此处匈牙利解法包含等权的图像解法知识和带权的矩阵解法,可以参考其他说明)Hungarian Algorithm匈牙利算法_正仪的博客-CSDN博客

匈牙利算法解决的原始指派问题:

 以下是对偶解法:

 Example

        1.找到C矩阵中每行最小值,eg.u_1=min{c_{1j}}=5,所以

          2.每列的值和已知\textbf{u}中对应行的值做差最小,eg.v_1=min({c_{i1}-u_i})=2-2=0v_4=min({c_{i4}-u_i})=7-5=2,所以

          此时dual cost为u、v总和14。

        3.保证r_{ij}始终非负,所以

 

        在R中找到完美匹配,或者得到等于n的顶点覆盖

        很明显,二部图里面最佳匹配对数为3<4;但是0的最小覆盖只需要3<4

         4.删去划线覆盖的行列,剩下的构成新矩阵c',寻找其中的最小值δ,利用δ对u中覆盖的行做减,v中未覆盖的列做加,新矩阵c'做减或者使用R矩阵的定义重新计算新R。满足二部图完美匹配和覆盖定点数为4。此时cost=15。若不成立循环3、4步骤。

        这个解法为什么看起来和原始问题的匈牙利解法这么相似?为什么要构造对偶问题呢?

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值