Round Robin Tournament Scheduling

Recent Posts

91
Requests / Re: Please help!
« Last post by Ian Wakeling on June 27, 2022, 04:01:22 AM »
To me it seems that you will have way too many players sitting around doing nothing.  Taking 32 players and 3 courts of doubles as an example, you could play 8 rounds as follows:

    Court 1      Court 2      Court 3
  (32 16 11 26) (30  6 23 22) (15  1 19  7)
  (25  9 12 27) (31  7 24 23) (16  2 20  8)
  (26 10 13 28) (32  8 17 24) ( 9  3 21  1)
  (27 11 14 29) (25  1 18 17) (10  4 22  2)
  (28 12 15 30) (26  2 19 18) (11  5 23  3)
  (29 13 16 31) (27  3 20 19) (12  6 24  4)
  (30 14  9 32) (28  4 21 20) (13  7 17  5)
  (31 15 10 25) (29  5 22 21) (14  8 18  6)

Here no two players appear on court together twice, so they are free to split into two-vs-two any way you like. There will be 20 players with a bye in each round, and any one player has 3 games and 5 byes.

Can you state how many rounds you will be able to play?  Are there more than 5 courts available?
92
Requests / Please help!
« Last post by kjgrossman on June 27, 2022, 12:43:30 AM »
Hi,
I am a new HS volleyball coach and I am running my first VB camp.  I want to have the girls playing lots of matches with various team sizes.  I was hoping you could help me with the various match ups.

64 players on 5 courts playing doubles


32 players on 3 courts playing doubles
32 players on 3 courts playing triples

31 players on 3 courts playing doubles
31 players on 3 courts playing triples


Any help you can give would be sooooo great!!  I had a website I used a few years ago and it is no longer online and I waited till the last minute thinking I had a resource.  My camp starts Tues. 6/28. Is there anyway you could help me by then? Thank you for your time!
93
Requests / Re: Whist style round robin - 25 players, 6 courts, 11 rounds
« Last post by Cindi on June 25, 2022, 12:12:57 PM »
Thank you, Ian. This is amazing as always! :)
94
Requests / Re: Whist style round robin - 25 players, 6 courts, 11 rounds
« Last post by Ian Wakeling on June 22, 2022, 03:43:31 AM »
Hi Cindi,

I don't have a way of making a good 11 round schedule, but I can make a 10 round one.  The schedule below has the properties you want, all partners different and all opponents different, players on court with all others at least once and at most twice.  Of course the 10 players in the last column who have the bye will have one less game than the rest. Hope that helps.

Ian


  ( 1 20 v 19 23) (12 14 v 24 15) (21 16 v  2 13) (11 10 v 17  9) (18  8 v 22  3) ( 7  5 v  4 25) ( 6)
  ( 2 16 v 20 24) (13 15 v 25 11) (22 17 v  3 14) (12  6 v 18 10) (19  9 v 23  4) ( 8  1 v  5 21) ( 7)
  ( 3 17 v 16 25) (14 11 v 21 12) (23 18 v  4 15) (13  7 v 19  6) (20 10 v 24  5) ( 9  2 v  1 22) ( 8)
  ( 4 18 v 17 21) (15 12 v 22 13) (24 19 v  5 11) (14  8 v 20  7) (16  6 v 25  1) (10  3 v  2 23) ( 9)
  ( 5 19 v 18 22) (11 13 v 23 14) (25 20 v  1 12) (15  9 v 16  8) (17  7 v 21  2) ( 6  4 v  3 24) (10)
  (15  3 v 20 21) (24 23 v  7 22) (18 11 v 25  2) ( 6  5 v  9 12) ( 8 17 v 13 19) (14  4 v 10  1) (16)
  (11  4 v 16 22) (25 24 v  8 23) (19 12 v 21  3) ( 7  1 v 10 13) ( 9 18 v 14 20) (15  5 v  6  2) (17)
  (12  5 v 17 23) (21 25 v  9 24) (20 13 v 22  4) ( 8  2 v  6 14) (10 19 v 15 16) (11  1 v  7  3) (18)
  (13  1 v 18 24) (22 21 v 10 25) (16 14 v 23  5) ( 9  3 v  7 15) ( 6 20 v 11 17) (12  2 v  8  4) (19)
  (14  2 v 19 25) (23 22 v  6 21) (17 15 v 24  1) (10  4 v  8 11) ( 7 16 v 12 18) (13  3 v  9  5) (20)
