La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Grupo 4 Matías Melgar Pablo Carbonell

Presentaciones similares


Presentación del tema: "Grupo 4 Matías Melgar Pablo Carbonell"— Transcripción de la presentación:

1 Grupo 4 Matías Melgar Pablo Carbonell
Búsqueda Tabú Grupo 4 Matías Melgar Pablo Carbonell Los autores son Alain Hertz1, Eric Taillard2, Dominique de Werra1

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

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

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

5 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

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

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

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

9 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*)

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

11 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ú.

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

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

14 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

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

16 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

17 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

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

19 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

20 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ú)

21 The Maximum Independent Set Problem
k=3 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

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

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

24 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

25 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

26 Vehicle Routing Problem - Ejemplo
(1.6, 9) (1.6, 14) (8.3, 10) Constantes: m = 5 (cantidad de vehículos) Q = 11.5 (capacidad de un vehículo) L = 25 (duración máxima de una ruta) 3 2 (0.0, -) 4 5 3 (2.7, 3) (6.1, 4) 3 (2.6, 11) 4 3 3 2 3 5 Depósito 2 (0.0, -) 3 (0.4, 3) 3 4 (3.7, 9) (1.4, 3) (demanda, tiempo)

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

28 TABUROUTE – Función objetivo
Para las soluciones factibles S, asociamos la función objetivo (suma de los costos) 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

29 TABUROUTE - Resultados
PF, OTS, y T son otras variantes de Tabu Search

30 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

31 Preguntas


Descargar ppt "Grupo 4 Matías Melgar Pablo Carbonell"

Presentaciones similares


Anuncios Google