需要帮助来确定使用哪种算法

时间:2012-04-17 18:17:11

标签: algorithm combinatorics dynamic-programming

我需要一个算法来解决以下条件的问题:

有一组“n”人和另一组“m”工作坊,人数多于工作坊。每个人都选择了总体研讨会中“j”的子集,并根据他们希望协助特定研讨会的数量为每个人分配价值。现在,每个研讨会只有有限的职位空缺。

鉴于这些条件,问题是:

将人员分配到研讨会的最佳方式是什么,以便每个人都参加她认为最有价值的研讨会(考虑到问题的限制,即如果一个人不能参与他们的第一选择,那么算法应该选择第二个,第三个,第四个等等。

我认为这个问题与组合优化有关,但我对算法知之甚少。如果有人能告诉我一个开始调查的名字,我将非常感激。

谢谢!请原谅我的英语。

1 个答案:

答案 0 :(得分:0)

这是一个单边偏好的匹配问题(从某种意义上说,人们对研讨会有偏好,但不是相反)。

以下是一篇优秀论文,更详细地讨论了这个问题:https://mattmccutchen.net/lumc/index.html

这个问题的最佳解决方案并不是特别清楚。有许多不同的最优(帕累托有效)标准。不幸的是,对于他们中的许多人来说,问题是NP难。

然而,有多项式时间算法的准则。在我链接的论文的“相关工作”部分中有一个很好的列表。