Name: Byron Who is asking: Teacher Level: SecondaryQuestion:

I was asked if there was a mathematical method to work with schedules. The problem is this. There are 24 teams playing weekly on 4 sheets at 3 different times of the day as follows:

First week of play:

Time Sheet Team vs Team 1pm 1 1 - 24 2 2 - 23 3 3 - 22 4 4 - 21 3pm 5 5 - 20 6 6 - 19 7 7 - 18 8 8 - 17 5pm 9 9 - 16 10 10 - 15 11 11 - 14 12 12 - 13The conditions to satisfy are that teams are to play each other once in such a way that they play an equal number of times on different sheets and an equal number of times at each time slot through rotations during weekly games. The gentleman has been doing this scheduling by 'brute force' but he thinks there must be a mathematical background to this process. I am unable to put my finger on the process and would appreciate any help you could give me so that I may pass it on to him.

Thanks for your thoughts.

Hi Bryon

Scheduling questions such as yours do not always have nice answers. It is not always the case, depending upon the number of teams, number of time slots and number of playing surfaces involved, that we can balance off the schedule so that each team plays everyone else the required number of times, uses the time slots an `equal' number of times and uses the playing surfaces an `equal' number of times. I will give you a fairly general method that will produce a schedule for you in which everyone plays everyone else but I wont guarantee `equality' of the time and surface distribution. (Since you have 24 teams, which would require a fairly large matrix on the web page, I will describe the process for 24 teams and then illustrate the method with 6 teams and 3 time/surface slots).

First, since you have three time slots, H1, H2, H3 and four surfaces S1, S2,
S3, & S4 let's identify the 12 possible playing scenarios by the following
table **S**:

S | S1 | S2 | S3 | S4 |
---|---|---|---|---|

H1 | 1 | 2 | 3 | 4 |

H2 | 5 | 6 | 7 | 8 |

H3 | 9 | 10 | 11 | 12 |

What you need is a 24 by 24 matrix in which the (i, j)th. entry is an ordered
pair (w, s) where w denotes the week in which the teams Ti and Tj play, and s
denotes an entry from the scenario table above indicating when and where they
play. For example if you see (15,7) in the (4,9) entry of your 24 by 24 matrix
this would mean that teams 4 and 9 play in week 15 at hour 2 on surface 3. To
generate the first (the w) entries, we place the number 1 at the center of a
circle and the numbers 2, 3, ..., 24 equally spaced around the circle. Draw a
radius from 1 to 2 and all segments joining two numbers on the circle that are
perpendicular to this radius, i.e. 3 to 24, 4 to 23, ..., 13 to 14. This gives
us who plays who in week 1. To get who plays who in week 2, simply rotate the
circle; repeat until 23 and 1 are joined as the radius. Enter the weeks into
your 24 by 24 matrix (which we be symmetrical across the main diagonal. What
we must now do is place a second entry chosen from 1, 2, 3, ..., 12 right after
the week to indicate the scenario as described above. What you must be careful
about is that each week, exactly one of the twelve line segments we've drawn
(including the radius) gets a number from 1, 2, ..., 12. We want to do this in
such a way as to have each of the numbers 1,2,..., 12 appear as evenly as
possible in each row and column of the matrix, and more than that we want the
numbers from each row and column of the **S** table to appear as evenly as
possible as well. One way to put in the numbers 1, 2,
..., 12 is to label the segments in week 1 with 1 for the segment 1-2; 2 for
3-24; 3 for 4-23; and so on until we get 12 for 13-14. In week 2, as the
circle rotates one way, cycle the labels on the segments in the opposite
direction. For example 1 goes on 4-2; 2 on 5-24; 3 on 6-23; and so on until we
get 12 on 14-15.

For just 6 teams and a table** S**:

S | S1 | S2 | S3 |
---|---|---|---|

H1 | 1 | 2 | 3 |

1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|

1 | x,x | (1,1) | (2,3) | (3,3) | (4,1) | (5,3) |

2 | (1,1) | x,x | (4,3) | (2,1) | (5,1) | (3,1) |

3 | (2,3) | (4,3) | x,x | (5,2) | (3,2) | (1,2) |

4 | (3,3) | (2,1) | (5,2) | x,x | (1,3) | (4,2) |

5 | (4,1) | (5,1) | (3,2) | (1,3) | x,x | (2,2) |

6 | (5,3) | (3,1) | (1,2) | (4,2) | (2,2) | x,x |

Note that this schedule doesn't work too well in that team 2 for example is in scenario 1 too often. Again, this sort of bad outcome tends to even out as the number of teams, number of time slots and number of playing surfaces increases. It is sometimes best to find a method that `works' and then use ad hoc methods to balance things out.

For example, in week 5 we see teams 2 and 5 play each other in scenario #1.

Cheers

Denis

To return to the previous page use your browser's back button.