匈牙利算法解决指派问题清晰流程
匈牙利算法解决指派问题清晰流程 百度词条上,指派问题(Assignment problem)是这么定义的:在满足特定指派要求条件下,使指派方案总体效果最佳。如:有若干项工作需要分配给若干人(或部门)来完成;有若干项合同需要选择若干个投标者来承包:有若干班级需要安排在若干教室里上课等。
一、做减法(归约):
行归约:每行元素减去该行最小元素。
列归约:每行元素减去该行最小元素。
归约顺序无所谓,目的就是把所有的数尽可能化的很小,但最小的数不能为负数。
文章图片
二、圈零划零
找到含零元素最少的行,对零元素打圈,划去打圈零元素所在行和列存在的零元素,重复这个步骤,直到矩阵中所有的零元素都被处理完。
文章图片
三、打勾划线
文章图片
文章图片
四、调整量的加减
文章图片
五、圈零画零,检查圈零元素数量
文章图片
如果仍然不是最优解,再重复上述步骤。
六、练习题
①
如您有兴趣可以打开链接查看,相信也会和我一开始看一样,会有一些启发。
数据来自于http://www.cnblogs.com/chenyg32/
文章图片
答案:
文章图片
【匈牙利算法解决指派问题清晰流程】以上内容如果在某些方面,欢迎各位与我交流,我一定及时纠正。
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- 画解算法(1.|画解算法:1. 两数之和)
- Guava|Guava RateLimiter与限流算法
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 一个选择排序算法
- SG平滑轨迹算法的原理和实现
- Spark|Spark 数据倾斜及其解决方案