Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

Inteligencia Artificial
7. Máquinas Estocásticas
Grupo 4 Matías Melgar Pablo Carbonell
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Investigación de Operaciones II
Grupo 1: Verónica Giaudrone Marcelo Vaccaro
Investigación Algorítmica
KRIGING.
Muestreo para la inspección por atributos
Clase # 8: Análisis Conformacional (II)
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
Investigación Operativa
CONFORMACIÓN AUTOMATIZADA DE ÁREAS DE RESPONSABILIDAD
Tema 3. Optimización de Código
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
Optimización matemática Algoritmos Genéticos – Parte 2 Por: Antonio H
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
2- SIMPLEX.
Optimización Multiobjetivo Por: Antonio H
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
EXPANSIÓN DE SISTEMAS ELÉCTRICOS DE Universidad Tecnológica de Pereira
Universidad de los Andes-CODENSA
Antonio H. Escobar Zuluaga Universidad Tecnológica de Pereira - Colombia 2014 Introducción a la Optimización matemática Antonio H. Escobar Zuluaga Universidad.
Resolución de Problemas Método Simplex
Capítulo 4 BUSQUEDA INFORMADA.
Resolución de Problemas Método Simplex
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
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Diseño y análisis de algoritmos
Diplomado en Logística de Negocios
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
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
(Organización y Manejo de Archivos)
Asignación de Espacio No Contiguo
Scheduling Problem ¿Cuándo y dónde debo hacer cada trabajo ?
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Simulated Annealing Rafael Fernández Fernando García.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Diseño geodésico II II semestre, 2014
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería Maestría en Ingeniería Eléctrica.
Experimentación Numérica
Cúmulo de Partículas (Particle Swarm Optimization: PSO) Por: Antonio H. Escobar Zuluaga Universidad Tecnológica de Pereira - Colombia 2014 Optimización.
Una introducción a la computación evolutiva
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
Parte I. Estructuras de Datos.
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
1 Condiciones de extremo Proceso para derivar las condiciones De problema más simple a más complejo Progresión de problemas: Problema sin restricciones.
El costo de capital marginal ponderado (CCMP)
Investigación Algorítmica
Optimización Combinatoria y Grafos Búsqueda Tabú
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
TIPOS DE PRUEBAS DEL SOFTWARE
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
Modelos de Minimización
Introducción a los TADs
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.

Investigación Algorítmica
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
Programación Lineal Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Alvaro Alfredo Bravo Dpto. de Matemáticas y Estadística Universidad de Nariño - Colombia METODOS ALEATORIOS.
Transcripción de la presentación:

Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H. Escobar Zuluaga Universidad Tecnológica de Pereira - Colombia 2014

En 1989, Glover presenta una descripción completa del método. Algoritmo de Búsqueda Tabú: Origen En 1986, Fred Glover propone el método de Búsqueda Tabú como una metaheurística que gerencia a una heurística. Glover, F. (1986) “Future Paths for Integer Programming and Links to Artificial Intelligence,” Computer and Operations Research, vol. 13, no. 5, pp. 533-549. En 1989, Glover presenta una descripción completa del método. Glover, F. (1989a) “Tabu Search – Part I,” INFORMS Journal on Computing, vol. 1, no. 3, pp. 190-206. Glover, F. (1989b) “Tabu Search – Part II,” INFORMS Journal on Computing, vol. 2, no. 1, pp. 4-32.

Es una combinación de exploración sensible y memoria adaptativa. Algoritmo de Búsqueda Tabú: Es una metaheurística que guía un proceso de búsqueda local con el propósito de explorar el espacio de soluciones más alla de subespacios con óptimos locales, aplicando mecanismos que evitan regresar a subespacios ya visitados. Es una combinación de exploración sensible y memoria adaptativa.

Algoritmo de Búsqueda Tabú Características: No utiliza población, en cada ciclo opera sobre una solución. Es un algoritmo de trayectoria. Requiere de una función de adaptación para el manejo de la infactibilidad. Combina exploración con explotación. Utiliza el concepto de vecindad, la cual puede ser potenciada con sensibilidad. Al igual que GRASP opera sobre los atributos para explorar la vecindad. A diferencia de otras metaheurísticas usa el concepto de memoria de corto y largo plazo para evitar regresar a regiones ya visitadas.

Algoritmo de Búsqueda Tabú: Procedimiento heurístico Generar solución inicial e inicializar memorias Fin Lista de candidatos Criterio de aspiración Soluciones élite si no Determinar vecindad Cumple criterio de parada? exploración sensible Modificación de reglas para diversificación o intensificación Seleccionar el mejor vecino Actualizar memorias Reinicio Oscilación estratégica Encadenamiento de trayectorias Aplicar mecanismos especializados Actualizar incumbente memoria adaptativa

