tutorial on scheduling sports tournaments

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

Upload: burton-rhodes

Post on 02-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tutorial on Scheduling Sports Tournaments

Tutorial on Scheduling Sports Tournaments

Michael TrickTepper School of BusinessCarnegie Mellon University

CORS/INFORMS Banff May, 2004

Page 2: Tutorial on Scheduling Sports Tournaments

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.

Page 3: Tutorial on Scheduling Sports Tournaments

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

Page 4: Tutorial on Scheduling Sports Tournaments

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

Page 5: Tutorial on Scheduling Sports Tournaments

Sample Problem10 teams: 1..10, play each other once; 5 games per time slot (all teams play every slot), 9 slotsHow 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

Uh oh! Stuck with 4 slots to go!

Slot 6: 1 vs 3, 2 vs 4, 5 vs 7, 6 vs 8, …

Page 6: Tutorial on Scheduling Sports Tournaments

Not convinced?

9

1

75

3

6

2

410

8

Graph of remaining games

Every slot is perfect matching(or 1-factor)

No perfect matching in graphof remaining games

Page 7: Tutorial on Scheduling Sports Tournaments

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?

Page 8: Tutorial on Scheduling Sports Tournaments

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

Page 9: Tutorial on Scheduling Sports Tournaments

Existence

Is there a round-robin schedule for every 2n teams?

Yes [Kirkman 1847 or earlier] Two constructions

Circle methodGreedy algorithm

Page 10: Tutorial on Scheduling Sports Tournaments

Circle Method

Number teams 1..2n In slot i have

i vs 2na vs b for a+b ≡ 2i (mod 2n-1)

Page 11: Tutorial on Scheduling Sports Tournaments

Sample (2n=10)

Slot 1: 10 vs 1 2 vs 9 3 vs 8 4 vs 7 5 vs 6Slot 2: 10 vs 2 3 vs 1 4 vs 9 5 vs 8 6 vs 7Slot 3: 10 vs 3 4 vs 2 5 vs 1 6 vs 9 7 vs 8Slot 4: 10 vs 4 5 vs 3 6 vs 2 7 vs 1 8 vs 9Slot 5: 10 vs 5 6 vs 4 7 vs 3 8 vs 2 9 vs 1Slot 6: 10 vs 6 7 vs 5 8 vs 4 9 vs 3 1 vs 2Slot 7: 10 vs 7 8 vs 6 9 vs 5 1 vs 4 2 vs 3Slot 8: 10 vs 8 9 vs 7 1 vs 6 2 vs 5 3 vs 4Slot 9: 10 vs 9 1 vs 8 2 vs 7 3 vs 6 4 vs 5

Page 12: Tutorial on Scheduling Sports Tournaments

Why Circle Method?

10

1

5

3

7

8

9

6

4

2

Slot 1Slot 2

Continue rotatingto get all theslots. Key isinitial set of gameshave all differences

Page 13: Tutorial on Scheduling Sports Tournaments

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

Page 14: Tutorial on Scheduling Sports Tournaments

Example (n=10)

1 vs 2 3 vs 9 4 vs 81 vs 3 2 vs 10 4 vs 91 vs 4 2 vs 31 vs 5 2 vs 4 3 vs 101 vs 6 2 vs 5 3 vs 41 vs 7 2 vs 6 3 vs 5 4 vs

101 vs 8 2 vs 7 3 vs 6 4 vs 5 etc.1 vs 9 2 vs 8 3 vs 7 4 vs 61 vs 10 2 vs 9 3 vs 8 4 vs 7

Page 15: Tutorial on Scheduling Sports Tournaments

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

Page 16: Tutorial on Scheduling Sports Tournaments

Adding Requirements

Generally lots of other things you would like in a scheduleCarry-over effectsVenuesFixed/prohibited gamesObjective function

Some of this can still be done directly

Page 17: Tutorial on Scheduling Sports Tournaments

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 5 3 vs 4

Slot 9:10 vs 9 1 vs 8 2 vs 7 3 vs 6 4 vs 5

4 almost always playsagainst team who justplayed 2

Page 18: Tutorial on Scheduling Sports Tournaments

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

Page 19: Tutorial on Scheduling Sports Tournaments

Solution

Yes, Russell (1980), if 2n = 2n

Slot 1: 1 vs 42 vs 5 3 vs 8 6 vs 7Slot 2: 1 vs 52 vs 4 3 vs 6 7 vs 8Slot 3: 1 vs 62 vs 8 3 vs 5 4 vs 7Slot 4: 1 vs 72 vs 3 4 vs 6 5 vs 8Slot 5: 1 vs 82 vs 6 3 vs 4 5 vs 7Slot 6: 1 vs 23 vs 7 4 vs 5 6 vs 8Slot 7: 1 vs 32 vs 7 4 vs 8 5 vs 6

