【问题标题】:Match two sets of objects匹配两组对象
【发布时间】:2021-03-30 15:46:19
【问题描述】:

我正在尝试找出如何用程序解决以下问题:
我有一组对象 A = [Ai] 和另一组对象 B = [Bj]。
我还有一个矩阵 C=[cij] 计算 A 和 B 之间的相似性(完全密集)。
我想将每个对象分配给一个其他对象(总共 min(|A|, |B|) 对),以便所有使用的 cij 的总和是可能的最大值。 (Cij也是对称的)

我试图将其表述为一个二分匹配问题,但我找不到我所要求的现有定义和实现,尽管它看起来很熟悉,这就是我寻求您帮助的原因。

谢谢

【问题讨论】:

    标签: algorithm convex-optimization


    【解决方案1】:

    问题在于分配不平衡: https://en.wikipedia.org/wiki/Assignment_problem

    在 scipy 中似乎有一个实现: https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.linear_sum_assignment.html

    解决了。您需要将相似性转换为成本(您可以只取负数)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-25
      • 1970-01-01
      • 2016-01-05
      • 2018-04-02
      • 1970-01-01
      • 2020-04-04
      • 2012-12-25
      • 1970-01-01
      相关资源
      最近更新 更多