490 likes | 612 Views
Heuristics for the Mirrored Traveling Tournament Problem. Celso C. RIBEIRO Sebastián URRUTIA. Summary. The Mirrored Traveling Tournament Problem Constructive heuristic Neighborhoods and ejection chains Extended GRASP + ILS heuristic Computational results. Motivation.
E N D
Heuristics for the Mirrored Traveling Tournament Problem Celso C. RIBEIRO Sebastián URRUTIA
Summary • The Mirrored Traveling Tournament Problem • Constructive heuristic • Neighborhoods and ejection chains • Extended GRASP + ILS heuristic • Computational results
Motivation • Game scheduling is a difficult task, involving different types of constraints, logistic issues, multiple objectives, and several decision makers. • Total distance traveled is an important variable to be minimized, to reduce traveling costs and to give more time to the players for resting and training. • Timetabling is the major area of applications of OR in sports.
Formulation • Traveling Tournament Problem (TTP) • 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.
Formulation • Tournament is a strict double round-robin tournament: • There are 2(n-1) rounds, each one with n/2 games. • Each team plays against every other team twice, one at home and the other away. • No team can play more than three games in a home stand (home games) or in a road trip (away games). • Goal: minimize the total distance traveled by all teams.
Formulation Mirrored Traveling Tournament Problem (MTTP): 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. Common structure in Latin-American tournaments. Set of feasible solutions for the MTTP is a subset of the feasible solutions for the TTP.
1-Factorizations • 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 G1=(V,E1), ..., Gp=(V,Ep), such that E1...Ep=E. • All factors in a 1-factorization of G are 1-factors. • Oriented 1-factorization: assign orientations to the edges of a 1-factorization
1-Factorizations 1 2 5 4 3 6 • Mirrored tournament: games in the second phase are determined by those in the first. • Each edge of Kn represents a game. • Each 1-factor of Kn represents a round. • Each ordered oriented 1-factorization of Kn represents a feasible schedule for n teams. • Example: K6
1-Factorizations 1 1 1 1 1 2 2 2 2 2 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 6 6 6 6 6
Constructive heuristic • Three steps: • Schedule games using abstract teams: polygon method defines the structure of the tournament • Assign real teams to abstract teams: greedy heuristic to QAP (number of travels between stadiums of the abstract teams x distances between the stadiums of the real teams) • Select stadium for each game (home/away pattern) in the first phase (mirrored tournament): • Build a feasible assignment of stadiums, starting from a random assignment of stadiums in the first round. • Improve this assignment of stadiums, using a simple local search algorithm based on home-away swaps.
Constructive heuristic 6 Example: “polygon method” for n=6 1 5 2 1st round 3 4
Constructive heuristic 6 Example: “polygon method” for n=6 5 4 1 2nd round 2 3
Constructive heuristic 6 Example: “polygon method” for n=6 4 3 5 3rd round 1 2
Constructive heuristic 6 Example: “polygon method” for n=6 3 2 4 4th round 5 1
Constructive heuristic 6 Example: “polygon method” for n=6 2 1 3 5th round 4 5
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 matrix contains the total number of times in which the other teams play consecutively with X and Y in any order. • 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: QAP heuristic
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.
Neighborhood home-away swap (HAS) 1 1 1 1 1 2 2 2 2 2 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 6 6 6 6 6
Neighborhood home-away swap (HAS) 1 1 1 1 2 2 2 2 5 5 5 5 4 4 4 4 3 3 3 3 6 6 6 6 1 2 5 4 3 6
Neighborhood team-swap (TS) 1 1 1 1 1 2 2 2 2 2 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 6 6 6 6 6
Neighborhood team-swap (TS) 2 2 2 2 2 1 1 1 1 1 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 6 6 6 6 6
Neighborhood partial round swap (PRS) 1 2 1 2 3 8 3 8 7 4 7 4 6 5 6 5
Neighborhood partial round swap (PRS) 1 2 1 2 3 8 3 8 7 4 7 4 6 5 6 5
Ejection chain: game rotation (GR) • Neigborhood “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.
Ejection chain: game rotation (GR) 1 1 1 1 1 2 2 2 2 2 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 6 6 6 6 6
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6 Enforce game (1,3) to be played in round 2
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6 Enforce game (1,3) to be played in round 2
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6
Ejection chain: game rotation (GR) 1 1 1 2 5 2 2 5 5 4 4 3 3 4 3 6 6 6 1 1 2 5 2 5 4 3 4 3 6 6
Neighborhoods • Only movements in neighborhoods PRS and GR may change the structure of the initial schedule. • However, PRS moves not always exist, due to the structure of the solutions built by polygon method e.g. for n = 6, 8, 12, 14, 16, 20, 24. • PRS moves may appear after an ejection chain move is made. • The ejection chain move is able to find solutions that are not reachable through other neighborhoods: escape from local optima
GRASP + ILS heuristic • Hybrid improvement heuristic for the MTTP: • Combination of GRASP and ILS metaheuristics. • Initial solutions: randomized version of the constructive heuristic. • Local search with first improving move: use TS, HAS, PRS and HAS cyclically in this order until a local optimum for all neighborhoods is found. • Perturbation: random movement in GR neighborhood. • Detailed algorithm to appear in EJOR.
GRASP + ILS heuristic while .not.StoppingCriterion S GenerateRandomizedInitialSolution() S LocalSearch(S) repeat S’ Perturbation(S,history) S’ LocalSearch(S’) S AceptanceCriterion(S,S’,history) S* UpdateBestSolution(S,S*) until ReinitializationCriterion end
Computational results • Circular instances with n = 12, ..., 20 teams. • MLB instances with n = 12, ..., 16 teams. • All available from http://mat.gsia.cmu.edu/TOURN/ • Largest instances exactly solved to date: n=6 (sequential), n=8 (parallel) • Numerical results on a Pentium IV 2.0 MHz. • Comparisons with best known solutions for the corresponding less constrainednot necessarily mirrored instances (TTP).
Computational results • Constructive heuristic: • Very fast • Instance MLB16: 1000 runs in approximately 1 second • Average gap is 17.1% • Better solutions than those found after several days of computations by some metaheuristic aproaches to the not necessarily mirrrored version of the problem.
Computational results • GRASP + ILS heuristic: time limit is 10 minutes only • Before this work, times were measured in days. • Largest gap with respect to the best known solution for the less constrained not necessarily mirrored problem was 9,5%.
Computational results • New heuristic improved by 3.9% and 1.4% the best known solutions for the corresponding less constrained unmirrored instances circ18 and circ20. • Computation times are smaller than computation time of other heuristics, e.g. for instance MLB14: • Anagnostopoulos et al. (2003): approximately five days of computation time • GRASP + ILS: 10 minutes
Concluding Remarks • Constructive heuristic is very fast and effective. • GRASP+ILS heuristic found very good solutions: • Very fast (10 minutes). • Solutions found for some instances are even better than those available for the corresponding less constrained not necessarily mirrored instances. • Optimal solutions for a new class of instances for n = 4, 6, 8, 10,12, and 16 (Urrutia & Ribeiro, “Minimizing travels by maximizing breaks in round robin tournament schedules”, 2004) • Effectiveness of the ejection chains.