Quote:
Originally Posted by Joe Ross
Here's a link to an explanation of Tom's algorithm (assuming he hasn't tweaked it too much) since march.
|
The algorithm is pretty much the same, but Cathy and I made it run about 10 times faster. We also added the red/blue balancing, which just switches alliance positions after the schedule is generated, so it doesn't affect any of the other schedule properties.
Quote:
Originally Posted by Dave Flowerday
Setting the match spacing incorrectly will cause a terrible schedule, no matter what the algorithm. This one is no different, of course. To really use this algorithm effectively, I think FIRST should decide on a match spacing ahead of time, and dictate it to the regionals. Maybe even put it in ranges (something like, 20-30 teams use match spacing 3, 31-40 teams use 4, 41-50 use 5, etc). I generally don't like hard-coding things, but perhaps make the scoring software automatically choose this number as a default and put the option to change it in a hidden menu or something.
To see what I mean, take this new match generation software and plug in 30 teams, 10 rounds, with minimum spacing of 5 (from what I've seen, 5 is a commonly-chosen number for minimum match spacing at many regionals). The resulting schedule is pretty ugly and would still generate a bunch of "the scheduling algorithm sucks!" messages here on CD if it were used at an event. Even 30 teams, 10 rounds, match spacing 4 isn't too great (and would still generate complaints, I'll bet).
|
That's a great point. For 30 teams, with six teams per match, the largest gap between matches that can be applied to all teams for every round is 30/6 = 5. Setting the minimum gap to 5 gives the algorithm very little room to work, and produces a poor schedule.
If not specified as an option, the program uses two fewer than the best possible value, or if that value is less than one (i.e., fewer than 18 teams at a regional), it chooses 1. So for 30 teams, the default is 30/6-2 = 3.
We picked this rule because it seemed to give pretty good results across a broad range of regional configurations, but I wouldn't claim we've tested all reasonable cases.
It would be easy to remove the option to set it manually, but that would make it even more important that the default gives good results. We could also allow the option, but enforce a range, for example: teams/6-2 or smaller, with some appropriate minimum.
So, please experiment. If there's a default value, or range, that the FRC community and FIRST think is good enough to make mandatory, we'll be happy to make the change.