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

Slides:



Advertisements
Similar presentations
Dynamic Programming 25-Mar-17.
Advertisements

Crew Pairing Optimization with Genetic Algorithms
Great Theoretical Ideas in Computer Science
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Leena Suhl University of Paderborn, Germany
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Formulations and Reformulations in Integer Programming Michael Trick Carnegie Mellon University Workshop on Modeling and Reformulation, CP 2004.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Constraint Optimization Presentation by Nathan Stender Chapter 13 of Constraint Processing by Rina Dechter 3/25/20131Constraint Optimization.
Lecture 10: Integer Programming & Branch-and-Bound
1 Constraint-based Round Robin Tournament Planning Martin Henz National University of Singapore.
Sports Scheduling An Assessment of Various Approaches to Solving the n-Round Robin Tournament Noren De La Rosa Mallory Ratajewski.
Augoust /47 Heuristics for the Mirrored Traveling Tournament Problem Celso C. RIBEIRO Sebastián URRUTIA.
Tutorial on Scheduling Sports Tournaments Michael Trick Tepper School of Business Carnegie Mellon University CORS/INFORMS Banff May, 2004.
May 2004 Minimizing travels by maximizing breaks1/32 Minimizing Travels by Maximizing Breaks in Round Robin Tournament Schedules Celso RIBEIRO UFF and.
1 Logic-Based Benders Methods for Planning and Scheduling John Hooker Carnegie Mellon University August 2003.
Sports Scheduling and the “Real World” Michael Trick Carnegie Mellon University May, 2000.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Unifying Local and Exhaustive Search John Hooker Carnegie Mellon University September 2005.
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
© J. Christopher Beck Lecture 20: Sports Scheduling.
Heuristics for the MTTPROADEF, February /49 Heuristics for the Mirrored Traveling Tournament Problem Celso C. RIBEIRO Sebastián URRUTIA.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
© J. Christopher Beck Lecture 22: Local Search for Sports Scheduling.
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
Michael Trick Tepper School, Carnegie Mellon INFORMS/ALIO 2010 Combinatorial Benders Approaches to Hard Problems Tweet this with #alioinforms.
Design Techniques for Approximation Algorithms and Approximation Classes.
ANTs PI Meeting, Nov. 29, 2000W. Zhang, Washington University1 Flexible Methods for Multi-agent distributed resource Allocation by Exploiting Phase Transitions.
© J. Christopher Beck Lecture 21: Sports Scheduling 1.
Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Decision Diagrams for Sequencing and Scheduling Andre Augusto Cire Joint work with David Bergman, Willem-Jan van Hoeve, and John Hooker Tepper School of.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Sports Scheduling Written by Kelly Easton, George Nemhauser, Michael Trick Presented by Matthew Lai.
Minimizing Stall Time in Single Disk Susanne Albers, Naveen Garg, Stefano Leonardi, Carsten Witt Presented by Ruibin Xu.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
December 2003 Traveling tournament problem1/57 Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship Celso C. RIBEIRO.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
FORS 8450 Advanced Forest Planning Lecture 5 Relatively Straightforward Stochastic Approach.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Two Discrete Optimization Problems Problem: The Transportation Problem.
Integer Programming (정수계획법)
© J. Christopher Beck Lecture 21: IP and CP Models for Sports Scheduling.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
1 Constraint-based Round Robin Tournament Planning Martin Henz National University of Singapore.
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
Unique Games Approximation Amit Weinstein Complexity Seminar, Fall 2006 Based on: “Near Optimal Algorithms for Unique Games" by M. Charikar, K. Makarychev,
Dominance and Indifference in Airline Planning Decisions NEXTOR Conference: INFORMS Aviation Session June 2 – 5, 2003 Amy Mainville Cohn, KoMing Liu, and.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Balanced Billing Cycles and Vehicle Routing of Meter Readers by Chris Groër, Bruce Golden, Edward Wasil University of Maryland, College Park American University,
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
Approximation Algorithms based on linear programming.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
6.5 Stochastic Prog. and Benders’ decomposition
Combinatorial Benders Approaches to Hard Problems
Manpower Planning: Task Scheduling
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
6.5 Stochastic Prog. and Benders’ decomposition
Chapter 6. Large Scale Optimization
Discrete Optimization
Presentation transcript:

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

Outline Benders Approaches to Optimization Example 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)

Benders Approach to Optimization Minimize f(x,y) Subject to S(x,y) x ∈ D x, y ∈ D y S(x,y) constraint set involving x and y Domains of x and y Very general: two types of variables

