La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Luis Brassara Leonel Spett

Presentaciones similares


Presentación del tema: "Luis Brassara Leonel Spett"— Transcripción de la presentación:

1 Luis Brassara Leonel Spett
Sports Scheduling Luis Brassara Leonel Spett

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

3 Ejemplo* * Por cuestiones de espacio el fixture no esta completo

4 (Luca di Gaspero y Andrea Schaerf)
Primer Paper A Composite Neighborhood Tabu Search Approach to the Traveling Tournament Problem (Luca di Gaspero y Andrea Schaerf) 8 de Mayo de 2006

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

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

7 Input/Output del problema
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.

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

9 Espacio de búsqueda Espacio de búsqueda
Todos los fixtures correctos incluidos los que violan las restricciones H1 y H2.

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

11 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 cononical pattern (Werra, 1981).

12 Vecinos Analizaron cinco posibilidades: N1, SwapHomes N2, SwapTeams
N3, SwapRounds N4, SwapMatches N5, SwapMatchRound

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

14 Vecinos – N2, SwapTeams Atributos: < t1, t2>, donde t1, t2 Î T.
Precondición: t1 != t2 Efecto: Intercambia t1 y t2 en todo el fixture.

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

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

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

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

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

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

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

22 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

23 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:

24 Movimientos equivalentes entre tipo de vecinos
Hasta aquí hemos visto mov. equivalentes dentro de los Ni Pueden existir casos donde Ni Ç Nj != Æ ( i != j )

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

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

27 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

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

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

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

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

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

33 Mejores resultados Negrita: mejores resultados al momento.
*: el resultado está probado que es el óptimo.

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

35 Segundo paper “An evolutionary tabu search algorithm and the NHL scheduling problem” Publicado por Daniel Costa en 1994 Presenta una metaheurística híbrida con características de Algoritmos Genéticos, fundamentalmente, y Tabu Search para construir un fixture para la NHL (National Hockey League).

36 Motivación Comparación entre Algoritmos Genéticos y Tabu Search
Los Algoritmos Genéticos primero obtienen de alguna forma una población inicial y luego cada iteración consiste en tres etapas consecutivas: reproducción, cruza y mutación, que ya hemos visto detalladamente en clase. En cada iteración se trata con un conjunto de soluciones que intercambian información entre sí en las etapas anteriormente nombradas. No requieren demasiada información adicional del problema (aunque las soluciones deben poder representarse como una cadena finita de un alfabeto finito). Esto último lleva a que se reduzcan los parámetros a ser ajustados pero a veces también acota el alcance de la búsqueda, comprometiendo la calidad de la solución.

37 Motivación Comparación entre Algoritmos Genéticos y Tabu Search
Tabu Search comienza con una solución inicial a través de la cual, mediante movimientos propios de problema, se tratarán de alcanzar otras soluciones vecinas mejores. En cada iteración trata con una única solución actual. Se elige un subconjunto del conjunto de vecinos y de este toma al mejor vecino, volviéndose la solución actual*. Evita los ciclos mediante una lista de movimientos tabú. El tamaño del subconjunto de vecinos, el tamaño de la lista tabú, etc. serán parámetros. Su elección tiene incidencia en la calidad de la solución y suele necesitarse información adicional del problema para ajustarlos adecuadamente. * Es evidente que la solución actual puede empeorar, por eso se mantiene además la mejor solución hallada hasta el momento.

38 Propuesta Metaheurística híbrida
En vistas a complementar las ventajas de los Algoritmos Genéticos y Tabu Search, el autor propone una metaheurística híbrida. En esencia es un Algoritmo Genético con la diferencia que en la etapa de mutación hace un Tabu Search.

39 La NHL Equipos Los 26 equipos de la NHL están divididos en dos conferencias, separadas a su vez en divisiones.

