Generating a game schedule for a league is a surprisingly complex task. There are small simplified academic scheduling problems that remain unsolved despite decades of research. In this talk, we will describe some of the fundamental challenges in sports scheduling and describe how our software allows the user to use mathematical optimization techniques to generate schedules for the world's largest and most complex leagues.