Benders Approach Master problem in terms of x: Min v Subject to S’(x) x ∈ D x v ≥ B i (x) Subproblem relative to solution x k (fixed) min f(x k,y) S(x k,y) y ∈ D y Solution to this generates “Benders” constraint B i (x) in Master (sometimes doesn’t involve v) Constraints only involving x

Key Idea Benders constraints encapsulate any concept of “To get a better solution, x must satisfy B i (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”

Simplest Example Objective is determined solely by the x values Bender’s constraint: no-good. “x must be different that previously generated x” Minimize f(x) Subject to S(x,y) x ∈ D x, y ∈ D y

Step 1: Relax problem by ignoring y variables Min f(x) Subject to S’(x) x ∈ D x Solve to get initial solution x 1. Don’t care how we solve (IP, CP, NLP, etc.) x 1 is optimal if and only if there is a feasible y

Step 2. Solve subproblem Min f(x 1 ) Subject to S(x 1,y) y ∈ D y Constant, problem is one of feasibility If feasible y 1 then (x 1,y 1 ) is optimal Otherwise, add constraint “Do something different from x 1 ”

Master Problem Min f(x) Subject to S’(x) x ∈ D x x ≠ x 1 Repeat until feasible subproblem “Generate and check” approach Can be implemented in IP, CP, etc.

Key insight Depending on the problem, stronger Bender’s constraints can be generated, perhaps removing many x’s. Even without improvements, might be useful!

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

Sample Instance NL6: Six teams from the National League of (American) Major League Baseball. Distances: k is 3

Sample Solution Distance: (Easton May 7, 1999) Slot ATL NYM PHI MON FLA PIT NYM 1 FLA MON 2 MON NYM ATL FLA 7 ATL PIT

Simple Problem, yes? No! NL teams Feasible Solution: (Rottembourg and Laburthe May 2001), (Larichi, Lapierre, and Laporte July ), (Cardemil, July ), (Dorrepaal July 16, 2002), (Zhang, August ), (Cardemil, November ), (Van Hentenryck January 14, 2003), (Van Hentenryck February 26, 2003), (Van Hentenryck June 26, 2003), (Langford February 16, 2004), (Langford February 27, 2004), (Langford March 12, 2004), (Van Hentenryck May 13, 2004), (Van Hentenryck and Vergados, May ). Lower Bound: (Waalewign August 2001), (Melo, Ribeiro, and Urrutia July )

Successful Approaches: Feasible Solutions Finding feasible solution is best done through local search with a relatively simple neighborhood (lots of time in infeasibility) Van Hentenryck and coauthors

Successful Approaches: Lower Bound Not 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!

Formulation Key is to formulate in terms of x and y such that Solving for y is “easy” for each x Master problem (in terms of x) is relatively easy, and Good 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)

Formulation Let 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

Illustration Team MASTER SUBPROBLEM 0 H 1H H 6H 7H H 12H 13 H H 17 H 18 H H

Constraints Master: Break down by Team Visit every Team No more than 3 in sequence Cost based on travel of sequences Subproblem: Link teams Use only sequences from Master If team i plays at j in slot t, then j home in slot t No more than one team at j in any slot

Results For 12 teams, the best trips for each team can be generated in a matter of seconds Easy to generate sets in order of size

Start solving subproblems Take best combination, and solve subproblem (often, a few seconds to prove infeasibility) Generate next best combination, and repeat. Infeasibility generates lower bound

Strengthening Can 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)

Result NL teams Feasible Solution: (Rottembourg and Laburthe May 2001), (Larichi, Lapierre, and Laporte July ), (Cardemil, July ), (Dorrepaal July 16, 2002), (Zhang, August ), (Cardemil, November ), (Van Hentenryck January 14, 2003), (Van Hentenryck February 26, 2003), (Van Hentenryck June 26, 2003), (Langford February 16, 2004), (Langford February 27, 2004), (Langford March 12, 2004), (Van Hentenryck May 13, 2004), (Van Hentenryck and Vergados, May ). Lower Bound: (Waalewign August 2001), (Melo, Ribeiro, and Urrutia July ), (Mitchell, Trick, and Waterer July 31, 2008)

Result Able 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.

Example 2: Improved 3 phase approach to sports scheduling (with R. Rasmussen) 3 Phase approach to sports scheduling Most common method in literature Began for me with Atlantic Coast Basketball Scheduling

Atlantic Coast Conference Nine 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