Page 20: Tutorial on Scheduling Sports Tournaments

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)

Page 21: Tutorial on Scheduling Sports Tournaments

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

Page 22: Tutorial on Scheduling Sports Tournaments

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)

Page 23: Tutorial on Scheduling Sports Tournaments

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

atl phi

nym mon

All-different

Page 24: Tutorial on Scheduling Sports Tournaments

One Slide on Formulating in IP Variables can be either continuous or

integer valued (often 0-1 variables) Constraints are linear inequalities of these

variables3x1+2x2+12x3 ≤ 13

x2-x3 ≤ 0

etc. Objective is linear function of the variables

12x1+2x2-3x3…

Page 25: Tutorial on Scheduling Sports Tournaments

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 tSolve {

forall (i in Teams, t in Slots) plays[i,i,t] = 0;//one-factorforall (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-differentforall (i,j in Teams: i<>j) sum(t in Slots) plays[i,j,t] = 1;

Page 26: Tutorial on Scheduling Sports Tournaments

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

Page 27: Tutorial on Scheduling Sports Tournaments

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

Page 28: Tutorial on Scheduling Sports Tournaments

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

Page 29: Tutorial on Scheduling Sports Tournaments

Constraint Program (cont)

But how to implement one-factor and 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.

Page 30: Tutorial on Scheduling Sports Tournaments

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)

Page 31: Tutorial on Scheduling Sports Tournaments

Illustration of Propagation

Given domainsD(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

i j j is in i‘s domain1

4

2

3

Page 32: Tutorial on Scheduling Sports Tournaments

Propagation

Original

One-factor

i j j is in i‘s domain

opponent[opponent[i,t],t] = i

All-different

Page 33: Tutorial on Scheduling Sports Tournaments

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 inBipartite tournamentsIf home/away pattern is fixed.

Page 34: Tutorial on Scheduling Sports Tournaments

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 edgeSatisfies linear relax.

S

Page 35: Tutorial on Scheduling Sports Tournaments

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.

Page 36: Tutorial on Scheduling Sports Tournaments

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 changesFixed/Prohibited gamesObjective function

Page 37: Tutorial on Scheduling Sports Tournaments

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)

Page 38: Tutorial on Scheduling Sports Tournaments

Test 1: Prohibited Games: Results

Problem Size All-different Basic-IP HMT

F T N T F T

S_10_no 10 23 0.02 4 0.10 6 0.01

S_12_no 12 24 0.07 0 0.14 25 0.17

S_14_no 14 135 0.23 50 1.02 69 0.56

S_16_no 16 79 0.30 0 0.39 86 1.19

S_18_no 18 43 0.32 0 0.42 30 0.50

S_20_no 20 696 5.47 0 0.78 254 5.11

Page 39: Tutorial on Scheduling Sports Tournaments

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--- ------------------1 3 4 5 0 1 22 4 5 3 2 0 13 5 3 4 1 2 04 5 6

INFEASIBLE! Why?

Page 40: Tutorial on Scheduling Sports Tournaments

Test 2: Premature Sets

Only fix 2 games in slot n/2: result still infeasible but hard to prove:

Size All_different

Basic-IP Strong-IP

F T N T N T

10 116 0.20 393 0.19 0 0.20

14 --- --- --- --- 0 0.34

18 --- --- --- --- 0 0.32

22 --- --- --- --- 0 0.38

Page 41: Tutorial on Scheduling Sports Tournaments

Test 2: Premature Sets

Not unfair test: realistic set of requirements on a schedule

Points to possibility of improved cuts/ constraints

Page 42: Tutorial on Scheduling Sports Tournaments

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

Page 43: Tutorial on Scheduling Sports Tournaments

Test 3: Maximum Value Schedules: Results

Results are clear (despite efforts to find good search strategy for CP):

Size All_different Basic_IP

F T N T

8 84962 5.33 0 0.03

10 --- --- 66 0.29

12 --- --- 402 3.59

14 --- --- 7263 133.03

Page 44: Tutorial on Scheduling Sports Tournaments

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

Page 45: Tutorial on Scheduling Sports Tournaments

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

Page 46: Tutorial on Scheduling Sports Tournaments

Handling venues

Combinatorial Approaches Direct addition to integer program

and/or constraint program Multiple phase approaches

Home/away pattern generationSchedule then break approaches

Page 47: Tutorial on Scheduling Sports Tournaments

Combinatorial Approaches

De Werra did much work on this in 1980s

Generally concerned with minimizing breaksIdeal home/away pattern in HAHAH..

(or reverse)HH or AA is called a break

