Round Robin Tournament Scheduling

Sub events with different groupings each time

ndodge · 4 · 3103

ndodge

  • Newbie
  • *
    • Posts: 20
on: May 01, 2017, 01:36:08 AM
I am having a tournament (volleyball, but that's not important) where each team does four sub events, call them A, B, C, D, where when they do a sub event they do it within a group of 3, 4, or 5 teams (any of those can work fine).  I would like it so that each team is grouped with a variety of other teams by the time they have done all four sub events.  It's ok, and I gather that it's likely necessary, if they play more than once with some of the teams.  But I'd like something kind of balanced. Sort of balanced is fine.  I just don't want team 1 being with team 2 3 or 4 times and not being with team 3 at all, for example.  It's ok though if teams are with some other teams once or twice and with some teams not at all.  I've figured out how to do things within each subevent, I just want teams to be in different groupings when doing their subevents, with each team doing each subevent once.  

I will use an example of 9 teams (but I have to plan for other counts, as discussed below).

If I had 9 teams, I would make 3 groups of three for each stage.  Call the teams 1-9.  For a first stage, teams 1-3 can do subevent A, 4-6 can do B, 7-9 can do C.  Then for a second stage, I'd like to group teams into different groups, in such a way that each team does a subevent that they haven't done before.  For example, 147 can do event D, 289 can do event B, and 356 can do event C.  56 and 89 are repeats, but they are at least playing with a different third team.  I'd repeat this for 4 stages so that all teams have done each subevent once.

But I can't plan just for 9 teams.  I want to make sure I am able to run this kind of event before I announce it and I'd like to be able to accept a count of teams from say 9 to 20.  If I did so, I'd group teams according to the table below.  The last column is a team count, and the columns to the left show the group sizes I'd use for each stage.  Is what I have in mind at all possible? I'm quickly discovering that hand solving this will not work in any timely fashion.  Thanks much in any case.  I've used some of your custom solutions many times for Minneapolis volleyball events, and am very grateful.

      3      3      3      9
      3      4      4      10
      3      4      4      11
      4      4      4      12
      4      5      5      13
      4      4      5      14
      5      5      5      15
4      4      4      4      16
4      4      4      5      17
4      4      5      5      18
4      5      5      5      19
5      5      5      5      20


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #1 on: May 04, 2017, 05:50:04 AM
I think you will find that no nice schedules can exist, and there will always be pairs of teams who are together a lot, and other pairs that never meet.  The problem here is that the tournament structure is too small, with only 4 events & 4 stages.  If you had an 8 x 8 structure or larger, then things are possible, see Example 1.4 on page 3 of this paper by Abel et al.


ndodge

  • Newbie
  • *
    • Posts: 20
Reply #2 on: May 04, 2017, 11:01:39 AM
What about programmatic attempts to find some solutions that at least try to maximize number of teams played with, while limiting those that you play with 3 times, for example ? I also could possibly increase to 5 events where teams would do four of the five.  It's a variety of events on different types of volleyball nets (doubles size, full size, men's height, women's height, grass, sand).  I can only come up with so many variations of court assignments that groups of teams can be playing at once.


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #3 on: May 07, 2017, 03:10:58 AM
I don't have the time to investigate algorithms for optimizing the number of teams played with, but I think this is probably the best way forward.  However I am still worried that you will not be able to achieve practical schedules.   As the 9 team scenario is quite small and symmetric, I did look at this in some detail, enumerating all possible schedules.  So I can state with certainty that the best possible schedule, with no teams together 3 or 4 times is:

 (. . .) (1 2 3) (4 5 6) (7 8 9)
 (1 6 7) (. . .) (3 8 9) (2 4 5)
 (2 5 8) (4 7 9) (. . .) (1 3 6)
 (3 4 9) (5 6 8) (1 2 7) (. . .)


 and that all together there are 216 variants like this.  The pairwise properties are quite poor.  Teams 1, 5 & 9 have only 4 different opponents and they are with each opponent twice.  The remaining teams have 6 opponents, 4 of them once, and 2 twice.