40 La NHL Partidos En cada temporada se deben jugar 1066 partidos.
Cada equipo debe jugar 82 partidos, 41 de local (L) y 41 de visitante (V). Los equipos de las divisiones Pacific y Central deben jugar 6 veces (3L,3V) con cada equipo de su división mientras que los equipos de las divisiones Northeast y Atlantic lo harán 5 veces (algunos 3L,2V y otros 2L,3V). Todos los equipos juegan 4 veces (2L,2V) contra cada equipo de su misma conferencia y 2 veces (1L,1V) con los de la otra conferencia.

41 La NHL Restricciones adicionales
Un equipo nunca juega más de 1 partido al día. Los directivos de los equipos entregan una planilla con 56 fechas en las que su estadio estará disponible de las cuales se usaran 41. Se trata de minimizar la distancia total recorrida por los equipos durante la temporada. Un equipo no debería jugar partidos durante 3 días seguidos así como tampoco debería jugar más de 3 partidos en 5 días. Un equipo debería jugar relativamente seguido mientras esta fuera de casa. Mientras está viajando, no deberían tener más de 3 días libres, es decir, sin partidos. No todos los días de la temporada se pueden jugar partidos, por ejemplo por fechas especiales como Navidad o por eventos especiales como el Juego de las Estrellas.

42 La NHL Restricciones adicionales
No todos los estadios están disponibles todos los días de la temporada, por ejemplo pueden estar reservados para un concierto. Los partidos deberían estar distribuidos en forma pareja. Un mismo partido, es decir un partido entre los mismos equipos y en el mismo estadio, entre equipos de la misma división deben estar separados al menos por 14 días. Cuando no son de la misma división la diferencia debe ser de al menos 30 días. Un equipo no puede estar de viaje más de 14 días y, en esa condición, no puede jugar más de 7 partidos seguidos. Si un equipo jugó un partido y luego recorrió más de 900 millas para jugar otro, entonces tiene que tener al menos 1 día de descanso.

43 La NHL Formulación matemática
Particionemos el conjunto C formado por las restricciones anteriores en los subconjuntos Ca y Cb, donde Ca tendrá las restricciones esenciales y Cb las restricciones relajadas. Un fixture o schedule será aceptable si satisface todas las restricciones de C y factible si al menos satisface Ca.

44 La NHL Formulación matemática La función objetivo o de fitness será:
Evalúa para cada schedule factible S cuan no-aceptable este es, o sea, en que medida viola las restricciones relajadas. Cada función fi determina el grado en que se violó la restricción relajada i en S y cada peso wi le da a cada una de estas restricciones una importancia distinta.

45 La NHL Formulación matemática
El problema se reduce a buscar un schedule S*X de f mínima, donde X es el conjunto finito de los schedules factibles. El tamaño de X y la complejidad de f dependen de la manera en que se particiona el conjunto de restricciones C. Teniendo en cuenta esto…

46 La NHL Formulación matemática
Un equipo nunca juega más de 1 partido al día. 1.1 Un equipo no puede jugar más de 1 partido por día. 1.2 Un equipo no puede jugar más de 2 partidos por día. 1.3 Un equipo no puede jugar de local y visitante un mismo día. Los directivos de los equipos entregan una planilla con 56 fechas en las que su estadio estará disponible de las cuales se usaran 41. Se trata de minimizar la distancia total recorrida por los equipos durante la temporada. Un equipo no debería jugar partidos durante 3 días seguidos así como tampoco debería jugar más de 3 partidos en 5 días.

47 La NHL Formulación matemática
Un equipo debería jugar relativamente seguido mientras esta fuera de casa. Mientras está viajando, no deberían tener más de 3 días libres, es decir, sin partidos. No todos los días de la temporada se pueden jugar partidos, por ejemplo por fechas especiales como Navidad o por eventos especiales como el Juego de las Estrellas. No todos los estadios están disponibles todos los días de la temporada, por ejemplo pueden estar reservados para un concierto.

48 La NHL Formulación matemática
Los partidos deberían estar distribuidos en forma pareja. Un mismo partido, es decir un partido entre los mismos equipos y en el mismo estadio, entre equipos de la misma división deben estar separados al menos por 14 días. Cuando no son de la misma división la diferencia debe ser de al menos 30 días. Un equipo no puede estar de viaje más de 14 días y, en esa condición, no puede jugar más de 7 partidos seguidos. Si un equipo jugó un partido y luego recorrió más de 900 millas para jugar otro, entonces tiene que tener al menos 1 día de descanso.