Algoritmo de Búsqueda Tabú: Inicio Usa algoritmos heurísticos constructivos para generar la solución inicial o utiliza soluciones élite encontradas en ciclos Tabú anteriores. Soluciones élite o

Algoritmo de Búsqueda Tabú: Atributo: Un componente del vector solución. Información parcial relacionada con un elemento del espacio de búsqueda. Un atributo permite caracterizar la vecindad. xj+1 xj

Algoritmo de Búsqueda Tabú: Ejemplo de Atributo: En el problema de las n reinas, un atributo está representado por el intercambio de las columnas de dos reinas. En el ejemplo, la reina 3 y la reina 6 intercambian sus columnas: columna número de la reina

Columna que ocupa la reina i Algoritmo de Búsqueda Tabú: columna número de la reina número de la reina Columna que ocupa la reina i

movimiento simple o transición Algoritmo de Búsqueda Tabú: Vecindad: Para una solución k, en el problema de las n reinas, y usando como atributo intercambiar dos reinas, se tienen vecinos (21 vecinos para 7 reinas). movimiento simple o transición hacia el mejor vecino Xk N*(X): subespacio de vecinos Xk-1

Algoritmo de Búsqueda Tabú: Soluciones vecinas: 21 soluciones Ejemplo: número de colisiones = 4 reinas que intercambian sus columnas incremento del número de colisiones respecto a la solución actual

Algoritmo de Búsqueda Tabú: Estructura de la memoria tabú: El intercambio de columnas entre las reinas 1 y 7 queda prohibido durante las próximas 3 iteraciones.

Algoritmo de Búsqueda Tabú: Transición:

Algoritmo de Búsqueda Tabú: Estructura de la memoria tabú: El intercambio de columnas entre las reinas 1 y 7 queda prohibido durante las próximas 2 iteraciones. El intercambio de columnas entre las reinas 2 y 4 queda prohibido durante las próximas 3 iteraciones.

Algoritmo de Búsqueda Tabú: Criterio de aspiración: Es un criterio que permite aceptar soluciones vecinas a pesar de tener atributos prohibidos con el propósito de avanzar hacia vecinos de buena calidad. En ejemplo de la n reinas, puede aplicarse aspiración si: Un movimiento prohibido permite reducir el número de colisiones en k colisiones. Si el número de colisiones es menor que las obtenidas en las últimas m iteraciones. Si se mejora la incumbente.

Algoritmo de Búsqueda Tabú modificado: Reducción de la vecindad: Es un aspecto crítico en problemas de gran tamaño y complejidad. Para 1000 reinas se tienen 499500 vecinos para cada solución parcial. Debe reducirse el número de vecinos preservando, en lo posible, los mejores vecinos. N**(X): subespacio reducido de vecinos Xk N*(X): subespacio de vecinos

Algoritmo de Búsqueda Tabú modificado: Formas de reducir la vecindad: Usando una heurística o un conjunto de heurísticas que genere una lista reducida de candidatos. Usando un microgenético o un GRASP. Redefiniendo los atributos (Ej: c/reina solo intercambia su columna con algunas reinas). Redefiniendo el concepto de memoria. N**(X): subespacio reducido de vecinos Xk N*(X): subespacio de vecinos

Algoritmo de Búsqueda Tabú modificado: Intensificación: Consiste en regresar a subespacios de alta calidad visitados en el pasado para realizar una exploración más exhaustiva. región de alta calidad

Algoritmo de Búsqueda Tabú modificado: diversificación y Memoria de largo plazo: En el ejemplo de las n reinas contiene la información histórica del número de veces que el mismo par de reinas han sido intercambiadas. Memoria basada en hechos recientes Memoria basada en frecuencia

Algoritmo de Búsqueda Tabú modificado: Diversificación y Memoria de largo plazo: Esta información puede utilizarse para diversificar, penalizando el intercambio de columnas entre reinas con una alta frecuencia de intercambios o privilegiando intercambios que no han ocurrido. Memoria basada en frecuencia

Algoritmo de Búsqueda Tabú modificado: Encadenamiento de trayectorias: Consiste en retomar soluciones de buena calidad encontradas durante el proceso, y que fueron almacenadas en una lista de soluciones élite, para conducir el proceso por trayectorias inexploradas que conectan estas soluciones. soluciones élite

Algoritmo de Búsqueda Tabú modificado: Encadenamiento de trayectorias: solución guía solución de referencia Trayectoria original Trayectoria encadenada

Algoritmo de Búsqueda Tabú modificado: Reinicio: Consiste en retomar soluciones de buena calidad encontradas durante el proceso, y que fueron almacenadas en una lista de soluciones élite, para comenzar de nuevo desde cero el algoritmo. soluciones élite

