slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
A grid implementation of a GRASP-ILS heuristic for the mirrored traveling tournament problem PowerPoint Presentation
Download Presentation
A grid implementation of a GRASP-ILS heuristic for the mirrored traveling tournament problem

Loading in 2 Seconds...

play fullscreen
1 / 60

A grid implementation of a GRASP-ILS heuristic for the mirrored traveling tournament problem - PowerPoint PPT Presentation


  • 248 Views
  • Uploaded on

A grid implementation of a GRASP-ILS heuristic for the mirrored traveling tournament problem Aletéia ARAÚJO Vinod REBELLO Celso RIBEIRO Sebastián URRUTIA Summary Motivation The Mirrored Traveling Tournament Problem Extended GRASP + ILS heuristic Construction phase Neighborhoods

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'A grid implementation of a GRASP-ILS heuristic for the mirrored traveling tournament problem' - JasminFlorian


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

A grid implementation of a GRASP-ILS

heuristic for the mirrored traveling

tournament problem

Aletéia ARAÚJO

Vinod REBELLO

Celso RIBEIRO

Sebastián URRUTIA

summary
Summary
  • Motivation
  • The Mirrored Traveling Tournament Problem
  • Extended GRASP + ILS heuristic
    • Construction phase
    • Neighborhoods
  • Parallel implementations of GRASP-ILS
    • PAR-MP
  • Computational results
  • EsporteMax: optimization in sports management and scheduling
motivation
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
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.
formulation5
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.
formulation6
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
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 factorizations8
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 factorizations9
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
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 heuristic11
Constructive heuristic

6

Example:

“polygon method” for n=6

1

5

2

1st round

3

4

constructive heuristic12
Constructive heuristic

6

Example:

“polygon method” for n=6

5

4

1

2nd round

2

3

constructive heuristic13
Constructive heuristic

6

Example:

“polygon method” for n=6

4

3

5

3rd round

1

2

constructive heuristic14
Constructive heuristic

6

Example:

“polygon method” for n=6

3

2

4

4th round

5

1

constructive heuristic15
Constructive heuristic

6

Example:

“polygon method” for n=6

2

1

3

5th round

4

5

constructive heuristic17
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 heuristic20
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
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 has23
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
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 ts25
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

ejection chain game rotation gr
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 gr29
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 gr30
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 gr31
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 gr32
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 gr33
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 gr34
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 gr35
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 gr36
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 gr37
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 gr38
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 moves are able to find solutions unreachable with other neighborhoods.

neighborhoods
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
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 heuristic41
GRASP + ILS heuristic

while .not.StoppingCriterion

S  BuildGreedyRandomizedSolution()

S, S  LocalSearch(S)

repeat

S’  Perturbation(S)

S’  LocalSearch(S’)

S  AceptanceCriterion(S,S’)

S*  UpdateGlobalBestSolution(S,S*)

S UpdateIterationBestSolution(S,S)

until ReinitializationCriterion

end

GRASP construction phase

ILS phase

parallel implementations of metaheuristics
Parallel implementations of metaheuristics
  • Robustness
  • Granularity: coarse grain implementation suitable to grid environments (communication)
  • Master-slave
  • Single-walk vs. multiple-walk
  • Cooperative vs. independent
  • Cost and frequency of communication: few communication steps
  • Nature of the information to be shared
parallel strategy par i
Parallel strategy PAR-I
  • Parallel strategy with independent processes.
  • PAR-I is equivalent to running the sequential algorithm simultaneously on multiple machines.
  • After receiving the seed, each process computes a new solution.
  • Then, each process runs an ILS local search phase until the reinitialization criterion is met.
  • Procedure stops when a solution at least as good as a given target is found.
parallel strategy par o
Parallel strategy PAR-O
  • Parallel strategy with one-off cooperation.
  • Identical to PAR-I, except for the first iteration of the main loop.
  • After each process executes the first GRASP construction phase, the initial solution found by each of them is sent to the master.
  • The master selects and broadcats the best initial solution to all procesors.
parallel strategy par o45
Parallel strategy PAR-O
  • All workers run the ILS local search phase of the first iteration using the same initial solution.
  • The following iterations are executed independently.
  • Processors stop ILS phase after 50 steps deteriorating solution quality.
  • This strategy is called one-off cooperation because exchange only occurs at the first iteration.
parallel strategy par 1p
Parallel strategy PAR-1P
  • Master manages the exchange of information collected along the trajectories investigated by each worker.
  • It keeps the best solution found by any worker.
  • Each time the best solution is improved, the master broadcasts its cost to all workers.
  • The idea is to use this information not only to converge faster to a target solution, but also to find better solutions than the independent search strategies.
parallel strategy par 1p47
Parallel strategy PAR-1P
  • Each time a worker completes the ILS phase, it will compare the cost of the solution found with that of the best solution held by the master.
  • If it is better, the worker sends its solution to the master, otherwise the solution is discarded.
  • Then, the worker chooses between two possibilities:
    • It requests the best solution held by the master to start the ILS local search phase with this solution; or
    • The worker restarts from the GRASP construction phase
  • Workers indirectly exchange elite solutions found along their search trajectories.
parallel strategy par mp
Parallel strategy PAR-MP
  • Master handles a centralized pool of elite solutions, collecting and distributing them upon request.
  • Slaves start their searches from different initial solutions.
  • Slaves exchange and share elite solutions found along their search trajectories.
  • Master updates the pool of elite solutions with a newly received solution according to some criteria based on the quality and diversity of the solutions already in the pool.
parallel strategy par mp49
Parallel strategy PAR-MP
  • When a slave completes an iteration (ILS phase), it can either request an elite solution from the pool or construct a new initial solution randomly.
  • To guarantee diversity within the pool, the insertion of a new solution depends on the state of the pool and on how this solution was generated.
  • When a slave requests an elite solution from the master, a solution is selected at random from the pool and sent back to it.
computational results
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 unmirrored instances exactly solved to date: n=6 (sequential), n=8 (parallel)
  • Random number generator: Mersenne Twister of Matsumoto and Nishimura.
  • Algorithms implemented using C++ and MPI-LAM (version 7.0.6).
computational results51
Computational results
  • Numerical results on a dedicated cluster of 1.7 GHz Pentium IV , with 256 Mbytes of RAM.
  • Parameter M (size of the pool) set to the number of slave processes used in the parallel execution.
  • Probability of choosing a solution from the pool fixed at 10%.
computational results quality
Computational results (quality)

Independent or less-

cooperative strategies

computational results quality53
Computational results (quality)

Best known solution

for (unmirrored) TTP

computational results56
Computational results

Times (seconds) to medium targets on 10 processors:

computational results57
Computational results

Best solutions found exclusively by PAR-MP:

computational results58
Computational results

Best solutions found by the other strategies

in twice the time used by PAR-MP:

concluding remarks 1 2
Concluding remarks (1/2)
  • Parallel metaheuristics compared to their sequential counterparts demand more programming and design effort.
  • Cooperative strategies lead to more robust implementations (e.g. PAR-MP) and are able to find better solutions in smaller computation times.
  • Experiments on a “true” grid environment with hundreds of processors.
concluding remarks 2 2
Concluding remarks (2/2)
  • EsporteMax: OR applications in sports timetabling and management
    • FutMax: http://www.futmax.org

Number of points a team has to win to be qualified for the play-offs (Brazilian press and TV)

    • Schedule of the Brazilian national tournaments of basketball (men/women)
    • Collaboration in the scheduling of the Chilean national soccer tournament
    • Referee assignment