49 La NHL Formulación matemática
f1 indica cuántas veces un equipo jugó dos partidos un mismo día. f2 indica cuántas veces no se respeto la disponibilidad de un estadio. f3 indica el total de distancia (en cientos de millas) recorrida por los equipos a lo largo de la temporada. f4 indica cuántas veces un equipo jugó partidos durante 3 días seguidos o jugó más de 3 partidos en 5 días. f5 indica cuántos veces un equipo que estaba de viaje tuvo más de 3 días libres, es decir, sin partidos.

50 Aplicación Población inicial
Por como fue formulado el problema, los individuos se corresponderán con schedules factibles. Hemos visto que los equipos hacen viajes o road trips para enfrentarse a los demás equipos, pudiendo enfrentar a más de un equipo antes de volver a casa. Una forma de obtener un schedule es planificar para cada equipo los road trips que hagan falta hasta que queden programados todos sus partidos como visitante. Al mismo tiempo, se irán programando los partidos como local para los equipos que serán enfrentados en cada road trip. Si cada partido en el road trip es programado teniendo en cuenta las restricciones esenciales, nuestro schedule será factible.

51 Aplicación Población inicial Veamos algunas definiciones:
Sea t un equipo. R(t) denotará el conjunto de partidos de visitante que aún quedan por programar para t y T = (t1, …, tn) denotará una lista de equipos ordenados por orden decreciente de |R(t)|. Sea t un equipo y sean d1 y d2 días consecutivos en las que el estadio del equipo t estará disponible que además verifican que | d2 – d1 | ≥ 3. I(t) denotará una lista de intervalos (d1,d2), llamados intervalos libres, ordenados decrecientemente según su duración. Sean t1 y t2 equipos. [t1,t2] denotará un partido en el que juegan t1 y t2 en el estadio de t2.

52 Aplicación Población inicial
Mientras queden por programar partidos en la temporada: Sea t1 el primer equipo en T. Comenzar un viaje para t1 eligiendo el primer intervalo (d1,d2) en I(t1) que contenga un día d tal que existe un equipo t2 que en ese día tiene su estadio disponible, todavía quedan por programar partidos [t1,t2] y no se viola ninguna restricción esencial. Si no hay ningún intervalo que satisfaga las condiciones entonces se violará la restricción relajada relacionada con la disponibilidad de los estadios. Si hay más de un equipo t2 elegir aquel que se encuentre más lejos de t1. Si hay más de un día d elegir la más cercana al medio del intervalo (d1,d2). Programar el partido [t1,t2] en el día d. Continuar el viaje para t1 programando partidos ahora en los intervalos resultantes I1=(d1,d) y I2 = (d,d2) de la misma forma que antes, salvo que ahora se priorizarán los equipos que se encuentran más cerca de t2.

53 Aplicación Población inicial
Hemos visto que un individuo de la población se corresponderá con un schedule factible y además vimos un método para obtener uno de estos schedules. Sin embargo, más que un individuo necesitamos una población. Esta población será conseguida con el mismo método que antes, reordenando la lista de equipos T = (t1, …, tn) y las listas de intervalos I(ti) cada vez de una forma diferente.

54 Aplicación Población inicial
Para cada individuo de la población los valores promedios para cada fi que se obtienen son f1 = 230, f2 = 60, f3 = 8200, f4 = 1100 y f5 = 0. Si bien se podría haber empleado más esfuerzo para obtener mejores poblaciones iniciales, esto no se hizo ya que no hay garantías de que esto lleve a mejores poblaciones finales.

