View Single Post
Old 12-18-2015, 03:42 PM   #74
Fishbreath
Minors (Double A)
 
Fishbreath's Avatar
 
Join Date: Oct 2015
Posts: 145
I have some ideas to help spread off days around a little more, but they'll take some time to implement. As it is, The Game, you'll probably need between 15 and 20 off days over the course of the season, and there are still issues with off-day clustering. (The scheduler works less hard at finding good start days when the schedule is sparse, and schedules games in rough order from start to finish, so the start ends up less full, and the end gets packed.)

My endgame plan is to split the problem up into more manageable problems: the only case I have the brainpower/computational resources to consider is the case where every team has an identical schedule: that is, it plays the same number of games organized into the same number of series of the same types as every other team. (This leaves room open for e.g. playing 7 games against some divisional opponents and 6 games against others, or other slightly-odd combinations in the same schedule category, but that's a different part of the scheduler.) Given those constraints, I can probably split the schedule into schedule blocks, as I've discussed before.

Here's a quick schedule block recap: a schedule block contains a subset of teams and a subset of games, and puts them together in a small block. (Small blocks are easier to plan, and easier to retry if they don't work at first.) Consider two teams from D1 (T1, T2) and two teams from D2 (T3, T4). Each team needs to play each other team in the block, with series lengths 4 and 2, respectively, and we need a break day sometime in this block. Figure something like this:
T1vT2 T3vT4
T1vT2 T3vT4
T1vT2 T3vT4
T1vT2 T3vT4
break
T1vT4 T3vT2
T1vT4 T3vT2

That's an independent seven-day chunk of schedule, so we can slot it in alongside any other independent seven-day chunk of schedule, and build a season out of easy problems.

The tricky part will be deciding the schedule blocks. It's important that they be as small as possible, but also flexible enough to accommodate, say, two three-game interleague series in the same seven days as the earlier example.

That's almost certainly a project for the new year, though. I will, however, likely have a small bugfix release sometime around Christmas.
Fishbreath is offline   Reply With Quote