匈牙利算法解决指派问题清晰流程

匈牙利算法解决指派问题清晰流程 百度词条上,指派问题(Assignment problem)是这么定义的:在满足特定指派要求条件下,使指派方案总体效果最佳。如:有若干项工作需要分配给若干人(或部门)来完成;有若干项合同需要选择若干个投标者来承包:有若干班级需要安排在若干教室里上课等。


一、做减法(归约):
行归约:每行元素减去该行最小元素。
列归约:每行元素减去该行最小元素。
归约顺序无所谓,目的就是把所有的数尽可能化的很小,但最小的数不能为负数。
匈牙利算法解决指派问题清晰流程
文章图片

二、圈零划零
找到含零元素最少的行,对零元素打圈,划去打圈零元素所在行和列存在的零元素,重复这个步骤,直到矩阵中所有的零元素都被处理完。
匈牙利算法解决指派问题清晰流程
文章图片


三、打勾划线
匈牙利算法解决指派问题清晰流程
文章图片


匈牙利算法解决指派问题清晰流程
文章图片


四、调整量的加减
匈牙利算法解决指派问题清晰流程
文章图片


五、圈零画零,检查圈零元素数量
匈牙利算法解决指派问题清晰流程
文章图片


如果仍然不是最优解,再重复上述步骤。


六、练习题


如您有兴趣可以打开链接查看,相信也会和我一开始看一样,会有一些启发。
数据来自于http://www.cnblogs.com/chenyg32/
匈牙利算法解决指派问题清晰流程
文章图片


答案:
匈牙利算法解决指派问题清晰流程
文章图片


【匈牙利算法解决指派问题清晰流程】以上内容如果在某些方面,欢迎各位与我交流,我一定及时纠正。

    推荐阅读