Description of Schedule Home and home schedule (16 games each: 8 home and 8 away) Schedule length: 9 weeks Each team plays twice a week with two “byes” Many schedule restrictions, preferences, concerns

Technique developed Three 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)

Phase 1: Find HAPs Find Home/Away pattern, one sequence per team 1: HAHAH 2: AHAHA 3: HHAAH 4: HAHHA 5: AAHHA 6: AHAAH

Phase 2. Assign Games Assign games consistent with HAP (+ denotes home; - is away) 1: : : : : :

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

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

Benders approach Rather 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

Context Rather than work with a particular league, we work on finding double round robin tournaments that Minimize consecutive AA or HH Satisfy separation constraints on time between A at B and B at A for all A and B. Same three phase approach Other tests include Satisfy place constraints (series of constraints that state that team i is home (or away) in slot t)

Pattern selection Given a set of patterns, find a pattern set Each pattern i has b[i] breaks; h[i,t]=1 if pattern i is home in time t Variable 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: HAHAH 2: AHAHA 3: HHAAH 4: HAHHA 5: AAHHA 6: AHAAH

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

Assigning teams to patterns Feasibility 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 Patterns foundSet found Set not found Set infeasible Set feasible but not proven optimal Patterns not found Set feasible and optimal Set not proven infeasible TeamsPatterns Use the Hungarian Method to: - Find a set of teams which cannot be assigned to the pattern set or - Find a feasible matching

Assigning teams to patterns Feasibility 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 Patterns foundSet found Set not found Set infeasible Set feasible but not proven optimal Patterns not found Set feasible and optimal Set not proven infeasible TeamsPatterns Use 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)

Other Benders constraints Lots of other structures to use. Diversity of Patterns (Miyashu et al. constraint) Game separation Game assignment Don’t need to find complete set: can always add “no- good”

Solution Method Computation 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 teams 1.41 sec for: non-mirrored 12 teams (k = 0) 0.56 sec for: non-mirrored 8 teams (k = 1)

Summary of Example 2 Logical 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

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

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.

Traveling Umpire Problem Double round robin tournament with home/aways assigned 2n teams 4n-2 slots n umpires Flexibility parameters d 1 and d 2 >=0. Goal: assign one of n umpires to each game to minimize total umpire travel

Problem Description: Constraints 1. Every game gets an umpire 2. Every umpire works exactly one game per slot 3. Every umpire sees every team at least once at the team's home 4. No umpire is in a home site more than once in any (n - d 1 ) consecutive slots 5. No umpire sees a team more than once in any n/2- d 2 consecutive slots (easy to show if d 1 or d 2 < 0, then can be infeasible)

4 Team Example n - d 1 = 2; n/2- d 2 = 1 (home team, away team)

Suitability as a problem Well defined Abstracts key issue of travel versus need to see all teams Reasonably compact data requirements Straightforward integer and constraint programming formulations

IP and CP results d 1 = d 2 = 0 Time(sec) # of TeamsTotal DistanceIPCP

Greedy Matching Heuristic For every slot t Assign umpires to games such that Constraints are satisfied Total travel cost at Slot t is minimized Perfect Matching Problem on a Bipartite Graph: Partitions: Umpires--Games in slot t Edges: (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

Where’s the Benders? Greedy Matching Heuristic May not create a solution at all No feasible matching at time t Approach: Identify a set of previous assignments that causes this lack of perfect matching At least one of these assignments must be changed. This leads to a Bender’s Cut

Bender’s Cuts Guided Greedy Heuristic We 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

Example: Partial schedule for 8 teams. The first 3 slots are scheduled and the games for the 4 th slot are in consideration for assignment Games in Slot 4: (2,1) (4,5) (6,3) (8,7)

Umpire1Umpire2Umpire3Umpire4 (2,1) (4,5) (6,3) (8,7) Set A Set N(A)

To have a perfect matching, one of these four edges has to be present in the matching problem Umpire1Umpire2Umpire3Umpire4 (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.

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

Improving Starting solutions are then improved using local search. Similar approaches were used for the “real” problem: in 2006 MLB played our umpire schedule.

Conclusions Benders constraints are an incredibly powerful way of formulating and solving problems Often able to decompose problem into two much smaller problems Speedup can be multiple orders of magnitude Worth learning about!

Learning More “Integrated Methods for Optimization” by John N. Hooker, Springer 2007 Papers at

4 Team Example Constraint 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

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

Matching Problem at Slot 2 Umpire1Umpire2 (1,2) (3,4)

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1

4 Team Example n - d 1 = 2; Fn/2L- d 2 = 1