Download presentation
Presentation is loading. Please wait.
Published byJemima Shelton Modified over 9 years ago
1
December 2003 Traveling tournament problem1/57 Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship Celso C. RIBEIRO Sebastián URRUTIA
2
December 2003 Traveling tournament problem2/57 Summary Motivation Formulation Constructive heuristic Neighborhoods Iterated local search Extended ILS for TTP Computational results Concluding remarks
3
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
4
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.
5
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).
6
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.
7
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.
8
December 2003 Traveling tournament problem8/57 4 3 2 1 5 6 Formulation Example: 1-factorization of K 6
9
December 2003 Traveling tournament problem9/57 4 3 2 1 5 6 1 Formulation Example: 1-factorization of K 6
10
December 2003 Traveling tournament problem10/57 4 3 2 1 5 6 2 Formulation Example: 1-factorization of K 6
11
December 2003 Traveling tournament problem11/57 4 3 2 1 5 6 3 Formulation Example: 1-factorization of K 6
12
December 2003 Traveling tournament problem12/57 4 3 2 1 5 6 4 Formulation Example: 1-factorization of K 6
13
December 2003 Traveling tournament problem13/57 4 3 2 1 5 6 5 Formulation Example: 1-factorization of K 6
14
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
15
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).
16
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.
17
December 2003 Traveling tournament problem17/57 Constructive heuristic 4 3 2 1 5 6 Example: “polygon method” for n=6 1 st round
18
December 2003 Traveling tournament problem18/57 Constructive heuristic 3 2 1 5 4 6 Example: “polygon method” for n=6 2 nd round
19
December 2003 Traveling tournament problem19/57 Constructive heuristic 2 1 5 4 3 6 Example: “polygon method” for n=6 3 rd round
20
December 2003 Traveling tournament problem20/57 Constructive heuristic 1 5 4 3 2 6 Example: “polygon method” for n=6 4 th round
21
December 2003 Traveling tournament problem21/57 Constructive heuristic 5 4 3 2 1 6 Example: “polygon method” for n=6 5 th round
22
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
23
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.
24
December 2003 Traveling tournament problem24/57 Constructive heuristic ABCDEF A016524 B102564 C620253 D552024 E265203 F443430
25
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.
26
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
27
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.
28
December 2003 Traveling tournament problem28/57 Constructive heuristic Real teams (n=6) RoundFLUSANFLAGREPALPAY 1/6PAY @PA L GRE @FL A SAN @FL U 2/7GRE @FL A SAN @FL U PAY @PA L 3/8 @SA N FLU @PA L PAYFLA @G RE 4/9PAL @G RE @PA Y SAN @FL U FLA 5/10 @FL A PAYFLU @PA L GRE @SA N
29
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 1/6PAY @PA L GRE @FL A SAN @FL U 2/7GRE @FL A SAN @FL U PAY @PA L 3/8 @SA N FLU @PA L PAYFLA @GR E 4/9PAL @GR E @PA Y SAN @FL U FLA 5/10 @FL A PAYFLU @PA L GRE @SA N
30
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 1/6PAYPALGRE @FL A @SA N @FL U 2/7GRE @FL A SAN @FL U PAY @PA L 3/8 @SA N FLU @PA L PAYFLA @GR E 4/9PAL @GR E @PA Y SAN @FL U FLA 5/10 @FL A PAYFLU @PA L GRE @SA N
31
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 1/6PAY @PA L GRE @FL A SAN @FL U 2/7GRE @FL A SAN @FL U PAY @PA L 3/8 @SA N FLU @PA L PAYFLA @GR E 4/9PAL @GR E @PA Y SAN @FL U FLA 5/10 @FL A PAYFLU @PA L GRE @SA N
32
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 1/6PAY @PA L GRE @FL A SAN @FL U 2/7GRE @FL A SAN @FL U PAY @PA L 3/8 @SA N FLU @PA L PAYFLA @GR E 4/9PAL @GR E @PA Y SAN @FL U FLA 5/10 @FL A PAYFLU @PA L GRE @SA N
33
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 1/6PAY @PA L SAN @FL A GRE @FL U 2/7GRE @FL A PAY @FL U SAN @PA L 3/8 @SA N FLUPALPAY @FL A @GR E 4/9PAL @GR E @FL U SAN @PA Y FLA 5/10 @FL A PAYGRE @PA L FLU @SA N
34
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).
35
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).
36
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.
37
December 2003 Traveling tournament problem37/57 Neighborhoods 4 3 2 1 5 6 2 Enforce game 1 vs. 3 at round (factor) 2.
38
December 2003 Traveling tournament problem38/57 4 3 2 1 5 6 2 Neighborhoods Teams 1 and 3 are now playing twice in this round.
39
December 2003 Traveling tournament problem39/57 4 3 2 1 5 6 2 Neighborhoods Eliminate the other games played by teams 1 and 3 in this round.
40
December 2003 Traveling tournament problem40/57 4 3 2 1 5 6 2 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.
41
December 2003 Traveling tournament problem41/57 4 3 2 1 5 6 4 Neighborhoods Consider the factor where game 2 vs. 4 was scheduled.
42
December 2003 Traveling tournament problem42/57 Neighborhoods 4 3 2 1 5 6 4 Enforce game 1 vs. 4 (eliminated from round 2) to be played in this round, and so on...
43
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.
44
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
45
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
46
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
47
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
48
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
49
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
50
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.
51
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
52
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. 2003 edition of the Brazilian national soccer championship with 24 teams.
53
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).
54
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
55
December 2003 Traveling tournament problem55/57 Computational results
56
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 2002. Effectiveness of ejection chain neighborhood. Significant savings in airfares costs and traveled distance in a real instance.
57
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.