Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | tanek-buck |
View: | 30 times |
Download: | 0 times |
Sports Scheduling and the “Real World”
Michael TrickCarnegie Mellon University
May, 2000
Outline
• Working with Major League Baseball
• Working with College Basketball• Some Real Life conclusions
The Beginnings
January 1996. Phone call from Doug Bureman (former Executive VP for the Pirates). Want to look at scheduling Major League Baseball?
Major League Baseball
Current Schedulers: Henry and Holy Stevenson
IssuesQuality of schedule?ExpansionInterleague Play
Natural Response
Sure!! How hard can this be?
“How about the end of February (1996)?”
Little did I know……
Defining the Problem
Approximately 150 pages of requests, requirements
Countless amount of informal information (known to all of baseball, but never written)
Underlying Problem (circa 1996)
Two leagues: National League and American League
Fourteen teams per league (now 16/14)No interleague play (now ~6
series/team)26 week seasonDouble round robin: 13*4=52Two series per week! (Almost…)
Series
While teams play 162 games (over 182 days), think in terms of seriesHome stand: consecutive home seriesAway trip: consecutive away series
Quality of schedule is based almost solely on the quality of these.
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
Requirementshalf weekends homehalf summer
weekends homeStadium
unavailabilityRequired open/finishNo repeaters
Requests/preferences
Holiday requestsSemi-repeatersPreferred summer
matchupsPreferred
open/finish
Why Was I Confident?Lots of ideas:
Combinatorial design: looks at tournaments
Matching: Every slot is a matching: solve series of matchings
Greedy with local search: always works well
Integer Programming: if necessary
Combinatorial Design
• Looks at tournaments, but not our tournaments– Example: Find tournament with
minimum number of AA or HH– Our requirements don’t match up well
Matchings
Solve series of matchingsCosts depend on previoussolution
Nice idea: can’t makeit work: requirementsand patterns leadquickly to infeasibility
Local Search: No! Slot ATL NYM PHI MON FLA PIT
0 FLA @PIT @MON PHI @ATL NYM
1 NYM @ATL FLA @PIT @PHI MON
2 PIT @FLA MON @PHI NYM @ATL
3 @PHI MON ATL @NYM PIT @FLA
4 @MON FLA @PIT ATL @NYM PHI
5 @PIT @PHI NYM FLA @MON ATL
6 PHI @MON @ATL NYM @PIT FLA
7 MON PIT @FLA @ATL PHI @NYM
8 @NYM ATL PIT @FLA MON @PHI
9 @FLA PHI @NYM PIT ATL @MON
NYM@PHI Mon@Pit
Leaves: Integer ProgrammingNormal formulation: x(i,j,t) doesn’t
workUse “column generation ideas” a la
airline crew scheduling• Change variables: decision is on
trips/home stands– one variable for each road trip (start slot,
duration, opposing teams)– one variable for each home trip (start
slot, duration)
Formulation
• Sample Variables:
@NY @MON
@MON @PHI
@NY
H H
H
X1
X2
X3
Y1
Y2H
Constraints
• One thing per time: X1+X2+Y1+Y2 1
@NY @MON
@MON @PHI
H H
H
X1
X2
Y1
Y2H
Constraints
• No Away followed by Away X1+X3 1
@MON @PHI
@NY
X2
X3
Constraints
• Stronger (needed!): X1+X2+X3+Y2 1
@NY @MON
@MON @PHI
@NY
H
X1
X2
X3
Y2H
Constraints
• Single team constraints set packing/partitioning problem
• Many constraints known: conflict graph has nice structure
Linking Constraints
• Constraints from different teams linked by “If a at b then b at home” constraints:
X1+X3 - YNY1-YNY2 0
Lots and Lots of Other Things
• Costs based on Bureman’s knowledge
• Additional constraints for other requirements
• Nasty IP that doesn’t solve• Various simplifications to get
reasonable answers
Results
• Solutions are slow in coming• Results good enough to be MLB’s
“backup schedulers” for the last four years
• Henry and Holly are pretty good!
Experiences in Basketball• Apply knowledge to
other leagues• Met up with George
Nemhauser (and later, Kelly Easton) at Georgia Tech
• Schedule the Atlantic Coast Conference?
That’s the Ticket!
Much easier! 9 teams, 16 games over 18 slots (due to the bye game)
Few travel issuesLots and lots of discussion with the
person responsible
Technique Developed
Three phases:Find H/A patterns (IP)Assign games to H/A patterns (IP)Assign teams to H/A patterns (enumerate)
(details in Operations Research paper)
Result (in Practice)Worked great!
Complete search of possibilities within a day (after 10 minute setup: automatic)
Iterated a dozen times (or more) over two month period to create chosen schedule
Result: scheduled ACC (men’s/women’s) for four years. Also Patriot league, MAC …
Result (in Academia)
Good aspectsOperations Research publication appeared just as first games being played
Lead to much further refinements (and Easton’s dissertation)
Results (the Bad Side) Reality had different objective than
academia:Reality: one day fineAcademia: “I can do better” (particularly in CP community)
Misguided (IMHO) view: CP beat IP on this problem (CP better for the complete enumeration phase: no good IP (but better enumerations possible)).
Important?Absolutely!
MLB: $1.5 billion+/year, much from people/groups who care very much about the schedule
ACC: ESPN TV contract predicated on being able to provide adequate schedule ($10 million+/year)
Lessons from the “Real World”Real problems are incredibly messyBaseball
messiness is not underlying issue: try to solve http://mat.gsia.cmu.edu/TOURN (MLB instances without the details)
messiness makes it impossible to attack without an insider (Doug in my case)
Technique must take advantage of this information: algorithmist as partner.
Lessons from “Real World”
State of the Art is usefulcolumn generation (or branch and price) provided insight to reasonable formulation: seen over and over again in IRS budgeting, telemarketer employee scheduling, electronics inventory setting, ……
Lessons From the “Real World”
Never say something can be done in a month (unless you want to be reminded of that for five years)!