您的位置:首页 > 其它

解决分配问题的匈牙利算法

2013-04-07 15:29 267 查看
匈牙利方法是为解决所谓“分配问题”,“指派问题”等数学问题的方法。这类问题的一般性叙述为:

  有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

  解题过程:

  每行减去其最小成本(即每行最小数):

  (注意黑体

  5 0 2 0 2

  2 3 0 0 0

  0 10 5 7 2

  9 8 0 0 4

  0 6 3 6 5

  最后一行与第三行的0重在第一列。把第三行,第五行减去这两行最小数2,第一列加上2。得:

  7 0 2 0 2

  4 3 0 0 0

  0 8 3 5 0

  11 8 0 0 4

  0 4 1 4 3

  即:X12=1,X23=1,X35=1,X44=1,X51=1。(其余Xij=0。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: