Round Robin Tournament Scheduling

### Court Balanced Round Robin - Home of Ian Wakeling's Excel workbook

#### Richard A. DeVenezias

• Full Member
• Posts: 45
on: March 12, 2006, 10:11:52 AM
Ian Wakeling's spreadsheet will generate a balanced schedule for up to 100 items. Thanks Ian!

« Last Edit: April 04, 2019, 11:47:37 AM by Richard A. DeVenezias »

#### Richard A. DeVenezias

• Full Member
• Posts: 45
Reply #1 on: March 12, 2006, 10:11:52 AM

The spreadsheet will generate a balanced schedule for up to 100 items. Thanks Ian!  [smiley=thumbup.gif]

For background material, read his discussion of "Court Balanced Round Robin".  Or, check out Richard's page which implements the balanced algorithm found in Ians Excel file.  Of visual interest -- compare the Grid format of Balanced to the other algorithms.

Screenshots:

Note: The sides are also balanced.  For example -- Team A plays on the left side of court 2 in round 1 and plays on the right side of court 2 round 6.

« Last Edit: October 16, 2009, 08:05:46 AM by admin »

#### Ian Wakeling

• Forum Moderator
• God Member
• Posts: 1140
Reply #2 on: December 10, 2006, 05:57:29 AM

Here is an update to the balanced round robin spreadsheet.

New in version 3.5

10 court balanced schedules, that could not be generated previously, have been added.  The mathematics for constructing these schedules is not easy to program, so complete schedules are read directly from the hidden worksheet called "library". There are library schedules for 10,16,22,28,34,40,46,52 and 64 players.

In Home/Away format the cells of schedule are linked using cell formulae to the row names in column A.  So editing column A will let you rewrite the schedule in terms of actual team names.  Note that any edits will be lost the next time a schedule is generated.

#### Ian Wakeling

• Forum Moderator
• God Member
• Posts: 1140
Reply #3 on: January 08, 2007, 01:57:57 PM
Here is a further update.

New in version 4.3

The ability to randomize your schedule.  A different version of the schedule each time you press generate.

The team with a bye is shown when there is an odd number of teams in court/field format.

« Last Edit: January 08, 2007, 01:59:03 PM by Ian »

#### mkranitz

• Newbie
• Posts: 1
Reply #4 on: January 28, 2007, 08:27:42 PM
Ian, hello and hats off to a great little applet you built.

I am trying to build one for Coldfusion and the Web and was looking at your "Library" sheet.  I'm assuming that is encrypted??  If not, my mind will melt.

Can you help a guy out?  8-)

Specifically, I need to wrap my head around either a pure mathematical way of generating the tables OR doing it mechanically with arrays and loops.

Oh, this is a nice one: http://www.hometeamsonline.com/sportswebsites/?scheduler

I would like to build something that accepts variables like these.

Michael
« Last Edit: January 28, 2007, 08:41:04 PM by mkranitz »

#### Ian Wakeling

• Forum Moderator
• God Member
• Posts: 1140
Reply #5 on: January 29, 2007, 03:56:52 AM
Michael,

There's no encryption! The library sheet which you can view by clicking on Format/Sheet/Unhide is arranged both to save space and to be easily readable by the VBA macro code.  For the difficult round-robins (10, 16,22... teams), the full schedule is given in the library where each round is represented by a string contained in a woksheet cell.  The team numbers in a round can be read by subtracting 47 from the ASCII character code of each character in the string.  If you have the randomization feature turned off, this is all the macro does, writing the resulting rounds to the main worksheet.

If you don't want one of the difficult schedules, the balanced round robin is relatively easy to construct mathematically.  Details of an algorithm are given here.  At the bottom of that posting is a reference to a text book which presents some general mathematical constructions that cover all the balanced round robins.

The extra variables that you introduce on your website, the variable number of locations, days per week and time slots all add considerable complexity to the problem, and  it's unlikely that combinatorial mathematics is going to be of any help.  For this you will need an algorithm that searches for reasonable solutions to the problem.  The algorithm would need to be "intelligent" in some way since the total number of schedules that are possible rapidly becomes astronomical, so searching them all is not an option.

Hope that helps,

Ian.

#### SGT_Buckeye

• Newbie
• Posts: 1
Reply #6 on: October 31, 2007, 12:06:50 PM
This is a great source of information.  I was asked by a friend if I could create an Excel spreadsheet for her that does exactly what yours will do except that I need to list dates instead of rounds, the number of game sites will vary, and the number of teams will probably vary as well from season to season.  Can you point me in the right direction with coming up with my own spreadsheet that will do this.  I have already started reading up on the cyclic algorithm that you have links for.  Thank you.

#### Ian Wakeling

• Forum Moderator
• God Member
• Posts: 1140
Reply #7 on: November 02, 2007, 03:17:18 AM
If the number of sites and the number of teams are flexible then you will need to use a different approach, as my Excel spreadsheet only deals with the case when all teams, or all but one of the teams, plays in each round.  It's not really possible to generalise the algorithm you have seen to other situations and you will need to come up with an alternative.  Probably an algorithm that searches many different alternative schedules and picks the best one.

Hope that helps.
« Last Edit: November 02, 2007, 03:18:28 AM by Ian »

#### MRMD

• Newbie
• Posts: 1
Reply #8 on: December 22, 2007, 04:19:16 PM
Hello,
This is a very useful tool. Thank you for make it available. I work with kids and have tournaments all the time. When I came across this program it helped me organize it better. Thank you so much.
Is there a possibility in this program to have choice on number of courts? We cannot afford so many courts, but we usually have 8-12 teams, playing round robin with sometimes only 1 court or 2 courts. Very diffcicult to spread games out equally. If you can implement choice in numbers of courts we can use it would make our schedule even better.

MRMD

#### Ian Wakeling

• Forum Moderator
• God Member
• Posts: 1140
Reply #9 on: February 16, 2011, 12:49:52 AM
Off topic replies have been moved to This Thread

#### Strike_Ump

• Newbie
• Posts: 6
Reply #10 on: April 01, 2011, 01:08:30 PM
Quote
Hello,
This is a very useful tool. Thank you for make it available. I work with kids and have tournaments all the time. When I came across this program it helped me organize it better. Thank you so much.
Is there a possibility in this program to have choice on number of courts? We cannot afford so many courts, but we usually have 8-12 teams, playing round robin with sometimes only 1 court or 2 courts. Very diffcicult to spread games out equally. If you can implement choice in numbers of courts we can use it would make our schedule even better.

MRMD

You make some very good points. It would be incredible if we could have number of courts/fields and add multiple rounds as well. Then this would be flawless...
You're Out!

#### Bob_R

• Newbie
• Posts: 3
Reply #11 on: June 13, 2012, 05:26:39 AM
For those interested in scheduling tennis groups that play each week and
rotate with different partners & opponents, please check out the attached
PDF file that is a full season schedule for such a group.

Bob R

#### zzobe14

• Newbie
• Posts: 1
Reply #12 on: September 12, 2012, 06:45:36 PM
I just became scheduler for my horseshoe league,I need help with a random schedule. We have 16 players and 3 pits and a 16 week schedule. So we play 3 games each week so eveyone has a by and we have four rounds to make it happen. Can you help me?

#### Ian Wakeling

• Forum Moderator
• God Member
• Posts: 1140
Reply #13 on: September 13, 2012, 08:47:52 AM
If you follow the schedules link above and dial up a whist schedule for 16 players, then I have rearranged that to provide a full round-robin in 5 weeks:

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

You can use this three times, each time making a different random assignment on the 16 players' names to the numbers 1 to 16.  This gives you 15 weeks of scheduling.  Perhaps have 'finals' in the last week were you match people up based on their scores in weeks 1 to 15.

#### Jono

• Newbie
• Posts: 3
Reply #14 on: December 30, 2013, 02:40:06 PM
Wow, what a great resource this site is.

I downloaded the excel file and it doesn't work for me, running Excel for Mac 2011. I get an error in the script, I think around a combo-box. I'm a programmers, but have never programmed excel. I'm going to fiddle around and try to fix it, or seek out a Windows machine.

Just thought I'd post and see if anyone has a fix.

In my league we have 8 teams, each will play each other 3 times, for 21 games. I think I can just use this 3 times, permuting the team order each time. I do need to balance home/away across the three sets of 7 games so, for instance, team A is home team at least once in it's three games against B.