找到匹配的夫妻,以最大化全球幸福

时间:2018-02-15 21:18:01

标签: python algorithm numpy matching

一个迟来的情人节问题:

假设我们有男人和女人,他们都是异性恋。我们有一个(MxW)矩阵A,其中A[m, w]量化了夫妻(m, w)如果结婚会有多快乐。

我们如何配对这对夫妻,以达到全球最大的幸福感? (即我希望生成长度为min(M, W)的2元组数组,以确定哪些应该配对,以便sum(A[m, w] for m, w in couples)最大化,每个m和每个{{ 1}}仅使用一次。

注1:理想情况下,我正在寻找一个快速的实施方案,但这是找到正确算法的第二种方法。
注意2:这与Stable Marriage Problem类似,但与{{3}}不同,您可以在其中指定每个人的排名首选项而不是幸福值。

1 个答案:

答案 0 :(得分:0)

嗯,感谢评论者指出这是Assignment Problem,并且通常用工人和工作来描述。

Scipy使用匈牙利算法a function that solves it