![Page 1: Un algoritmo Tabu Search para el Traveling Tournament Problem](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/6.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/7.jpg)
• 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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/13.jpg)
(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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062520/56815d71550346895dcb7ab3/html5/thumbnails/21.jpg)
Conclusiones:
(paper)