Combinatorial Benders’ Cuts for Sports Scheduling Optimization

76
Michael Trick Tepper School, Carnegie Mellon Combinatorial Benders’ Cuts for Sports Scheduling Optimization

description

Combinatorial Benders’ Cuts for Sports Scheduling Optimization. Michael Trick Tepper School, Carnegie Mellon. Outline. Benders Approaches to Optimization Example 1: Lower Bounds to the Traveling Tournament Problem (Major League Baseball) - PowerPoint PPT Presentation

Transcript of Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Page 1: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Michael TrickTepper School, Carnegie Mellon

Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Page 2: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

OutlineBenders Approaches to OptimizationExample 1: Lower Bounds to the Traveling

Tournament Problem (Major League Baseball)Example 2: Improving the three-phase approach to

timetabling (College Basketball)Example 3: Umpire scheduling (if time) (MLB Umpires)

Page 3: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Benders Approach to OptimizationMinimize f(x,y)Subject to

S(x,y)x ∈ Dx, y ∈ Dy

S(x,y) constraint set involvingx and y

Domains of x and y

Very general: two types of variables

Page 4: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Benders ApproachMaster problem in terms of x:

Min vSubject to

S’(x)

x ∈ Dx

v ≥ Bi(x)

Subproblem relative to solution xk (fixed)

min f(xk,y)S(xk,y)y ∈ Dy

Solution to this generates “Benders” constraint Bi(x) in Master (sometimes doesn’t involve v)

Constraints onlyinvolving x

Page 5: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Key IdeaBenders constraints encapsulate any concept of “To

get a better solution, x must satisfy Bi(x)”Classical Bender’s: use dual values to say “if x is like

this, then cost is at least C”Logic-based Bender’s: problem specific structures

“If x is like this, then problem is infeasible”“If x is like this, then cost is at least C”“Get me a different x”

Page 6: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Simplest ExampleObjective is determined solely by the x valuesBender’s constraint: no-good. “x must be different

that previously generated x”

Minimize f(x)Subject to

S(x,y)x ∈ Dx, y ∈ Dy

Page 7: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Step 1: Relax problem by ignoring y variablesMin f(x)Subject to S’(x) x ∈ Dx

Solve to get initial solution x1. Don’t care how we solve (IP, CP, NLP, etc.)

x1 is optimal if and only if there is a feasible y

Page 8: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Step 2. Solve subproblemMin f(x1) Subject to S(x1,y) y ∈ Dy

Constant, problem is one of feasibility

If feasible y1 then (x1,y1) is optimal

Otherwise, add constraint “Do something different from x1”

Page 9: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Master ProblemMin f(x)Subject to S’(x) x ∈ Dx

x ≠ x1

Repeat until feasiblesubproblem

“Generate and check”approach

Can be implemented in IP, CP, etc.

Page 10: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Key insightDepending on the problem, stronger Bender’s

constraints can be generated, perhaps removing many x’s.

Even without improvements, might be useful!

Page 11: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Example 1: Traveling Tournament Problem (with Stuart Mitchell and Hamish Waterer)

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 12: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

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 13: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

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 14: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Simple Problem, yes? No!

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), 110729 (Van Hentenryck and Vergados, May 30 2007).

Lower Bound: 107483 (Waalewign August 2001), 107494 (Melo, Ribeiro, and Urrutia July 15 2006)

Page 15: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Successful Approaches: Feasible SolutionsFinding feasible solution is best done through local

search with a relatively simple neighborhood (lots of time in infeasibility)Van Hentenryck and coauthors

Page 16: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Successful Approaches: Lower BoundNot much better than sum of minimum travel for each

team (solvable by series of small IPs or CPs)

Let’s see if we can do better with Benders!

Page 17: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

FormulationKey is to formulate in terms of x and y such that

Solving for y is “easy” for each xMaster problem (in terms of x) is relatively easy, andGood Benders’ cuts link them

(In this example, we will only have the first 2 properties; our Benders cut will be as weak as can be and still work)

Page 18: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

FormulationLet x[i,S] be 1 if team i visits cities S consecutively,

where S is an ordered sequence

Let y[i,S,t] be 1 if team i visits cities S consecutively (S an ordered sequence), starting in time slot t

Page 19: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

IllustrationTeam 2

1 4 5

3 6 7

8 10 12

9 11

MASTERSUBPROBLEM

0 H1 H2 13 44 55 H6 H7 H8 129 1010 811 H12 H

13 H14 915 1116 H17 H18 H19 720 621 322 H

Page 20: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

ConstraintsMaster: Break down by Team

Visit every TeamNo more than 3 in sequenceCost based on travel of sequences

Subproblem: Link teamsUse only sequences from MasterIf team i plays at j in slot t, then j home in slot tNo more than one team at j in any slot

