760 likes | 978 Views
Tutorial on Scheduling Sports Tournaments. Michael Trick Tepper School of Business Carnegie Mellon University CORS/INFORMS Banff May, 2004. Goals. Outline main approaches to creating tournament schedules Combinatorial Design Integer Programming Constraint Programming
E N D
Tutorial on Scheduling Sports Tournaments Michael Trick Tepper School of Business Carnegie Mellon University CORS/INFORMS Banff May, 2004
Goals • Outline main approaches to creating tournament schedules • Combinatorial Design • Integer Programming • Constraint Programming • Give a selection of open problems • Identify promising new research directions • Primarily based on survey paper by Kelly Easton, George Nemhauser and me.
Outline • Round robin scheduling • Combinatorial Design • Integer and Constraint Programming • Round robin schedule with venues (home/away) • Multiphase Approach • Schedule then Break • Traveling Tournament Problem • Sample Leagues
Why Sports Scheduling??? • Big Business! • US National TV pays $500 million / year for baseball • College basketball conferences get up to $30 million • Manchester United has (had) a market cap of £400 million • 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) • Significant theoretical background • CP and IP differ in modeling • CP has clean models with [1..n] variables • IP uses 0-1 variables reasonably naturally • Practical interest in instances at the easy/hard interface
Sample Problem 10 teams: 1..10, play each other once; 5 games per time slot (all teams play every slot), 9 slots How hard can this be? Slot 1: 1 vs 2, 3 vs 4, 5 vs 6, 7 vs 8, 9 vs 10 Slot 2: 1 vs 4, 2 vs 3, 5 vs 8, 6 vs 9, 7 vs 10 Slot 3: 1 vs 6, 2 vs 5, 3 vs 10, 4 vs 7, 9 vs 8 Slot 4: 1 vs 8, 2 vs 7, 3 vs 6, 4 vs 9, 5 vs 10 Slot 5: 1 vs 10, 2 vs 9, 3 vs 8, 4 vs 5, 6 vs 7 Slot 6: 1 vs 3, 2 vs 4, 5 vs 7, 6 vs 8, … Uh oh! Stuck with 4 slots to go!
Not convinced? 1 Graph of remaining games Every slot is perfect matching (or 1-factor) No perfect matching in graph of remaining games 9 3 7 5 2 10 4 8 6
Premature Sets • Example of premature set (Rosa and Wallis): set of scheduled slots that cannot be completed to round robin schedule • Exist for n (or more) slots; do not exist for ≤ 3 slots (for 2n>6) Open Problem: What is size of minimum premature set?
Round Robin Tournaments • 2n teams • 2n-1 time slots • Every team plays one other team in every time slot • Every team plays every other team exactly once during tournament
Existence • Is there a round-robin schedule for every 2n teams? • Yes [Kirkman 1847 or earlier] • Two constructions • Circle method • Greedy algorithm
Circle Method • Number teams 1..2n • In slot i have • i vs 2n • a vs b for a+b ≡ 2i (mod 2n-1)
Sample (2n=10) Slot 1: 10 vs 1 2 vs 9 3 vs 8 4 vs 7 5 vs 6 Slot 2: 10 vs 2 3 vs 1 4 vs 9 5 vs 8 6 vs 7 Slot 3: 10 vs 3 4 vs 2 5 vs 1 6 vs 9 7 vs 8 Slot 4: 10 vs 4 5 vs 3 6 vs 2 7 vs 1 8 vs 9 Slot 5: 10 vs 5 6 vs 4 7 vs 3 8 vs 2 9 vs 1 Slot 6: 10 vs 6 7 vs 5 8 vs 4 9 vs 3 1 vs 2 Slot 7: 10 vs 7 8 vs 6 9 vs 5 1 vs 4 2 vs 3 Slot 8: 10 vs 8 9 vs 7 1 vs 6 2 vs 5 3 vs 4 Slot 9: 10 vs 9 1 vs 8 2 vs 7 3 vs 6 4 vs 5
Why Circle Method? 1 9 2 Continue rotating to get all the slots. Key is initial set of games have all differences 8 3 10 7 4 6 5 Slot 2 Slot 1
Greedy Method • Order matches (i,j) in lexicographic order • (i,j) before (i,k) if j<k • (i,j before (k,l) if i<k • Order slots in cyclic order • Assign (1,2) to slot 1 • Repeatedly assign each game to either current slot or next slot it can feasibly go into
Example (n=10) 1 vs 2 3 vs 9 4 vs 8 1 vs 3 2 vs 10 4 vs 9 1 vs 4 2 vs 3 1 vs 5 2 vs 4 3 vs 10 1 vs 6 2 vs 5 3 vs 4 1 vs 7 2 vs 6 3 vs 5 4 vs 10 1 vs 8 2 vs 7 3 vs 6 4 vs 5 etc. 1 vs 9 2 vs 8 3 vs 7 4 vs 6 1 vs 10 2 vs 9 3 vs 8 4 vs 7
Equivalence • Anderson (1991) showed equivalence (rounds in different order) • Other non-equivalent schedules possible • Lots of choices even among one of these: permute slots, team numbers
Adding Requirements • Generally lots of other things you would like in a schedule • Carry-over effects • Venues • Fixed/prohibited games • Objective function • Some of this can still be done directly
Carry Over Effects Slot 1: 10 vs 1 2 vs 9 3 vs 8 4 vs 7 5 vs 6 Slot 2: 10 vs 2 3 vs 1 4 vs 9 5 vs 8 6 vs 7 Slot 3: 10 vs 3 4 vs 2 5 vs 1 6 vs 9 7 vs 8 Slot 4: 10 vs 4 5 vs 3 6 vs 2 7 vs 1 8 vs 9 Slot 5: 10 vs 5 6 vs 4 7 vs 3 8 vs 2 9 vs 1 Slot 6: 10 vs 6 7 vs 5 8 vs 4 9 vs 3 1 vs 2 Slot 7: 10 vs 7 8 vs 6 9 vs 5 1 vs 4 2 vs 3 Slot 8: 10 vs 8 9 vs 7 1 vs 6 2 vs 53 vs 4 Slot 9: 10 vs 9 1 vs 8 2 vs 7 3 vs 6 4 vs 5 4 almost always plays against team who just played 2
Balancing Carryover • In example: 4 has carry over effect from 2 almost exclusively • Possible to “spread” carryover effect out (no more than 1 time from any other team)?
Solution • Yes, Russell (1980), if 2n = 2n Slot 1: 1 vs 4 2 vs 5 3 vs 8 6 vs 7 Slot 2: 1 vs 5 2 vs 4 3 vs 6 7 vs 8 Slot 3: 1 vs 6 2 vs 8 3 vs 5 4 vs 7 Slot 4: 1 vs 7 2 vs 3 4 vs 6 5 vs 8 Slot 5: 1 vs 82 vs 6 3 vs 4 5 vs 7 Slot 6: 1 vs 23 vs 7 4 vs 5 6 vs 8 Slot 7: 1 vs 3 2 vs 7 4 vs 8 5 vs 6
What about for other 2n? • Combinatorial design does not (seem to) help • Construction of Russell involves Galois Fields (finite fields): might be generalized (though GF(n) does not exist for all n) • Seems unlikely that balanced schedule exists, but “best” balance is unknown (measured by sum of squared carryover values)
Current State 2n Value 6 60 (optimal Henz, Mueller, Thiel) 8 56 (optimal Russell) 10 122 (Trick) 12 188 (HMT and van Brandenburg) 14 260 (Russell) 16 240 (optimal, Russell) 18 428 (Russell) 20 520 (Russell) Open Problem: Improve on the carryover values
Additional/Alternative Requirements • Gets messier and messier as more requirements get added. • Quickly get into NP-hard problems • Example: Fix all but 3 slots. Completion problem is NP-complete (Easton, 2003) • Need to use algorithms like integer programming/constraint programming • Studied in HMT (2004) and Trick (2003)
atl phi mon nym Basic Formulation • Two fundamental constraints: • In every time slot, the games correspond to a one-factor (or matching) • For every team, its opponents over all slots are all-different ATL NYM PHI MON --- --- --- --- PHI MON ATL NYM NYM ATL MON PHI MON PHI NYM ATL All-different
One Slide on Formulating in IP • Variables can be either continuous or integer valued (often 0-1 variables) • Constraints are linear inequalities of these variables 3x1+2x2+12x3≤ 13 x2-x3 ≤ 0 etc. • Objective is linear function of the variables 12x1+2x2-3x3…
Integer Program Int n= … Range Teams [0..n-1]; Range Slots [1..n-1]; Range Binary 0..1; Var Binary plays[Teams, Teams, Slots]; // plays[i,j,t] is 1 if // i plays j in slot t Solve { forall (i in Teams, t in Slots) plays[i,i,t] = 0; //one-factor forall (ordered i,j in Teams, t in Slots) plays[i,j,t] = plays[j,i,t]; forall (i in Teams, t in Slots) sum (j in Teams) plays[i,j,t] = 1; // all-different forall (i,j in Teams: i<>j) sum(t in Slots) plays[i,j,t] = 1;
Two Slide Introduction to Constraint Programming • Variables begin with a feasible domain (generally not 0,1) • Constraints reduce the feasible domains through domain reduction • Much cleverness in defining interesting constraints and doing domain reduction • After domain reduction • If domain becomes empty: infeasible • If domains are singletons: solution • Otherwise, branch
Two Slide Example of Constraint Programming • Variables x,y,z. D(x) = {1,2}, D(y)={2,3}, D(z) = {3}. • Constraint: all-different(x,y,z) • Effects: D(y) becomes {2} which forces D(x)={1} • This domain reduction gives unique values to all variables
Constraint Program Int n = …; Range Teams [0..n-1]; Range Slots [1..n-1]; Var Teams opponent[Teams,Slots]; Solve { forall (i in Teams, t in Slots) opponent[i,t]<>i; //one-factor forall (t in Slots) one-factor(all (i in Teams) opponent[i,t]); //all-different forall (i in Teams) all-different(all (t in Slots) opponent[i,t]);
Constraint Program (cont) • But how to implement one-factorand all-different? • all-different is a well studied constraint with multiple propagation algorithms • HMT show that all-different propagation should be as strong as possible (expending extra work to reduce domains is worth it) • Work done by Régin on how to do propagation for this.
Three Models for 1-Factor • opponent[opponent[i,t],t] = i • Forall (t in Slots) alldifferent(all i in Teams) opponent[i,t] • Full propagation (uses nonbipartite matching theorems)
i j j is in i‘s domain Illustration of Propagation • Given domains D(1)={2,4} D(2)={1,3} D(3)={2} D(4)={1,3} can represent as a graph • opponent[opponent[i,t],t] = i removes any arc without corresponding reverse arc • All-different removes any arc not part of any union of node-disjoint cycles that covers all nodes • One-factor removes any arc not part of any union of node-disjoint even cycles that covers all nodes 1 2 3 4
i j j is in i‘s domain opponent[ opponent[i,t],t] = i All-different One-factor Propagation Original
Strength of Propagations • HMT showed increasing strength and proposed algorithm for one-factor • Not stronger, though, if domains are bipartite: partition nodes into X and Y such that domain of anything in X is in Y and anyting in Y is in X. • Bipartite domains occur in • Bipartite tournaments • If home/away pattern is fixed.
S Improving IP Formulation • Possible to add “odd-cut” constraints. forall (t in Slots, S Teams: |S| odd) sum (i in S, j notin S) plays[i,j,t] >= 1 • Used to remove linear relaxations like: • Can be found by minimum cut calculation (Gomory-Hu) Value .5 on every edge Satisfies linear relax.
Interesting Parallels • Odd-cuts are useful exactly when the HMT method is useful: nonbipartite domains. • Use same underlying theory: nonbipartite matching theory of Edmonds, etc.
Comparing IP and CP • Decision on IP vs CP is primarily computational • What instances to solve? Just finding unconstrained Round Robin is not interesting • Possible changes • Fixed/Prohibited games • Objective function
Test 1: Prohibited games • Series of prohibitions of the form (k,i,j): in slot k, i cannot be at j • Now problem is NP-complete (Schaerf) • Easy to add to both CP and IP • HMT: give test instances (divide their time by 4.5 to normalize machine speeds)
Test 2: Recognizing Premature Sets • Take n=10, 14, 18 etc. Divide into 2 divisions (0..4 and 5..9). Play between divisions for n/2-1 slots. • Note since odd number of teams in division, divisions cannot play solely within themselves • Slot 0 1 2 3 4 5 • --- ------------------ • 3 4 5 0 1 2 • 4 5 3 2 0 1 • 5 3 4 1 2 0 INFEASIBLE! Why?
Test 2: Premature Sets • Only fix 2 games in slot n/2: result still infeasible but hard to prove:
Test 2: Premature Sets • Not unfair test: realistic set of requirements on a schedule • Points to possibility of improved cuts/ constraints
Test 3: Maximum Value Schedules • There may be a value for having i play at j in slot k: predicted ratings, attendance, team preferences, etc. • Objective could be to maximize total value (other possibilities: maximize minimum value, etc.) • Easy to modify CP and IP
Test 3: Maximum Value Schedules: Results • Results are clear (despite efforts to find good search strategy for CP):
IP vs CP • IP and CP are competitive • Neither are truly satisfying at this stage Open Problem: Fully test Strong IP formulation Open Problem: Devise constraints/cuts that go beyond the one-factor and all-different individual constraints
Venues • Key issue in many leagues: • Every team has a home stadium (court, arena, etc.). • Each game is either a “home” game or an “away” game for a team • Issues with • Consecutive home/away • Subgroup counts (so many home in first half, so many home on weekends, etc.)
Handling venues • Combinatorial Approaches • Direct addition to integer program and/or constraint program • Multiple phase approaches • Home/away pattern generation • Schedule then break approaches
Combinatorial Approaches • De Werra did much work on this in 1980s • Generally concerned with minimizing breaks • Ideal home/away pattern in HAHAH.. (or reverse) • HH or AA is called a break
Basic insights • Teams need breaks! No more than 1 each of HAHAHAH… AHAHAHA… • So, for round robin of 2n teams, there are at least 2n-2 breaks
Minimum Break Schedule • De Werra (1981) suggests following for canonical schedule: • In slot i, i plays 2n, other games are of form i+k vs i-k for all values of k • Let i+k play at i-k if k is odd • Let i-k play at i+k if k is even • Let i play at 2n if i is even • Let 2n play at i if i is odd
Sample 1 2 3 4 5 6 1 6 5 @4 3 @2 @1 2 @3 @61 @5 4 2 3 5 @46 2 @1 @3 4 @1 2 @5 @63 4 5 4 @3 2 @16 @5 4 breaks: minimal