Real sports scheduling problems are difficult to solve due to
the variety of different constraints that might be imposed. Over the last
decade, through the work of a number of researchers, it has become easier
to solve round-robin tournament problems. These tournaments can then
become building blocks for more complicated schedules. For example,
we have worked extensively with Major League Baseball on creating
“what-if” schedules for various league formats. Success in providing those
schedules has depended on breaking the schedule into easily solvable
pieces. Integer programming and constraint programming methods each
have their places in this approach, depending on the constraints and
objective function.