Algoritmo de Búsqueda Tabú modificado: Oscilación estratégica: Es un mecanismo que se aplica cuando el algoritmo normalmente se detendría. Consiste en: Cambiar atributos. Modificar la definición de vecindad N(X). Permitir soluciones únicamente factibles y, cuando el método se agota, permitir entrar en la región infactible y permanecer allí para luego retornar a la región factible.

Algoritmo de Búsqueda Tabú modificado: Oscilación estratégica: Únicamente factibles Únicamente infactibles

Algoritmo de Búsqueda Tabú modificado: Criterio de parada: Por máximo número de iteraciones. Por máximo número de diversificaciones. Cuando se han analizado todas las configuraciones almacenadas en un vector de trabajo.

Optimización matemática Algoritmo Simulated Annealing

Algoritmo Simulated Annealing o Recocido Simulado: Se fundamenta en el proceso físico de calentamiento de un sólido seguido de un enfriamiento para lograr una estructura cristalina perfecta. El calentamiento ocurre a temperaturas altas. El enfriamiento debe realizarse lentamente. La temperatura de calentamiento debe ser lo suficientemente alta para asegurar el estado aleatorio y el enfriamiento lo suficientemente lento para asegurar el equilibrio térmico en cada temperatura. De esta forma los átomos asumirán la configuración correspondiente a minima energía global (cristal perfecto).

Algoritmo Simulated Annealing o Recocido Simulado:

Algoritmo Simulated Annealing Características: No utiliza población, en cada ciclo opera sobre una solución. Es un algoritmo de trayectoria. Requiere de una función de adaptación para el manejo de la infactibilidad. Combina exploración con explotación. Utiliza el concepto de vecindad, la cual puede ser potenciada con sensibilidad. Al igual que GRASP y Tabu Search opera sobre los atributos para explorar la vecindad. A diferencia de Tabu Search, selecciona un vecino aleatoriamente y no posee mecanismos para evitar regresar a regiones ya visitadas.

Algoritmo Simulated Annealing: Selecciona un vecino aleatoriamente. Si el vecino es de mejor calidad acepta el movimiento. Si el vecino es de peor calidad lo acepta de acuerdo a una probabilidad. Si no lo acepta, selecciona otro vecino. * No realiza una búsqueda intensiva en la vecindad

Algoritmo Simulated Annealing: Parámetros: Si la temperatura Tk es alta, el número de búsquedas Nk es menor y la probabilidad de aceptar soluciones de mala calidad es mayor. Si la temperatura Tk es baja, el número de búsquedas Nk es mayor y la probabilidad de aceptar soluciones de mala calidad es menor. 1 2 3 4 N Longitud de la cadena = Nk Temperatura = Tk

Algoritmo Simulated Annealing: Probabilidad de aceptación de un vecino de mala calidad: La probabilidad de aceptación sigue una función exponencial decreciente cuyo valor máximo es 1 y su valor mínimo tiende a 0. Para el problema de minimización: f(j): función objetivo de la solución vecina. f(i): función objetivo de la solución actual. T: temperatura actual. PT: probabilidad de aceptación. 1 2 3 4 N

Algoritmo Simulated Annealing: Probabilidad de aceptación de un vecino de mala calidad: f(j): función objetivo de la solución vecina. f(i): función objetivo de la solución actual. T: temperatura actual. PT: probabilidad de aceptación. probabilidad de aceptación nivel de empeoramiento

Algoritmo Simulated Annealing: Programa de enfriamiento: Es determinado por los siguientes 5 parámetros: 1. La temperatura inicial To y la longitud inicial de la cadena No. La tasa de crecimiento de la longitud de la cadena respecto a la longitud anterior: Nk+1 =  Nk ; con  ≥ 1. La tasa de enfriamiento de la temperatura: Tk+1 = f ( Tk ) Temperatura final TF que teóricamente es cero pero que realmente se establece en un valor TF > 0. Algunas propuestas sugieren procesar de 6 a 50 niveles de temperatura o continuar hasta que no haya un número mínimo de aceptaciones.

Algoritmo Simulated Annealing: Cálculo de la temperatura inicial To (método 1): Definir la cantidad de experimentos: y la tasa de aceptación de soluciones de mala calidad: X. Si se desea X = 85%, entonces X=0.85 Seleccionar aleatoriamente un vecino. Calcular la temperatura inicial como: es el incremento medio del costo de las soluciones que están en mejor calidad peor calidad

Algoritmo Simulated Annealing: Cálculo de la temperatura inicial To (método 2): Donde Φ es la probabilidad (entre 0 y 1) deseable para que sea aceptada una solución de mala calidad cuando dicha solución es μ veces peor que la solución inicial F(Xo). Ejemplo: Si la solución inicial es F(Xo) = 2300 y se desea aceptar una solución de peor calidad 1% inferior (μ = 0.01) con una probabilidad del 13% (Φ = 0.13), entonces:

Algoritmo Simulated Annealing: Cálculo de la temperatura Tk : Existen varios criterios para determinar la tasa de disminución de la temperatura: Tasa constante: Tk+1 = β Tk ; con β en el intervalo [0.5 , 0.99]. Tasa variable, propuesta 1:

Algoritmo Simulated Annealing: Cálculo de la temperatura Tk : 3. Tasa variable, propuesta 2:

Algoritmo Simulated Annealing:

Algoritmo Simulated Annealing:

Algoritmo Simulated Annealing:

Algoritmo Simulated Annealing:

Optimización matemática Algoritmo Scatter Search o Búsqueda Dispersa

Algoritmo Scatter Search o Búsqueda Dispersa: Es una técnica de búsqueda sistemática que usa un conjunto limitado de soluciones denominadas soluciones de referencia. Combina procedimientos metaheurísticos y procedimientos heurísticos. Es una técnica evolutiva.

Algoritmo Scatter Search o Búsqueda Dispersa – características: Utiliza población. Requiere de una función de adaptación para el manejo de la infactibilidad. Utiliza dos conjuntos de soluciones: el de soluciones de buena calidad y el de soluciones diversas. Aplica selección y combinación de soluciones. Al igual que GRASP, Tabu Search y Simulated Annealing opera sobre atributos para explorar la vecindad. Aplica una etapa de mejoramiento basada en heurísticas.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: generación-diversificación selección actualización combinación mejoramiento

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Generación-Diversificación: Su función es generar un conjunto de soluciones diversas y de buena calidad. Sus características principales son: Se aplica antes de iniciar el proceso iterativo y en ocasiones dentro del proceso iterativo. Permite construir un conjunto P de soluciones, a partir del cual se construye un subconjunto de soluciones de referencia b. Las soluciones en P pueden construirse determinística o aleatoriamente. Las soluciones en P pueden ser factibles o infactibles.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Generación-Diversificación: Puede incluir una rutina de mejoramiento. Se sugiere un tamaño de P del orden de 100 soluciones.

menor distancia respecto a b1 mayor distancia respecto a b1 Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Generación-Diversificación: El conjunto de referencia b debe cumplir: , si P tiene tamaño 100, b debe tener un tamaño entre 5 y 10. Las soluciones de mejor calidad se almacenan en b1 y las más diversas en b2. menor distancia respecto a b1 mayor distancia respecto a b1

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Selección: Selecciona parejas o ternas de soluciones para combinar. En lo posible deben seleccionarse el 80% de todas las posibles combinaciones entre pares de soluciones y algunas ternas. Puede usarse sensibilidad o aleatoriedad.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Combinación: Combina dos o más soluciones del conjunto de referencia b con el propósito de generar soluciones intermedias o centroides. Puede incluir combinaciones convexas, no convexas o especiales. La cantidad de soluciones que se obtienen del mismo par o terna de soluciones depende de la calidad de estas (explotación).

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Combinación: Combinar soluciones es equivalente a intensificar. En el proceso de combinación deben seleccionarse adecuadamente los pesos de las soluciones que se combinan. Puede exigirse factibilidad o permitir infactibilidad en las soluciones resultantes.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Mejoramiento: Utiliza búsqueda local para mejorar la calidad de las soluciones resultantes del proceso de combinación. El proceso de mejoramiento puede ser aleatorio o puede aplicar indicadores de sensibilidad y técnicas heurísticas, e inclusive técnicas exactas. Puede exigirse factibilidad o permitir infactibilidad en las soluciones resultantes.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Mejoramiento: Debe permitir generar múltiples instancias a partir de una solución. Puede apoyarse en conceptos de vecindad. Algunas implementaciones no aplican este mecanismo.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Actualización del conjunto de referencia: Consiste en extraer las soluciones de mejor calidad y las más diversas del conjunto de soluciones resultantes del proceso de combinación y mejoramiento para determinar si pueden reemplazar soluciones del conjunto de referencia b. Compara cada solución combinada y mejorada con las soluciones de b1 y la reemplaza por la peor solución de b1 si la nueva solución es de mejor calidad.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Actualización del conjunto de referencia: Compara cada solución combinada y mejorada que no entra a b1 y la reemplaza por la solución menos diversa de b2 si la nueva solución es más diversa respecto al nuevo conjunto b1, respecto a la solución menos diversa existente en b2.

Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Mecanismo de Actualización del conjunto de referencia: El conjunto de referencia conserva un tamaño b constante, pero el valor y la diversidad de las soluciones va mejorando a lo largo del proceso de búsqueda. Si ninguna solución es reemplazada después de algunos ciclos, puede darse por finalizado el proceso o puede reiniciarse a partir de un nuevo conjunto P.

Algoritmo Scatter Search: Algoritmo Scatter Search o Búsqueda Dispersa – componentes: Algoritmo Scatter Search: