Round Robin Tournament Scheduling

league rotations for doubles

gmom2boys · 4 · 2905

gmom2boys

  • Newbie
  • *
    • Posts: 2
on: August 14, 2014, 05:26:48 PM
I am looking for a rotation that has 3 variables, the number of players, the number of courts, and the number of weeks.
The game is tennis.  Each week we assign who plays per court.  The first week 1 & 2 would play 3 & 4.  Throughout the three sets played 1 & 2 would remain as partners and 3 & 4 would remain as partners.  For each new rotation per week the partner needs to change as well as the opponents needs to change.  So in other words, for week two I don't want 2 & 3 vs 4 & 5 because 2,3,and 4 have already been on the court together last week!  Yes, they have different partners, but we need to have the persons on the court vary.
I would love a formula in which I could plug in number of players, number of courts, number of weeks and get a rotation where the number of byes is consistent and the players play each other the same number of times (which I realize cannot always be true when you are hindered by a changing set of weeks).


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #1 on: August 15, 2014, 03:15:28 AM
There is no single magic formula here, it is more a case of having to treat each scenario individually.  As you are wanting to avoid having pairs of players twice on court, either as partners or opponents, then the problem is equivalent to the social golfer problem.  So take the schedules here for between 16 and 32 players and simply assign each foursome to be 2 vs 2 in any way that you like.  Note that for 12 or fewer players, then only one round is possible, after which there must be repeats.  The 24 player schedule for 6 courts, can of course be split into mini-rounds for either 2 or 3 courts.

It is more complicated when you don't have a multiple of 4, then you could try writing a search algorithm to look for solutions, or if there are a few specific problems then I might be able to find some schedules for you.


gmom2boys

  • Newbie
  • *
    • Posts: 2
Reply #2 on: September 01, 2014, 04:47:03 PM
Thank you for your quick response.  I apologize, but I am not following your link of schedules.  It doesn't make sense to me.   :-[  If I have 10 players, does it make sense that we could come up with a schedule where each player plays with the other 9 at least once as a team, and then those teams playing each other once?  If I could understand that formula, I can then adjust for number of courts and number of weeks.  Any help you can give is much appreciated.


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #3 on: September 02, 2014, 01:54:11 AM
It may be that I did not understand your original posting.  I was assuming that you did not want any pair of players to play together more than once, so once 1 & 2 partnered, you did not want them to oppose each other later on.  If you want to go as long as possible without any repeats like this, then the link above will give you a schedule, but only where you have a mulitple of 4 players between 16 and 32.

For doubles play, where everyone partners each other else exactly once, a balanced schedule is only possible when the number of players is a multiple of four, or one more than a multiple of 4.  In such a schedule any pair of players will be on court together exactly three times, once as partners and twice as opponents. There are some schedules here and there is no single formula for constructing them. If there are 10 players then there is a fundamental problem, there is an odd number of partnerships to play, 45, but of course each doubles game involves 2 partnerships, so there can never be a balanced schedule. The Wiseman website I linked to above contains an unbalanced schedule that involves both singles and doubles play, below is a possible alternative.  It is a balanced doubles schedule for players B, C, D, E, G, H, I and J, however players A and F play one less game than the others and never meet as partners or opponents.


[(G J):(A I)] [(E F):(B D)]
[(F G):(E I)] [(C H):(A J)]
[(C E):(A G)] [(I J):(B F)]
[(H J):(D F)] [(A E):(B I)]
[(F H):(B G)] [(A C):(D I)]
[(B J):(A D)] [(C F):(E H)]
[(B E):(C J)] [(D H):(G I)]
[(B H):(C I)] [(E G):(D J)]
[(C D):(F I)] [(A B):(G H)]
[(E J):(H I)] [(D G):(B C)]
[(D E):(A H)] [(C G):(F J)]