1 / 57

Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship

Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship. Celso C. RIBEIRO Sebastián URRUTIA. Summary. Motivation Formulation Constructive heuristic Neighborhoods Iterated local search Extended ILS for TTP Computational results Concluding remarks.

Download Presentation

Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Heuristics for the Traveling Tournament Problem: Scheduling the Brazilian Soccer Championship Celso C. RIBEIRO Sebastián URRUTIA Traveling tournament problem

  2. Summary • Motivation • Formulation • Constructive heuristic • Neighborhoods • Iterated local search • Extended ILS for TTP • Computational results • Concluding remarks Traveling tournament problem

  3. 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 Traveling tournament problem

  4. 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. Traveling tournament problem

  5. 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). Traveling tournament problem

  6. 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. Formulation (TTP) Traveling tournament problem

  7. 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 G1=(V,E1), ..., Gp=(V,Ep), with E1...Ep=E. • In a 1-factorization of G all factors are 1-factors. Traveling tournament problem

  8. Formulation 1 2 5 4 3 Example: 1-factorization of K6 6 Traveling tournament problem

  9. Formulation 1 1 2 5 4 3 Example: 1-factorization of K6 6 Traveling tournament problem

  10. Formulation 2 1 2 5 4 3 Example: 1-factorization of K6 6 Traveling tournament problem

  11. Formulation 3 1 2 5 4 3 Example: 1-factorization of K6 6 Traveling tournament problem

  12. Formulation 4 1 2 5 4 3 Example: 1-factorization of K6 6 Traveling tournament problem

  13. Formulation 5 1 2 5 4 3 Example: 1-factorization of K6 6 Traveling tournament problem

  14. Formulation • For strict single round robin and strict mirrored double round robin tournaments: • Each edge in Kn represents a game. • Each 1-factor of Kn represents a round. • Each ordered 1-factorization of Kn represents a schedule. Traveling tournament problem

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

  16. 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. Traveling tournament problem

  17. 1st round Constructive heuristic 6 Example: “polygon method” for n=6 1 5 2 3 4 Traveling tournament problem

  18. Constructive heuristic 6 Example: “polygon method” for n=6 5 4 1 2nd round 2 3 Traveling tournament problem

  19. Constructive heuristic 6 Example: “polygon method” for n=6 4 3 5 3rd round 1 2 Traveling tournament problem

  20. Constructive heuristic 6 Example: “polygon method” for n=6 3 2 4 4th round 5 1 Traveling tournament problem

  21. Constructive heuristic 6 Example: “polygon method” for n=6 2 1 3 5th round 4 5 Traveling tournament problem

  22. Constructive heuristic Traveling tournament problem

  23. 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. Traveling tournament problem

  24. Constructive heuristic Traveling tournament problem

  25. 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. Traveling tournament problem

  26. Constructive heuristic Traveling tournament problem

  27. 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. Traveling tournament problem

  28. Constructive heuristic Traveling tournament problem

  29. Neighborhoods • Neighborhood “home-away swap”(HAS): select a game and exchange the stadium where it takes place. Traveling tournament problem

  30. Neighborhoods • Neighborhood “home-away swap” (HAS): select a game and exchange the stadium where it takes place. Traveling tournament problem

  31. Neighborhoods • Neighborhood “team swap” (TS): select two teams and swap their games, also swap the home-away assignment of their own game. Traveling tournament problem

  32. Neighborhoods • Neighborhood “team swap” (TS): select two teams and swap their games, also swap the home-away assignment of their own game. Traveling tournament problem

  33. Neighborhoods • Neighborhood “team swap” (TS): select two teams and swap their games, also swap the home-away assignment of their own game. Traveling tournament problem

  34. 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). Traveling tournament problem

  35. 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8and not always applicable). Traveling tournament problem

  36. 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. Traveling tournament problem

  37. Neighborhoods 2 1 2 5 4 3 6 Enforce game 1vs. 3 at round (factor) 2. Traveling tournament problem

  38. Neighborhoods 2 1 2 5 4 3 6 Teams 1 and 3 are now playing twice in this round. Traveling tournament problem

  39. Neighborhoods 2 1 2 5 4 3 6 Eliminate the other games played by teams 1 and 3 in this round. Traveling tournament problem

  40. Neighborhoods 2 1 2 5 4 3 6 Enforce the former opponents of teams 1 and 3 to play each other in this round: new game 2 vs. 4 in this round. Traveling tournament problem

  41. Neighborhoods 4 1 2 5 4 3 6 Consider the factor where game 2 vs. 4 was scheduled. Traveling tournament problem

  42. Neighborhoods 4 1 2 5 4 3 6 Enforce game 1 vs. 4 (eliminated from round 2) to be played in this round, and so on... Traveling tournament problem

  43. 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. Traveling tournament problem

  44. 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 Traveling tournament problem

  45. 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 Traveling tournament problem

  46. 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 2nd step Traveling tournament problem

  47. 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 Traveling tournament problem

  48. 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 Traveling tournament problem

  49. 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 3rd step of the constructive heuristic to ensure feasibility Traveling tournament problem

  50. 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. Traveling tournament problem

More Related