Algoritmo de Búsqueda Tabú Por: Antonio H. Escobar Zuluaga Universidad Tecnológica de Pereira -...

Preview:

Citation preview

Optimización matemática

Algoritmo de Búsqueda TabúAlgoritmo de Búsqueda Tabú

Por:Por:

Antonio H. Escobar ZuluagaAntonio H. Escobar Zuluaga

Universidad Tecnológica de Pereira - ColombiaUniversidad Tecnológica de Pereira - Colombia

20142014

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.

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.

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ú

Algoritmo de Búsqueda Tabú:

Fin

Procedimiento heurístico

Modificación de reglas para

diversificación o intensificación

Generar solución iniciale inicializar memorias

Determinarvecindad

Seleccionar elmejor vecino

Aplicar mecanismosespecializados

• Lista de candidatos• Criterio de aspiración • Soluciones élite

• Reinicio• Oscilación estratégica• Encadenamiento de

trayectorias

Actualizar memorias

Actualizar incumbente

Cumple criterio de parada?

nosi

memoria adaptativa

expl

orac

ión

sen

sibl

e

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

Algoritmo de Búsqueda Tabú:

xj+1

xj

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.

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:

número de la reina

columna

Algoritmo de Búsqueda Tabú:

número de la reina

Columna que ocupa la reina i

número de la reina

columna

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

Xk

Xk-1

movimiento simple o transición

hacia el mejor vecino

N*(X): subespacio de vecinos

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 colisionesrespecto 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 laspró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 laspróximas 2 iteraciones.

El intercambio de columnas entre las reinas 2 y 4

queda prohibido durante laspró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.

XkN*(X): subespacio de vecinos

N**(X): subespacio reducido de vecinos

Algoritmo de Búsqueda Tabú modificado:

Formas de reducir la vecindad:

1.Usando una heurística o un conjunto de heurísticas que genere una lista reducida de candidatos.2.Usando un microgenético o un GRASP.3.Redefiniendo los atributos (Ej: c/reina solo intercambia su columna con algunas reinas).4.Redefiniendo el concepto de memoria.

XkN*(X): subespacio de vecinos

N**(X): subespacio reducido 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 enfrecuencia

Memoria basada en hechos recientes

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 enfrecuencia

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 dereferencia

Trayectoria originalTrayectoria encadenada

solución guía

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 infactibles

Únicamente factibles

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

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

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

• 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

Algoritmo Simulated Annealing:

Longitud de la cadena = Nk

Temperatura = Tk

Parámetros:

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.

Algoritmo Simulated Annealing:

1 2

3

4

N

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.

Algoritmo Simulated Annealing:

nivel de empeoramiento

probabilidad deaceptación

Programa de enfriamiento:

Es determinado por los siguientes 5 parámetros:

1. La temperatura inicial To y la longitud inicial de la cadena No.

2.La tasa de crecimiento de la longitud de la cadena respecto a la longitud anterior: Nk+1 = Nk ; con ≥ 1.

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

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:

2.Tasa constante: Tk+1 = β Tk ; con β en el intervalo [0.5 , 0.99].

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

Algoritmo Simulated Annealing:

Optimización matemática

Algoritmo Scatter SearchAlgoritmo Scatter Searchoo

Búsqueda DispersaBú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.

• 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 – características:

Algoritmo Scatter Search o

Búsqueda Dispersa – componentes:generación-diversificación

selección

combinación

mejoramiento

actualización

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.

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.

Algoritmo Scatter Search o

Búsqueda Dispersa – componentes:

menor distancia respecto a b1

mayor distancia respecto a b1

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 o

Búsqueda Dispersa – componentes:

Algoritmo Scatter Search:

Algoritmo Scatter Search o

Búsqueda Dispersa – componentes: