un algoritmo tabu search para el traveling tournament problem

21
Un algoritmo Tabu Un algoritmo Tabu Search para el Search para el Traveling Tournament Traveling Tournament Problem Problem Andrés Cardemil Guillermo Durán

Upload: zea

Post on 11-Feb-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Un algoritmo Tabu Search para el Traveling Tournament Problem. Andrés Cardemil Guillermo Durán. Fixtures Deportivos. n equipos Juegan todos contra todos r veces Si r =1 se llama Single Round Robin (SRR) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Un algoritmo Tabu Search para el Traveling Tournament Problem

Un algoritmo Tabu Search Un algoritmo Tabu Search para el Traveling para el Traveling

Tournament ProblemTournament Problem

Andrés Cardemil

Guillermo Durán

Page 2: Un algoritmo Tabu Search para el Traveling Tournament Problem

Fixtures Deportivos

• n equipos • Juegan todos contra todos r veces

1. Si r=1 se llama Single Round Robin (SRR)2. Si r=2 se llama Double Round Robin (DRR)

con un partido de local y uno de visitante

Descripción:

Page 3: Un algoritmo Tabu Search para el Traveling Tournament Problem

Restricciones

• Cada equipo no puede jugar mas de 3 partidos seguidos de local o visitante.HAP – Home away pattern

• Todos los equipos juegan igual cantidad de partidos de local y visitante

• 2 equipos tengan HAP complementarios• No tener partido y revancha seguidos. • Fixture espejado (para los DRR)

Page 4: Un algoritmo Tabu Search para el Traveling Tournament Problem

Objetivo:

• Minimizar la cantidad de fechas• Minimizar la distancia de viajes de los

equipos(Esto puede ser también minimizar costos, tiempo de viajes u otras variables combinadas)

Page 5: Un algoritmo Tabu Search para el Traveling Tournament Problem

Traveling Tournament Problem(TTP)

• Fue propuesto por Easton, Nemhauser y Trick en 2001

• Abstrae algunos aspectos claves de la confección de fixtures combinando condiciones en el HAP y el objetivo de minimizar distancias.

Page 6: Un algoritmo Tabu Search para el Traveling Tournament Problem

• Imput: 1. un numero n que representa la cantidad de

equipos2. Una matriz DIST de tamaño nxn tal que

DIST (i,j) = “costo de ir de i a j” (costo puede significar tiempo de viaje, costo económico del viaje, distancia entre las ciudades)

Traveling Tournament Problem(TTP)

Page 7: Un algoritmo Tabu Search para el Traveling Tournament Problem

• Objetivo: Armar un fixture de un torneo DRR (de 2x(n-1) rondas) que verifique:

1. Se minimiza la distancia total recorrida por los equipos

2. Los HAP de todos los equipos no contienen VVVV ó LLLL

3. No hay partido y revancha entre 2 equipos en fechas consecutivas

4. Arrancan todos los equipos y terminan el torneo en casa.

Traveling Tournament Problem(TTP)

Page 8: Un algoritmo Tabu Search para el Traveling Tournament Problem

Un ejemplo de fixture valido:

RONDA A B C D

1 B @A D @C

2 C D @A @B

3 @D C @B A

4 @B A @D C

5 D @C B @A

6 @C @D A B

Page 9: Un algoritmo Tabu Search para el Traveling Tournament Problem

Complejidad:

• es NP-Hard (Incluso sacando la restricción del HAP)

• Es muy difícil, para instancias con tamaño n=8 ó 10 no se conocen las soluciones óptimas.

Page 10: Un algoritmo Tabu Search para el Traveling Tournament Problem

Distintos abordajes del problema:

• Easton, Nemhauser y Trick: Constraint Programing y Programación Lineal Entera

• Dendist, Laburthe, Rottembourgh: Constraint Programing y Relajación Lagrangiana

• Crauels y Oudheusden: Colonia de Hormigas• Zhang: Constraint Programing, Simulated

Annealing y técnicas de Hill-Climbing• Shen-Hantao: Propusieron una nueva

metaheurisitca para este problema

Page 11: Un algoritmo Tabu Search para el Traveling Tournament Problem