55 Aplicación Reproducción
Dada una población P con n schedules tendremos que elegir n schedules para la próxima población P’, desde luego un mismo schedule podrá estar más de una vez. Asociemos a cada schedule SP una probabilidad: La constante M debería ser tal que le de una probabilidad positiva pero relativamente pequeña al peor schedule. Se tomo M = fmax + (fmax – fmin) / n. Consideremos una ruleta en la que para cada schedule en la población hay un casillero cuyo tamaño depende de la probabilidad del schedule. Elegiremos los n schedules para P’ tirando n veces la ruleta, así el número esperado de veces que un schedule S aparecerá en P’ será n * p(S).

56 Aplicación Cruza Veamos algunas definiciones:
σ denota una permutación de los elementos 1, …, n Un frame FS,t para un schedule S y un equipo t es una cadena de 0s y 1s de longitud tan larga como días tiene la temporada. FS,t[d] = 0 si en el schedule S en el día d el equipo t está en casa y FS,t[d] = 1 si el equipo está de viaje. Por convención, un equipo está en casa en los días que hay entre el último partido como visitante y el próximo partido como local. Del mismo modo, un equipo está de viaje en los días que hay entre el último partido como local y el próximo partido como visitante. Además, un equipo está en casa antes del primer partido de la temporada y después del último.

57 Aplicación Cruza Veamos algunas definiciones:
El costo de un partido p es una medida basada en el grado de violación a las restricciones relajadas por parte de p, siempre en el contexto de un schedule específico. En cada schedule un mismo partido, es decir un partido entre los mismos equipos y en el mismo estadio, estará programado una cantidad determinada de veces. En caso de que esta cantidad supere a la establecida por la liga, se dice que esos partidos son redundantes en el schedule.

58 Aplicación Cruza La cruza consistirá en obtener una permutación aleatoria σ de los schedules de la población S1, …, Sn para después hacer que cada schedule Sσ(i) le envíe una solicitud de cooperación schedule Sσ(i mod n + 1), lo cual denotaremos Sσ(i)  Sσ(i mod n + 1). A grandes rasgos, la solicitud de cooperación dará lugar a un schedule Si que tendrá todos los partidos de Sσ(i mod n + 1) más todos los partidos de Sσ(i) que sea posible poner juntos sin cambiar el frame de Sσ(i mod n + 1). Tras esto, se quitarán los partidos redundantes de Si en base a su costo por lo que Si además de ser un schedule factible tal vez sea más aceptable. Para no perder el frame del mejor schedule involucrado en una solicitud de cooperación, la solicitud Sσ(i)  Sσ(i mod n + 1) solo se realiza bajo determinadas circunstancias. Si Sσ(i) es mejor que Sσ(i mod n + 1) y si una solicitud Sσ(i mod n + 1)  Sσ(i) no fue hecha todavía entonces se hace la solicitud inversa Sσ(i mod n + 1)  Sσ(i). Los schedules Si así creados conformarán la población de la siguiente etapa del algoritmo.

59 Aplicación Cruza Veamos la solicitud de cooperación Sa  Sb más en detalle: Hacer una copia de Sb y llamarla S. FS,t = FSb,t para todo equipo t. Para cada día d de la temporada y para cada partido [t1,t2] jugado en el día d en Sa, programar el partido [t1,t2] en S si los frames de Sa y S son compatibles, esto es, FSa,t1[d] = FS,t1[d] y FSa,t2[d] = FS,t2[d]. Establecer una lista L de todos los partidos redundantes en S, ordenarla por orden decreciente según el costo de cada partido. Mientras L no sea vacía: Quitar de S el primer partido j de L. Quitar de L a este partido j. Si los partidos iguales a j ya no son redundantes en el schedule S, quitarlos de L. Reordenar la lista L si algún costo de algún partido cambió.

60 Aplicación Tabu Search
Para un schedule S definimos a los vecinos N(S) como aquellos schedules que pueden ser obtenidos a partir de S cambiando un partido de un día a otro. Para alcanzar más rápido una región buena entre los schedules factibles, solo se cambian de día aquellos partidos que violan al menos una restricción relajada, que denominaremos partidos conflictivos. No se tiene en cuenta la restricción de distancia ya que es difícil de evaluar para un solo partido.

