最大化幸福的算法

时间:2014-06-16 15:58:28

标签: algorithm

想象一下你有:

  • 100人
  • 100个项目

每个人按照他们希望对其进行处理的顺序对所有100个项目进行排名。可以使用什么样的算法来最大化人们的幸福(即,被分配到他们排名更高的项目转化为更大的幸福)。

假设每人一个项目。

1 个答案:

答案 0 :(得分:3)

这种问题的算法非常流行,被称为匈牙利算法。类似问题解决了这类问题:

  

我们考虑需要四个作业(J1,J2,J3和J4)的示例   由四名工人(W1,W2,W3和W4)执行,每个工人一份工作。该   下面的矩阵显示了将某个工人分配给某个工人的成本   工作。目标是最小化作业的总成本。

来源:http://www.hungarianalgorithm.com/examplehungarianalgorithm.php

请注意,默认的匈牙利算法会找到最低成本,但您可以更改程序,使其最大化成本。

  

如果目标是找到产生最大成本的分配,   可以通过更换每个成本来更改问题以适应设置   最高成本减去成本。

来源:http://en.wikipedia.org/wiki/Hungarian_algorithm

我已经在Github上实施了匈牙利算法, 所以随意使用它并修改它以使其最大化成本。