Page 21: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

ResultsFor 12 teams, the

best trips for each team can be generated in a matter of seconds

Easy to generate sets in order of size

1 8282 8297 8354 8362 8398

2 8935 8944 8956 8972 8981

3 8554 8563 8571 8596 8625

4 9330 9355 9366 9375 9393

5 11184 11194 11209 11214 11219

6 7627 7636 7661 7692 7701

7 7319 7392 7397 7417 7426

8 7733 7744 7782 7806 7822

9 7986 8027 8065 8068 8075

10 8033 8120 8140 8144 8153

11 10739 10742 10816 10819 10837

12 11761 11777 11845 11864 11872

Page 22: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Start solving subproblemsTake best combination, and solve subproblem (often,

a few seconds to prove infeasibility)Generate next best combination, and repeat.

Infeasibility generates lower bound

Page 23: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

StrengtheningCan add constraints to master problem to strengthen

Minimum number of trips (as noted by Melo, Rebeiro and Urrutia). Results on constant TTP give least number of trips possible

Identify subsets of trips that lead to infeasibility (in progress)

Page 24: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Result

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), 110729 (Van Hentenryck and Vergados, May 30 2007).

Lower Bound: 107483 (Waalewign August 2001), 107494 (Melo, Ribeiro, and Urrutia July 15 2006) , 107548 (Mitchell, Trick, and Waterer July 31, 2008)

Page 25: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

ResultAble to improve many lower bounds!

Not likely to get to optimal without stronger cuts (too many solutions to run through) but is only “complete” method to generate lower bounds better than the independent trips lower bound in a reasonable amount of time.

Page 26: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Example 2: Improved 3 phase approach to sports scheduling (with R. Rasmussen)3 Phase approach to sports schedulingMost common method in literature

Began for me with Atlantic Coast Basketball Scheduling

Page 27: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Atlantic Coast ConferenceNine teams in southeastern US

Highest revenue sport: $33 million/year in TV revenue alone

Perennial powerhouse: three national championships in the 90s alone

Extensive national TV contracts with ESPN, ABC, CBS, and Raycom

Page 28: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Description of ScheduleHome and home schedule (16 games each: 8 home

and 8 away)Schedule length: 9 weeksEach team plays twice a week with two “byes” Many schedule restrictions, preferences, concerns

Page 29: Combinatorial Benders’ Cuts for Sports Scheduling Optimization
Page 30: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Technique developedThree 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)

Page 31: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Phase 1: Find HAPsFind Home/Away pattern, one sequence per team

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

 

Page 32: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Phase 2. Assign GamesAssign games consistent with HAP (+ denotes home;

- is away)1: +2 -3 +6 -4 +5

2: -1 +4 -5 +6 -3

3: +6 +1 -4 -5 +2

4: +5 -2 +3 +1 -6

5: -4 -6 +2 +3 -1

6: -3 +5 -1 -2 +4

 

Page 33: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Phase 3. Assign TeamsAssign 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 34: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

How to do each step?1. (pattern sets) Enumeration and integer

programming (38 patterns lead to 17 pattern sets)2. (timetables) Integer programming give 826

timetables3. (schedules) Enumeration of 299,738,880

possibilities gives 17 schedules, from which one was chosen.

Henz improved on this with constraint programming

ACC solved, but many related instances are still hard

Page 35: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Benders approachRather than generating all timetables, we can generate

them one-by-one. Given a timetable, we can then try to assign teams to patterns. If we can do so, then we have a feasible schedule.

If not, then we can identify structures so that we don’t generate “impossible” timetables

Page 36: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

ContextRather than work with a particular league, we work

on finding double round robin tournaments thatMinimize consecutive AA or HHSatisfy separation constraints on time between A at B

and B at A for all A and B.Same three phase approachOther tests include

Satisfy place constraints (series of constraints that state that team i is home (or away) in slot t)

Page 37: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Pattern selectionGiven a set of patterns, find a pattern setEach pattern i has b[i] breaks; h[i,t]=1 if pattern i is

home in time tVariable x[i] = 1 if pattern set i chosen

Minimize Σ b[i]x[i]Subject to

Σ h[i,t]x[t] = n/2 for all t (half teams at home)

x[i] binary

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

Page 38: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

What can go wrong?Resulting pattern set might not have a feasible

timetable (half at home is necessary, but not sufficient)

Might not be able to assign teams to patterns due to place constraints (if in place)

Each can generate Benders constraints

Page 39: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Assigning teams to patternsFeasibility check and cuts (Team allocation)

Due to place constraints all teams might not be able to use all patterns

The allocation corresponds to a matching in a bipartite graph

Generate patterns

Assign games & allocate teams

Find a pattern set

Check feasibility

