220 likes | 372 Views
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)
E N D
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) • Si r=2 se llama Double Round Robin (DRR) con un partido de local y uno de visitante Descripción:
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)
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)
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.
Traveling Tournament Problem(TTP) • Imput: • un numero n que representa la cantidad de equipos • 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) • Objetivo: Armar un fixture de un torneo DRR (de 2x(n-1) rondas) que verifique: • Se minimiza la distancia total recorrida por los equipos • Los HAP de todos los equipos no contienen VVVV ó LLLL • No hay partido y revancha entre 2 equipos en fechas consecutivas • Arrancan todos los equipos y terminan el torneo en casa.
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.
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
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 kMr,k > 0 sii el equipo k juega de localMr,k < 0 sii el equipo k juega de visitante • Asignamos M0,k >0 yMR+1,k>0 para todo 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 Tr,k = Ce = Σ T e,r (la suma desde r=1 hasta R+1) f(M)= Σ Ce (la suma desde e=1 hasta n)
(varios) Vecindarios: • IPR: Intercambio parcial de rondas(transforma un fixture DDR en otro DDR pero no un TTP en otro TTP) • IR: Intercambio de rondas(ídem 1.) • IE: intercambio de equipos (transforma DDR en DDR y TTP en TTP) • IL: intercambio de localías (ídem 1.)
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?)
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)
Optimizaciones Locales • El algoritmo cada cierta cantidad de iteraciones realiza pequeñas optimizaciones locales. • Se hace mediante las siguientes operaciones (realizadas en este orden): • Permutación de 2 y 3 rondas • Permutación de 2 y 3 equipos • Permutación de localías • Inversión de tours (todas) • Modificaciones de los HAP
Intensificación: • Se usan 2 métodos: • Disminución de la lista tabú • Optimización del recorrido de algunos equipos
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.
Criterio de Parada: • Hay 2 cotas a alcanzar para que el algoritmo se detenga: • Cantidad total de iteraciones • Cantidad de iteraciones sin mejoras
Parámetros del algoritmo: • Cant-Máx-Iter (100.000 a 5.000.000) • Cantidad máxima de iteraciones sin mejoras (0,5 . Cant-Máx-Iter) • Tamaño máximo de la lista tabú (entre n-3 y n+3) • Cantidad de iteraciones durantes las cuales se intensifica (entre 3.000 y 7.000) • Cada cuantas iteraciones se cambia el tamaño de la lista tabú (entre 2.000 y 50.000) • Cada cuantas operaciones se realizan optimizaciones locales. (cada 2n iteraciones)
Conclusiones: (paper)