73
Búsqueda Local Grupo 1: Verónica Giaudrone Marcelo Vaccaro Artículo: “Iterated Local Search” Lourenço, Martin, Stützle

Búsqueda Local

  • Upload
    august

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

Búsqueda Local. Grupo 1: Verónica Giaudrone Marcelo Vaccaro. Artículo: “Iterated Local Search” Lourenço, Martin, Stützle. Agenda. Introducción Iterando en Búsqueda local Random Search Búsqueda en S* Iterated Local Search Iterated Local Search Mejorando Performance Componentes - PowerPoint PPT Presentation

Citation preview

Page 1: Búsqueda Local

Búsqueda Local

Grupo 1:Verónica GiaudroneMarcelo Vaccaro

Artículo: “Iterated Local Search”Lourenço, Martin, Stützle

Page 2: Búsqueda Local

Agenda Introducción Iterando en Búsqueda local

Random Search Búsqueda en S* Iterated Local Search

Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro

Conclusiones

Page 3: Búsqueda Local

Introducción Importancia de algoritmos de alta

performance para problemas difíciles de optimización

Una Metaheurística debe ser: simple efectiva en lo posible general

Caso ideal: Puede ser usada sin ningún conocimiento del problema

Metaheurísiticas se volvieron más sofisticadas, y este ideal se dejó de lado por mejor performance

Page 4: Búsqueda Local

Introducción (cont) Incorporación de conocimiento específico del

problema en la metaheurísitca Hace más difusa la diferencia entre heurística y

metaheurística Solución: Modularidad y descomposición de

la metaheurística en partes: Totalmente de

propósito general Conocimiento específico

del problema

Page 5: Búsqueda Local

Introducción (cont) Esencia de Iterated Local Serach:

Construye iterativamente una secuencia de soluciones generadas por la heurística embebida Mejores soluciones que repetidas corridas

aleatorias de la heurística Puntos que hacen a un algoritmo ser un

Iterated local search: Debe seguir una cadena simple (excluye

algoritmos basados en poblaciones) La búsqueda de mejores soluciones ocurre en un

espacio reducido definido por la salida de la heurística de “caja-negra”

Page 6: Búsqueda Local

Consideraciones Sea C la función de costo a minimizar Sea s una solución candidata y S el

conjunto Asumimos que la búsqueda local es:

Determinística Sin memoria

La búsqueda local define un mapeo entre S y S*, siendo S* el conjunto de soluciones s* localmente óptimas.

Page 7: Búsqueda Local

Costo

La distribución de costos: Forma de campana Media y varianza menor

para las soluciones de S* que para las de S.

Es mejor utilizar búsqueda local, que muestrear aleatoriamente en S si se buscan soluciones con bajo costo.

Page 8: Búsqueda Local

Agenda Introducción Iterando en Búsqueda local

Random Search Búsqueda en S* Iterated Local Search

Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro

Conclusiones

Page 9: Búsqueda Local

Iterando en búsqueda local Búsqueda local: Es la heurística embebida

que utilizará la metaheurística. Dependerá del problema a resolver Puede no ser de hecho una búsqueda local

La búsqueda local mejorada mediante iteración: En la práctica se obtienen mejoras significativas. Sólo en casos patológicos la mejora es mínima.

Random Restart Búsqueda en S* Búsqueda Local Iterada

Page 10: Búsqueda Local

Búsqueda local como caja negra Reducir los costos sin modificar la

búsqueda local, utilizándola como rutina de caja negra

La búsqueda local: Toma un elemento de S para el cual C

tiene una media alta, hacia S* donde C tiene un media menor

Page 11: Búsqueda Local

Búsqueda local

Los movimientos se realizan sólo si se mejora la solución

Procedure BúsquedaLocals = GenerarSoluciónInicial()repeat

s = Mejorar(s, vecindad(s))

