December 2003 Traveling tournament problem1/57 Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship Celso C. RIBEIRO.

Slides:



Advertisements
Similar presentations
Chapter 3 Workforce scheduling.
Advertisements

Novembro 2003 Tabu search heuristic for partition coloring1/29 XXXV SBPO XXXV SBPO Natal, 4-7 de novembro de 2003 A Tabu Search Heuristic for Partition.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
Michael Trick Tepper School, Carnegie Mellon Combinatorial Benders’ Cuts for Sports Scheduling Optimization.
Label Placement and graph drawing Imo Lieberwerth.
ROUND ROBIN SCHEDULING BY NAGA SAI HANUMAN.POTTI.
December 2003 Traveling tournament problem1/88 Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship Celso C. RIBEIRO.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
1 MERLIN A polynomial solution for the Traveling Salesman Problem Dr. Joachim Mertz, 2005.
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.
Fast FAST By Noga Alon, Daniel Lokshtanov And Saket Saurabh Presentation by Gil Einziger.
May 2004 Minimizing travels by maximizing breaks1/32 Minimizing Travels by Maximizing Breaks in Round Robin Tournament Schedules Celso RIBEIRO UFF and.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Sports Scheduling and the “Real World” Michael Trick Carnegie Mellon University May, 2000.
November 2002 Scene recognition by inexact graph matching1/39 ALIO/EURO Workshop Scene recognition by inexact graph matching Celso C. Ribeiro * Claudia.
A heuristic for a real-life car sequencing problem with multiple requirements Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
1 Traveling Salesman Problem (TSP) Given n £ n positive distance matrix (d ij ) find permutation  on {0,1,2,..,n-1} minimizing  i=0 n-1 d  (i),  (i+1.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
Heuristics for a multi-objective car sequencing problem Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2 Sebastián Urrutia 1 1 Universidade.
© 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.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
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.
Grid implementation of a GRASP-ILS heuristic for the mirrored TTP MIC, August /60 A grid implementation of a GRASP-ILS heuristic for the mirrored.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Linear Programming Applications
© J. Christopher Beck Lecture 22: Local Search for Sports Scheduling.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Metaheuristics for optimization problems in sports META’08, October /92 Celso C. Ribeiro Joint work with S. Urrutia, A. Duarte, and A. Guedes 2nd.
Metaheuristics for optimization problems in sports La Havana, March /91 Celso C. Ribeiro Joint work with S. Urrutia, A. Duarte, and A. Guedes 8th.
Toshihide IBARAKI Mikio KUBO Tomoyasu MASUDA Takeaki UNO Mutsunori YAGIURA Effective Local Search Algorithms for the Vehicle Routing Problem with General.
Decision Procedures An Algorithmic Point of View
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
Design Techniques for Approximation Algorithms and Approximation Classes.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
MODELING AND ANALYSIS OF MANUFACTURING SYSTEMS Session 12 MACHINE SETUP AND OPERATION SEQUENCING E. Gutierrez-Miravete Spring 2001.
© 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)
Online Algorithms By: Sean Keith. An online algorithm is an algorithm that receives its input over time, where knowledge of the entire input is not available.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Sports Scheduling Written by Kelly Easton, George Nemhauser, Michael Trick Presented by Matthew Lai.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm Kok-Hua Loh University of Maryland Bruce Golden University.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
Slides for “Data Mining” by I. H. Witten and E. Frank.
Integer Programming (정수계획법)
META’08, October 2008Referee assignment in sports leagues: bi-objective approaches 1/35 Celso C. Ribeiro* Alexandre R. Duarte META’08 Hammamet, October.
© J. Christopher Beck Lecture 21: IP and CP Models for Sports Scheduling.
1 Constraint-based Round Robin Tournament Planning Martin Henz National University of Singapore.
Augoust /77 Heuristics for the Mirrored Traveling Tournament Problem Celso C. RIBEIRO Sebastián URRUTIA.
Models of Greedy Algorithms for Graph Problems Sashka Davis, UCSD Russell Impagliazzo, UCSD SIAM SODA 2004.
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
The Double Elimination Tournament. Purpose: All contestants remain in championship contention until they lose two games Advantages: A player or team must.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Approximate methods: local search Material based.
Tools and Techniques Sports and Athletics Focus on the Competitive Format.
Local Container Truck Routing Problem with its Operational Flexibility Kyungsoo Jeong, Ph.D. Candidate University of California, Irvine Local container.
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Algorithms for Budget-Constrained Survivable Topology Design
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
CSE 373: Data Structures and Algorithms
Daniel Aloise 1 Thiago Noronha 1 Celso Ribeiro 1,2 Caroline Rocha 2
Presentation transcript:

December 2003 Traveling tournament problem1/57 Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship Celso C. RIBEIRO Sebastián URRUTIA

December 2003 Traveling tournament problem2/57 Summary Motivation Formulation Constructive heuristic Neighborhoods Iterated local search Extended ILS for TTP Computational results Concluding remarks

December 2003 Traveling tournament problem3/57 Motivation Professional sports leagues are a major economic activity around the world. Teams and leagues do not want to waste their investments in players and structure as a consequence of poor schedules of games. Game scheduling is a difficult task, involving different types of constraints and many objectives to optimize. – Several decision makers (team managers, league authorities, TV, etc) with contrary goals. – Economic issues – Logistic issues – Fairness

December 2003 Traveling tournament problem4/57 Formulation (TTP) Conditions: –n (even) teams take part in a tournament. –Each team has its own stadium at its home city. –Distances between the stadiums are known. –A team playing two consecutive away games goes directly from one city to the other, without returning to its home city.

December 2003 Traveling tournament problem5/57 Formulation (TTP) Constraints: –Tournament is a strict double round-robin tournament: Each team plays against every other team twice, one at home and the other away. There are 2(n-1) rounds, each one with n/2 games. –No team can play more than three games in a home stand or in a road trip (away games).

December 2003 Traveling tournament problem6/57 Formulation (TTP) Conditions (cont.): –Tournament is mirrored: All teams face each other once in the first phase with n-1 rounds. In the second phase with the last n-1 rounds the teams play each other again in the same order, following an inverted home/away pattern. Games in the second phase are determined by those in the first (simple strict round robin). Common structure in Latin-American tournaments. Goal: minimize the total distance traveled by all teams.

December 2003 Traveling tournament problem7/57 Formulation Given a graph G=(V, E), a factor of G is a graph G’=(V,E’) with E’  E. G’ is a 1-factor if all its nodes have degree equal to one. A factorization of G=(V,E) is a set of edge-disjoint factors G 1 =(V,E 1 ),..., G p =(V,E p ), with E 1 ...  E p =E. In a 1-factorization of G all factors are 1- factors.

December 2003 Traveling tournament problem8/ Formulation Example: 1-factorization of K 6

December 2003 Traveling tournament problem9/ Formulation Example: 1-factorization of K 6

December 2003 Traveling tournament problem10/ Formulation Example: 1-factorization of K 6

December 2003 Traveling tournament problem11/ Formulation Example: 1-factorization of K 6

December 2003 Traveling tournament problem12/ Formulation Example: 1-factorization of K 6

December 2003 Traveling tournament problem13/ Formulation Example: 1-factorization of K 6

December 2003 Traveling tournament problem14/57 For strict single round robin and strict mirrored double round robin tournaments: –Each edge in K n represents a game. –Each 1-factor of K n represents a round. –Each ordered 1-factorization of K n represents a schedule. Formulation

December 2003 Traveling tournament problem15/57 Constructive heuristic Three steps: 1.Schedule games using abstract teams (structure of the draw, 1-factorization). 2.Assign real teams to abstract teams. 3.Select stadium for each game (home/away pattern) in the first phase (mirrored tournament).

December 2003 Traveling tournament problem16/57 Constructive heuristic Step 1: schedule games using abstract teams –This phase creates the structure of the tournament. –“Polygon method” is used. –Tournament structure is fixed and will not change in the other steps.

December 2003 Traveling tournament problem17/57 Constructive heuristic Example: “polygon method” for n=6 1 st round

December 2003 Traveling tournament problem18/57 Constructive heuristic Example: “polygon method” for n=6 2 nd round

December 2003 Traveling tournament problem19/57 Constructive heuristic Example: “polygon method” for n=6 3 rd round

December 2003 Traveling tournament problem20/57 Constructive heuristic Example: “polygon method” for n=6 4 th round

December 2003 Traveling tournament problem21/57 Constructive heuristic Example: “polygon method” for n=6 5 th round

December 2003 Traveling tournament problem22/57 Constructive heuristic Abstract teams (n=6) Roun d ABCDEF 1/6FEDCBA 2/7DCBAFE 3/8BAEFCD 4/9EDFBAC 5/10CFAEDB

