Sports Scheduling

35
Sports Scheduling Luis Brassara Leonel Spett

description

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. - PowerPoint PPT Presentation

Transcript of Sports Scheduling

Page 1: Sports Scheduling

Sports Scheduling

Luis BrassaraLeonel Spett

Page 2: Sports Scheduling

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.

Page 3: Sports Scheduling

Ejemplo*

* Por cuestiones de espacio el fixture no esta completo

Page 4: Sports Scheduling

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

Page 5: Sports Scheduling

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).

Page 6: Sports Scheduling

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.

Page 7: Sports Scheduling

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.

Page 8: Sports Scheduling

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.

Page 9: Sports Scheduling

Espacio de búsqueda

Espacio de búsqueda

• Todos los fixtures correctos incluidos los que violan las restricciones H1 y H2.

Page 10: Sports Scheduling

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.

Page 11: Sports Scheduling

Estado inicial

• Se generan en dos pasos:1. Elegir patrón para el torneo (con nros del 0

a n-1)

2. Asignar aleatoriamente los equipos a los números.

• Para conseguir el patrón se utiliza canonical pattern (Werra, 1981).

Page 12: Sports Scheduling

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

Page 13: Sports Scheduling

Vecinos

• Analizaron cinco posibilidades:– N1, SwapHomes– N2, SwapTeams– N3, SwapRounds– N4, SwapMatches– N5, SwapMatchRound

Page 14: Sports Scheduling

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.

Page 15: Sports Scheduling

Vecinos – N2, SwapTeams

• Atributos: < t1, t2>, donde t1, t2 T.

• Precondición: t1 != t2

• Efecto: Intercambia t1 y t2 en todo el fixture.

Page 16: Sports Scheduling

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.

Page 17: Sports Scheduling

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.

Page 18: Sports Scheduling

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.

Page 19: Sports Scheduling

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)

Page 20: Sports Scheduling

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.

Page 21: Sports Scheduling

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.

Page 22: Sports Scheduling

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.

Page 23: Sports Scheduling

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

Page 24: Sports Scheduling

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:

Page 25: Sports Scheduling

Movimientos equivalentes entre tipo de vecinos

• Hasta aquí hemos visto mov. equivalentes dentro de los Ni

• Pueden existir casos donde Ni j != i != j )

Page 26: Sports Scheduling

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.

Page 27: Sports Scheduling

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.

Page 28: Sports Scheduling

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

Page 29: Sports Scheduling

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.

Page 30: Sports Scheduling

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).

Page 31: Sports Scheduling

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.

Page 32: Sports Scheduling

Resultados obtenidos (cont.)

• Mediante el procedimiento RACE (Birattari – 2004) se concluyó que CN4 tenía la mejor performance.

Page 33: Sports Scheduling

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.

Page 34: Sports Scheduling

Mejores resultados

• Negrita: mejores resultados al momento.

• *: el resultado está probado que es el óptimo.

Page 35: Sports Scheduling

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.