【发布时间】:2016-02-16 23:19:47
【问题描述】:
我对一群人有一个定义。我需要根据人员列表(及其适用的位置)找到我可以获得的最大数量的团队,因为一旦一个人被“用于”一个位置,他们就不能再次使用。
简化示例:
**Team Requirements**
Slot A: 2 People
Slot B: 1 Person
Slot C: 1 Person
**People And Which Slots Are Applicable**
Person 1: A
Person 2: A,C
Person 3: A,B
Person 4: B
Person 5: A,B
Person 6: C
Person 7: C
Person 8: A
可能的答案
Team 1
A: P1, P8
B: P4
C: P6
Team 2
A: P2, P3
B: P5
C: P7
对于我的实际问题,我有多个位置(每个团队 1-10 个)和 1-1000 人,每个人最多可以有 20 个位置。
谁能推荐一种适合这种类型的组优化问题的算法?
【问题讨论】:
-
这是编程比赛吗?如果没有,请给出问题的链接
-
您需要的 Google 术语是“作业问题”。
-
@Salvador - 不,这不是为了编程比赛。这是我遇到的一个现实世界的商业问题。确实没有指向问题的链接,因为它非常专业。
-
@j_random_hacker - 谢谢,我会看看。
-
@j_random_hacker - 我不确定这与分配有什么关系,因为每个分组并没有真正的“成本”。我错过了什么吗?