We have created a framework that provides a way to represent a wide range of scheduling and assignment problems across many domains. We have also created an optimizing scheduler that can, without modification, solve any problem represented using this framework. The three components of a problem representation are the metadata, the data, and the scheduling semantics. The scheduler performs the o...