OR in Sports or Adventures in Sports Scheduling
2008 Region 1 IIE Student Regional Conference Michael Trick Tepper School,Carnegie Mellon
A Story
The secret weapon
A bit more
[Company X] develops enterprise software solutions in the enterprise asset management, change management, and ITIL Service Management markets
To be continued…
Why Sports Scheduling???
Big Business! US National TV pays $500 million / year for baseball College basketball conferences get up to $30 million Manchester United privatized for about £800 million and gets more than £15 million in sponsorship per year No rights holder wants to pay those sums and then get a “bad” schedule. Huge variety of problem types Small instances are difficult Strong break between easy/hard (for all algorithms) Practical interest in instances at the easy/hard interface A lot more fun to talk about than machine shop scheduling
General Trends
Plus
Faster computers Better algorithms (Better data)
“We solve linear programs 5,000,000 times faster than we did in 1996”
Bob Bixby, ILOG
The Schedule
(now) 30 teams, 2 leagues Teams spread all over US and a bit of Canada Each team plays 162 games over 182 day season (packed!) Generally play 2 series of games per week (a series is 2-4 games against a single team) What makes a good schedule?
2004 Tigers schedule
Keys to Schedule Quality
Two primary drivers of schedule quality:
DISTANCE
FLOW
Key aspects
Distance not cost (primarily) wear and team: primarily cross time zone Flow ideal is 2 H, 2 A, 2 H, 2 A … three is OK, one is possible, 4 avoided
Other Aspects
Requirements
half weekends home half summer weekends home Stadium unavailability Required open/finish No repeaters
Requests/preferences
Holiday requests Semi-repeaters Preferred summer matchups Preferred open/finish Conflicts in two-team cities
The Process for 2005 Schedule
January 2004. Teams fill out questionaires (about 5 pages each) February-June 2004. Schedule creation, iteration with MLB office July 2004. Teams receive tentative schedule, provide feedback August 2004. Schedule given to players Association End of August 2004. Schedule fixed. Teams add start times.
The competition
Multiple groups prepare schedules No formal decision process: the league chooses the one they like
Hard?
Oh yes! There are more than 10225 schedules for a Double Round Robin schedule for 16 teams (alone) Ongoing research (lots of papers) shows difficult to solve some problems (to optimality) for even 8 team problems! – to be discussed
Integer Programming and Constraint Programming
Direct approaches allow formulation of most or all aspects of MLB problem Good software available Break up into Round Robin Segments
Phases of schedule where subsets of teams play among themselves
Changes every year since 1996
1996 Schedule
Double Round Robin among All teams
Double Round Robin among All teams
2003 Hypothetical Schedule
Double Round Robin among All Teams
Single RR Among all teams DIV RR
DIV RR
DIV RR
2005-today Schedule
Primarily
Divisional Double Round Robin League Double Round Robin Divisional Double Round Robin Interleague Slots
Complicated by Division Size (4, 5 or 6)
Why Break into Round Robins?
Good Things: More knowledge of how to do Round Robin Scheduling Resulting schedules are easy to explain Naturally causes good separation between consecutive visits Bad Things: Forces particular formats Limits quality of schedule (except for separation) First RRs solved enforce restrictions on following RRs. At the end, makes generating many formats much easier
Main Ideas of Approach
Decompose into smaller (almost solvable) pieces Interleague first Round robins First series, then game assignment
Main Ideas in Our Approach
Variables that encapsulate higher-level structures.
Not x[i,j,t] = 1 if i at j in time t Better is 0-1 variable for “Pittsburgh plays at NY in time 2, then PHI in time 3, then ATL in time 4” (roadtrip)
Many more variables, but fewer constraints Much tighter relaxation Able to have many more idiosyncratic costs
Main ideas in our method
Large Scale Local Search Don’t exchange pairs of games (impossible to get back to feasibility) Take a schedule; relax ¼ of it; resolve; repeat for days on end
Main ideas of our method
New computational methods Constraint programming Integration between integer and constraint programming
Result
Good schedules quick Further work on college basketball scheduling (ACC schedulers since 1998) Umpire scheduling
Try yourself?
Check out the Traveling Tournament Problem http://mat.tepper.cmu.edu/TOURN
Back to the story
Things to remember
IE/OR skills important in service industries New methods/computer speed/data make our approach more important than ever Try it: http://mat.tepper.cmu.edu/TOURN Sports is a pretty good IE application