2

我有一个问题,我不确定是否可以通过线性规划解决。本质上,有两组人列出了他们对彼此的偏好,随后将进行匹配。我正在为此编写一个算法。A组从B组中最多有4个选择,反之亦然。

在制定解决方案时,我目前正在为每个配对组合分配成本。例如,如果来自 A 组的人 1 将来自 B 组的人 3 列为他/她的第一选择,反之亦然,那么成本是最小的(对 1-3 成本:0.01)。同样,我会为其他配对分配成本,设计一个目标函数,以使配对最小化总成本。

但是,我不认为这是可行的,因为我不知道如何定义我的约束和整体目标函数。在线阅读和阅读教科书,我发现资源分配问题与我正在尝试做的事情不同。

我可以就如何进行寻求您的建议吗?

4

1 回答 1

0

您的问题可以表述为分配问题”。作为典型案例,分配问题是将“工作”分配给“机器”。它们可以很容易地用于匹配两组。

这是公式:两组人 ​​A 和 B

决策变量 Xij

Xij如果人i (集合 A 中的第 i 个人)与集合 B 中的第 j 个人匹配,则为1 ;0否则

参数:设人与人Cij配对的成本ij

目标函数:最小化(总和超过 i)(总和超过 j)Cij * Xij

约束:

每个人 i 只配对一次

Sum over j Xij = 1 (for each i)

每个人 j 只配对一次

Sum over i Xij = 1 (for each j)

Xij 是二进制变量

Xij = (0,1)

分配问题的巧妙之处在于,可以使用相当容易理解的“匈牙利方法”找到最佳配对。您还可以使用您可以使用的 LP/IP 求解器。

希望有帮助。

于 2013-01-23T20:17:17.567 回答