【发布时间】:2017-03-16 02:02:39
【问题描述】:
我们有N 工作人员,他们应该被分配到M 团队之一。每个团队最多可以有K 工人。每个工作人员按优先顺序对团队进行排名,从最喜欢的团队的1 到最不喜欢的团队的M。现在的问题是找到一个匹配项,让工人最终加入他们最喜欢的团队,假设每个团队最多可以有K 工人。
起初我以为,这是一个Assignment problem,可以使用Hungarian Algorithm 解决。但后来我意识到匈牙利算法只有在每个工人都被分配到一个项目时才能使用。但在我的情况下,可以将几个工人分配到同一个团队。
现在我不确定这到底是什么问题。这是(多个)Knapsack problem 或 Bin packing problem 吗?我可以使用什么样的算法来解决这个问题?
【问题讨论】:
标签: algorithm language-agnostic computer-science