31
Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Embed Size (px)

Citation preview

Page 1: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Búsqueda Tabú

Grupo 4

Matías Melgar

Pablo Carbonell

Page 2: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Cronograma (1)

Introducción. Ideas Básicas de TS. Algoritmo y sus propiedades. Eficiencia de los métodos iterativos. Uso Eficiente de la Memoria. Aplicaciones.

– Problema de colorear el grafo con la cantidad mínima de colores.– Problema de encontrar el máximo conjunto de vértices

independientes.– Problema de Planificación de cursos.

Conclusiones.

Page 3: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Cronograma (2)

Taburoute (una nueva heurística para el problema de ruteo de vehículos).– Introducción.– Algoritmo.– Resultados computacionales.– Conclusiones.

Page 4: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Introducción

Los orígenes de esta técnica son de los ’70, su forma actual fue presentada por Glover en 1986, y los primeros modelos teóricos son de 1992.

No se conoce ninguna prueba clara de la convergencia pero la técnica ha mostrado una eficacia notable en muchos problemas.

Existen refinamientos de esta técnica para aplicaciones específicas.

Page 5: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Ideas básicas de Tabu Search (1)

Para mejorar la eficiencia del proceso de exploración, es necesario registrar no sólo información local (como el valor actual de la función) sino que además información relacionada al proceso de exploración.

Lleva un registro del itinerario recientemente realizado, de forma de restringir los posibles vecinos sobre los que voy a avanzar.– La estructura de vecindad es dinámica

Page 6: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Ideas básicas de Tabu Search (2)

Metaheurística– Dado que TS incluye en sus propias reglas

algunas técnicas heurísticas, decimos que es una metaheuristica.

– Su papel es dirigir y orientar la búsqueda de otro procedimiento (más local) de búsqueda.

Page 7: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Clasificación de Tabu Search

Es determinística (vs. aleatoria) Es basada en un individuo (vs. poblaciones) Es de trayectoria (vs. constructiva)

– Es un método iterativo.– Hay que definir la vecindad utilizada.

Utiliza memoria.

Page 8: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Reformulación de la búsqueda local

Algoritmo– 1. Elegir una solución inicial i en S– 2. Generar un subconjunto V* de N(i)– 3. Elegir el mejor j en V* (es decir tales que f(j)<=f(k) para

cualquier k en V *) – 4. Si f(j) >= f(i) entonces terminar. Si no, establecer i=j e ir al paso 2

Para V* = N(i) tenemos el caso de la búsqueda local. El problema de este algoritmo es que nos quedamos atrapados

en mínimos locales. Tenemos que agregar la posibilidad de avanzar según pasos

que no mejoren la solución– Con esto, el riesgo de repetir soluciones aumenta, la solución es

utilizar memoria para descartar los ya visitados.

Page 9: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Otra aproximación

Algoritmo– 1. Elegir una solución inicial i en S. Establecer i*=i.– 2. Agregar i a la lista tabú.– 3. Elegir el mejor j en V* = N(i) \ ListaTabu.– 4. Si f(i) < f(i*) asignar i*=i.– 5. Si se cumple alguna condición de fin, terminar. Si no

asignar i=j e ir al paso 2.

El caso de búsqueda local es el caso particular en que la condición de parada es f(i)>=f(i*)

Page 10: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Condiciones de parada

Cantidad de iteraciones. Tiempo máximo de CPU. Alcanzar una solución i que sea mejor que

un cierto valor fijado al inicio. No obtener una nueva mejor solución i*

luego de una cierta cantidad de iteraciones. Todos los vecinos del paso actual están

incluidos en la lista tabú.

Page 11: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Largo de la lista Tabú

Una lista tabú de largo N, nos garantiza que no se van a crear ciclos de largo inferior a N.

La cantidad de casos a agregar a la lista puede ser muy grande.

Al modelar el problema se decide el largo de la lista Tabú.

Page 12: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Información a guardar en la lista Tabú

Por razones de eficiencia, sólo guardo una parte de la información que describe a las soluciones recorridas.

El problema de guardar sólo una parte de la solución, es que puede haber otras soluciones aún no visitadas que en esa parte de la información sea igual.

Lo que se hace es definir un criterio de aspiración para aceptar soluciones por más que estén en la lista tabú.

El criterio de aspiración más común es habilitar las mejores soluciones, aún cuando ellas hayan sido visitadas recientemente.

Page 13: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Varias Listas Tabú

Por motivos de eficiencia se pueden utilizar varias listas Tr al mismo tiempo.

Cada lista Tr guarda un componente de la solución.

Los componentes que agrego a las listas son componentes que reciben el status tabú, es decir componentes no permitidos para futuras soluciones.

Page 14: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Algoritmo Tabu Search

s <- GenerarSolucionInicial

InicializarListasTabu(TL1… TLn)

While no condicion_fin do

- V* <- {z de N(s) tal que z no pertenece a la lista o bien z cumple las condiciones de aspiración)

- s <- mejorSolución(s, V*)

