由n人组成的团队组成r组的最佳方式,但尽量减少重叠

2024-06-26 04:36:04 发布

您现在位置:Python中文网/ 问答频道 /正文

最近有人问我一个看似简单的问题:将一个由12人组成的团队分成三人一组的最佳方式是什么,这个过程要重复6次?解决方案应尽量减少两个人在同一团队中的次数。组合的总数由下式给出:

nCr = 12!/(3! * (12-3)!) = 220

因此,手工寻找解决方案并不是一个实际的命题。我发现的最实用(也是最简单)的解决方案是将12个名称混洗,然后从第1、第2、第3和第4个三元组中选择组。然后运行该过程6次。这确实解决了问题,但有太多的情况下,两个人在连续跑步后被安排在同一组。一般的解决方案(n中的r组)会很好

我也在“计算科学”上发表过这篇文章,但他们觉得它属于其他地方。 我已经研究了link1link2,但这些解决方案似乎不能解决我的特定问题


Tags: 名称过程方式情况科学解决方案团队次数
1条回答
网友
1楼 · 发布于 2024-06-26 04:36:04

这个问题是“社会高尔夫问题”的一个变体,它是图论中的一个开放问题。非常感谢Dave2e,他提供了Link1解决方案的线索。这个链接导致在Link2Link3对这个问题进行了两次更出色的讨论

相关问题 更多 >