Round Robin Tournament Scheduling

16 teams, 2 pools round robin

Hobbess · 13 · 11483

Hobbess

  • Newbie
  • *
    • Posts: 8
on: January 20, 2012, 10:29:27 PM
I was sure this was going to be fairly easy but I can't seem to find the right format of round-robin to fit into the requirements I have.

I'm scheduling a curling league where I have 8 sheets of ice (8 courts) that teams can play on - labels 1-8.  I have 16 teams playing in 2 pools of 8 playing a full round-robin across 7 games, A-H & I-P.  They will all play at the same time, 2 per sheet.  

I'm keen to try and get all teams only playing on each sheet of ice once in their 7 games (they'll also not play on 1 at all).  My only other requirement is that the final game of the round-robin is matched up with teams AvB, CvD, EvF & GvH etc

I can get close but all the options online want to only use 4 courts for an 8-team round-robin and I've not figured out how to take that logic and step it out to 8 courts with balancing.  I figured if I could make it work for 1 pool of 8, the other 8 would fit in as a mirror on the court assignment to get the same effect of them all playing on different courts.

Any help appreciated.


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #1 on: January 21, 2012, 05:31:20 AM
This is an interesting problem and I thought first about Howell Designs, see for example the Excel spreadsheet that you can find in this thread.  But the H(7,8) design only uses 7 of the 8 rinks, and I don't think it's possible to build the 'mirror' in the unused slots, so choosing the correct pattern of unused slots when designing the first pool of 8 is also important.  I have used a computer search to come up with the attached schedule.  I hope that helps.


Hobbess

  • Newbie
  • *
    • Posts: 8
Reply #2 on: January 21, 2012, 10:42:54 AM
Great, thanks for this, I was sure it was possible!  ;D

Interestingly I noticed it's not a "mirror" in fact only rds 1, 6 & 7 I think are mirrors, I also noticed there is no point that the 8 teams play on 4 connected sheets which was always something I had started with from any 4 sheet solution that was offered up on the interwebs.

My 2nd puzzle which I tried to brute force with some trial & error again is using the same 8 sheets of ice for 10 teams to play a 7 game round robin meaning each team will miss playing 2 other teams.  Again the key is that no team should play on 1 sheet twice.  The 3 unused sheets each round will just be free for that round.   I tried playing around with the spreadsheet link and I think I found it with an h(7,10) set-up it looks like it works with 7 sheets and also limits it to the 7 rounds!  Just wasn't understanding the various s & n notations and how they would factor into this scenario, could you explain?


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #3 on: January 22, 2012, 02:25:59 AM
I have experimented a little and I can not find a pattern of empty slots that leaves the pools playing on connected sheets all of the time or even most of the time.  I can search for solutions for any pattern you might like, but it would have to have the same properties as my example above - each row has exactly 4 empty slots, 4 of the columns have 3 empty slots while the other 4 columns have 4 empty slots.

Hopefully the following will explain my s & n notation from the Excel worksheet.  A Howell Design H(s,2n) is a schedule for 2n teams arranged in an s x s grid such that all teams occur exactly once in each row and once in each column.  Cells are either empty or contain a match between two teams, finally pairs of teams play together either once, or not at all.  In the special case where s=2n-1, then the schedule is also a complete round-robin with all possible pairs exactly once.

So you are correct that the H(7,10) will provide a 7 round, 7 sheet, incomplete round-robin for 10 teams.


Hobbess

  • Newbie
  • *
    • Posts: 8
Reply #4 on: January 22, 2012, 12:05:03 PM
Well thanks again, the explanation made sense.  

Also I was merely observing that there was no round with all 4 sheets connected as that's always what I'd started with from other round-robin solutions and helps explain how I never got close to creating it on my own.  

However now that I have the "perfect" schedule I took the template and created an Excel overlay that allows me to change team numbers, order of sheets & order of rounds so that I can create endless variations from the master.  As there is no repetition it's easy enough to change the column order so that I get 1 week where teams play on connected sheets, for rd 7 you could order them 2,4,6,8,1,3,5,7.  


Hobbess

  • Newbie
  • *
    • Posts: 8
Reply #5 on: September 20, 2013, 11:52:50 PM
I'm back!  :D
 
