0

I have been asked to create round robin schedules for a 3v3 volleyball tournament where the following criteria must be met: (from most important to least important)

Each player plays with another no more than once Each player gets to play at least 4 times Each player cannot sit out for more than one round Each player does not play against another player more
than twice

The question I am struggling to brute force is the case when I have: 40 players 4 courts

I’ve been able to brute force a semi functional solution for 15 teams but it’s become too unwieldy to do it by hand so I was thinking of trying a program in java. I am not entirely sure how I can go about making a brute force program to do this. I am currently attempting to use a list of every possible team of 3 and inserting them into the schedule. Then iterating over them replacing until the game works.

Here is another version of the same question asked by someone else https://eso-community.net/viewtopic.php?t=9816

The top answer here has provided perfect solutions to teams of 8-13

Caleb
  • 56
  • 7

1 Answers1

0

The 40 player problem has a huge search space, and I don't believe that any brute force solution will work. Just think about selecting the 24 players who participate in one round, there are 6x10^10 ways of doing just that, and many many more ways of assigning those 24 players to 4 courts of 3 vs 3.

It's not clear exactly how may rounds you are looking for. With 4 courts of 6 players each, this leaves 16 byes per round. Therefore any multiple (i) of 5 rounds is very desirable, since 16 x 5i = 80i, so it is possible to arrange that for every 5i rounds played, each of the 40 teams has exactly 3i games and 2i byes. You have asked for "each player gets to play at least 4 times", so the best option is to look for a solution with 10 rounds, where each player has 6 games. Here is one possible option where all partners are different, and all opponents are different.

  (38 15 11 v  7 25 23) (33 14  9 v 20 29 19) (40 16 27 v 37 28 21) (34 17  3 v 10 24 32)
  (39 11 12 v  8 21 24) (34 15 10 v 16 30 20) (36 17 28 v 38 29 22) (35 18  4 v  6 25 33)
  (40 12 13 v  9 22 25) (35 11  6 v 17 26 16) (37 18 29 v 39 30 23) (31 19  5 v  7 21 34)
  (36 13 14 v 10 23 21) (31 12  7 v 18 27 17) (38 19 30 v 40 26 24) (32 20  1 v  8 22 35)
  (37 14 15 v  6 24 22) (32 13  8 v 19 28 18) (39 20 26 v 36 27 25) (33 16  2 v  9 23 31)
  (36  5 33 v 12 32 15) (13  7 24 v 20  4  2) (25  1 28 v 30 10 31) (37 26 38 v  3  9 18)
  (37  1 34 v 13 33 11) (14  8 25 v 16  5  3) (21  2 29 v 26  6 32) (38 27 39 v  4 10 19)
  (38  2 35 v 14 34 12) (15  9 21 v 17  1  4) (22  3 30 v 27  7 33) (39 28 40 v  5  6 20)
  (39  3 31 v 15 35 13) (11 10 22 v 18  2  5) (23  4 26 v 28  8 34) (40 29 36 v  1  7 16)
  (40  4 32 v 11 31 14) (12  6 23 v 19  3  1) (24  5 27 v 29  9 35) (36 30 37 v  2  8 17)
IW33
  • 1
  • 1