Augoust /77 Heuristics for the Mirrored Traveling Tournament Problem Celso C. RIBEIRO Sebastián URRUTIA
Augoust /77 Summary Motivation Formulation Constructive heuristic Neighborhoods Extended GRASP + ILS heuristic A new class of instances Computational results Concluding remarks
Augoust /77 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. A tournament schedule determines at which round and in which stadium each game takes place.
Augoust /77 Motivation Tournament scheduling is a difficult task, involving different types of constraints, multiple objectives to optimize, and several decision makers (officials, managers, TV, etc…). – Decision makers may have opposite goals. – Economic issues. – Logistic issues. – Fairness.
Augoust /77 Motivation The total distance traveled by teams in round robin tournaments is an important variable to be minimized, in order to reduce traveling costs and to give more time to the players for resting and training.
Augoust /77 Formulation Conditions: – n (even) teams take part in a tournament. – Each team has its own stadium at its home city. – Each team is located at its home city in the beginning, to where it returns at the end. – 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.
Augoust /77 The Traveling Tournament Problem (TTP) consists in generating an schedule for a tournament between n teams subject to: – The tournament is a time constrained double round-robin tournament: There are exactly 2(n-1) rounds (each team plays once in every round) Each team plays against every other team twice, one at home and the other away. – No team can play more than three consecutive home or more than three consecutive away games. – No repeaters are allowed (A at B followed by B at A). – The goal is to minimize the total distance traveled by all teams during the tournament. The Traveling Tournament Problem Open problem: Is the TTP NP-Hard? – Hard problem: previous largest instance exactly solved to date had only n=6 teams! (n=8 with 20 processors in 4 days CPU time)
Augoust /77 The Mirrored Traveling Tournament Problem (MTTP) has an additional constraint: – The tournament is mirrored, i.e.: 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. – The set of feasible solutions for the MTTP is a subset of the set of feasible solutions for the TTP. The Mirrored Traveling Tournament Problem
Augoust /77 The Mirrored Traveling Tournament Problem Some references: – Easton, Nemhauser, & Trick, “The traveling tournament problem: Description and benchmarks” (2001) – Trick, “Challenge traveling tournament instances”, web page: – Anagnostopoulos, Michel, Van Hentenryck, & Vergados, “A simulated annealing approach to the traveling tournament problem” (2003)
Augoust /77 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 G 1 =(V,E 1 ),..., G p =(V,E p ), such that E 1 ... E p =E. All factors in a 1-factorization of G are 1-factors.
Augoust / Factorizations Example: 1-factorization of K 6
Augoust / Factorizations Example: 1-factorization of K 6
Augoust / Factorizations Example: 1-factorization of K 6
Augoust / Factorizations Example: 1-factorization of K 6
Augoust / Factorizations Example: 1-factorization of K 6
Augoust / Factorizations Example: 1-factorization of K 6
Augoust /77 Mirrored tournament: games in the second phase are determined by those in the first. – If each edge of K n represents a game, – each 1-factor of K n represents a round and – each ordered 1-factorization of K n represents a feasible schedule for n teams. – Without considering the stadiums, there are (n-1)! times (number of nonisomorphic 1-factorizations) different “mirrored tournaments”. Dinitz, Garnick, & McKay, “There are 526,915,620 nonisomorphic one-factorizations of K 12 ” (1995) 1-Factorizations Open problem: How many schedules exist for a single round robin tournament with n teams?
Augoust /77 Constructive heuristic Three steps: 1. Schedule games using abstract teams (structure of the draw). 2. Assign real teams to abstract teams. 3. Select stadium for each game (home/away pattern) in the first phase (mirrored tournament).
Augoust /77 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 of the constructive heuristic.
Augoust /77 Constructive heuristic Example: “polygon method” for n=6 1 st round
Augoust /77 Constructive heuristic Example: “polygon method” for n=6 2 nd round
Augoust /77 Constructive heuristic Example: “polygon method” for n=6 3 rd round
Augoust /77 Constructive heuristic Example: “polygon method” for n=6 4 th round
Augoust /77 Constructive heuristic Example: “polygon method” for n=6 5 th round
Augoust /77 Constructive heuristic Abstract teams (n=6) RoundABCDEF 1/6FEDCBA 2/7DCBAFE 3/8BAEFCD 4/9EDFBAC 5/10CFAEDB
Augoust /77 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.
Augoust /77 Constructive heuristic ABCDEF A B C D E F443430
Augoust /77 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.
Augoust /77 Constructive heuristic n = 16: note the large number of times in which two teams are faced consecutively, which is explored by step 2 of the constructive heuristic.
Augoust /77 Constructive heuristic Real teams (n=6) RoundFLUSANFLAGREPALPAY 1/6PAYPALGREFLASANFLU 2/7GREFLASANFLUPAYPAL 3/8SANFLUPALPAYFLAGRE 4/9PALGREPAYSANFLUFLA 5/10FLAPAYFLUPALGRESAN
Augoust /77 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.
Augoust /77 Constructive heuristic Real teams (n=6) RoundFLUSANFLAGREPALPAY
Augoust /77 Neighborhoods Neighborhood “home-away swap” (HAS): select a game and exchange the stadium where it takes place. Real teams (n=6) RoundFLUSANFLAGREPALPAY
Augoust /77 Neighborhoods Neighborhood “home-away swap” (HAS): select a game and exchange the stadium where it takes place. Real teams (n=6) RoundFLUSANFLAGREPALPAY
Augoust /77 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
Augoust /77 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
Augoust /77 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
Augoust /77 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, not always possible).
Augoust /77 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, not always possible).
Augoust /77 Neighborhoods 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.
Augoust /77 Neighborhoods Enforce game 1vs. 3 at round (factor) 2.
Augoust / Neighborhoods Teams 1 and 3 are now playing twice in this round.
Augoust / Neighborhoods Eliminate the other games played by teams 1 and 3 in this round.
Augoust / Neighborhoods Enforce the former oponents of teams 1 and 3 to play each other in this round: new game 2 vs. 4 in this round.
Augoust / Neighborhoods Consider the factor where game 2 vs. 4 was scheduled.
Augoust /77 Neighborhoods Enforce game 1 vs. 4 (eliminated from round 2) to be played in this round.
Augoust /77 Neighborhoods Continue with the applications of these steps, until the game enforced in the beginning is removed from the round where it was played in the original schedule. – Only movements in neighborhoods PRS and GR are able to change the structure of the schedule of the initial solution built by the “polygon method”. – However, PRS cannot always be used, due to the structure of the solutions built by “polygon method” for several values of n. 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. Open problem: Is the GR neighborhood complete?
Augoust /77 Iterated Local Search S GenerateInitialSolution() S LocalSearch(S) repeat S’ Perturbation(S,history) S’ LocalSearch(S’) S AceptanceCriterion(S,S’,history) S* UpdateBestSolution(S,S*) until StoppingCriterion
Augoust /77 GRASP while.not.StoppingCriterion S GenerateRandomizedInitialSolution() S LocalSearch(S) S* UpdateBestSolution(S,S*) end
Augoust /77 GRASP + ILS heuristic The constructive heuristic and the neighborhoods were used to develop a hybrid improvement heuristic for the MTTP: – This heuristic is based on the GRASP and ILS metaheuristics. – Initial solutions: randomized version of the constructive heuristic. – Local search: use TS, HAS, PRS and HAS cyclically in this order until a local optimum for all neighborhoods is found. (do not search in GR!!!) – Perturbation: random movement in GR neighborhood + fast tabu search to restore feasibility. – Algorithm fully described in the paper.
Augoust /77 Extended 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
Augoust /77 Test Instances Benchmark circular instances with n = 12, 14, 16, 18, and 20 teams. Harder benchmark MLB instances with n = 12, 14, and 16 teams. – All available from edition of the Brazilian national soccer championship with 24 teams. New uniform instances.
Augoust /77 Home-away pattern (HAP) Matrix with as many rows as teams (n) and as many columns as rounds in the tournament. Each row of a HAP is a sequence of H’s and A’s. An H (resp. A) in position r of row t means that team t has a home (resp. an away) game in round r. A team has a break in round r if it has two consecutive home (or away) games in rounds r-1 and r.
Augoust /77 HAP & Breaks Single round-robin tournament (SRR): – Each team plays every other team exactly once in n- 1 prescheduled rounds. – There are no two equal rows in a HAP of an SRR tournament (every two teams have to play against each other at some round) Team/Round123 1HHH 2AHA 3AAA 4HAH
Augoust /77 Tournament schedules Schedule S: – B(S) = total number of breaks (sum of the number of breaks over all teams in the tournament) Number of home breaks = number of away breaks = B(S)/2 – D(S) = total distance traveled (sum of the distances traveled by all teams in the tournament) – T(S) = total number of travels (number of times any team must travel from one stadium to another)
Augoust /77 Tournament schedules Breaks minimization problems: – Schedules with a minimum number of breaks De Werra (1981,1988): constraints on geographical locations (complementary HAPs for teams in the same location, e.g. Mets and Yankees in NY), teams organized in divisions (weekday vs. weekend games), minimize the number of rounds with breaks – Minimize breaks when the order of games is fixed Elf, Junger & Rinaldi (2003)
Augoust /77 discounted by the number of teams that do not travel (home breaks) Connecting breaks with travels R = number of rounds T(S) = n/2 + n(R-1) – B(S)/2 + n/2 = nR – B(S)/2 travels to play in intermediary rounds if all teams were to travel, travels after playing the last gametravels to play the first game
Augoust /77 Connecting breaks with distances New uniform instances: all distances equal to one. In the particular case of a uniform instance: D(S) = T(S) Then, D(S) = nR – B(S)/2 maximize breaks => minimize travels => => minimize distance traveled for uniform instances Motivation: UB to breaks gives LB to distance Consequence: implications in the solution of the TTP
Augoust /77 Max breaks for SRR tournaments SRR tournaments: maximum number of breaks for any team is (n-2): all home games or all away games Only two teams may have (n-2) breaks: all games away and all games at home Remaining (n-2) teams: at most (n-3) breaks each Upper bound to the number of breaks: UB SRR = 2(n-2) + (n-2)(n-3) = n 2 – 3n + 2
Augoust /77 Polygon method Upper bound to the number of breaks: UB SRR = 2(n-2) + (n-2)(n-3) = n 2 – 3n + 2 UB SRR bound is tight. We use the polygon method to build a schedule with exactly UB SRR breaks.
Augoust /77 Polygon method Extend the polygon method giving orientation to each edge Edge connecting nodes 1 and n is always oriented from 1 to n (in every round) k=2,...,n/2: the edge connecting nodes k and n+1-k is oriented from the even (resp. odd) numbered node to the odd (resp. even) numbered node in even (resp. odd) rounds Final extremity of each arc is the home team.
Augoust /77 Polygon method
Augoust /77 Max breaks for TTP-constrained MDRR tournaments Similar tight bounds can also be obtained for equilibrated SRR, DRR, and MDRR tournaments. Mirrored DRR tournaments in which each schedule must follow the same constraints of the traveling tournament problem: – No team can play more than three consecutive home games or more than three consecutive away games.
Augoust /77 Upper bounds to the number of breaks can be derived using similar (although much more elaborated) counting arguments: Max breaks for TTP-constrained MDRR tournaments
Augoust /77 Since T(S) = 2n(n-1) – B(S)/2, the upper bound UB TTP can be used in the computation of lower bounds to T(S) and, for the uniform instances, also to D(S) = T(S). Contrarily to the previous problems, a construction method to build schedules for TTP-constrained MDRR tournaments with exactly UB TTP breaks does not seem to exist to date. Use an effective TTP heuristic to find good approximate solutions Max breaks for TTP-constrained MDRR tournaments
Augoust /77 Computational results All numerical results on a Pentium IV 2.0 MHz machine. Comparisons with best known approximate solutions for the corresponding less constrained not necessarily mirrored instances.
Augoust /77 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 aproachs to the not necessarily mirrrored version of the problem
Augoust /77 GRASP + ILS heuristic: time limit is 10 minutes only Largest gap with respect to the best known solution for the less constrained not necessarily mirrored problem was 9,5%. (before this work, times were measured in days!) Computational results
Augoust /77 Computational results InstanceBest unmirroredBest mirroredgap (%)Time to best (s) circ circ circ circ circ nl nl nl
Augoust /77 Computational results InstanceBest unmirroredBest mirroredgap (%)Time to best (s) circ circ circ circ circ nl nl nl
Augoust /77 Computational results InstanceBest unmirroredBest mirroredgap (%)Time to best (s) circ circ circ circ circ nl nl nl
Augoust /77 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 Computational results
Augoust /77 Computational results Total distance traveled for the 2003 edition of the Brazilian soccer championship with 24 teams (instance br24) in 15 min. (Pentium IV 2.0 MHz): Our solution: 506,433 kms Realized (official draw): 1, 048,134 kms (52% reduction) Approximate corresponding potential savings in airfares: US$ 1,700,000
Augoust /77 Computational results for Uniform Instances nD(S)LBgapB(S)
Augoust /77 Constructive heuristic is very fast and effective. GRASP + ILS heuristic found very good solutions to benchmark instances: – 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 solution for MLB and circ instances with n = 4 and 6 Effectiveness of the ejection chain neighborhood. Mirrored schedules are good schedules. Significant savings in airfare costs and traveled distance in the real instance. Concluding Remarks
Augoust /77 Concluding Remarks Connection between breaks maximization and distance minimization problems This connection is used to prove the optimality of approximate solutions found by an effective heuristic for the TTP. New largest TTP instance exactly solved to date: n=16 In spite of being easier than other classes of TTP instances, uniform instances could not be exactly solved for n > 16. Open problem: Is the TTP NP-Hard in the special case of uniform instances?
Augoust /77 Ribeiro & Urrutia, “Heuristics for the Mirrored Traveling Tournament Problem”, PATAT Practice and Theory of Automated Timetabling (2004) Urrutia & Ribeiro, “Minimizing travels by maximizing breaks in round robin tournament schedules”, Electronic Notes in Discrete Mathematics, (2004)