I've been using the schedules that were created above lots and have created sheets that work well with both the 16-team draw and the 10-team one.  Unfortunately this year my league is at 28 - so I'm needing a new set of solutions.  

Initially I've split my league into 4 pools A-D with 8, 8, 6 & 6 teams.  My constraints from before are the same in that there are 8 sheets of ice (courts), no team should play on the same court twice and 7 games per go-round, this means in the 6 team pools there will be some repetition, but no teams should play each other more than twice.

I can fit my pools onto the ice in 2 ways, either play A & B (16 teams, 8 sheets) then C & D (12 teams, 6 sheets) or A & C / B & D (2 sets of 14 teams, 7 sheets).  The latter is more even so is preferable from a neatness point of view...

In the former option - the solution for 2 pools and 16 teams below holds for rd 1, but for rd 2 I've been unable to make a draw that allows the 6 team groups to not repeat playing on a sheet.  They are playing 7 games with 8 possible courts so like before I think it should be doable.  I've been trying to brute force again my way through starting with the 8-team solutions and removing 2 teams, but had no luck.

In the latter option - again I've been attempting to modify the 8 team solution to drop 2 teams from the 6 team pool side, but I keep finding that teams end up playing twice on one sheet.

Thanks


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #6 on: September 21, 2013, 09:21:18 AM
Welcome back!  It is good to know that you have made good use of the schedules.

14 teams and 7 sheets seems the best option to me, and I have found a close to optimal solution.

                     RINK
Round   1     2     3     4     5     6     7
  1   (H A) (---) (---) (C F) (---) (B G) (D E)
  2   (E F) (H B) (---) (---) (D G) (---) (C A)
  3   (D B) (F G) (H C) (---) (---) (E A) (---)
  4   (---) (E C) (G A) (H D) (---) (---) (F B)
  5   (G C) (---) (F D) (A B) (H E) (---) (---)
  6   (---) (A D) (---) (G E) (B C) (H F) (---)
  7   (---) (---) (B E) (---) (A F) (C D) (H G)

  1   (---) (N K) (L I) (---) (M J) (---) (---)
  2   (---) (---) (J K) (M I) (---) (N L) (---)
  3   (---) (---) (---) (N J) (I K) (---) (L M)
  4   (L K) (---) (---) (---) (N M) (I J) (---)
  5   (---) (L J) (---) (---) (---) (M K) (N I)
  6   (L I) (---) (N M) (---) (---) (---) (J K)
  7   (N J) (M I) (---) (L K) (---) (---) (---)


above the 8 team pool (A to H) should be perfect with one game on each sheet.  The 7 team pool (I to N) which can be played simultaneously is slightly unbalanced -  L twice on Rink 1, and M twice on Rink 5.

Hope that helps.


Hobbess

  • Newbie
  • *
    • Posts: 8
Reply #7 on: September 24, 2013, 07:06:53 PM
Thanks again - I'd got it down to 2 teams needing repeats too with some brute force playing around on the 8 team schedule.  Having it neat like this is easier for me to manipulate in my sheets.

One last request for this years draw.  My other league has 24 teams signed up, so makes for 3 pools of 8.  Normally we schedule our ice to play early, late, early repeating, but with 3 pools we'd like to offer early, early, late repeating.  Again I'd tried modifying the 2x 8 team schedule, which works for 2 weeks, but on the 3rd week it clashes.  Is it doable to create the non-repeating ice schedule for this set-up.  

Would be something like:
Wk 1 - Early - Pools A & B, Late - C
2 - Early - Pools A & C, Late - B  (if B & C schedules matches the first 2 weeks are easy)
3 - Early - Pools B & C, Late - A (now B & C clash)
4 - Early - Pools A & B, Late - C back to week 1 split

Thanks


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #8 on: September 25, 2013, 07:49:08 AM
That's a really tough problem, and I don't think I can see an elegant solution.  Assuming C is the pool who draws the short straw, and therefore have to play late three times, then you will have no problem scheduling them for 5 of the 7 weeks (the 3 times they play late + the 2 times they are early with pool A), for the other two weeks where they are early with pool B, then you will just have to move them to the free rinks to avoid clashes - this will give pool C an uneven distribution across the rinks, but they will play on at least 5 of the rinks.


