I am working on a bracket for an upcoming tournament.
For this tournament I have 10 participants, which will each take place in 4 player matches.
I want to ensure that every participant has competed against each other atleast once, in the fewest amount of rounds, with the fewest amount of rematches, in that order of priority.
So far I have managed a decent solution, but I struggle to optimize it further.
Round 1 , Race 1 | Player1 , Player2, Player3 , Player5
Round 1 , Race 2 | Player4, Player6 , Player7 , Player8
Player 9 and Player 10 don’t race this round
Round 2, Race 1 | Player4, Player5, Player8, Player9
Round 2, Race 2 | Player2, Player6, Player1, Player10
Player7 and Player3 don’t race this round
Round 3, Race 1 | Player1, Player5, Player6, Player10
Round 3, Race 2 | Player2, Player3, Player8, Player9
Player7 and Player4 don’t race this round
Round 4, Race 1 | Player10, Player2 , Player4, Player9
Round 4, Race 2 | Player8, Player7, Player5, Player1
Player3 and Player6 don’t race this round
Round5, Race1 | Player3, Player5, Player6, Player4
Round5, Race2 | Player7, Player8, Player9, Player10
Player1 and Player2 don’t race this round
Round6, Race1 | Player3, Player7, Player10, Player2
Round6, Race2 | Player6, PLayer9, Player1, Player4
Player5 and Player8 don’t race this round
In this situation Player3 and Player7 sit out an extra time but that is unavoidable.
Ideally i would either want the amount of triple rematches to be reduced (currently 15 occurances) or ensure that Player3 and Player7 do not have a triple rematch (Player2 and Player8 respectively)
Additionally I am looking for a methodical way to consistantly optimize this format, as I will also need to do this for more and less players.
I have tried to solve the problem through Excels solver, but there are too many restraints for it to function properly.
Currently i am working with a matrix that shows the amount of rematches when I shift players around, but it feels like I can’t brute force it any further.
Erwin Biere is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.