从随机列表中对偶数和奇数

时间:2012-07-23 17:10:34

标签: excel

我在这里停下来是搜索互联网3天试图找到我确定已经存在的东西的结果,但我找不到它。

首先,我不是程序员。我35年前,但不再是。

这是问题所在: 15名男孩和15名女孩坐在男孩/女孩/男孩/女孩6的桌子上有5张桌子 然后让每个人改变为不同的男孩/女孩/男孩/女孩最多4次。

所以我的逻辑是:

  1. 1到30号,男孩和女孩都是女孩的可能性 - 这些应该是可变的但是相等,这意味着并不总是会有30个孩子,但是从12到80(总是可以被2整除)所以那里将永远是一对)。
  2. 从男孩/女孩总人数中随机配对1名男孩和1名女孩而不重复。
  3. 将结果分为5组6。
  4. 然后重复此过程最多四次,而从未匹配先前配对的相同两个男/女组合。
  5. 有人知道这是否可行?如果是这样可以在Excel中完成? 如果没有,那么独立Windows程序的建议也会起作用。

    我正在努力为慈善活动做这件事,青少年男孩和女孩在社交组合中 在结识新朋友的同时。他们来自世界各地,我正试图让他们与每个人见面。

    我已经手动做了几年,但似乎永远都不能让它一直都能解决。在我身边的程序员认为必须有针对这个问题的编程解决方案。

    我很感激您提供的任何建议。

1 个答案:

答案 0 :(得分:0)

在进行更多挖掘后,这似乎是Social Golfer Problem的变体。那里有几个algorithms,有些依赖于蛮力或启发式。它绝对应该在VBA中可行,但您可以在那里找到现有的代码/应用程序来完成任务。

我会继续调查此问题,但如果您找到解决问题的在线“调度程序”,请告诉我们。

修改

这可能是6个5个孩子的桌子的一个解决方案,但它不能确保半男孩/女孩的约束。根据这个results page

  

对于m个n个玩家组,其中m      

对于m组n名球员,每位球员每周与n-1名其他球员一起比赛。由于总共有mn-1个其他玩家,这意味着玩家在(mn-1)/(n-1)周后就会没有合作伙伴。

因此,5组6个孩子会重复。根据第二个公式,一个孩子在5回合后就会没有合作伙伴。

在6组5个高尔夫球手中进行5周

[1 2 3 4 5 | 6 7 8 9 10 | 11 12 13 14 15 | 16 17 18 19 20 | 21 22 23 24 25 | 26 27 28 29 30]

[1 6 11 16 21 | 2 7 12 17 26 | 3 8 13 22 27 | 4 9 18 23 28 | 5 14 19 24 29 | 10 15 20 25 30]

[1 8 12 20 28 | 2 6 14 22 30 | 3 9 11 17 24 | 4 7 16 25 29 | 5 15 18 21 27 | 10 13 19 23 26]

[1 14 17 25 27 | 2 9 13 20 21 | 3 10 12 18 29 | 4 6 15 24 26 | 5 8 16 23 30 | 7 11 19 22 28]

[1 9 15 22 29 | 2 10 16 24 27 | 3 7 14 20 23 | 4 12 19 21 30 | 5 6 13 17 28 | 8 11 18 25 26]