Just-In-Case Scheduling

This paper presents an algorithm, called Just-In-Case Scheduling, for building robust schedules that tend not to break. The algorithm implements the common sense idea of being prepared for likely errors, just in case they should occur. The Just-In-Case algorithm analyzes a given nominal schedule, determines the most likely break, and reinvokes a scheduler to generate a contingent schedule to cover that break. After a number of iterations, the Just-In-Case algorithm produces a "multiply contingent" schedule that is more robust than the original nominal schedule. The algorithm has been developed for a real telescope scheduling domain in order to proactively manage schedule breaks that are due to an inherent uncertainty in observation durations. The paper presents empirical results showing that the algorithm performs extremely well on a representative problem from this domain.