until no hay mejora posible

)( 3σN

)( 2σN

)( 1σN

)( 0σN

Solución inicial4σ

)( 4σN

Óptimo local

Page 12: Búsqueda Local

Iterando en Búsqueda local

Random Restart Búsqueda en S* Búsqueda Local Iterada

Page 13: Búsqueda Local

Random restart La forma más simple de mejorar el costo

encontrado por una búsqueda local: Repetir la búsqueda desde otro punto de

inicio. Cada s* generado será independiente Aunque muchas veces es una estrategia

útil, pierde utilidad a medida que crece el espacio de búsqueda.

Page 14: Búsqueda Local

Random Restart (cont)

Estudios empíricos indican que en espacios de búsqueda grandes los costos de búsqueda local llevan a costos que: Media excede el costo óptimo en un

porcentaje fijo. Distribución extremadamente “en pico”

en la media cuando el tamaño del espacio tiende a infinito.

Page 15: Búsqueda Local

Random Restart (cont)

Muestreo aleatorio tiene cada vez más baja probabilidad de encontrar soluciones de bajo costo a medida que crece el tamaño del espacio de búsqueda

Se necesita entonces una muestra parcial

Page 16: Búsqueda Local

Iterando en Búsqueda local

Random Restart Búsqueda en S* Búsqueda Local Iterada

Page 17: Búsqueda Local

Búsqueda en S*

Para evitar el problema de los grandes espacios de búsqueda

Invocar recursivamente Utilizar búsqueda local para ir desde

S* a S** donde la media del costo sería aún menor.

Generaríamos una jerarquía de búsquedas locales anidadas

Page 18: Búsqueda Local

Búsqueda en S* (cont)

¿Cómo formulamos la búsqueda local en el nivel más bajo de la jerarquía? Búsqueda local requiere una estructura

de vecindad que no viene dada a priori. Difícil definir vecinos en S* que puedan

ser enumerados y accedidos eficientemente.

Noción de cercanía y luego aplicar búsqueda estocástica en S*.

Page 19: Búsqueda Local

Iterando en Búsqueda local

Random Restart Búsqueda en S* Búsqueda Local Iterada

Page 20: Búsqueda Local

Iterated Local Search - ILS(Búsqueda local iterada)

Explorar S* recorriendo desde un s* hacia otro cercano sin necesidad de la noción de vecindad

Iterated local search logra esto heurísticamente

Page 21: Búsqueda Local

Iterated Local Search

Dado s* aplicamos una perturbación que genera un estado intermedio s’ (perteneciente a S)

Aplicamos búsqueda local a s’ y alcanzamos una solución s*’ en S*

Si s*’ supera el test de aceptación entonces será el próximo elemento del camino en S*, si no se retorna a s*.

Camino resultante es un caso de búsqueda estocástica sobre S*

Page 22: Búsqueda Local

Metaheurística

Procedure Iterated Local Searchs0 = GenerateInitialSolutions* = LocalSearch(s0)repeat

s’ = Perturbation(s*, history)s*’ = LocalSearch(s’)s* = AcceptanceCriterion(s*, s*’, history)

until termination condition met

end

Page 23: Búsqueda Local

ILS con o sin memoria Mucha complejidad del ILS puede estar

escondida en el uso de la historia. Mayoría de los trabajos hasta ahora NO

utilizan memoria Perturbación y criterio de aceptación no utilizan

soluciones previamente visitadas. Caminos “Markovianos”

Si la perturbación depende de algún s* anterior, entonces el camino en S* es con memoria.

Trabajos recientes que la incorporan han obtenido mejoras en la performance.

Page 24: Búsqueda Local

Resumiendo… Poder de ILS proviene de la guía que ofrece

en el muestreo del conjunto de óptimos locales.

Eficiencia del muestreo depende de: Tipo de perturbación Criterio de aceptación

A pesar de contar con implementaciones muy simples de esas partes, ILS es mucho mejor que RR

Page 25: Búsqueda Local

Resumiendo…(cont)

Mejores resultados si se optimizan los módulos que la componen.

La complejidad puede agregarse de forma modular

Es rápido: se pueden realizar k búsquedas locales embebidas en ILS más rápido que realizar las k búsquedas locales con RR

Page 26: Búsqueda Local

Agenda Introducción Iterando en Búsqueda local

Random Search Búsqueda en S* Iterated Local Search

Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro

Conclusiones

Page 27: Búsqueda Local

Obteniendo mejor performance

Existen 4 componentes a considerar: Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Page 28: Búsqueda Local

Obteniendo mejor performanceConsideraciones

1. Se puede comenzar con: Solución aleatoria Solución de alguna heurística de construcción

“greedy”

2. Para la mayoría de los problemas existe un algoritmo de búsqueda local ya disponible

3. Para la perturbación, un movimiento aleatorio de mayor orden que el usado en la búsqueda local puede ser muy efectivo

4. Primera idea: forzar que el costo decrezca

Page 29: Búsqueda Local

Obteniendo mejor performance (cont)

Fácil mejorar la performance, mejorando cada uno de los 4 módulos

Debido a: Complejidad se reduce por la modularidad Función de cada componente es fácil de

entender Optimización global de ILS: como cada componente

afecta al siguiente, se debe entender la interacción entre ellos

Conclusión: El desarrollador puede elegir el nivel de optimización que quiera aplicar

Page 30: Búsqueda Local

Componentes

Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Page 31: Búsqueda Local

Solución inicial La búsqueda local aplicada a la solución inicial s0

da el punto de partida s0* Soluciones standard para s0:

Solución inicial aleatoria Solución retornada por heurística constructiva

“greedy” Ventajas contra la solución aleatoria: Combinada con la búsqueda local resulta en

soluciones s0* de mejor calidad Una búsqueda local a partir de una solución

“greedy”, en promedio requiere menos tiempo de CPU

Page 32: Búsqueda Local

Solución inicial (cont) Tiempos de computación cortos:

La solución inicial es muy importante para obtener soluciones de alta calidad

Tiempos de computación largos: La dependencia de la solución final respecto de

s0 se pierde cuando se realiza el recorrido en S*

No hay siempre una opción clara acerca de cual es la mejor solución inicial Pocas corridas: soluciones greedy parecen

obtener soluciones de bajo costo rápidamente. Muchas corridas: solución inicial parece ser

menos relevante.

Page 33: Búsqueda Local

Componentes

Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Page 34: Búsqueda Local

Búsqueda Local Búsqueda local iterada sensible a la

elección de su heurística embebida Debe optimizarse la elección lo más

posible. No siempre la mejor búsqueda local lleva a

una mejora en ILS Si el tiempo de computación es fijo, puede

ser mejor aplicar con más frecuencia un algoritmo de búsqueda local más rápido aunque menos efectivo, que uno más lento y más poderoso.

Page 35: Búsqueda Local

Búsqueda Local (cont) La elección debe basarse en cuánto más

tiempo de computación se necesita para correr la mejor heurística

Sin sentido utilizar una búsqueda local excelente si sistemáticamente deshace la perturbación

Por esto se requiere una optimización global de ILS

Para TSP el algoritmo de búsqueda local que se comporta mejor y más rápido es el de Lin-Kernighan.

Page 36: Búsqueda Local

Componentes

Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Page 37: Búsqueda Local

Perturbación Fuerza de la perturbación: Número de

componentes de la solución que son modificados

La búsqueda local no debería ser capaz de deshacer la perturbación, ya que se caería en un óptimo local ya visitado

Se pueden obtener mejores resultados si las perturbaciones tienen en cuenta propiedades del problema

Page 38: Búsqueda Local

Perturbación (cont) Cuanto debe cambiar la perturbación

a la solución inicial? Muy fuerte:

ILS se comporta como random restart y mejores soluciones solo se encuentran con una baja probabilidad

Muy suave: La búsqueda local cae frecuentemente en

un óptimo local ya visitado y la diversificación de la búsqueda queda muy limitada

Page 39: Búsqueda Local

Perturbación (cont)

Problemas simples (como TSP): Se puede obtener resultados

satisfactorios usando perturbaciones de tamaño fijo

Ej.: Perturbación exitosapara TSP es eldouble-bridge move

Page 40: Búsqueda Local

Perturbación (cont)

Problemas más complejos: Usar perturbaciones de largo fijo puede

llevar a una pobre performance Regla general: Perturbaciones suaves

usualmente llevan a ejecuciones más rápidas de la búsqueda local, como desventaja se puede caer en el mismo óptimo local

Page 41: Búsqueda Local

Perturbaciones adaptativas La experiencia muestra que no existe

a priori un mejor tamaño para la perturbación

Motiva a modificar la fuerza de la perturbación y adaptarla durante la corrida: Explotando la historia de la búsqueda Cambiar determinísticamente la fuerza

durante la búsqueda (oscilaciones estratégicas)

Page 42: Búsqueda Local

Velocidad

Empíricamente ILS tiene mayor velocidad para ejecutar búsquedas locales que random restart

Page 43: Búsqueda Local

Componentes

Generar solución inicial Búsqueda local Perturbación Criterio de aceptación

Page 44: Búsqueda Local

Criterio de aceptación La perturbación junto con la

búsqueda local definen las posibles transiciones entre la solución actual s* y una solución vecina s*’

El criterio de aceptación determina cuando s*’ es aceptado o no

Puede usarse para controlar el balance entre intensificación y diversificación de la búsqueda

Page 45: Búsqueda Local

Criterios de aceptación

Better: Logra fuerte intensificación Solo acepta mejores soluciones

Page 46: Búsqueda Local

Criterios de aceptación Random Walk

Siempre aplica la perturbación al óptimo local más recientemente visitado, sin considerar su costo

Favorece diversificación sobre intensificación Muchas otras opciones intermedias son

posibles

Page 47: Búsqueda Local

Criterios de aceptación

Restart Cuando la intensificación parece inefectiva

se debería re-comenzar completamente el algoritmo de ILS

Ej: recomenzar cuando no se obtienen mejoras para un número determinado de iteraciones

Page 48: Búsqueda Local

Ejemplo: TSP

Se comparó ILS utilizando RW y Better contra Random Restart ILS alcanzó mejores soluciones utilizando

la misma búsqueda local Para TSP las buenas soluciones están

clustereadas Buena estrategia: incorporar intensificación Better: Mejores resultados (corridas cortas)

Page 49: Búsqueda Local

Agenda Introducción Iterando en Búsqueda local

Random Search Búsqueda en S* Iterated Local Search

Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro

Conclusiones

Page 50: Búsqueda Local

Optimización global de ILS

Al focalizarnos en un componente, consideramos fijos todos los demás.

La optimización de un componente depende de las elecciones en los otros.

Ignoramos en la optimización la generación de la solución inicial

Page 51: Búsqueda Local

Optimización global de ILS (cont)

La Perturbación depende de la Búsqueda local elegida.

El Criterio de aceptación depende de la Búsqueda local y la Perturbación.

Aproximación al problema de optimización global: optimizar sucesivamente cada componente, hasta no obtener mejoras en ninguno de ellos.

Optimización iterativa.

Page 52: Búsqueda Local

Optimización global de ILS (cont)

El algoritmo ILS deberá ser robusto Los investigadores implementan

versiones de búsquedas locales iteradas con cierto nivel de optimización global y luego se testea el éxito de performance con ciertos benchmarks estandarizados.

Page 53: Búsqueda Local

Características del espacio de búsqueda Si las mejores soluciones están clustereadas

en S* (TSP), será útil la intensificación mejorando la probabilidad de encontrar el óptimo global.

Si el clustering es incompleto (QAP, MAX-SAT, graph bi-section), será útil luego de una fase de intensificación, explorar otras regiones de S*.

El balance entre intensificación y diversificación es importante y desafiante.

Page 54: Búsqueda Local

Agenda Introducción Iterando en Búsqueda local

Random Search Búsqueda en S* Iterated Local Search

Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro

Conclusiones

Page 55: Búsqueda Local

Aplicaciones TSP Problemas de planificación Bipartición de grafos MAX-SAT Es crítica la elección del algoritmo de

búsqueda local para obtener muy buena performance

Optimizar globalmente los demás componentes Utilizar propiedades específicas del problema a

resolver

Page 56: Búsqueda Local

ILS

Es una metaheurística versátil que puede adaptarse a diferentes tipos de problemas de optimización combinatoria

Perturbaciones sofisticadas y búsqueda diversificada son esenciales para alcanzar la mejor performance posible

Page 57: Búsqueda Local

Agenda Introducción Iterando en Búsqueda local

Random Search Búsqueda en S* Iterated Local Search

Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro

Conclusiones

Page 58: Búsqueda Local

Relación con otras metaheurísticas Metaheurísticas basadas en vecindades

Recocido simulado (SA) Búsqueda Tabú (TS) Búsqueda local guiada (GLS)

Metaheurísticas basadas en multi-comienzo (multi-start) GRASP Colonia de hormigas (ACO) Algoritmos evolutivos (EA) Búsqueda dispersa Búsqueda en vecindades variables ILS

Page 59: Búsqueda Local

Metaheurísticas basadas en vecindades

Evitan quedarse en óptimos locales, permitiendo peores soluciones en su vecindad

Las metaheurísticas difieren principalmente en las estrategias de movimiento

Para usarlas como algoritmo de búsqueda local en ILS debemos limitar el tiempo de corrida, en gral. obtienen buenas soluciones, pero con largo tiempo de computación

Page 60: Búsqueda Local

Metaheurísticas basadas en multi-comienzo

Clasificación en Constructivas: GRASP, ACO Basadas en perturbación

ILS no construye soluciones ILS puede ser usado embebida en

lugar de una búsqueda local en algoritmos como ACO o GRASP

Page 61: Búsqueda Local

Relación con otras metaheurísticas (cont)

Otra clasificación: Basadas en poblaciones:

EA Búsqueda dispersa ACO

Basadas en una sola solución actual: ILS

Page 62: Búsqueda Local

Relación con otras metaheurísticas (cont)

En general las basadas en poblaciones son más complejas que las de una solución

La complejidad se justifica al mejorar la performance

Se han propuesto algunas extensiones de ILS basadas en poblaciones y logrado soluciones de gran calidad

Page 63: Búsqueda Local

Relación con otras metaheurísticas (cont)

La búsqueda de vecindades variables (VNS) es la metaheurística más cercana a ILS: VNS básica puede verse como una ILS con

Better como criterio de aceptación y con una forma sistemática de variar la fuerza de la perturbación

Las fronteras de las distintas metaheurísticas no están claramente definidas, y hay métodos híbridos que las combinan, pudiendo ir de una metaheurística a otra

Page 64: Búsqueda Local

En el futuro… ILS podría aplicarse a

Problemas donde las restricciones son muy severas

Problemas multi-objetivo Problemas dinámicos o de tiempo real

Aún debe mejorarse: Entendimiento de la relación de sus

componentes Uso de la memoria Intensificación y diversificación explícita Mayor inclusión de conocimiento de cada

problema específico.

Page 65: Búsqueda Local

Agenda Introducción Iterando en Búsqueda local

Random Search Búsqueda en S* Iterated Local Search

Iterated Local Search Mejorando Performance Componentes Optimización global Aplicaciones Relaciones con otras Metaheurísticas Futuro

Conclusiones

Page 66: Búsqueda Local

Conclusiones ILS tiene varias características

deseables Simple Fácil de implementar Robusta Altamente efectiva

Idea esencial: Focalizar la búsqueda en el espacio de soluciones localmente óptimas.

Page 67: Búsqueda Local

Conclusiones (cont)

El éxito se basa en el muestreo parcial del conjunto de óptimos locales

La efectividad depende de la elección de la búsqueda local, perturbación y criterio de aceptación.

Aunque las implementaciones de las partes sean muy simples, ILS se comporta mejor que Random Restart

Page 68: Búsqueda Local

Conclusiones (cont)

Si ILS se optimiza adaptándola al problema se torna un algoritmo competitivo.

ILS se puede optimizar progresivamente, manteniendo el nivel de simplicidad deseado

Su naturaleza modular conlleva a menores tiempos de desarrollo

Al tratar a su heurística embebida como caja negra, puede utilizar una nueva y mejor búsqueda local casi inmediatamente

Page 69: Búsqueda Local

Preguntas

Page 70: Búsqueda Local

Aplicación de ILS a TSP Problema de prueba reconocido

Buena performance permite valorar las ideas de la metaheurística que se proponen

Se logró buena performance utilizando Como búsqueda local la heurística Lin-Kernighan (la

mejor para TSP) Como perturbación double-bridge move Como criterio de aceptación el algoritmo uno del tipo

de SA (LSMC) Para la generación de la solución inicial se obtuvo

peor performance con tours iniciales aleatorios que con generados por heurísticas greedy

Page 71: Búsqueda Local

Aplicación de ILS a TSP (cont) Un estudio concluye que el criterio de aceptación

Better muestra estancamiento, luego de largo rato de corrida, debido a gran intensificación. Propuso un criterio para diversificar, buscando

soluciones que estén a cierta distancia mínima de la posición actual -> Mostró ser muy efectivo

Otra perturbación propuesta es llamada genetic transformation Utiliza dos tours, el mejor encontrado y otro

previamente encontrado. Perturba al mejor encontrado y se buscan los subtours en común. Luego éstos son reconectados empleando un algoritmo greedy -> Resultó muy efectivo

Page 72: Búsqueda Local

Relación con otras metaheurísticas (cont)

La búsqueda de vecindades variables (VNS) es la metaheurística más cercana a ILS: VNS básica puede verse como una ILS con

Better como criterio de aceptación y con una forma sistemática de variar la fuerza de la perturbación

La mayor diferencia se encuentra en que: ILS tiene el objetivo de generar un camino en

el conjunto de soluciones óptimas locales VNS se deriva de cambiar sistemáticamente

las vecindades durante la búsqueda

Page 73: Búsqueda Local

Metaheurísticas basadas en vecindades (cont) Cuánto tiempo debemos correr la búsqueda

embebida para alcanzar un buen balance entre el tiempo de computación y la calidad de la solución? Depende del tiempo de computación que

disponemos y cómo mejoran los costos con el tiempo.

Otra conexión entre los ILS, SA y TS parte de ciertas similaridades: SA puede ser visto como un ILS sin la fase de

búsqueda local TS utiliza memoria como característica principal,

aprovechando la historia, se espera que esto se incorpore en aplicaciones de ILS futuras.