A Genetic-Algorithm-Based Reconfigurable Scheduler David Montana, Talib Hussain and Gordon Vidaver BBN Technologies, Cambridge MA 02138, USA dmontana@bbn.com, thussain@bbn.com, gvidaver@bbn.com Summary. Scheduling problems vary widely in the nature of their constraints and optimiza- tion criteria. Most scheduling algorithms make restrictive assumptions about the constraints and criteria and hence are applicable to only a limited set of scheduling problems. A recon- figurable scheduler is one that, unlike most schedulers, is easily configured to handle a wide variety of scheduling problems with different types of constraints and criteria. We have im- plemented a reconfigurable scheduler, called Vishnu, that handles an especially large range of scheduling problems. Vishnu is based upon a genetic algorithm that feeds task orderings to a greedy scheduler, which in turn allocates those tasks to a schedule. The scheduling logic (i.e. constraints and optimization criteria) is reconfigurable, and Vishnu includes a general and easily expandable framework for expressing this logic using hooks and formulas. The sched- uler can find an optimized schedule for any problem specified in this framework. We illustrate Vishnu’s flexibility and evaluate its performance using a variety of scheduling problems, in- cluding some classic ones and others from real-world scheduling projects. 1 Introduction Most optimizing schedulers solve a limited class of scheduling problems in a single domain. In contrast, a reconfigurable scheduler can solve a wide range of different problems across a variety of domains. Using a reconfigurable scheduler, a user should be able to switch easily between scheduling, for example, taxicab pickups, athletic fields, factory machinery, classrooms, and service visits. Although the term “reconfigurable scheduler” is new, the concept of reconfig- urable scheduling has existed for decades, and a variety of reconfigurable schedulers have been created. However, the progress in this area has been slow recently. To a large extent, this reflects the view that the existing reconfigurable scheduling frame- works, such as AMPL [1] and OPL Studio [2], are as powerful as possible, and offer little room for improvement. However, we claim that our more recently developed re- configurable scheduler, called Vishnu, is a significantly better approach that is closer to the ideal of full coverage of real-world scheduling problems. Like other reconfigurable schedulers, Vishnu has both an optimizer and a prob- lem representation framework, as first described in lesser detail in [3]. Unlike other