- Actualizo listas tabú y condiciones de aspiración

End While

Page 15: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Eficiencia del método

La eficiencia depende principalmente de cómo esté modelado el problema.

Importante: definir correctamente la estructura de vecindad y función objetivo.

Secundario: ajustar parámetros. Un modelo es bueno cuando al aplicar la

técnica, ésta no es muy sensible a la elección de parámetros.

Page 16: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Modelado Efectivo

Elegir un punto inicial i tal que existe un camino desde i al óptimo i*.

– Si no hay, entonces no tengo forma de llegar– Puede ser difícil lograr que se cumpla esta condición: lo

que se hace es trabajar sobre un espacio de soluciones factibles extendido

Elegir una topología que no tenga muchos “valles” o “llanuras”

Se puede modificar la función objetivo en tiempo de ejecución, de forma de remplazar los valles ya visitados por altas montañas

Page 17: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Implementación efectiva

En cada paso puede ser necesario evaluar muchas condiciones y es importante realizar este cómputo en una manera eficiente.

Frecuentemente, es posible y más rápido calcular cuánto varía la función objetivo al desplazarme al vecino, que evaluar a nuevo la función objetivo– A veces se recurre a otras heurísticas para

calcular la variación al desplazarme al vecino

Page 18: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Usar la memoria de forma efectiva

Elegir un tamaño adecuado para las listas tabú– Si son muy chicas, se producen ciclos– Si son muy grandes, se vuelven muy restrictivas

Una manera eficaz para evitar esta dificultad es utilizar una lista del tabú con tamaño variable.

– Cada elemento de la lista pertenece a ella para un número de iteraciones (limitado por valores máximos y mínimos dados)

El uso de la memoria puede ayudar a intensificar la búsqueda en "buenas“ regiones o a diversificar la búsqueda hacia regiones inexploradas.

Page 19: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Aplicaciones de Ejemplo

The Graph Coloring Problem– Tengo que colorear países en un mapa utilizando

una cantidad mínima de colores distintos

The Maximum Independent Set Problem– Tengo que buscar en un grafo, un subconjunto

vértices de tamaño máximo, tales esos vértices no comparten aristas

The Course Scheduling Problems– Planificar horarios de clases

Page 20: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

The Graph Coloring Problem

Grafo: Un país es un vértice, una frontera es una arista Consiste en particionar el grafo en k conjuntos, un conjunto para cada

color Para relajar el problema, se asume que el valor k es dado al algoritmo Solución inicial: pintar de colores arbitrarios Vecindad: en cada paso busco una arista que una dos vértices de mismo

color, y cambio el color de uno de los vértices Función objetivo: se cuenta la cantidad de países que comparten colores,

se intenta minimizar ese valor– Aquí es más fácil evaluar cómo cambia la función objetivo al desplazarme al

vecino, que evaluar nuevamente La lista tabú registra los pares (vértice, color) indicando que no puedo

volver a pintar el mismo vértice del mismo color durante N pasos (N es el largo de la lista tabú)

Page 21: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

The Maximum Independent Set Problem

Para relajar el problema, se busca un conjunto que sea de un tamaño k dado

Solución inicial: elijo k vértices arbitrarios Vecindad: intercambio un vértice de la solución actual

con un vértice de afuera de ese conjunto Función objetivo: cuento la cantidad de aristas que

unen los vértices de la solución actual, esa cantidad tiene que llegar a cero

Tres listas tabú– Lista con las soluciones visitadas recientemente– Lista con vértices introducidos recientemente– Lista con vértices quitados recientemente

k=3

Page 22: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

The Course Scheduling Problems

Es un problema similar al de los países de colores– Cada clase a dictar es un vértice– Cada período es un color– Una arista entre dos vértices, implica que las dos clases no

se pueden dictar al mismo tiempo

En la vida real las escuelas tienen restricciones adicionales con las que es difícil trabajar (disponibilidad salones grandes, uso de proyectores u otros recursos, clases con duración distinta, lograr que los horarios sean compactos, restricciones geográficas y de precedencia)

Page 23: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Conclusiones

Los ejemplos anteriores muestran el rango de aplicaciones para los cuales se utiliza búsqueda Tabú.

Si bien parece necesario tener que ajustar varios parámetros, existen estudios teóricos que indican un alto grado de libertad para elegir estos parámetros.

Por el momento, esta técnica aparenta ser un enfoque complejo para grandes problemas de optimización, en vez de ser un método elegante y simple.

Un problema que se presenta al utilizar esta técnica es que a la complejidad del problema a resolver se le agrega complejidad inherente a la propia técnica.

Page 24: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Búsqueda Tabú aplicada a VRP

TABUROUTE es una nueva heurística para el problema de ruteo de vehículos con restricciones de capacidad y largo de ruta.

Las soluciones vecinas se obtienen quitando un vértice de su ruta actual e insertándolo en otra ruta

El problema está relajado de forma de aceptar soluciones vecinas que no cumplen las restricciones

