Hi there, I hope this is an acceptable, if a bit oddball request. My maths stopped at the 'O' level stage so a bit rusty.
I run a slotcar (Scalextric) club and I am trying to work out some driver heat rotations for our meetings. We use a 4 lane track and have from 8 to 24 people racing in our meetings.
Everybody races once on each lane and I need to work it out so that their heats are as evenly spaced as possible, nobody does two races on the trot, races as many different opponents as possible and doesn't meet the same opponent more than twice.
I currently work it out by trial and error using multiple peces of paper but I wondered whether there is a mathematical formula which would do it for me.
An example of a rotation done by my usual method is posted below:
{'NumDrivers':14, 'NumLanes'4' Heats': [[2,0,9,6] [1,13,8,5] [0,12,7,4] [13,11,6,3] [12,10,5,2] [11,9,4,1] [10,8,3,0] [9,7,2,13] [8,6,1,12] [7,5,0,11] [6,4,13,10] [5,3,12,9] [4,2,11,8] [3,1,10,7]]
I obviously realise that my objectives are not achievable with low numbers (below 12) as the maths doesn't work but if there is a formula for higher numbers I would be very grateful for your help.
I run a slotcar (Scalextric) club and I am trying to work out some driver heat rotations for our meetings. We use a 4 lane track and have from 8 to 24 people racing in our meetings.
Everybody races once on each lane and I need to work it out so that their heats are as evenly spaced as possible, nobody does two races on the trot, races as many different opponents as possible and doesn't meet the same opponent more than twice.
I currently work it out by trial and error using multiple peces of paper but I wondered whether there is a mathematical formula which would do it for me.
An example of a rotation done by my usual method is posted below:
{'NumDrivers':14, 'NumLanes'4' Heats': [[2,0,9,6] [1,13,8,5] [0,12,7,4] [13,11,6,3] [12,10,5,2] [11,9,4,1] [10,8,3,0] [9,7,2,13] [8,6,1,12] [7,5,0,11] [6,4,13,10] [5,3,12,9] [4,2,11,8] [3,1,10,7]]
I obviously realise that my objectives are not achievable with low numbers (below 12) as the maths doesn't work but if there is a formula for higher numbers I would be very grateful for your help.