Hobbess

  • Newbie
  • *
    • Posts: 8
Reply #9 on: September 25, 2013, 09:16:19 AM
Figured it out lying in bed this morning just before I woke up!  It's actually fairly straightforward!  ;D

Using the original 16 team 2 pool distribution setup from the first problem, and working with the knowledge that the order of the weeks doesn't matter since it's an even distribution I just needed to reorder 2 weeks of schedule slightly.  

I made Pool A one side, and Pool B & C have the same schedule.  It essentially means you only have 2 weeks where B & C clash.  All I then needed to do was find 2 weeks in the B/C schedule which could fit on the same 8 sheets.  This turned out to be Weeks 2 & 3.  Then I switched these 2 weeks for Pool C, creating 2 weeks that B & C can play on the same sheets.  After that I just reordered the full 3 schedules to split up week 2 & 3 to new weeks 3 & 6.

Attached a pdf of the solution with the early draw times highlighted each week

Thanks


Hobbess

  • Newbie
  • *
    • Posts: 8
Reply #10 on: September 26, 2013, 11:57:56 AM
After my success with the 3x8 rotating schedule I tried revisiting the 8 & 6 schedule to see if I could make it work as your proposed solution had only used 7 sheets.  

Unfortunately I'm still stuck at 2 teams needing repeat sheets in the 6 team go round like your solution.  Still been just using brute force to finesse it but I think I've run out of luck!

Thanks again for the help.


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #11 on: September 29, 2013, 06:10:39 AM
I suspect that balancing the pools of 8 and 6 at the same time may not be possible.  So I started thinking about 2 pools of 7 again, and I think this is a possibility.  If pool A contains teams 1 to 7, and pool B contains teams 8 to 14, then they can be scheduled to play for 7 rounds on 7 rinks in the following way.

        Rink1   Rink2   Rink3   Rink4   Rink5   Rink6   Rink7
Week1 ( 1  8) (11 12) ( 9 14) ( 3  6) (10 13) ( 2  7) ( 4  5)
Week2 ( 5  6) ( 2  9) (12 13) (10  8) ( 4  7) (11 14) ( 3  1)
Week3 ( 4  2) ( 6  7) ( 3 10) (13 14) (11  9) ( 5  1) (12  8)
Week4 (13  9) ( 5  3) ( 7  1) ( 4 11) (14  8) (12 10) ( 6  2)
Week5 ( 7  3) (14 10) ( 6  4) ( 1  2) ( 5 12) ( 8  9) (13 11)
Week6 (14 12) ( 1  4) ( 8 11) ( 7  5) ( 2  3) ( 6 13) ( 9 10)
Week7 (10 11) ( 8 13) ( 2  5) ( 9 12) ( 1  6) ( 3  4) ( 7 14)


All 42 within-pool games are scheduled, as well as 7 between-pool games (the latter are the ones on the main diagonal of the grid).  Or thinking of this another way, there are two 7 team round robins scheduled at the same time, and the two teams having the bye from each pool get to play each other in a 'friendly' game.  All together, each team is scheduled exactly once in each round, and exactly once on each rink.

Would that work for your curling league?
« Last Edit: September 29, 2013, 06:12:23 AM by Ian »


Hobbess

  • Newbie
  • *
    • Posts: 8
Reply #12 on: October 01, 2013, 10:22:51 AM
Thanks for this, I had one occasion where I had 14 teams in 2 pools playing at the same time and had modified my 2 x8 team pool much like you did to create the "crossover" game.

However - as the league is ranked the crossover doesn't generally work as I currently have Pool A & B with 8 and pool C & D with 6 teams so for an example it would mean an A team playing a C or D team depending on how the groups are matched up.  While some teams don't mind this - it can make for some pretty lopsided games which I'd rather avoid.  

As another aside the curling solutions should generally always aim to use all available sheets (8 in my league), I'd originally tried when first starting out to only use 7 sheets per earlier solutions, but the ice guys want even (or close to) usage of sheets over time, completely ignoring one sheet isn't a preferable solution.  The H(7,10) solution I used for the 10 team round-robin I modified sheets slightly to up the count to 8.