Grupo 4 Matías Melgar Pablo Carbonell

Slides:



Advertisements
Presentaciones similares
Sección 4 Gastos Generales
Advertisements

Diseño y análisis de algoritmos
GRAFOS Presentado por: Oscar Leonardo Ramírez John Freddy Sandoval
Planificación de Monoprocesadores
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA
MATEMÁTICAS DISCRETAS.
Grupo 1: Verónica Giaudrone Marcelo Vaccaro
Investigación Algorítmica
PROGRAMACION DE ESTRUCTURAS DE DATOS
Métodos Programación dinámica Función Costo Ponderación
Método de Ford-Fulkerson
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
Inteligencia Artificial Búsqueda informada y exploración

Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Introducción a las Metaheurísticas
Sistemas Inteligentes Algoritmos Geneticos
GRAFOS HUGO ARAYA CARRASCO.
1 Algoritmos Elementales de Grafos Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem
Grafos. Un Grafo G es un par de conjuntos (V, E), donde V es un conjunto no vacío de elementos llamados vértices o nodos y E es un conjunto formado por.
Teoria de grafos.-clase 4
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Árbol recubridor mínimo Distancias
Scatter Search y Path Relinking Grupo 7 Giovanna Garula Rodrigo Guridi Referencias Fundamentals of Scatter Search and Path Relinking. Fred Glover Manuel.
Optimización, Búsqueda Heurística
Estructura de Datos y Algoritmos
Diseño y análisis de algoritmos
Estructuras de Datos Arreglos.
Diseño y análisis de algoritmos
DISEÑO DE SOFTWARE 1ª. Parte
Bibliografía “Metaheuristics in Combinatorial Optimization: Overview and conceptual Comparison” C. Blum and A. Roli- TR/IRIDIA/ “An introduction.
Complejidad de los problemas de decisión
Sesión 6: Campos de Markov
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
Scheduling Problem ¿Cuándo y dónde debo hacer cada trabajo ?
Material de apoyo Unidad 4 Estructura de datos
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H
ESTRUCTURA GENERAL DEL MÉTODO PARA LLEVAR A CABO UNA REORGANIZACIÓN ETAPA 1 Preparación detallada para el primer lanzamiento de iniciativa de cambio. ETAPA.
Simulated Annealing Rafael Fernández Fernando García.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
“A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, Problema: Como distribuir.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc.
Alineamiento.
Experimentación Numérica
Parte I. Estructuras de Datos.
Una introducción a la computación evolutiva
Administrador de procesos
PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES
Parte I. Estructuras de Datos.
Tema 10: Algoritmos voraces
1 Flujo Máximo Agustín J. González ELO320: Estructura de Datos y Algoritmos.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Asignación de Horarios
DISTRITACIÓN ELECTORAL y OPTIMIZACIÓN COMBINATORIA David Romero Instituto de Matemáticas - UNAM Cuernavaca, Morelos COLOQUIO INTERNACIONAL DE DISTRITACIÓN.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Incorporando Búsqueda Local a un Algoritmo ACO para el Problema de Scheduling de Tardanza Ponderada Lasso M., de San Pedro M Laboratorio de Tecnologías.
Búsqueda en Vecindades Variables (Variable Neighborhood Search - VNS)
SOLUCION DE PROBLEMAS MEDIANTE BUSQUEDA
Optimización Combinatoria y Grafos Búsqueda Tabú
Sistemas Basados en Reglas
árbol de problemas y objetivos
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.
Matemáticas Discretas MISTI
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
OBJETIVOS DE LOS PROGRAMAS DE ESTUDIO: SESIÓN DE TRABAJO 3 DE SEPTIEMBRE DE 2013 SECRETARÍA GENERAL SECRETARÍA DE APOYO A LA DOCENCIA.
Transcripción de la presentación:

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

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.

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

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.

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

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.

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.

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.

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

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

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

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.

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.

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

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.

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

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

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.

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

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

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

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)

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.

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

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

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)

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.

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

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

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

Preguntas