Accommodating late check-ins
Posted: Mon May 19, 2014 8:44 am
If you've run more than a few derbies, you've almost certainly had the experience of having to deal with a late arrival (or, worse, an on-time racer whose presence wasn't immediately recorded) for a group (den) that's already started, but not completed, racing. There are cases where such a racer may or should be turned away, but for this discussion, let's assume that the goal is to include the racer in with his group, to the greatest extent possible.
I've seen the advice that such a case should be handled by adding manual heats (in GPRM) in which the late arrival races alone in each lane. That's not a bad answer, but I've been thinking lately about how to do better.
In particular, in a one-heat-per-lane-per-racer chart, if the number of heats remaining is at least (number of lanes - 1), then the late racer could be accommodated by adding just one extra heat (so there are now at least number-of-lanes heats remaining), and then, for each lane, picking one heat for the new racer to appear in that lane. The previously-scheduled racer displaced by the new racer then populates the new (last) heat, without changing lanes. (If the new racer gets placed in the last heat, then there's no one to displace for that lane, obviously.) This strategy produces (number-of-lanes) x (number-of-heats-remaining) possible charts, which isn't a whole lot (if you're a computer), so each can be practically generated and evaluated for equality of opposition, or any other criteria you'd like.
If you start from a partial perfect chart, the result unfortunately need not be partial perfect (even if your search criteria prefers it); it's pretty easy to find examples. However, the difference between the greatest head-to-head matchup count and the least head-to-head matchup count in the chart increases by no more than 2 (for a single-round chart). I suspect but can't yet prove that the increase can be kept to 1, but I also haven't explored a lot of examples yet.
Another interesting strategy is to try renumbering the cars from the heats that have already been run, in such a way that those heats can be incorporated directly as ppn heats for the larger field. Obviously this isn't always possible, but gives a better result when it is possible.
I've seen the advice that such a case should be handled by adding manual heats (in GPRM) in which the late arrival races alone in each lane. That's not a bad answer, but I've been thinking lately about how to do better.
In particular, in a one-heat-per-lane-per-racer chart, if the number of heats remaining is at least (number of lanes - 1), then the late racer could be accommodated by adding just one extra heat (so there are now at least number-of-lanes heats remaining), and then, for each lane, picking one heat for the new racer to appear in that lane. The previously-scheduled racer displaced by the new racer then populates the new (last) heat, without changing lanes. (If the new racer gets placed in the last heat, then there's no one to displace for that lane, obviously.) This strategy produces (number-of-lanes) x (number-of-heats-remaining) possible charts, which isn't a whole lot (if you're a computer), so each can be practically generated and evaluated for equality of opposition, or any other criteria you'd like.
If you start from a partial perfect chart, the result unfortunately need not be partial perfect (even if your search criteria prefers it); it's pretty easy to find examples. However, the difference between the greatest head-to-head matchup count and the least head-to-head matchup count in the chart increases by no more than 2 (for a single-round chart). I suspect but can't yet prove that the increase can be kept to 1, but I also haven't explored a lot of examples yet.
Another interesting strategy is to try renumbering the cars from the heats that have already been run, in such a way that those heats can be incorporated directly as ppn heats for the larger field. Obviously this isn't always possible, but gives a better result when it is possible.