Add cut

Stop Stop

Patterns found Set found

Set not found

Set infeasible

Set feasible but not proven optimal

Patterns not found

Set feasible and optimal

Set not proven infeasible

1

2

3

4

1

2

3

4

Teams PatternsUse the Hungarian Method to:

- Find a set of teams which cannot be assigned to the pattern set or

- Find a feasible matching

Page 40: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Assigning teams to patternsFeasibility check and cuts (Team allocation)

Due to place constraints all teams might not be able to use all patterns

The allocation corresponds to a matching in a bipartite graph

Generate patterns

Assign games & allocate teams

Find a pattern set

Check feasibility

Add cut

Stop Stop

Patterns found Set found

Set not found

Set infeasible

Set feasible but not proven optimal

Patterns not found

Set feasible and optimal

Set not proven infeasible

1

2

3

4

1

2

3

4

Teams PatternsUse the Hungarian Method to:

- Find a set of teams which cannot be assigned to the pattern set or

- Find a feasible matching

If no matching exists:

- Add a cut to the master problem (need at least 3 patterns suitable for 1,2, 4 in this case)

Page 41: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Other Benders constraintsLots of other structures to use.

Diversity of Patterns (Miyashu et al. constraint)Game separationGame assignment

Don’t need to find complete set: can always add “no-good”

Page 42: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Solution MethodComputation time

When formulated as an IP problem it takes:> 10 minutes for: mirrored 14 teams> 10 minutes for: non-mirrored 12 teams (k = 0)4979 sec for: non-mirrored 8 teams (k = 1)

Pure CP results worse (not using Henz’ matching constraint)!TPA: Benders approach with only no-goods. Better, but not

great.With PGBA:

0.19 sec for: mirrored 14 teams1.41 sec for: non-mirrored 12 teams (k = 0)0.56 sec for: non-mirrored 8 teams (k = 1)

Page 43: Combinatorial Benders’ Cuts for Sports Scheduling Optimization
Page 44: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Summary of Example 2Logical Benders greatly speeds up approach

Can add stronger constraints than “no-goods” (which was essentially the approach of Nemhauser/Trick and Henz) to get much faster method

Page 45: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Final Example: Scheduling UmpiresHere we use benders’ cuts to guide a greedy heuristic.

Page 46: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Umpires

Christy Mathewson: Many fans look upon the umpire as sort of a necessary evil to the luxury of baseball, like the odor that follows an automobile.

Page 47: Combinatorial Benders’ Cuts for Sports Scheduling Optimization
Page 48: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Traveling Umpire Problem Double round robin tournament with home/aways assigned 2n teams 4n-2 slots n umpires Flexibility parameters d1 and d2 >=0.

Goal: assign one of n umpires to each game to minimize total umpire travel

Page 49: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Problem Description: Constraints1. Every game gets an umpire2. Every umpire works exactly one game per slot3. Every umpire sees every team at least once at the

team's home4. No umpire is in a home site more than once in any

(n - d1) consecutive slots

5. No umpire sees a team more than once in any n/2- d2 consecutive slots

(easy to show if d1 or d2 < 0, then can be infeasible)

Page 50: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4) (3,1) (4,3) (2,3)Ump2: (2,4) (1,2) (3,2) (4,2) (2,1) (4,1)

Slots

n - d1 = 2; n/2- d2 = 1

(home team, away team)

Page 51: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Suitability as a problemWell definedAbstracts key issue of travel versus need to see all

teamsReasonably compact data requirements

Straightforward integer and constraint programming formulations

Page 52: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

IP and CP results d1 = d2 = 0

    Time(sec)

# of Teams Total Distance IP CP

4 5176 0.07 0.02

6 14077 0.27 1.35

8 34311 1.6 869.39

10 48942 47333.7 -

Page 53: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Greedy Matching Heuristic For every slot t

Assign umpires to games such thatConstraints are satisfiedTotal travel cost at Slot t is minimized

Perfect Matching Problem on a Bipartite Graph:Partitions: Umpires--Games in slot tEdges: (u,(i,j)) exist if constraints 4&5 are not violated by

assigning u to game (i,j) in slot t.Cost of edge (u,(i,j)) = distance(k,i), where k is the venue that u

is assigned in slot t-1

Page 54: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Where’s the Benders?Greedy Matching Heuristic

May not create a solution at allNo feasible matching at time t

Approach:Identify a set of previous assignments that causes

this lack of perfect matchingAt least one of these assignments must be

changed.This leads to a Bender’s Cut

Page 55: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Bender’s Cuts Guided Greedy HeuristicWe use these cuts to guide a search heuristic

Violation of these cuts is penalized in the objective function with a large cost

When all cuts are satisfied, we solve the Perfect Matching Problem again