December 2003 Traveling tournament problem23/57 Constructive heuristic Step 2: assign real teams to abstract teams –Build a matrix with the number of consecutive games for each pair of abstract teams: For each pair of teams X and Y, an entry in this table contains the total number of times in which the other teams play consecutively with X and Y in any order.

December 2003 Traveling tournament problem24/57 Constructive heuristic ABCDEF A B C D E F443430

December 2003 Traveling tournament problem25/57 Constructive heuristic Step 2: assign real teams to abstract teams –Greedily assign pairs of real teams with close home cities to pairs of abstract teams with large entries in the matrix with the number of consecutive games.

December 2003 Traveling tournament problem26/57 Constructive heuristic Real teams (n=6) Roun d FLUSA N FLAGR E PALPAY 1/6PAYPALGR E FLASA N FLU 2/7GR E FLASA N FLUPAYPAL 3/8SA N FLUPALPAYFLAGR E 4/9PALGR E PAYSA N FLUFLA 5/10FLAPAYFLUPALGR E SA N

December 2003 Traveling tournament problem27/57 Constructive heuristic Step 3: select stadium for each game in the first phase of the tournament –Two-part strategy: Build a feasible assignment of stadiums, starting from a random assignment in the first round. Improve the assignment of stadiums, performing a simple local search algorithm based on home-away swaps.

December 2003 Traveling tournament problem28/57 Constructive heuristic Real teams (n=6) RoundFLUSANFLAGREPALPAY L A U A U L N L RE Y U FLA A L N

December 2003 Traveling tournament problem29/57 Neighborhoods Neighborhood “home-away swap” (HAS): select a game and exchange the stadium where it takes place. Real teams (n=6) RoundFLUSANFLAGREPALPAY L A U A U L N L E Y U FLA A L N

December 2003 Traveling tournament problem30/57 Neighborhoods Neighborhood “home-away swap” (HAS): select a game and exchange the stadium where it takes place. Real teams (n=6) RoundFLUSANFLAGREPALPAY U A U L N L E Y U FLA A L N

December 2003 Traveling tournament problem31/57 Neighborhoods Neighborhood “team swap” (TS): select two teams and swap their games, also swap the home-away assignment of their own game. Real teams (n=6) RoundFLUSANFLAGREPALPAY L A U A U L N L E Y U FLA A L N

December 2003 Traveling tournament problem32/57 Neighborhoods Neighborhood “team swap” (TS): select two teams and swap their games, also swap the home-away assignment of their own game. Real teams (n=6) RoundFLUSANFLAGREPALPAY L A U A U L N L E Y U FLA A L N

December 2003 Traveling tournament problem33/57 Neighborhoods Neighborhood “team swap” (TS): select two teams and swap their games, also swap the home-away assignment of their own game. Real teams (n=6) RoundFLUSANFLAGREPALPAY L A U A U L N E U Y FLA A L N

December 2003 Traveling tournament problem34/57 Neighborhoods Neighborhood “partial round swap” (PRS): select two games AxB and CxD from round X and two games AxC and BxD from round Y, and swap their rounds (only for n  8 and not always applicable).

December 2003 Traveling tournament problem35/57 Neighborhoods Neighborhood “partial round swap” (PRS): select two games AxB and CxD from round X and two games AxC and BxD from round Y, and swap their rounds (only for n  8 and not always applicable).

December 2003 Traveling tournament problem36/57 Neighborhoods Neighborhood “game rotation” (GR) (ejection chain): –Enforce a game to be played at some round: add a new edge to a 1-factor of the 1-factorization associated with the current schedule. –Use an ejection chain to recover a 1- factorization.

December 2003 Traveling tournament problem37/57 Neighborhoods Enforce game 1 vs. 3 at round (factor) 2.

December 2003 Traveling tournament problem38/ Neighborhoods Teams 1 and 3 are now playing twice in this round.

December 2003 Traveling tournament problem39/ Neighborhoods Eliminate the other games played by teams 1 and 3 in this round.

December 2003 Traveling tournament problem40/ Neighborhoods Enforce the former opponents of teams 1 and 3 to play each other in this round: new game 2 vs. 4 in this round.

December 2003 Traveling tournament problem41/ Neighborhoods Consider the factor where game 2 vs. 4 was scheduled.

December 2003 Traveling tournament problem42/57 Neighborhoods Enforce game 1 vs. 4 (eliminated from round 2) to be played in this round, and so on...

