350 likes | 545 Views
Sports Scheduling. Luis Brassara Leonel Spett. El problema. Construir un fixture para un torneo. El torneo tiene equipos, partidos y una duración determinada y el fixture debe indicar qué equipos jugarán cada partido y en qué fecha y estadio lo harán.
E N D
Sports Scheduling Luis BrassaraLeonel Spett
El problema • Construir un fixture para un torneo. • El torneo tiene equipos, partidos y una duración determinada y el fixture debe indicar qué equipos jugarán cada partido y en qué fecha y estadio lo harán. • Además, dependiendo del torneo, pueden existir restricciones adicionales. Por ejemplo, un equipo no puede jugar más de un partido por día, un equipo desearía ser local con determinada frecuencia, etc. • En particular, trataremos torneos en los que todos los equipos se enfrentan entre sí una o más veces, conocidos como ligas.
Ejemplo* * Por cuestiones de espacio el fixture no esta completo
Primer Paper A Composite Neighborhood Tabu Search Approach to the Traveling Tournament Problem Luca di Gaspero y Andrea Schaerf Journal of Heuristics, Vol. 13, 2007
Traveling Tournament Problem (TTP) • Problema propuesta por Easton (2001) • Realizar el fixture de un torneo (double round-robin) • El objetivo es minimizar la distancia total de viajes (existen restricciones adicionales).
Motivación del problema • Razones económicas • En el este de Europa y EEUU las ganancias del negocio dependen en gran medida de la calidad del fixture.
Input/Output del problema • Input: • Número entero positivo (par) • Matriz de distancias de n x n. • Output: • Fixture de n equipos. Con 2n – 2 rondas • Cada equipo juega una vez por ronda • Cada equipo juega exactamente 2 veces contra otro.
Función objetivo • Minimizar la distancia total de viajes • Se deben satisfacer además: • H1, No Repeat: si t1 y t2 juegan en la ronda ri, no pueden jugar el próximo partido en la ronda ri+1. • H2, At most: un equipo no puede jugar más de 3 partidos consecutivos de local o visitante.
Espacio de búsqueda Espacio de búsqueda • Todos los fixtures correctos incluidos los que violan las restricciones H1 y H2.
Función de costo • Suma ponderada de las violaciones de H1 y H2 + distancia de viajes. • El peso de H1 y H2 varía dinámicamente duramente la búsqueda para poder ampliar el espacio de búsqueda.
Estado inicial • Se generan en dos pasos: • Elegir patrón para el torneo (con nros del 0 a n-1) • Asignar aleatoriamente los equipos a los números. • Para conseguir el patrón se utiliza canonical pattern (Werra, 1981).
Round 1 1-0 2-5 4-3 Round 2 0-2 3-1 5-4 Round 3 3-0 4-2 1-5 Round 4 0-4 5-3 2-1 Round 5 5-0 1-4 3-2 The canonical pattern for n = 6
Vecinos • Analizaron cinco posibilidades: • N1, SwapHomes • N2, SwapTeams • N3, SwapRounds • N4, SwapMatches • N5, SwapMatchRound
Vecinos – N1, SwapHomes • Atributos: <t1, t2>, donde t1, t2Î T. • Precondición: t1 != t2 • Efecto: Intercambia la posición de local/visitante de los 2 partidos entre t1 y t2.
Vecinos – N2, SwapTeams • Atributos: < t1, t2>, donde t1, t2Î T. • Precondición: t1 != t2 • Efecto: Intercambia t1 y t2 en todo el fixture.
Vecinos – N3, SwapRounds • Atributos: <r1, r2>, donde r1, r2Î R. • Precondición: r1 != r2 • Efecto: todos los partidos asignados a r1 son movidos a r2 y viceversa.
Vecinos – N4, SwapMatches • Atributos: <r, t1, t2> donde r Î R y t1, t2Î T. • Precondición: t1 != t2, t1 y t2 no juegan juntos en la ronda r. • Efecto: los rivales de t1 y t2 en r son intercambiados. • Nota: requiere cambios extras para no caer fuera del espacio de búsqueda.
Vecinos – N5, SwapMatchRound • Atributos: <t, r1, r2> donde t Î T y r1, r2Î R. • Precondición: r1 != r2, t no juega contra el mismo rival en r1 y r2. • Efecto: los rivales de t en las rondas r1 y r2 son intercambiados. • Nota: requiere cambios extras para no caer fuera del espacio de búsqueda.
Fixture válidos luego de N4 y N5 • Repair chain: conjunto de movimientos necesarios para obtener un fixture dentro del espacio de búsqueda. Repair chain para N4(r, t1, t2)
Análisis de vecinos • El candidato natural para usar como vecinos es la unión de los Ni • Sin embargo, realizaron un análisis de cada uno de ellos para identificar las mejores combinaciones posibles.
Movimientos equivalentes • Siendo Mi el conjunto de movimientos que corresponde al conjunto de estados (vecinos) que produce Ni,puede ocurrir que: | Mi | > | Ni | • O sea, 2 movimientos o más desde el estado actual, provocan el mismo estado siguiente.
Inconvenientes de movimientos equivalentes • Si un movimiento no está en la lista tabu, pero su movimiento equivalente si lo está, de no detectarlo, si estaría permitiendo el intercambio. • Produce que se cicle en la búsqueda de la solución.
Detección de movimientos equivalentes • Equivalencias triviales: simétricas. Por ejemplo: N1<t1, t2> y N1<t2, t1>. Solución: considerar mov. donde t1 < t2 • Los movimientos N5<t, r1, r2> donde repair chain está compuesta por t1, …, tk es equivalente a N5<ti, r1, r2> con 1 <= i <= k Solución: considerar mov. donde el t es el menor del resto de los equipos del repair chain
Detección de movimientos equivalentes (cont.) • Análogamente, N4<r, t1, t2> es equivalente a N4<r1, t1, t2> si r1 está en el repair chain del primero. • Para casos menos triviales realizaron experimentos y obtuvieron los siguientes resultados:
Movimientos equivalentes entre tipo de vecinos • Hasta aquí hemos visto mov. equivalentes dentro de los Ni • Pueden existir casos donde Ni Ç Nj != Æ ( i != j )
Detección de movimientos equivalentes entre tipo de vecinos • El conflicto entre N3 y N5 se da cuando la longitud del movimiento de N5 es igual a n. • Para el caso de N4 y N5, se detectó que eliminado los mov. de N4 de tam. 2 se eliminaba el conflicto. • Con todo esto, se logró eliminar todos los duplicados, sin perder ningún estado accesible.
Calidad de los movimientos • Variaciones de los costos en función del movimiento (solo distancias). • N2 y N3 tienen un promedio alto. Generan modificaciones en la solución demasiado perturbadoras. • Para N4 y N5 observaron que para movimientos de tamaño menor, los resultados mejoraban.
Composición de vecinos • Basado en los cálculos anteriores se decidió probar con las siguientes combinaciones: • CN1 = Unión Ni (1 <= i <= 5) • CN2 = N1 U N4 U N5 • CN3 = N1 U N4<=4 U N5<=6 • CN4 = N1 U N4SCC<=4 U N5<=6
Composición de vecinos (cont.) • CN2 es seleccionada descartando N2 y N3 debido a los malos resultados que produjeron. • En CN3 se modifica N4 y N5, limitando el tamaño del movimiento. • CN4 se busca clausurar el repair chain lo antes posible.
Características comunes • Tamaño lista tabu: es dinámica. Cada mov. permanece en la lista por un nro de iteraciones seleccionada aleatoriamente entre tmin y tmax. • Criterio de aspiración: un movimiento tabu es aceptado si por él se llega a una mejor solución que la que se tiene actualmente. • Criterio de parada: basado en el nro de iteraciones desde la última mejora (parámetro).
Resultados obtenidos • Instancias utilizadas: • NLx, data real de la Liga Nacional de Baseball de US • CIRCx, instancias inventadas con las ciudades ubicadas en círculos • CONx, matriz de distancias constante • BRA24, data real del campeonato de fútbol de Brasil • Para instancias de 4, 6, 8 equipos se obtuvieron los mejores resultados conocidos. • Se enfocaron en instancias de al menos 10 equipos.
Resultados obtenidos (cont.) • Mediante el procedimiento RACE (Birattari – 2004) se concluyó que CN4 tenía la mejor performance.
Resultados obtenidos (cont.) • Los resultados son comparables con los de Lim (2005) y levemente peores que los de Anagnostopoulos (2005). • Sin embargo, los tiempos de ejecución fueron menores.
Mejores resultados • Negrita: mejores resultados al momento. • *: el resultado está probado que es el óptimo.
Conclusiones • La intuición que tenían al realizar el análisis analítico sobre las distintas estructuras de vecinos fue confirmada a través de la experimentación. • Sus mejores soluciones son comparables con los mejores resultados que existen en la literatura.