Page 48: Tutorial on Scheduling Sports Tournaments

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

Page 49: Tutorial on Scheduling Sports Tournaments

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 kLet i+k play at i-k if k is oddLet i-k play at i+k if k is evenLet i play at 2n if i is evenLet 2n play at i if i is odd

Page 50: Tutorial on Scheduling Sports Tournaments

Sample

1 2 3 4 5 6

1 6 5 @4 3 @2 @1

2 @3 @6 1 @5 4 2

3 5 @4 6 2 @1 @3

4 @1 2 @5 @6 3 4

5 4 @3 2 @1 6 @5

4 breaks: minimal

Page 51: Tutorial on Scheduling Sports Tournaments

Facts about breaks

Occur in pairs Each team has at most one 2 teams with 0 Pattern: (0,2,0,2) (di = #breaks after slot i)

In general, (…2,2,2…) not possible (…2,2,0,2,2,…)

Miyashiro, Iwasaki, and Matsui have necessary condition

Open Problem: Characterize feasible break patterns for min-break schedules

Page 52: Tutorial on Scheduling Sports Tournaments

Other way

Given a round robin schedule, assign home/away so as to minimize breaks

1 2 3 4 5 61 6 5 4 3 2 12 3 6 1 5 4 23 5 4 6 2 1 34 1 2 5 6 3 45 4 3 2 1 6 5

1 2 3 4 5 61 6 5 4 @3 @2 @12 @3 6 1 5 @4 @23 @5 @4 @6 2 1 34 1 @2 5 6 @3 @45 4 3 @2 @1 @6 5

9 breaks (but there are better solutions!)

Page 53: Tutorial on Scheduling Sports Tournaments

Schedule then break

Given a round-robin schedule, assign home/away so as to minimize breaksRégin: Constraint Program (up to 20)Trick: Integer Program (up to 22)Elf, Juenger, Rinaldi: Maximum Cut

(up to 26)Miyashiro and Matsui: polynomial if

2n-2 breaks suffice

Open Problem: Is the Minimum Break problem NP-complete?

Page 54: Tutorial on Scheduling Sports Tournaments

More general venue constraints

Min-break is not always appropriateCollege basketball plays twice per

week, so something like HHAAHH… is best

Major League Baseball likes things like HHHAAAHHH…

Additional restrictions like weekend counts, alternations, etc.

Page 55: Tutorial on Scheduling Sports Tournaments

Add to IP and CP

Can modify previous IP and CP formulations to include home/away aspects

Add variables to home[i,t] which equals 1 if i home in time t (and constraints of the form “if i plays j, exactly 1 is at home”).

Page 56: Tutorial on Scheduling Sports Tournaments

Limits on Consecutive Home/Away

Constraint Program clear winner:N K Integer

ProgramConstraint Program

N T F T

14 1 2 59.71 312 1.21

14 2 9 70.10 11 0.20

14 3 11 82.34 3 0.18

14 4 20 169.42

2 0.19

Page 57: Tutorial on Scheduling Sports Tournaments

No Singletons

More interesting to prohibit singletons (Single home surrounded by Aways or vice-versa)

Easy to add such constraints:home[i,t]<=

home[i,t-1]+home[i,t+1];

Page 58: Tutorial on Scheduling Sports Tournaments

Test 5: No Singletons: Results

IP is now much better:

N K Integer Program

Constraint Program

N T F T

8 3 1516 22.73 --- ---

8 4 77 0.92 --- ---

10 3 --- --- --- ---

10 4 15268 594.70 --- ---

Page 59: Tutorial on Scheduling Sports Tournaments

Other approaches

Note problem size, however: even small problems are getting hard to solve

Alternative is to have multiple phase approach

Page 60: Tutorial on Scheduling Sports Tournaments

Phase 1: Find HAPs

Find Home/Away pattern, one sequence per team

1: HAHAH2: AHAHA3: HHAAH4: HAHHA5: AAHHA6: AHAAH

 

Open Problem:Characterize feasible H/A patterns

Page 61: Tutorial on Scheduling Sports Tournaments

Phase 2. Assign Games

Assign games consistent with HAP (+ denotes home; - is away)

1: +2 -3 +6 -4 +52: -1 +4 -5 +6 -33: +6 +1 -4 -5 +24: +5 -2 +3 +1 -65: -4 -6 +2 +3 -16: -3 +5 -1 -2 +4

 

Page 62: Tutorial on Scheduling Sports Tournaments

Phase 3. Assign Teams

Assign teams to entries

F: +E -A +B -D +C

E: -F +D -C +B -A

A: +B +F -D -C +E

D: +C -E +A +F -B

C: -D -B +E +A -F

B: -A +C -F -E +D

 

Page 63: Tutorial on Scheduling Sports Tournaments

Solving Subproblems

Nemhauser and Trick (1998, Scheduling ACC): IP for phase 1 and 2, complete enumeration for 3

Henz (2001): CP for all phases: much faster, particularly relative to complete enumeration

Lots of other papers in same vein (often in different orders: Cain, Schreuder, Russell and Leung, etc.)

Very robust and flexible approach

Page 64: Tutorial on Scheduling Sports Tournaments

Final Problem

Combine issues of venue with travel distance

Traveling Tournament Challenge Problem

Page 65: Tutorial on Scheduling Sports Tournaments

Traveling Tournament Problem

Given an n by n distance matrix D= [d(i,j)] and an integer k find a double round robin (every team plays at every other team) schedule such that: The total distance traveled by the teams is minimized (teams

are assumed to start at home and must return home at the end of the tournament), and

No team is away more than k consecutive games, or home more than k consecutive games.

(For the instances that follow, an additional constraint that if i is at j in slot t, then j is not at i in t+1.)

Page 66: Tutorial on Scheduling Sports Tournaments

Sample Instance

NL6: Six teams from the National League of (American) Major League Baseball. Distances:

0 745 665 929 605 521 745 0 80 337 1090 315 665 80 0 380 1020 257 929 337 380 0 1380 408 605 1090 1020 1380 0 1010 521 315 257 408 1010 0

k is 3

Page 67: Tutorial on Scheduling Sports Tournaments

Sample Solution

Distance: 23916 (Easton May 7, 1999)

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

Page 68: Tutorial on Scheduling Sports Tournaments

Simple Problem, yes?

NL12. 12 teams

Feasible Solution: 143655 (Rottembourg and Laburthe May 2001), 138850 (Larichi, Lapierre, and Laporte July 8 2002), 125803 (Cardemil, July 2 2002), 119990 (Dorrepaal July 16, 2002), 119012 (Zhang, August 19 2002), 118955 (Cardemil, November 1 2002), 114153 (Van Hentenryck January 14, 2003), 113090 (Van Hentenryck February 26, 2003), 112800 (Van Hentenryck June 26, 2003), 112684 (Langford February 16, 2004), 112549 (Langford February 27, 2004), 112298 (Langford March 12, 2004), 111248 (Van Hentenryck May 13, 2004).

Lower Bound: 107483 (Waalewign August 2001)

Page 69: Tutorial on Scheduling Sports Tournaments

Successful Approaches: Feasible Solutions

Anagnostopolous, Michel, Van Hentenryck, and Vergados use simulated annealing

Hard part is determining neighborhood structure

Page 70: Tutorial on Scheduling Sports Tournaments

Neighborhood

No completely natural neighborhood: most swapping does not lead to feasible double round robin schedule Swap venues for a pair of games Swap 2 slots of games Swap schedule of 2 teams Partially swap 2 slots (swap 1 game then

minimum number to keep feasible) Partially swap 2 teams (swap games in

single slot then minimum number to keep feasible)

Page 71: Tutorial on Scheduling Sports Tournaments

Successful Approaches: Lower Bound

Not much better than sum of minimum travel for each team (solvable by series of small IPs or CPs)

Page 72: Tutorial on Scheduling Sports Tournaments

Successful Approaches: Optimality

Easton uses parallel implementations with CP generating good schedules for teams and IPs putting schedules together (parallel branch and price)

Able to prove optimality of 8 teams

Open Problem: Find optimal solutions to the Traveling Tournament Problem for 2n=10

Page 73: Tutorial on Scheduling Sports Tournaments

Practical Implementations

Trick and Nemhauser, then Easton, Nemhauser and Trick on scheduling ACC Basketball

Scheuder and Dutch Football Trick then Easton, Nemhauser, and Trick on

MLB Baseball Lustig and the NFL Lots of others (and would be even more if

people would listen more to us!)

Page 74: Tutorial on Scheduling Sports Tournaments

What is size of minimum premature set?

Improve on the carryover values

Fully test Strong IP formulation

Devise constraints/cuts that go beyond the one-factor and all-different individual constraints

Characterize feasible break patterns for min-break schedules

Open Problem: Is the Minimum Break problem NP-complete?

Open Problem:Characterize feasible H/A patterns

Open Problem: Find optimal solutions to the Traveling Tournament Problem for 2n=10

Solve Real Scheduling Problems!

Page 75: Tutorial on Scheduling Sports Tournaments

Further Information

Easton, Nemhauser and Trick survey in Handbook of Scheduling

http://mat.gsia.cmu.edu/TOURN This talk (or corrected version!) at

http://mat.gsia.cmu.edu/sports after conference