Automated Scheduling for Satellite Fleets

Inspired by the commercial successes of evolutionary scheduling, our research seeks to apply evolutionary programming methodology to the problem of scheduling Earth-observing satellite fleets. Satellite scheduling is a particulary difficult optimization problem, consisting of planning the image-taking activities of many, multi-instrument satellites. There are numerous constraints, including fixed image locations, imager slew and duty cycle, memory limitations, and downlink locations. Many of these constraints are complex and poorly understood, making this problem a prime candidate for using evolutionary programming techniques.

The focus of our research in this area is to conduct a comparison study between evolutionary algorithms (EAs) and more traditional scheduling approaches. Specifically, we have developed a representative set of problems, produced optimization software (in Java) to solve them, and run experiments comparing techniques. We've obtained initial results of a comparison of several evolutionary and other optimization techniques (namely the genetic algorithm, simulated annealing, squeaky wheel optimization, and stochastic hill climbing). We've also compared separate satellite vs. integrated scheduling of a two satellite constellation. While the results are not definitive, tests to date suggest that simulated annealing is the best search technique and integrated scheduling is superior.

The potential impact of this research would be to significantly enhance satellite utilization, making the collection of scientific data much more cost-effective.

A visualization of an evolved weekly schedule for the satellite dataset.