Scheduling the German Basketball League Stephan Westphal Institute for Numerical and Applied Mathematics, University of Göttingen, Germany Daniel H. Wagner Prize for Excellence in Operations Research Practice, October 7, 2013
The German Basketball League Founded 1964 First season 1966 : 2 leagues with 10 teams each Since 2003/2004 : First League with 16 teams Since 2006/2007 : First League with 18 teams
The German Basketball League Basketball is gaining popularity in Germany. Season Spectators Average Average Capacity Average Utilization 2006/07 1.031.096 3.370 4.577 74 % 2007/08 1.061.743 3.469 4.254 82 % 2008/09 1.118.175 3.654 4.696 78 % 2009/10 1.149.487 3.756 4.795 78 % 2010/11 1.166.636 3.813 4.891 78 % 2011/12 1.322.605 4.322 5.144 84 %
Sports Scheduling Instance: n Teams, n1 time slots,n*(n1)/2 matches Task: A schedule for the matches between these teams (SingleRoundRobinTournament) Constraints: Every encounter exactly once Exactly one match for every team in each time slot
Sports Scheduling Is it really hard to find a schedule for a sports league? Day 1: Day 2: Day 3: Problem: The other games cannot be assigned to the remaining time slots!!
The German Basketball League Task: Find a schedule that fulfills the following requirements in a best possible way: Optimal compatibility to availabilty of sports sites Minimization of successive homegames (home breaks) Minimization of successive awaygames (away breaks) Utilization by the media Derby matches shall be assigned to specific day Additional wishes for home/away games or specific encounters on single days.
HomeAvailabilityConstraints German soccer stadiums are always accessible for soccer matches. Any german soccer team can always play in its stadium.
HomeAvailabilityConstraints German basketball teams play in multipurpose arenas.
HomeAvailabilityConstraints Example: Lokhalle in Göttingen
HomeAvailabilityConstraints German basketball teams play in multipurpose arenas. SportsSites are not always available. This is the most important Problem for the German Basketball League. Postponed games Less ticket sales Unbalanced standings
Minimization of successive homegames Homegames should be followed by Away games and vice versa Less tickets might be sold otherwise.
Utilization by the media The German TV Channel Sport 1 offers 30 broadcasting slots for season 2011/2012 Optimal Distribution of top games over these slots is mandatory
Minimization of distances on derby day On January 2 the sum of the distances Driven by the teams (and the fans) shall be minimized.
First Approach: The Canonical Schedule
First Approach: The Canonical Schedule A heuristical approach Day 1: Day 2: Day 3: Day 4: Day 5: We call this schedule the Canonical schedule
First Approach: The Canonical Schedule 1. Generate Canonical Schedule First half of season 1. Repeat games of first half with changed homefieldadvantage Second half of season
First Approach: The Canonical Schedule Observation: The whole schedule just depends on the assignment of the first day. Find best assignment of teams to nodes of graph representing the first day. => n! different schedules
First Approach: The Canonical Schedule Result: Viol. Availability Constraints: 31 Breaks: 48 Viol. HomeAwayWishes: 3 Viol. Encounters: 2 Distance driven on derby day : 3462 km Computation Time : 14.9 s
First Approach: The Canonical Schedule + Encounter Optimization Result: Viol. Availability Constraints: 31 Breaks: 48 Viol. HomeAwayWishes: 3 Viol. Encounters: 3 Distance driven on derby day : 2288 km Computation Time : 30.3 s
First Approach: The Canonical Schedule +Encounter Optimization+Break Minimization Result: Viol. Availability Constraints: 22 Breaks: 120 Viol. HomeAwayWishes: 4 Viol. Encounters: 3 Distance driven on derby day : 2288 km Computation Time : 75.5 s
Second Approach:VenueBased Optimization
Second Approach:VenueBased Optimization Result: Viol. Availability Constraints: 14 Breaks: 182 Viol. HomeAwayWishes: 5 Viol. Encounters: 2 Distance driven on derby day : 1097 km Computation Time : 126.9 s
Time to try something new
Third Approach: Asymmetric Scheduling
Third Approach: Asymmetric Scheduling Every symmetric plan violates at least 14 homeavailability constraints. What about asymmetric plans? We still need: Every pair of teams meets exactly once per half. Each team plays 89 home games in each half. It s time for an ILP
Third Approach: Asymmetric Scheduling T:={1,2,,n} : set of teams, D:={1,2,,2n2} : set of time slots. Decision Variables 1, if i plays j at time d at i s site x i,j,d = 0, otherwise w i,d = 1, if i is having a break at time d 0, otherwise
Third Approach: Asymmetric Scheduling Objective Function: (HomeAvailability) (BreakMinimization) (TVBroadcasting) (Derbys)
Third Approach: Asymmetric Scheduling Constraints: (One Game per time) (Every match once) (Once in 1st half) (Once in 2nd half) (Derby)
Third Approach: Asymmetric Scheduling Constraints: (HomeBreaks) (AwayBreaks) (Broadcasting slots 1) (Broadcasting slots 2) (Broadcasting slots 3)
Third Approach: Asymmetric Scheduling Result: Viol. Availability Constraints: 0 Breaks: 146 Viol. HomeAwayWishes: Viol. Encounters: Distance driven on derby day : 1653 km Computation Time : 5613 s (Interruption after 12h)
Third Approach: Asymmetric Scheduling 146 breaks: Not acceptable
Third Approach: Asymmetric Scheduling Conclusions: Easy to formulate Not applicable to NonCommercial Solver GLPK anymore. With CPLEX or Gurobi: Solver gets stuck in suboptimal branch Runs forever Solution not good enough
Fourth Approach: The Hybrid Model
Fourth Approach: The Hybrid Model Approach: 1. Compute startsolution S with heuristic model. (VenueBased) 2. Use S as warmstart solution for asymmetric IPModel. 3. Fix some variables. 4. Several more runs of IP, thereby relaxing constraints, fixing variables,... 5. Postoptimize HAAssigment
Fourth Approach: The Hybrid Model Result: Viol. Availability Constraints: 0 Breaks: 74 Viol. HomeAwayWishes: 1 Viol. Encounters: 0 Distance driven on derby day : 1097 km Computation Time : 1055 s
Evaluation
From Model to Scheduling Solution A standalone software has to be easily operable by the project partner GUI is mandatory Interaction with solver necessary capable to solve the problems of the next seasons as well very general formulation of constraints robust and adjustable behaviour of optimizer
The Beko BBL Spielplanoptimierer 1.0 Entry of data Solution Scenario Handling Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Entry of data for teams: name, attractivity for TV broadcasting, GPScoordinates (for derbies) Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Management of rounds Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Sports site availability 1= site available 0= sits already blocked Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Administration of HomeAway Wishes Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Administration of Encounter Wishes Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Priorities for optimization, determination of derby day Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Beko BBL League Optimizer Display of generated schedule Various Filters can be used to show the result of the optimization.
The Beko BBL Spielplanoptimierer 1.0 Display of solution quality: Availability of sports sites Distribution of Wednesdays Distances on derby day Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Display of solution quality: HomeAwayPatterns Distribution of top games for TVbroadcasting Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Display of progress of optimization and control of optimization process Beko BBL League Optimizer
The Beko BBL Spielplanoptimierer 1.0 Comparison of solutions Beko BBL League Optimizer
Thank you very much!
Evaluation
Sports Scheduling Instance: n Teams, n1 time slots,n*(n1)/2 matches Task: A schedule for the matches between these teams (SingleRoundRobinTournament) Constraints: Every encounter exactly once Exactly one match for every team in each time slot
Sports Scheduling Is it really hard to find a schedule for a sports league? Day 1: Day 2: Day 3: Problem: The other games cannot be assigned to the remaining time slots!!
Sports Scheduling The first n/2+2 time slots can always be chosen in a way such that the given assignment cannot be extended to a feasible schedule for all n 10. [Rosa, Wallis, 1982] Any assignment for the first three days can be extended to a feasible schedule for all n 8. [Rosa, Wallis, 1982]
Sports Scheduling A heuristical approach Day 1: Day 2: Day 3: Day 4: Day 5: We call this schedule the Canonical schedule
Double RoundRobinTournament Instance: Task: n teams, 2*(n1) time slots, n*(n1) matches Assign matches to time slots Constraints: Every team has to play against each other team once at his home venue (home game) and once at the other team s venue (away game). Every team plays exactly one match per time slot Double RoundRobin Tournaments can be derived from Single RoundRobin Tournaments by Mirroring.
HomeAvailabilityConstraints Lemma: There is always a schedule which obeys half of the Home AvailabilityConstraints. Proof: Consider any schedule S and the schedule S which is derived from S by changing all of the home field advantages. As each HomeAvailabilityConstraints is satisfied by either S or S, the claim follows.
Breaks After each home game there should be an away game and after each away game there should be a home game. A violation of this rule is called a break. Observation: On each day, the number of home and away breaks is the same. Proof: Suppose not. HAHA HAHA AHAH AHAH A A H A
Breaks Lemma Every SingleRoundRobinTournament with n teams has at least n2 breaks. Proof Suppose not. Then, there are 3 teams a,b,c which do not have a break at all a: AHAHAHAHAH b: AHAHAHAHAH c: HAHAHAHAHA a can never play against b.
Breaks Lemma Every SingleRoundRobinTournament with n teams has at least n2 breaks. Corollary Every DoubleRoundRobinTournament with n teams has at least 2n4 breaks.
Sports Scheduling Instance: n Teams, n1 time slots,n*(n1)/2 matches Task: A schedule for the matches between these teams (SingleRoundRobinTournament) Constraints: Every encounter exactly once Exactly one match for every team in each time slot
Sports Scheduling Is it really hard to find a schedule for a sports league? Day 1: Day 2: Day 3: Problem: The other games cannot be assigned to the remaining time slots!!
Sports Scheduling The first n/2+2 time slots can always be chosen in a way such that the given assignment cannot be extended to a feasible schedule for all n 10. [Rosa, Wallis, 1982] Any assignment for the first three days can be extended to a feasible schedule for all n 8. [Rosa, Wallis, 1982]
Second Approach:VenueBased Optimization Every plan we consider is symmetric in the following way: Match AB on day d implies match BA on day d+17 (d =1,...,17). If A cannot play at home on day d and d+17, there will be a violation in any schedule.
Second Approach:VenueBased Optimization HomeAvail. (d) HomeAvail. (d+17) Team A True True Team B False True 0 Violation HomeAvail. (d) HomeAvail. (d+17) Team A False True Team B False False 1 Violation HomeAvail. (d) HomeAvail. (d+17) Team A False False Team B False False 2 Violations
Second Approach:VenueBased Optimization Approach: 1. Assign games to days without Home /AwayAssignment such that number of violations is minimized (Formulation as IP) Schedule S 2. Optimize HomeAwayAssignment (IPFormulation)
Sports Scheduling The first n/2+2 time slots can always be chosen in a way such that the given assignment cannot be extended to a feasible schedule for all n 10. [Rosa, Wallis, 1982] Any assignment for the first three days can be extended to a feasible schedule for all n 8. [Rosa, Wallis, 1982]
The German Basketball League Basketball is gaining popularity in Germany. Season Spectators Average Average Capacity 2004/05 919.125 3.404 2005/06 977.046 3.619 4.238 84,50% 2006/07 1.160.931 3.455 4.617 74,80% 2007/08 1.198.325 3.577 4.254 84,10 % 2008/09 1.294.045 3.874 4.725 82,00 % 2009/10 1.302.350 3.888 4.792 81,12 %
Comparison of the models