1 / 75

Tutorial on Scheduling Sports Tournaments

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

Download Presentation

Tutorial on Scheduling Sports Tournaments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tutorial on Scheduling Sports Tournaments Michael Trick Tepper School of Business Carnegie Mellon University CORS/INFORMS Banff May, 2004

  2. 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.

  3. 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

  4. 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

  5. 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!

  6. 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

  7. 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?

  8. 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

  9. Existence • Is there a round-robin schedule for every 2n teams? • Yes [Kirkman 1847 or earlier] • Two constructions • Circle method • Greedy algorithm

  10. Circle Method • Number teams 1..2n • In slot i have • i vs 2n • a vs b for a+b ≡ 2i (mod 2n-1)

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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)?

  19. 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

  20. 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)

  21. 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

  22. 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)

  23. 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

  24. 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…

  25. 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;

  26. 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

  27. 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

  28. 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]);

  29. 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.

  30. 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)

  31. 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

  32. i j j is in i‘s domain opponent[ opponent[i,t],t] = i All-different One-factor Propagation Original

  33. 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.

  34. 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.

  35. 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.

  36. 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

  37. 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)

  38. Test 1: Prohibited Games: Results

  39. 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?

  40. Test 2: Premature Sets • Only fix 2 games in slot n/2: result still infeasible but hard to prove:

  41. Test 2: Premature Sets • Not unfair test: realistic set of requirements on a schedule • Points to possibility of improved cuts/ constraints

  42. 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

  43. Test 3: Maximum Value Schedules: Results • Results are clear (despite efforts to find good search strategy for CP):

  44. 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

  45. 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.)

  46. Handling venues • Combinatorial Approaches • Direct addition to integer program and/or constraint program • Multiple phase approaches • Home/away pattern generation • Schedule then break approaches

  47. 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

  48. 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

  49. 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

  50. 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

More Related