61 Aplicación Tabu Search
Se crearán un número de pares (gi, wi) donde gi es un partido conflictivo y wi una semana distinta a la semana en la que el partido se encuentra programado. Para cada par (gi,wi) buscaremos el mejor día di en la semana wi para programar gi. No se considerarán días en la misma semana en que estaba programado ya que probablemente ya fue puesto antes en el mejor día de esa semana. Así, cada par tendrá asociado un movimiento gi  di . El número m de vecinos que consideraremos, que equivale al número de pares (gi,wi) que crearemos, debería ser una proporción del número total. Se tomo m = prop * |N(S)| con 0 < prop < 1. Para reducir el tiempo empleado en buscar un vecino, si un vecino es mejor que la solución actual entonces el número de vecinos considerados será m / 2.

62 Aplicación Tabu Search
Para evitar ciclos mantendremos una lista tabú de movimientos en la que se encontrarán los movimientos reversos a los realizados con anterioridad. En vistas de diversificar la exploración en el espacio de búsqueda, el tamaño de la lista tabú de movimientos T es generado aleatoriamente entre los límites inferiores y superiores tmin y tmax, respectivamente.

63 Aplicación Tabu Search
En determinadas circunstancias un movimiento en la lista tabú puede ser permitido. Más precisamente, esto ocurrirá cuando f(S’) < A(f(S)), donde S es la solución actual, S’ es el vecino al que lleva el movimiento tabú y A es la función de aspiración. Como función de aspiración se suele tomar A(Z) = f(S*), donde S* es la mejor solución encontrada hasta el momento alcanzada desde los S tales que f(S) = Z. Inicialmente será A(Z) = Z para todos los posibles valores de Z = f(S) y a medida que realizamos movimientos de S a S’ la actualizamos del siguiente modo: A(f(S)) = min(A(f(S), f(S’)) A(f(S’)) = min(A(f(S’), f(S)) En nuestro caso, en vez de f usamos una versión simplificada f’(S) = f1(S) + f2(S) de la misma, sin los pesos w1 y w2 ni las funciones componente f3, f4 y f5. De este modo, nos concentraremos en las dos primeras restricciones relajadas y reduciremos significativamente el número de valores A(Z = g(S)) que deberemos mantener durante el proceso.

64 Aplicación Tabu Search
El Tabu Search para cada schedule de la población terminará tras un número dado de iteraciones niter independiente de la iteración en la que se halló el mejor schedule. Una población tiende a converger prematuramente si n o niter son pequeños. Si tras la cruza en la población hay un schedule S que está más de n / 3 veces entonces se dice que la población está en una crisis de diversidad. Para salir de esta crisis, con la mitad de las apariciones de este schedule S se hará algo particular. Si tras niter / 2 iteraciones del Tabu Search la mejor solución encontrada sigue siendo S, nos quedaremos con la mejor solución (distinta de S) de las últimas niter / 2 iteraciones. Existe cierta esperanza de que la diversidad incorporada de esta manera se pueda propagar a través de las siguientes generaciones.

65 Resultados Las pruebas fueron realizadas en una estación de trabajo Sillicon Graphics de 9 Mflops y los datos que se usaron en ellas corresponden a las temporadas de la NHL del 89/90, 91/92 y 93/94. La función objetivo se terminó de definir tomando los pesos wi como w1 = 26, w2 = 13, w3 = 1, w4 = 10 y w5 = 2. Estos pesos llevaron a schedules comparables a los schedules oficiales de la NHL armados manualmente. Llamemos TSn a un algoritmo compuesto por n Tabu Search clásicos corriendo por separado (es decir, sin intercambiar información entre sí) y llamemos ETSn a nuestro algoritmo cuando trata con población de tamaño n.

66 Resultados Para determinar |T|, el tamaño de la lista de movimientos tabú, y prop, la proporción que consideraremos del número total de vecinos, se corrieron varios TS5 con niter = 5000 para 0 < |T| < 300 y para prop = 0.005, 0.2 y 0.4. Se observó* que los mejores resultados se daban cuando 10 < |T| < 80. En general, |T| debería ser proporcional al número posible de movimientos, que en nuestro problema estará dado por npartidos * nsemanas. Como en las temporadas para las que se hicieron las pruebas este número no cambia demasiado, se decidió generar aleatoriamente un |T| entre tmin = 10 y tmax = 80, que estarán fijos, cada 50 iteraciones. Se observó * también que con prop = 0.2 o 0.4 los resultados eran similares, aunque con prop = la calidad de las soluciones se veía significativamente degradada. Hubo inclinación por prop = 0.2 por ser un buen compromiso entre el tiempo de CPU requerido y la calidad de las soluciones. * En el paper no se exhibió ninguna tabla o gráfico con esta información.

67 Resultados Llamemos ngen al número de generaciones creadas en un ETSn y nitertot al número de iteraciones de Tabu Search que se hará para un individuo de la población, queda claro que nitertot = ngen * niter y que cuanto más grande sea las soluciones serán de más calidad. Se decidió tomar nitertot = y, a partir de esto, ver cual es la forma más adecuada de tomar ngen y niter. Para determinarlo se corrieron 5 ETS8 con distintas poblaciones iniciales. Se observó que un número de generaciones menor a 4 es insuficiente pero también que cuando las generaciones son demasiadas terminan por acotar la búsqueda del Tabu Search en una dirección dada. Las descomposiciones en 8 x 2500, 10 x 2000, 20 x 1000 y 40 x 50 fueron las que dieron mejores resultados. Para el resto de las pruebas se usará la descomposición 20 x 1000.

68 Resultados

69 Resultados El último parámetro a estudiar es el tamaño de la población n. Para determinarlo se corrieron 5 ETS para 1 < n < 50. Se observó que la calidad de las soluciones aumenta notablemente a medida que n va de 1 a 8 aunque a partir de ahí la diferencia empieza a ser cada vez menor. Para n mayores a esta diferencia se vuelve insignificante.

70 Resultados

71 Resultados Habiéndose fijado ya todos los parámetros, se compararon los resultados entre los schedules de ETS8 y TS8, ambos con la misma población inicial, y los oficiales. En primer lugar, se observó que la población final de ETS8 es en promedio entre un 3 y 6% mejor que la de TS8 . La competencia y la cooperación presentes en ETS8, representadas por las etapas de reproducción y cruza, respectivamente, parecen mejorar la performance del algoritmo respecto a TS8. En segundo lugar, se observó que la población final de ETS8 es más homogénea que la de TS8 ya que la diferencia entre fmax y fmin es mucho menor para el primero. Esto se explica a partir del intercambio de información que se lleva a cabo en ETS8 pero no en TS8, haciendo a este último más dependiente de la población inicial.

72 Resultados

73 Conclusiones Se introdujo una metaheurística híbrida con características de Algoritmos Genéticos y Tabu Search esperando complementar las ventajas de cada una. Esta metaheurística fue aplicada al problema de Sports Scheduling, para el caso particular de la NHL, como ejemplo de problema con muchas restricciones. Los resultados fueron prometedores ya que mostraron que la interacción entre Tabu Search y Algoritmos Genéticos en este tipo de problemas puede ser más conveniente que correrlos por separado. La clave del éxito sin dudas está en la competencia y cooperación que le aportan los Algoritmos Genéticos en las etapas de reproducción y cruza al Tabu Search.

74 Conclusiones Desde el punto de vista de la función f, los schedules de ETS8 son mejores que los oficiales. Sin embargo, los objetivos expresados en la función f pueden no ser precisamente los objetivos reales. Los schedules de ETS8 pueden ser un muy buen borrador del schedule oficial, que será determinado en reuniones entre los organizadores de la NHL y los directivos de los equipos donde discutirán, negociarán, priorizarán, etc. posibles modificaciones. El tiempo empleado en hallar los schedules que servirán como borradores (80 minutos para 20 generaciones de ETS8) más el tiempo de las reuniones inevitables para conciliar los intereses entre las partes será significativamente menor al tiempo que se empleaba haciendo los schedules manualmente.


Descargar ppt "Luis Brassara Leonel Spett"

Presentaciones similares


Anuncios Google