最近有人问我以下看似简单的问题:将12人组成的团队分成3人一组的最佳方法是什么,该过程要重复6次?解决方案应最大程度地减少两个人在同一团队中在一起的次数。组合总数由下式给出:
nCr = 12!/(3! * (12-3)!) = 220
因此,手动找到解决方案并不是一个实际的建议。我发现最实用(且最简单)的解决方案是将12个名字混在一起,并从第1,第2,第3和第4三元组中选择组。然后运行该过程6次。这确实解决了问题,但是在连续运行后,有太多情况将两个人放在同一组中。一个通用的解决方案(来自n的r组)会很好。
我也将此内容发布在“计算科学”上,但他们认为它属于其他地方。我看过link1和link2,但这些解决方案似乎无法解决我的特殊问题。