2011-04-14 72 views
5

我必须将一组x人分成3组或4组,最有可能是3.如何计算偏好之间的相关性?

我希望人们快乐,所以我让每个人都对大组的其他成员从1到(X-1)。

如何优化偏好以创建3组?

+0

这怎么符合标签'[编译器优化]'? – 2011-04-14 20:00:32

+0

量化“开心”。同组人员的平均等级评分最高?稳定的婚姻问题,每个人都可以根据自己的排名获得最佳组合(这绝对不总是意味着“快乐”)?另外,排名的顺序是什么,1是最好还是最差? – 2011-04-14 20:02:34

+0

1是最好的。是的,“团体中同行的最高平均评分” - 谢谢! – wehavinthisbaby 2011-04-14 20:05:19

回答

3

这里是有可能得到一个很好的安排,即使它不是一个最佳布置的方法:

首先创建排名功能,可以采取任何对分组并确定一个人是否是比好其他。然后应用以下算法:

  1. 随机将人员分配到组中。
  2. 从每组中随机挑选一个人。
  3. 创建其中在步骤2中选择的人进行重新分配的每个组合的新的分组(对于3组将有6和这样的再分配。对于4,24)
  4. 所有可能reasignments中,挑选出最好的一。
  5. 重复步骤2-4一百万次。

UPDATE

如果只有18需要分配的人,那么这只是(18选6)*(12选6)/ 6 = 2858856个可能的分组。 (或者,在四组的情况下(18选4)*(14选4)*(10选5)/ 4 = 192,972,780组。

我想排名算法本身真的是这项任务的难点。

你可以给每个人打分,基于总结被选中的人的分数,然后将每个人的分数相加在一起。

问题是,你最终会遇到一个群体中所有受欢迎的人,另一个群体中所有不受欢迎的人以及另一个群体中的所有电话手机清洁工。

你应该随机分配人,然后告诉他们你使用了一些非常科学的系统。这样每个人都可以得到很好的组合。

+0

哈!谢谢杰夫。我对这个解决方案感兴趣,但我认为合理搭配是很有意义的。 – wehavinthisbaby 2011-04-15 11:48:17

相关问题