Función de evaluación:

• Tr,k= dist. Que recorre el equipo k desde la ciudad donde juega la ronda r-1 hasta donde juega la ronda r.

• M = matriz de R x n. | |= Oponente en la ronda r del equipo k Mr,k > 0 sii el equipo k juega de local Mr,k < 0 sii el equipo k juega de visitante

• Asignamos M0,k >0 y MR+1,k>0 para todo k

Page 12: Un algoritmo Tabu Search para el Traveling Tournament Problem

Tr,k =

DIST ( | Mr-1,k |, | Mr,k | ) si Mr,k, Mr,k<0

DIST ( | Mr-1,k |, k ) si Mr,k<0, Mr,k>0

DIST ( k, | Mr,k | ) si Mr,k>0, Mr,k<0

0 si no

Ce = Σ T e,r (la suma desde r=1 hasta R+1)

f(M)= Σ Ce (la suma desde e=1 hasta n)

Page 13: Un algoritmo Tabu Search para el Traveling Tournament Problem

(varios) Vecindarios:1. IPR: Intercambio parcial de rondas

(transforma un fixture DDR en otro DDR pero no un TTP en otro TTP)

2. IR: Intercambio de rondas(ídem 1.)

3. IE: intercambio de equipos (transforma DDR en DDR y TTP en TTP)

4. IL: intercambio de localías (ídem 1.)

Page 14: Un algoritmo Tabu Search para el Traveling Tournament Problem

Lista Tabú

• Se guardan los últimos t movimientos en la lista (t es un parámetro)

• t se puede modificar según la cantidad de iteraciones.

• La lista es FIFO, el primero que llega es el primero en irse. (cola?)

Page 15: Un algoritmo Tabu Search para el Traveling Tournament Problem

Aspiración: • Se permite pasar a un vecino prohibido si

es mejor que el mejor hasta el momento.• Si todos los vecinos están prohibidos, se

cambia de vecindario (en el orden en que fueron mostrados antes)

Page 16: Un algoritmo Tabu Search para el Traveling Tournament Problem

Optimizaciones Locales• El algoritmo cada cierta cantidad de

iteraciones realiza pequeñas optimizaciones locales.

• Se hace mediante las siguientes operaciones (realizadas en este orden):

1. Permutación de 2 y 3 rondas2. Permutación de 2 y 3 equipos3. Permutación de localías4. Inversión de tours (todas)5. Modificaciones de los HAP

Page 17: Un algoritmo Tabu Search para el Traveling Tournament Problem

Intensificación:

• Se usan 2 métodos:

1. Disminución de la lista tabú2. Optimización del recorrido de algunos

equipos

Page 18: Un algoritmo Tabu Search para el Traveling Tournament Problem

Diversificación:

• Después de cierta cantidad de iteraciones sin mejoras:

• Se hacen varios movimientos de IPR consecutivos (sin importar si los vecinos por donde se mueve son soluciones factibles) y luego se aplica optimización local para “factibilizar” la solución

• También aporta a la diversificación cambiar los vecindarios.

Page 19: Un algoritmo Tabu Search para el Traveling Tournament Problem

Criterio de Parada:

• Hay 2 cotas a alcanzar para que el algoritmo se detenga:

1. Cantidad total de iteraciones2. Cantidad de iteraciones sin mejoras

Page 20: Un algoritmo Tabu Search para el Traveling Tournament Problem

Parámetros del algoritmo:1. Cant-Máx-Iter (100.000 a 5.000.000)2. Cantidad máxima de iteraciones sin mejoras

(0,5 . Cant-Máx-Iter)3. Tamaño máximo de la lista tabú (entre n-3 y

n+3)4. Cantidad de iteraciones durantes las cuales se

intensifica (entre 3.000 y 7.000)5. Cada cuantas iteraciones se cambia el tamaño

de la lista tabú (entre 2.000 y 50.000)6. Cada cuantas operaciones se realizan

optimizaciones locales. (cada 2n iteraciones)

Page 21: Un algoritmo Tabu Search para el Traveling Tournament Problem

Conclusiones:

(paper)