基于匈牙利算法的任务分配问题原理

匈牙利算法基本思路

(1)通过行/列变换让费用矩阵的每行和每列都出现0
(2)找出不同行不同列的n个0
(3)这些0对应的指派就是最优指派

匈牙利算法主要步骤

(1)对费用矩阵先做行变换再做列变换。从每一行减去该行的最小值,从每一列减去该列的最小值
(2)用最少的水平线或垂直线覆盖所有零
(3)如果水平线和垂直线的总数小于样本数N,则找到没有被覆盖的最小值,没有被覆盖的每行减去最小值,被覆盖的每列加上最小值。然后重复步骤(2)、(3)知道水平线和垂直线的总数等于样本数
(4)根据零元素所在位置确定最优指派

实际举例

问题描述:给N个人分配N项任务,一个人只能分配一项任务,一项任务只能分配给一个人,将一项任务分配一个人需要支付一定的报酬,如何分配任务才能保证支付的报酬总数最少。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值