匈牙利方法
匈牙利方法匈牙利方法是为解决所谓“分配问题”,“指派问题”等数学问题的方法。这类问题的一般性叙述为:
有n个问题要分配给n个人去完成。第i个人完成第j项任务的成本为Cij。问:如何分配任务,能使总成本最小?应用举例引入变量Xij,Xij的取值表示:
Xij=1,指派第个人去完成第j项任务;
Xij=0,不指派第个人去完成第j项任务。
假如五个人完成五项任务,“成本矩阵”为:
12 7 9 7 9
8 9 6 6 6
7 17 12 14 9
15 14 6 6 10
4 10 7 10 9
解题过程:
每行减去其最小成本(即每行最小数):
(注意黑体)
502 0 2
2 300 0
010 5 7 2
9 8 004
06 3 6 5
最后一行与第三行的0重在第一列。把第三行,第五行减去这两行最小数2,第一列加上2。得:
702 0 2
4 300 0
0 8 3 50
11 8 004
04 1 4 3
即:X12=1,X23=1,X35=1,X44=1,X51=1。(其余Xij=0。)
以上过程称为“匈牙利方法”。