Sports scheduling (i.e., the problem of deciding which teams should play each other in which week) provides a rich problem to attack in the area of integer linear programming. Typical constraints would take the form:

- teams 1 and 4 can't play each other in week 4. - teams 4 and 5 can't play each other in the same week as teams 2 and 3. - Attendance objectives: given a projected attendance for each game and each week, maximise the total projected attendance.

This project will be about implementing methods to solve sports scheduling problems under various kinds of constraints such as these, but with particular focus on maximising the *entertainment* value of a given schedule. E.g., given some projected results of each game, find the schedule that leaves the identity of the overall champions open for as long as possible.