un algoritmo tabu search para el traveling tournament problem

Post on 11-Feb-2016

43 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Un algoritmo Tabu Search Un algoritmo Tabu Search para el Traveling para el Traveling

Tournament ProblemTournament Problem

Andrés Cardemil

Guillermo Durán

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:

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.

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

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

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

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

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)

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

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

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

Intensificación:

• Se usan 2 métodos:

1. Disminución de la lista tabú2. 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:

1. Cantidad total de iteraciones2. Cantidad de iteraciones sin mejoras

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)

Conclusiones:

(paper)

top related