TABUROUTE es la heurística de mejor desempeño para un cierto conjunto de problemas benchmark, y produce frecuentemente la mejor solución conocida

Page 25: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Vehicle Routing Problem

Tenemos un grafo G = (V, A), donde el vértice v0 es el “depósito” desde el cual construyo las rutas, y los demás vértices son “ciudades”

En el depósito hay m vehículos idénticos Cada arco tiene asociada una distancia no negativa Para simplificar: “costo” = “tiempo” = “distancia” El objetivo es construir un conjunto de costo mínimo de rutas tales

que– (a) Todas las rutas comienzan y terminan en el depósito– (b) Cada ciudad es visitada exactamente una vez por exactamente un vehículo– (c) Se cumplen ciertas restricciones auxiliares– (d) Cada ciudad tiene asociada una demanda qi. La demanda total asociada a

un vehículo no puede exceder la capacidad Q del vehículo.– (e) Cada ciudad requiere ser atendida en un tiempo máximo Di, y el tiempo total

de cada ruta (incluyendo los servicios) no puede superar un cierto valor L

Page 26: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Vehicle Routing Problem - Ejemplo

Depósito

32

4 53

3

3

34

2

3

3

4

53

Constantes:

m = 5 (cantidad de vehículos)

Q = 11.5 (capacidad de un vehículo)

L = 25 (duración máxima de una ruta)

(8.3, 10)(1.6, 14)

(0.0, -)

(1.6, 9)

(6.1, 4)(2.7, 3)

(2.6, 11)

(3.7, 9)(0.4, 3)

(1.4, 3)

(0.0, -)

(demanda, tiempo)

2

Page 27: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

TABUROUTE – Estructura de Sols.

Una solución es un conjunto de rutas (R1, ..., Rm) donde m [1, m], y Rr = (v0, vr1, vr2, ... v0)

Las rutas R1...Rm pueden ser factibles o no según las restricciones (esto es para relajar la estructura de vecindad)

Una solución vecina es una solución obtenida luego de quitar un vértice de su ruta actual y colocarlo en otra ruta. Esto se realiza utilizando las heurísticas GENI y US.

Page 28: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

TABUROUTE – Función objetivo

Para las soluciones factibles S, asociamos la función objetivo (suma de los costos)

r Rvv

ij

rji

cSF),(

1 )(

Además, para cualquier solución S asociamos un objetivo F2(S)– La función F2 es igual a F1, pero penaliza las

soluciones que no sean factibles El algoritmo se desplaza utilizando F2 como

criterio

Page 29: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

TABUROUTE - Resultados

Problema n CW MJ AG DV GM CMT1 FJ CMT2 OSA PF OTS T TR TRStandard Best

1 50 585 575 556 586 532 547 524 534 528 536 524,61 524,61 524,61 524,612 75 900 910 885 885 874 883 857 871 838,62 842 844 835,32 835,77 835,323 100 886 882 860 889 851 851 833 851 829,18 851 835 828,98 829,45 826,144 150 1204 1259 1085 1133 1079 1093 1014 1064 1058 1081 1044,35 1029,64 1036,16 1031,075 199 1540 1545 1351 1424 1389 1418 1420 1386 1378 - 1334,55 1300,89 1322,65 1311,356 50 619 599 577 593 560 565 560 560 555,43 560 555,43 555,43 555,43 555,437 75 976 969 939 963 933 969 916 924 909,68 929 911 909,68 913,23 909,688 100 973 999 913 914 888 915 885 885 866,75 887 866,75 865,94 865,94 865,949 150 1426 1289 1210 1292 1230 1245 1230 1217 1164,1 1227 1184 1164,24 1177,76 1162,8910 199 1800 1770 1464 1559 1518 1508 1518 1509 1417,9 - 1417,85 1403,21 1418,51 1404,7511 120 1079 1100 1047 1058 1266 1066 - 1092 1042,1 1049 1042,11 1073,05 1073,47 1042,1112 100 831 879 834 828 937 827 825 816 819,59 826 819,59 819,56 819,56 819,5613 120 1634 1590 1551 1562 1770 1612 - 1608 1550,2 1631 1547 1550,15 1573,81 1545,9314 100 877 883 874 882 949 876 848 878 866,37 866 866,37 886,37 866,37 866,37

PF, OTS, y T son otras variantes de Tabu Search

Page 30: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Conclusiones del paper

TABUROUTE tiene mejor desempeño que las demás heurísticas existentes

TABUROUTE produce frecuentemente las best known solutions Hay que implementar dos mecanismos:

– El hecho de permitir soluciones no factibles, penalizándolas en la función objetivo.

– Aplicar él algoritmo GENI para ejecutar las inserciones Es posible utilizar una solución inicial no factible Otras conclusiones

– Puede utilizarse en contextos en que la cantidad de vehículos sea variable o acotada, o con distintas características

– Se pueden agregar fácilmente restricciones adicionales, como que ciertas ciudades requieren ciertos vehículos

– Existen variantes con varios depósitos, y rutas primarias y secundarias

Page 31: Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell

Preguntas