A mixed-integer linear program (MILP) approach to scheduling a constellation of
Earth-imaging satellites is presented. The algorithm optimizes the assignment of
imagery collects, image data downlinks, and "health \& safety" contacts,
generating schedules for all satellites and ground stations in a network.
Hardware-driven constraints (e.g., the limited agility of the satellites) and
operations-driven constraints (e.g., guaranteeing a minimum contact frequency for
each satellite) are both addressed. Of critical importance to the use of this
algorithm in real-world operations, it runs fast enough to allow for human operator
interaction. This is achieved by a novel partitioning of the problem into distinct
MILPs for downlink scheduling and image scheduling, with a dynamic programming (DP)
heuristic providing a stand-in for imaging activity when scheduling the downlinks.