Round Robin Tournament Scheduling
Schedules  You must register to Post and Download => Requests => Topic started by: johbri on October 10, 2019, 02:59:10 AM

11 players: I want 8 to play each round and three players have a bye round. How to select which should have a bye round so that they never have two bye rounds after each other? (11 and 8 is just an example. I have two courts and four play per court so that 8 can play per round. I could have 9,10,11,12 or 13 players who wants to play and I need to be able to schedule which players that have a bye each week.)

In my mind it is more important to schedule the doubles games first, and then worry about the distribution of byes afterwards. So after the schedule of play has been established, the rounds can be reordered to try to spread out the byes evenly. It is possible to do as you suggest and specifically optimize the byes, but it will severely limit the quality of the double schedule.
In some situations it will not be possible to have any schedule that is nicely balanced. For example with 11 players, you cannot have a schedule where everyone partners everyone else exactly once, in which case you need to state how many rounds of play you are looking for and what your most important objective is.
From your list, 9 players is the easiest because there is only 1 bye and this fits the standard whist design. Here is an example (http://www.jdawiseman.com/papers/tournaments/individualpairs/ippure_09.html) from the Wiseman web site.
12 players should be possible by rearranging a whist design. If you follow the "pages that inspired the forum" link near the top of this page, then look for the whist table for 12 players. Now the objective is to reduce the schedule from 3 to 2 tables. Notice that the games (12 1 9 10) & (7 2 8 11) can be removed from rounds 1 and 6 to make round 12. Next take games (12 2 10 11) & (8 3 9 1) from rounds 2 and 7 to make round 13. Continue like this, and take one game out of round 11 to make round 17. Finally you can reorder the rounds to optimize the byes, but I fear that with a third of the players having a bye in each round, it will be impossible to prevent some players have consecutive byes.
I hope some of that helps.

Thanks for your advice. In the schedule below there are 12 players and four have a bye each round. My goal is to:
1. Get the byes as evenly spread per person as possible. You should e.g. not have two byes in a row.
2. You should have as much variation regarding which people you share your bye with. Now player 1 and 2 have the same bye twice but I managed to not let anytwo players have the same bye three times. (But I don't think my schedule is optimal. There should be possible to have more variation.)
3. No player plays four games in a row (related to goal 1 above).
I thought there should be a systematic way to place the byes but perhaps not.
(In my tournament I rank the eight players before each round and let rank 1+4 play 2+3 and rank 5+8 play 6+7 (according to there internal ranking). Hence there is no need to make sure that everyone plays everyone. My goal is to get as even games as possible in each round.)
(https://i.imgur.com/AmoifHt.png)

I doubt there is any systematic way to achieve what you want. The fundamental problem is that goal (1) and goal (2) are mutually incompatible. Goal (1) can be achieved by repeating rounds 1 to 3 above three times; then everyone will have their byes exactly 3 rounds apart, however the schedule is optimally bad for (2), as you always have a bye with the same three players.
There is a way to optimize (2) as follows:
2 6 8 1
3 4 9 2
1 5 7 3
5 12 9 6
6 10 7 4
4 11 8 5
10 9 1 11
11 7 2 12
12 8 3 10
where the 9 people a player shares a bye with are all different. But this comes at a price, any pair of the blocks of 4 above have exactly one player in common, so no matter how the rows are ordered there will be 8 occasions where a player has two byes in a row.
What you are asking for is a trade off between the two goals, and that suggest some sort of search algorithm that gives differential weights to (1) and (2).
For me, living with the repeated byes is the better option, since if you have optimal mixing within the byes, then you also have optimal mixing among the groups of 8 who meet together.

Thank you Ian for your clever advice.
The tournament that I'm scheduling is padel. We play for 23 hours. I do think that having bye two times in a row is really bad so I think I would like to have the following rules:
1) No player should ever have two byes in a row. (Neccesary condition)
2) Among the possible solutions fullfilling 1) I would like the variation among which I share my bye we to
be as large as possible. Hence Ian's suggestion above would be optimal if it fullfilled requirement 1.
I need to be able to do this for 9,10,11,12 players playing on two courts (8 playing 1,2,3 or four having a bye each round). So perhaps the schedule that I did for 12 players above is close to optimal?

Hi,
I have been thinking about this some more and have programmed an algorithm along the lines that I outlined above. What follows is for 12 players. For goal (2) you have established that it is possible to have a schedule were pairs never share a bye together three times, so this should be a requirement, and then we should count the number of pairs (NP) that share a bye twice, and look for a schedule that minimizes this count. In your example schedule I believe NP=12, although I did count them by hand, so it is possible I am off by a little.
After some experimentation I believe that if goal (1) must be achieved, then it is not possible to do better than NP=8. Here is an example schedule for the 4 byes and 9 rounds that also meets the no more than 4 games in a row requirement.
10 5 2 1
12 7 11 8
3 4 1 9
8 6 10 12
7 5 2 3
9 10 11 6
1 4 7 8
12 2 9 3
4 11 6 5
The 8 repeated pairs are:
1 4
2 3
2 5
3 9
6 10
6 11
7 8
8 12