95
Requests / Whist style round robin - 25 players, 6 courts, 11 rounds
« Last post by Cindi on June 21, 2022, 12:32:27 AM »
Hi Ian,

I'm looking for a schedule for a whist style round robin, 11 rounds total with 25 players and 6 courts, with 1 player having a bye each round. So each player will have a unique partner each round and will oppose 22 unique players, favoring mixing up players from round to round. Not sure if a perfect schedule is possible, but trying to get as close as possible to each person playing with all 24 players either as a partner or opponent, not opposing the same player twice and each player not sitting out more than once. Thank you so much!

Cindi
96
Requests / Re: Am I asking for the impossible?
« Last post by Ian Wakeling on June 16, 2022, 03:55:53 AM »
I have been picking off the easy ones above, as they are accessible to a cyclic solution where a small number of base rounds need to be found.  For example the 16 player schedule above is defined by rounds 1 and 4 only, the other rounds are derived by simple permutations.  This does not work all the time, specially for the less symmetric schedules with empty courts.

I have outlined some of the features of a general solution above, it would need to count the frequency of the three types of player pairs, and the frequency of the byes.  Then look for a small change to the schedule that makes the sum of the squares of the frequencies smaller.  You could program this from scratch, or you might be able to set this up in a constraint programming package.
97
Requests / Re: Am I asking for the impossible?
« Last post by canadave on June 15, 2022, 08:59:21 PM »
Thanks very much for these improvements :) Very much appreciated. Is there any programmatic way to try to improve the other sheets?
98
Requests / Re: Am I asking for the impossible?
« Last post by Ian Wakeling on June 15, 2022, 03:29:23 AM »
I can improve on the 6 round 16 player schedule too, the old version has 13 pairs of players who are never on court together, and one pair (5,16) who meet three times.  In the schedule below all partners are different, all opponents are different, and all pairs of players are on court together either once or twice.

  ( 9 13 v 10 15) (3  7 v 12  1) (14  2 v  4 5) (8 11 v  6 16)
  ( 7 14 v 11 13) (1  8 v 10  2) (15  3 v  5 6) (9 12 v  4 16)
  ( 8 15 v 12 14) (2  9 v 11  3) (13  1 v  6 4) (7 10 v  5 16)
  (10 13 v 12  3) (9 15 v  1  7) ( 6 14 v 16 2) (8  5 v 11  4)
  (11 14 v 10  1) (7 13 v  2  8) ( 4 15 v 16 3) (9  6 v 12  5)
  (12 15 v 11  2) (8 14 v  3  9) ( 5 13 v 16 1) (7  4 v 10  6)


99
Requests / Re: Am I asking for the impossible?
« Last post by Ian Wakeling on June 14, 2022, 12:32:05 PM »
I had a look at 14 and 12 player sheets in the document that you linked to and I can improve on both of them. Just to be clear I am ignoring top/bottom as suggested.  The new 14 player schedule is optimal, and the 12 player one must be close to being optimal.

For 14 players the 7 round schedule below has all partners different, all opponents different, and all pairs of player on court together either once or twice. Each player has one bye shown in the final column.

  ( 9 3 v 5 2) ( 8 1 v 10 11) (4 13 v 12 7)  (14 6)
  (10 4 v 6 3) ( 9 2 v 11 12) (5 14 v 13 1)  ( 8 7)
  (11 5 v 7 4) (10 3 v 12 13) (6  8 v 14 2)  ( 9 1)
  (12 6 v 1 5) (11 4 v 13 14) (7  9 v  8 3)  (10 2)
  (13 7 v 2 6) (12 5 v 14  8) (1 10 v  9 4)  (11 3)
  (14 1 v 3 7) (13 6 v  8  9) (2 11 v 10 5)  (12 4)
  ( 8 2 v 4 1) (14 7 v  9 10) (3 12 v 11 6)  (13 5)


