Title: PVC routing algorithms
1Heuristics for the Mirrored Traveling Tournament
Problem
Celso C. RIBEIRO Sebastián URRUTIA
2Summary
- The Mirrored Traveling Tournament Problem
- Constructive heuristic
- Neighborhoods and ejection chains
- Extended GRASP ILS heuristic
- Computational results
3Motivation
- 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.
4Formulation
- 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.
5Formulation
- 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.
6Formulation
- 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.
71-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?...?EpE. - All factors in a 1-factorization of G are
1-factors. - Oriented 1-factorization assign orientations to
the edges of a 1-factorization
81-Factorizations
- 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
91-Factorizations
10Constructive 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.
11Constructive heuristic
6
Example polygon method for n6
1
5
2
1st round
3
4
12Constructive heuristic
6
Example polygon method for n6
5
4
1
2nd round
2
3
13Constructive heuristic
6
Example polygon method for n6
4
3
5
3rd round
1
2
14Constructive heuristic
6
Example polygon method for n6
3
2
4
4th round
5
1
15Constructive heuristic
6
Example polygon method for n6
2
1
3
5th round
4
5
16Constructive heuristic
Abstract teams (n6) Abstract teams (n6) Abstract teams (n6) Abstract teams (n6) Abstract teams (n6) Abstract teams (n6)
Round A B C D E F
1/6 F E D C B A
2/7 D C B A F E
3/8 B A E F C D
4/9 E D F B A C
5/10 C F A E D B
17Constructive 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
18Constructive heuristic
A B C D E F
A 0 1 6 5 2 4
B 1 0 2 5 6 4
C 6 2 0 2 5 3
D 5 5 2 0 2 4
E 2 6 5 2 0 3
F 4 4 3 4 3 0
19Constructive heuristic
Real teams (n6) Real teams (n6) Real teams (n6) Real teams (n6) Real teams (n6) Real teams (n6)
Round FLU SAN FLA GRE PAL PAY
1/6 PAY PAL GRE FLA SAN FLU
2/7 GRE FLA SAN FLU PAY PAL
3/8 SAN FLU PAL PAY FLA GRE
4/9 PAL GRE PAY SAN FLU FLA
5/10 FLA PAY FLU PAL GRE SAN
20Constructive 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.
21Constructive heuristic
Real teams (n6) Real teams (n6) Real teams (n6) Real teams (n6) Real teams (n6) Real teams (n6)
Round FLU SAN FLA GRE PAL PAY
1/6 PAY _at_PAL GRE _at_FLA SAN _at_FLU
2/7 GRE _at_FLA SAN _at_FLU PAY _at_PAL
3/8 _at_SAN FLU _at_PAL PAY FLA _at_GRE
4/9 PAL _at_GRE _at_PAY SAN _at_FLU FLA
5/10 _at_FLA PAY FLU _at_PAL GRE _at_SAN
22Neighborhood home-away swap (HAS)
23Neighborhood home-away swap (HAS)
1
2
5
4
3
6
24Neighborhood team-swap (TS)
25Neighborhood team-swap (TS)
26Neighborhood partial round swap (PRS)
1
2
1
2
3
8
3
8
7
4
7
4
6
5
6
5
27Neighborhood partial round swap (PRS)
1
2
1
2
3
8
3
8
7
4
7
4
6
5
6
5
28Ejection 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.
29Ejection chain game rotation (GR)
30Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
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
31Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
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
32Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
5
4
4
3
3
4
3
6
6
6
1
1
2
5
2
5
4
3
4
3
6
6
33Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
5
4
4
3
3
4
3
6
6
6
1
1
2
5
2
5
4
3
4
3
6
6
34Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
5
4
4
3
3
4
3
6
6
6
1
1
2
5
2
5
4
3
4
3
6
6
35Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
5
4
4
3
3
4
3
6
6
6
1
1
2
5
2
5
4
3
4
3
6
6
36Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
5
4
4
3
3
4
3
6
6
6
1
1
2
5
2
5
4
3
4
3
6
6
37Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
5
4
4
3
3
4
3
6
6
6
1
1
2
5
2
5
4
3
4
3
6
6
38Ejection chain game rotation (GR)
1
1
1
2
5
2
5
2
5
4
4
3
3
4
3
6
6
6
1
1
2
5
2
5
4
3
4
3
6
6
39Neighborhoods
- 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
40GRASP 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.
41GRASP 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
42Computational 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
n6 (sequential), n8 (parallel) - Numerical results on a Pentium IV 2.0 MHz.
- Comparisons with best known solutions for the
corresponding less constrained not necessarily
mirrored instances (TTP).
43Computational 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.
44Computational 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.
45Computational results
Instance Best unmirrored Best mirrored gap () Time to best (s)
circ12 420 456 8.6 8.5
circ14 682 714 4.7 1.1
circ16 976 1004 2.9 115.3
circ18 1420 1364 -3.9 284.2
circ20 1908 1882 -1.4 578.3
nl12 112298 120655 7.4 24.0
nl14 190056 208086 9.5 69.9
nl16 267194 285614 6.9 514.2
46Computational results
Instance Best unmirrored Best mirrored gap () Time to best (s)
circ12 420 456 8.6 8.5
circ14 682 714 4.7 1.1
circ16 976 1004 2.9 115.3
circ18 1420 1364 -3.9 284.2
circ20 1908 1882 -1.4 578.3
nl12 112298 120655 7.4 24.0
nl14 190056 208086 9.5 69.9
nl16 267194 285614 6.9 514.2
47Computational results
Instance Best unmirrored Best mirrored gap () Time to best (s)
circ12 420 456 8.6 8.5
circ14 682 714 4.7 1.1
circ16 976 1004 2.9 115.3
circ18 1364 1364 0.0 284.2
circ20 1882 1882 0.0 578.3
nl12 112298 120655 7.4 24.0
nl14 190056 208086 9.5 69.9
nl16 267194 285614 6.9 514.2
48Computational 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
49Concluding Remarks
- Constructive heuristic is very fast and
effective. - GRASPILS 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.