Page 56: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Example: Partial schedule for 8 teams.

Slots 1 2 3 4Umpire1 (7,5) (2,4) (5,7)Umpire2 (1,8) (3,6) (4,1)Umpire3 (2,6) (1,7) (6,8)Umpire4 (4,3) (5,8) (3,2)

The first 3 slots are scheduled and the games for the 4th slot are in consideration for assignment

Games in Slot 4: (2,1) (4,5) (6,3) (8,7)

Page 57: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Slots 1 2 3 4Umpire1 (7,5) (2,4) (5,7)Umpire2 (1,8) (3,6) (4,1)Umpire3 (2,6) (1,7) (6,8)Umpire4 (4,3) (5,8) (3,2)

Umpire1

Umpire2

Umpire3

Umpire4

(2,1)

(4,5)

(6,3)

(8,7)

Set A

Set N(A)

Page 58: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

To have a perfect matching, one of these four edges has to be present in the matching problem

Slots 1 2 3Umpire1 (7,5) (2,4) (5,7)

Umpire2 (1,8) (3,6) (4,1)Umpire3 (2,6) (1,7) (6,8)

Umpire4 (4,3) (5,8) (3,2)

Umpire1

Umpire2

Umpire3

Umpire4

(2,1)

Set A

x[1,2,2] + x[2,4,3] + x[3,2,1] + x[4,3,3] ≤ 3

where x[u,i,t] = 1 if umpire u is at venue i in slot t; =0 o.w.

Page 59: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Finding a feasible solution: IP vs. GBNS (12 teams)

12 Teamsn-d1 n/2-d2 IP time(sec) GBNS time(sec) % Impr.

2 1 95024 7.1 72557 0.1 23.63 1 97276 10.4 76407 0.1 21.54 1 93762 7.4 76756 0.1 18.15 1 93030 19.1 76781 0.0 17.56 1 99632 67.3 77818 0.1 21.92 2 101055 20.8 88277 0.1 12.63 2 102399 46.7 88637 0.1 13.44 2 101978 36.8 90231 0.1 11.55 2 100641 93.4 91951 0.1 8.66 2 100372 134.1 91131 0.1 9.22 3 100089 7136.3 95072 359.3 5.03 3 100797 1025.3 95072 359.3 5.74 3 101063 2194.4 97945 28.6 3.15 3 -- --6 3 -- --

Page 60: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

ImprovingStarting solutions are then improved using local

search.

Similar approaches were used for the “real” problem: in 2006 MLB played our umpire schedule.

Page 61: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

ConclusionsBenders constraints are an incredibly powerful way of

formulating and solving problemsOften able to decompose problem into two much

smaller problemsSpeedup can be multiple orders of magnitude

Worth learning about!

Page 62: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Learning More“Integrated Methods for Optimization” by John N.

Hooker, Springer 2007

Papers at http://mat.tepper.cmu.edu/trick

Page 63: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1:Ump2:

SlotsConstraint 4: No umpire is in a home site more than once in any 2 consecutive slots

Constraint 5: No umpire sees a team more than once in any 1 consecutive slots

Page 64: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1:Ump2:

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 65: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3)Ump2: (2,4)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 66: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3)Ump2: (2,4)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 67: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

Matching Problem at Slot 2

Umpire1

Umpire2

(1,2)

(3,4)

665

80

745

Page 68: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4)Ump2: (2,4) (1,2)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 69: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4)Ump2: (2,4) (1,2)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 70: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4)Ump2: (2,4) (1,2) (3,2)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 71: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4)Ump2: (2,4) (1,2) (3,2)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 72: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4) (3,1)Ump2: (2,4) (1,2) (3,2) (4,2)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 73: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4) (3,1)Ump2: (2,4) (1,2) (3,2) (4,2)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 74: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4) (3,1) (4,3)Ump2: (2,4) (1,2) (3,2) (4,2) (2,1)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 75: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4) (3,1) (4,3)Ump2: (2,4) (1,2) (3,2) (4,2) (2,1)

Slots

n - d1 = 2; Fn/2L- d2 = 1

Page 76: Combinatorial Benders’ Cuts for Sports Scheduling Optimization

4 Team Example

1 2 3 41 0 745 665 9292 745 0 80 3373 665 80 0 3804 929 337 380 0

Distance Matrix Slots1 (1,3) (2,4)2 (1,2) (3,4)3 (1,4) (3,2)4 (3,1) (4,2)5 (2,1) (4,3)6 (4,1) (2,3)

Games

1 2 3 4 5 6Ump1: (1,3) (3,4) (1,4) (3,1) (4,3) (2,3)Ump2: (2,4) (1,2) (3,2) (4,2) (2,1) (4,1)

Slots

n - d1 = 2; Fn/2L- d2 = 1