For 12 players the schedule below has all partners different, all opponents occur once or twice, most pairs of players are on court together either once or twice, however the pairs (7,12), (8,10) and (9,11) occur 3 times.

  (10 2 v 7 8) ( 3 12 v 6 1) (4  9 v 5 11)
  (11 3 v 8 9) ( 1 10 v 4 2) (5  7 v 6 12)
  (12 1 v 9 7) ( 2 11 v 5 3) (6  8 v 4 10)
  ( 6 9 v 2 8) (10  5 v 1 3) (4 11 v 7 12)
  ( 4 7 v 3 9) (11  6 v 2 1) (5 12 v 8 10)
  ( 5 8 v 1 7) (12  4 v 3 2) (6 10 v 9 11)


Regarding the algorithm you have suggested above, I worry it would 'get stuck' before the schedule had filled up, as you would soon find a game where any player that was added would create a problem.  I have had better success with algorithms that start from a randomly generated schedule, and then make iterative improvements by swapping one player for another within a round.
100
Requests / Re: Am I asking for the impossible?
« Last post by canadave on June 13, 2022, 04:11:18 PM »
"As good as possible" assumes that there is some criterion by which it is possible to measure how good the schedule is - but there are a lot of competing factors here - the number of times pairs of players partner, oppose, or play on the same court together, the number of games and byes each player has, and finally the balance for top/bottom.  These could all be weighted differently, so there is no single best criterion, but the approach you need would be to consider these factors carefully and design a search algorithm to look for an optimal schedule.  Unfortunately, I don't have software that can help here.

I am guessing some of the schedules you have for 4n players, or 4n+1 players, may have been cut down from Whist schedules. If you select any 7 rounds from one of these, this might well leave one pair together three times, while another pair never meets.

If you post the schedule that you have for 14 players, then I will have a look at it, and see if there is any improvement that I can offer.
Hi Ian, sorry for the delay in getting back to you.

An example of what I'm talking about is here on these pickleball round robin sheets: RR-Charts.pdf (bendpickleballclub.com) I'm guessing they just used one of the many free round robin generators to generate the schedules for various numbers of players.

If you look at the 14-player sheet, you'll see (for instance) that Player 2 is on the same court as some players once, some players twice, and even plays on the same court as Player 12 THREE times....but never plays on the same court as Player 5.

I guess what I'm not understanding is that this seems to me to be simple from a computational perspective (although I freely admit that since what I'm looking for doesn't seem to currently exist, there' may very well be some factor of difficulty that I'm overlooking). It seems to me that the scheduler should just do this:

  • Start in Round 1. For Player 1, search for three other random players to add to the court in that round. Criteria: find the count of how many times Player 1 has played against every other player, then make sure to always pick the three random players from among whom Player 1 has played the least (obviously, in Round 1, Player 1 would not have played anyone, so the three random "other players" could be anybody. However, in later rounds, this pool of available random players would be less and less). This way you won't have Player 1 on the same court as Player 3 a bunch of times, but never played on the same court as Player 12.
  • Continue this for all players from 1 to n, where n is the total number of players. If there are any "extra players" at the end of this process (i.e. if n is not divisible by 4), put them down as "byes" who don't play that round...with the caveat that no one who's already had a bye should have ANOTHER bye if there's a player who hasn't had a bye yet.
  • Do this for as many rounds as necessary (ideally, for our purposes, 7 rounds).

I know I mentioned other criteria (dividing up who's on top/bottom equally, etc), but even if we could do this minimum thing (have players on the same court as all the other players as equally as possible), that would be an improvement.