December 2003 Traveling tournament problem43/57 Neighborhoods The ejection chain terminates when the game enforced in the beginning is removed from the round where it was played in the original schedule. PRS moves may appear after an ejection chain move is made.

December 2003 Traveling tournament problem44/57 Iterated local search Martin, Otto, & Felten (1991); Martin & Otto (1996) S  GenerateInitialSolution() S,S*  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateBestSolution(S,S*) until StoppingCriterion

December 2003 Traveling tournament problem45/57 Extended ILS heuristic while.not.StoppingCriterion S  GenerateRandomizedInitialSolution() S  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateOverallBestSolution(S,S*) until ReinitializationCriterion end

December 2003 Traveling tournament problem46/57 Extended ILS heuristic while.not.StoppingCriterion S  GenerateRandomizedInitialSolution() S  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateOverallBestSolution(S,S*) until ReinitializationCriterion end Constructive heuristic randomized in the 2 nd step

December 2003 Traveling tournament problem47/57 Extended ILS heuristic while.not.StoppingCriterion S  GenerateRandomizedInitialSolution() S  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateOverallBestSolution(S,S*) until ReinitializationCriterion end TS  HAS  PRS  HAS until a local optimum for all neighborhoods is found

December 2003 Traveling tournament problem48/57 Extended ILS heuristic while.not.StoppingCriterion S  GenerateRandomizedInitialSolution() S  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateOverallBestSolution(S,S*) until ReinitializationCriterion end TS  HAS  PRS  HAS until a local optimum for all neighborhoods is found

December 2003 Traveling tournament problem49/57 Extended ILS heuristic while.not.StoppingCriterion S  GenerateRandomizedInitialSolution() S  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateOverallBestSolution(S,S*) until ReinitializationCriterion end Apply one GR move randomly selected. Execute the 3 rd step of the constructive heuristic to ensure feasibility

December 2003 Traveling tournament problem50/57 Extended ILS heuristic while.not.StoppingCriterion S  GenerateRandomizedInitialSolution() S  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateOverallBestSolution(S,S*) until ReinitializationCriterion end Initial criterion: At least almost as good as current solution. Relax the criterion as current solution is not changing.

December 2003 Traveling tournament problem51/57 Extended ILS heuristic while.not.StoppingCriterion S  GenerateRandomizedInitialSolution() S  LocalSearch(S) repeat S’  Perturbation(S,history) S’  LocalSearch(S’) S  AceptanceCriterion(S,S’,history) S*  UpdateOverallBestSolution(S,S*) until ReinitializationCriterion end Too many iterations without improving best solution in cycle

December 2003 Traveling tournament problem52/57 Computational results Benchmark circular instances with n = 8, 10, 12, 14, 16, 18, and 20 teams. Harder benchmark MLB instances with n = 8, 10, 12, 14, and 16 teams. –All available from Michael Trick’s web page edition of the Brazilian national soccer championship with 24 teams.

December 2003 Traveling tournament problem53/57 Computational results Largest problems solved to optimality using an integer programming formulation: n = 6 teams Approximate solutions listed at Michael Trick’s home page for the corresponding unmirrored (not necessary mirrored) instances. Solutions found for CIRC and MLB instances are even better than those available for the corresponding unmirrored instances in 2002 (e.g. 3.5 hours for NL16 in Pentium IV 2.0 MHz).

December 2003 Traveling tournament problem54/57 Computational results Total distance traveled for the 2003 edition of the Brazilian soccer championship with 24 teams (instance br24) in 12 hours (Pentium IV 2.0 MHz): Realized (official draw): 1, 048,134 kms Our solution: 549,020 kms (50% reduction) Approximate corresponding savings in airfares: US$ 1,700,000

December 2003 Traveling tournament problem55/57 Computational results

December 2003 Traveling tournament problem56/57 Concluding remarks Extended ILS heuristic found very good solutions to benchmark instances: –Solutions found for CIRC and MLB instances are even better than those available for the corresponding unmirrored instances in Effectiveness of ejection chain neighborhood. Significant savings in airfares costs and traveled distance in a real instance.

December 2003 Traveling tournament problem57/57 Work in progress Combination of constraint programming with heuristics to handle difficult constraints. Incorporation of additional real-life constraints: TV constraints, pre- scheduled games, complementary teams, airfares + hotel costs,... Talks with Brazilian federations of soccer (CBF) and basketball (CBB) to schedule the 2004 edition of national tournaments.