Está en la página 1de 73

Bsqueda Local

Grupo 1:
Vernica Giaudrone
Marcelo Vaccaro
Artculo: Iterated Local Search
Loureno, Martin, Sttzle

Agenda

Introduccin

Iterando en Bsqueda local

Random Search

Bsqueda en S*

Iterated Local Search


Iterated Local Search

Mejorando Performance

Componentes

Optimizacin global

Aplicaciones

Relaciones con otras Metaheursticas

Futuro
Conclusiones

Introduccin

Importancia de algoritmos de alta


performance para problemas
difciles de optimizacin
Una Metaheurstica debe ser:

simple

efectiva

en lo posible general
Caso ideal: Puede ser usada sin ningn
conocimiento del problema
Metaheursiticas se volvieron ms sofisticadas,
y este ideal se dej de lado por mejor
performance

Introduccin (cont)

Incorporacin de conocimiento especfico del


problema en la metaheursitca

Hace ms difusa la diferencia entre heurstica y


metaheurstica

Solucin: Modularidad y descomposicin de


la metaheurstica en partes:

Totalmente de
propsito general

Conocimiento especfico
del problema

Introduccin (cont)

Esencia de Iterated Local Serach:

Construye iterativamente una secuencia de


soluciones generadas por la heurstica embebida

Mejores soluciones que repetidas corridas


aleatorias de la heurstica

Puntos que hacen a un algoritmo ser un


Iterated local search:

Debe seguir una cadena simple (excluye


algoritmos basados en poblaciones)
La bsqueda de mejores soluciones ocurre en un
espacio reducido definido por la salida de la
heurstica de caja-negra

Consideraciones

Sea C la funcin de costo a minimizar


Sea s una solucin candidata y S el
conjunto
Asumimos que la bsqueda local es:

Determinstica
Sin memoria

La bsqueda local define un mapeo


entre S y S*, siendo S* el conjunto
de soluciones s* localmente ptimas.

Costo

La distribucin de costos:

Forma de campana

Media y varianza menor


para las soluciones de
S* que para las de S.
Es mejor utilizar bsqueda
local, que muestrear
aleatoriamente en S si se
buscan soluciones con bajo
costo.

Agenda

Introduccin

Iterando en Bsqueda local

Random Search
Bsqueda en S*
Iterated Local Search

Iterated Local Search

Mejorando Performance

Componentes

Optimizacin global

Aplicaciones

Relaciones con otras Metaheursticas

Futuro
Conclusiones

Iterando en bsqueda local

Bsqueda local: Es la heurstica embebida


que utilizar la metaheurstica.

La bsqueda local mejorada mediante


iteracin:

Depender del problema a resolver


Puede no ser de hecho una bsqueda local

En la prctica se obtienen mejoras significativas.


Slo en casos patolgicos la mejora es mnima.

Random Restart
Bsqueda en S*
Bsqueda Local Iterada

Bsqueda local como caja negra

Reducir los costos sin modificar la


bsqueda local, utilizndola como
rutina de caja negra
La bsqueda local:

Toma un elemento de S para el cual C


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

Bsqueda local

Los movimientos se realizan slo si se


mejora la solucin
Procedure BsquedaLocal
s = GenerarSolucinInicial()
repeat
s = Mejorar(s, vecindad(s))

until no hay mejora posible


N ( 0 )

Solucin inicial

N (1 )

N ( 2 )

N ( 4 )

ptimo local
N ( 3 )

Iterando en Bsqueda local

Random Restart
Bsqueda en S*
Bsqueda Local Iterada

Random restart

La forma ms simple de mejorar el costo


encontrado por una bsqueda local:

Repetir la bsqueda 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 bsqueda.

Random Restart (cont)

Estudios empricos indican que en


espacios de bsqueda grandes los
costos de bsqueda local llevan a
costos que:

Media excede el costo ptimo en un


porcentaje fijo.
Distribucin extremadamente en pico
en la media cuando el tamao del espacio
tiende a infinito.

Random Restart (cont)

Muestreo aleatorio tiene cada vez


ms baja probabilidad de encontrar
soluciones de bajo costo a medida
que crece el tamao del espacio de
bsqueda
Se necesita entonces una muestra
parcial

Iterando en Bsqueda local

Random Restart
Bsqueda en S*
Bsqueda Local Iterada

Bsqueda en S*

Para evitar el problema de los


grandes espacios de bsqueda
Invocar recursivamente
Utilizar bsqueda local para ir desde
S* a S** donde la media del costo
sera an menor.
Generaramos una jerarqua de
bsquedas locales anidadas

Bsqueda en S* (cont)

Cmo formulamos la bsqueda local


en el nivel ms bajo de la jerarqua?

Bsqueda local requiere una estructura


de vecindad que no viene dada a priori.
Difcil definir vecinos en S* que puedan
ser enumerados y accedidos
eficientemente.
Nocin de cercana y luego aplicar
bsqueda estocstica en S*.

Iterando en Bsqueda local

Random Restart
Bsqueda en S*
Bsqueda Local Iterada

Iterated Local Search - ILS


(Bsqueda local iterada)

Explorar S* recorriendo desde un s*


hacia otro cercano sin necesidad de la
nocin de vecindad
Iterated local search logra esto
heursticamente

Iterated Local Search

Dado s* aplicamos una perturbacin que


genera un estado intermedio s
(perteneciente a S)
Aplicamos bsqueda local a s y
alcanzamos una solucin s* en S*
Si s* supera el test de aceptacin
entonces ser el prximo elemento del
camino en S*, si no se retorna a s*.
Camino resultante es un caso de
bsqueda estocstica sobre S*

Metaheurstica
Procedure Iterated Local Search
s0 = GenerateInitialSolution
s* = LocalSearch(s0)
repeat
s = Perturbation(s*, history)
s* = LocalSearch(s)
s* = AcceptanceCriterion(s*, s*, history)

until termination condition met

end

ILS con o sin memoria

Mucha complejidad del ILS puede estar


escondida en el uso de la historia.
Mayora de los trabajos hasta ahora NO
utilizan memoria

Perturbacin y criterio de aceptacin no utilizan


soluciones previamente visitadas. Caminos
Markovianos
Si la perturbacin depende de algn s* anterior,
entonces el camino en S* es con memoria.

Trabajos recientes que la incorporan han


obtenido mejoras en la performance.

Resumiendo

Poder de ILS proviene de la gua que ofrece


en el muestreo del conjunto de ptimos
locales.
Eficiencia del muestreo depende de:
Tipo de perturbacin
Criterio de aceptacin
A pesar de contar con implementaciones
muy simples de esas partes, ILS es mucho
mejor que RR

Resumiendo(cont)

Mejores resultados si se optimizan los


mdulos que la componen.
La complejidad puede agregarse de
forma modular
Es rpido: se pueden realizar k
bsquedas locales embebidas en ILS
ms rpido que realizar las k
bsquedas locales con RR

Agenda

Introduccin
Iterando en Bsqueda local

Random Search

Bsqueda en S*

Iterated Local Search


Iterated Local Search

Mejorando Performance

Componentes
Optimizacin global
Aplicaciones
Relaciones con otras Metaheursticas
Futuro

Conclusiones

Obteniendo mejor performance

Existen 4 componentes a considerar:


Generar solucin inicial
Bsqueda local
Perturbacin
Criterio de aceptacin

Obteniendo mejor performance


Consideraciones
1.

Se puede comenzar con:

2.

3.

4.

Solucin aleatoria
Solucin de alguna heurstica de construccin
greedy

Para la mayora de los problemas existe un


algoritmo de bsqueda local ya disponible
Para la perturbacin, un movimiento
aleatorio de mayor orden que el usado en la
bsqueda local puede ser muy efectivo
Primera idea: forzar que el costo decrezca

Obteniendo mejor performance


(cont)

Fcil mejorar la performance, mejorando cada uno


de los 4 mdulos
Debido a:

Complejidad se reduce por la modularidad

Funcin de cada componente es fcil de entender


Optimizacin global de ILS: como cada componente
afecta al siguiente, se debe entender la interaccin
entre ellos
Conclusin: El desarrollador puede elegir el nivel de
optimizacin que quiera aplicar

Componentes

Generar solucin inicial


Bsqueda local
Perturbacin
Criterio de aceptacin

Solucin inicial

La bsqueda local aplicada a la solucin inicial s0


da el punto de partida s0*

Soluciones standard para s0:

Solucin inicial aleatoria


Solucin retornada por heurstica constructiva
greedy Ventajas contra la solucin aleatoria:

Combinada con la bsqueda local resulta en


soluciones s0* de mejor calidad
Una bsqueda local a partir de una solucin
greedy, en promedio requiere menos tiempo de
CPU

Solucin inicial (cont)

Tiempos de computacin cortos:

Tiempos de computacin largos:

La solucin inicial es muy importante para obtener


soluciones de alta calidad
La dependencia de la solucin final respecto de s0
se pierde cuando se realiza el recorrido en S *

No hay siempre una opcin clara acerca de


cual es la mejor solucin inicial

Pocas corridas: soluciones greedy parecen obtener


soluciones de bajo costo rpidamente.
Muchas corridas: solucin inicial parece ser menos
relevante.

Componentes

Generar solucin inicial


Bsqueda local
Perturbacin
Criterio de aceptacin

Bsqueda Local

Bsqueda local iterada sensible a la


eleccin de su heurstica embebida
Debe optimizarse la eleccin lo ms posible.
No siempre la mejor bsqueda local lleva a
una mejora en ILS
Si el tiempo de computacin es fijo, puede
ser mejor aplicar con ms frecuencia un
algoritmo de bsqueda local ms rpido
aunque menos efectivo, que uno ms lento
y ms poderoso.

Bsqueda Local (cont)

La eleccin debe basarse en cunto ms


tiempo de computacin se necesita para
correr la mejor heurstica
Sin sentido utilizar una bsqueda local
excelente si sistemticamente deshace la
perturbacin
Por esto se requiere una optimizacin global
de ILS
Para TSP el algoritmo de bsqueda local que
se comporta mejor y ms rpido es el de
Lin-Kernighan.

Componentes

Generar solucin inicial


Bsqueda local
Perturbacin
Criterio de aceptacin

Perturbacin

Fuerza de la perturbacin: Nmero de


componentes de la solucin que son
modificados
La bsqueda local no debera ser capaz de
deshacer la perturbacin, ya que se caera
en un ptimo local ya visitado
Se pueden obtener mejores resultados si
las perturbaciones tienen en cuenta
propiedades del problema

Perturbacin (cont)

Cuanto debe cambiar la perturbacin


a la solucin inicial?

Muy fuerte:

ILS se comporta como random restart y


mejores soluciones solo se encuentran con
una baja probabilidad

Muy suave:

La bsqueda local cae frecuentemente en


un ptimo local ya visitado y la
diversificacin de la bsqueda queda muy
limitada

Perturbacin (cont)

Problemas simples (como TSP):

Se puede obtener resultados


satisfactorios usando perturbaciones de
tamao fijo
Ej.: Perturbacin exitosa
para TSP es el
double-bridge move

Perturbacin (cont)

Problemas ms complejos:

Usar perturbaciones de largo fijo puede


llevar a una pobre performance

Regla general: Perturbaciones suaves


usualmente llevan a ejecuciones ms
rpidas de la bsqueda local, como
desventaja se puede caer en el
mismo ptimo local

Perturbaciones adaptativas

La experiencia muestra que no existe


a priori un mejor tamao para la
perturbacin
Motiva a modificar la fuerza de la
perturbacin y adaptarla durante la
corrida:

Explotando la historia de la bsqueda


Cambiar determinsticamente la fuerza
durante la bsqueda (oscilaciones
estratgicas)

Velocidad

Empricamente ILS tiene mayor


velocidad para ejecutar bsquedas
locales que random restart

Componentes

Generar solucin inicial


Bsqueda local
Perturbacin
Criterio de aceptacin

Criterio de aceptacin

La perturbacin junto con la


bsqueda local definen las posibles
transiciones entre la solucin actual s*
y una solucin vecina s*
El criterio de aceptacin determina
cuando s* es aceptado o no
Puede usarse para controlar el
balance entre intensificacin y
diversificacin de la bsqueda

Criterios de aceptacin

Better:

Logra fuerte intensificacin


Solo acepta mejores soluciones

Criterios de aceptacin

Random Walk

Siempre aplica la perturbacin al ptimo local


ms recientemente visitado, sin considerar su
costo

Favorece diversificacin sobre intensificacin

Muchas otras opciones intermedias son


posibles

Criterios de aceptacin

Restart

Cuando la intensificacin parece inefectiva


se debera re-comenzar completamente el
algoritmo de ILS
Ej: recomenzar cuando no se obtienen
mejoras para un nmero determinado de
iteraciones

Ejemplo: TSP

Se compar ILS utilizando RW y


Better contra Random Restart

ILS alcanz mejores soluciones


utilizando la misma bsqueda local
Para TSP las buenas soluciones estn
clustereadas

Buena estrategia: incorporar intensificacin


Better: Mejores resultados (corridas cortas)

Agenda

Introduccin
Iterando en Bsqueda local

Random Search

Bsqueda en S*

Iterated Local Search


Iterated Local Search

Mejorando Performance

Componentes

Optimizacin global
Aplicaciones
Relaciones con otras Metaheursticas
Futuro

Conclusiones

Optimizacin global de ILS

Al focalizarnos en un componente,
consideramos fijos todos los dems.
La optimizacin de un componente
depende de las elecciones en los
otros.
Ignoramos en la optimizacin la
generacin de la solucin inicial

Optimizacin global de ILS (cont)

La Perturbacin depende de la Bsqueda


local elegida.
El Criterio de aceptacin depende de la
Bsqueda local y la Perturbacin.
Aproximacin al problema de optimizacin
global: optimizar sucesivamente cada
componente, hasta no obtener mejoras en
ninguno de ellos.
Optimizacin iterativa.

Optimizacin global de ILS (cont)

El algoritmo ILS deber ser robusto

Los investigadores implementan


versiones de bsquedas locales iteradas
con cierto nivel de optimizacin global y
luego se testea el xito de performance
con ciertos benchmarks estandarizados.

Caractersticas del espacio de


bsqueda

Si las mejores soluciones estn clustereadas


en S* (TSP), ser til la intensificacin
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 intensificacin, explorar otras regiones de
S*.
El balance entre intensificacin y
diversificacin es importante y desafiante.

Agenda

Introduccin
Iterando en Bsqueda local

Random Search

Bsqueda en S*

Iterated Local Search


Iterated Local Search

Mejorando Performance

Componentes

Optimizacin global

Aplicaciones

Relaciones con otras Metaheursticas


Futuro

Conclusiones

Aplicaciones

TSP
Problemas de planificacin
Biparticin de grafos
MAX-SAT
Es crtica la eleccin del algoritmo de
bsqueda local para obtener muy buena
performance
Optimizar globalmente los dems
componentes

Utilizar propiedades especficas del problema a


resolver

ILS

Es una metaheurstica verstil que


puede adaptarse a diferentes tipos de
problemas de optimizacin
combinatoria
Perturbaciones sofisticadas y
bsqueda diversificada son esenciales
para alcanzar la mejor performance
posible

Agenda

Introduccin
Iterando en Bsqueda local

Random Search

Bsqueda en S*

Iterated Local Search


Iterated Local Search

Mejorando Performance

Componentes

Optimizacin global

Aplicaciones

Relaciones con otras Metaheursticas


Futuro

Conclusiones

Relacin con otras metaheursticas

Metaheursticas basadas en vecindades

Recocido simulado (SA)


Bsqueda Tab (TS)
Bsqueda local guiada (GLS)

Metaheursticas basadas en multi-comienzo


(multi-start)

GRASP
Colonia de hormigas (ACO)
Algoritmos evolutivos (EA)
Bsqueda dispersa
Bsqueda en vecindades variables
ILS

Metaheursticas basadas en
vecindades

Evitan quedarse en ptimos locales,


permitiendo peores soluciones en su vecindad
Las metaheursticas difieren principalmente
en las estrategias de movimiento
Para usarlas como algoritmo de bsqueda
local en ILS debemos limitar el tiempo de
corrida, en gral. obtienen buenas soluciones,
pero con largo tiempo de computacin

Metaheursticas basadas en multicomienzo

Clasificacin en

Constructivas: GRASP, ACO


Basadas en perturbacin

ILS no construye soluciones


ILS puede ser usado embebida en
lugar de una bsqueda local en
algoritmos como ACO o GRASP

Relacin con otras metaheursticas


(cont)

Otra clasificacin:

Basadas en poblaciones:

EA
Bsqueda dispersa
ACO

Basadas en una sola solucin actual:

ILS

Relacin con otras metaheursticas


(cont)

En general las basadas en poblaciones


son ms complejas que las de una
solucin
La complejidad se justifica al mejorar la
performance
Se han propuesto algunas extensiones
de ILS basadas en poblaciones y logrado
soluciones de gran calidad

Relacin con otras metaheursticas


(cont)

La bsqueda de vecindades variables (VNS)


es la metaheurstica ms cercana a ILS:

VNS bsica puede verse como una ILS con


Better como criterio de aceptacin y con una
forma sistemtica de variar la fuerza de la
perturbacin

Las fronteras de las distintas


metaheursticas no estn claramente
definidas, y hay mtodos hbridos que las
combinan, pudiendo ir de una
metaheurstica a otra

En el futuro

ILS podra aplicarse a

Problemas donde las restricciones son muy


severas
Problemas multi-objetivo
Problemas dinmicos o de tiempo real

An debe mejorarse:

Entendimiento de la relacin de sus componentes


Uso de la memoria
Intensificacin y diversificacin explcita
Mayor inclusin de conocimiento de cada
problema especfico.

Agenda

Introduccin
Iterando en Bsqueda local

Random Search

Bsqueda en S*

Iterated Local Search


Iterated Local Search

Mejorando Performance

Componentes

Optimizacin global

Aplicaciones

Relaciones con otras Metaheursticas

Futuro

Conclusiones

Conclusiones

ILS tiene varias caractersticas


deseables

Simple
Fcil de implementar
Robusta
Altamente efectiva

Idea esencial: Focalizar la bsqueda


en el espacio de soluciones
localmente ptimas.

Conclusiones (cont)

El xito se basa en el muestreo parcial


del conjunto de ptimos locales
La efectividad depende de la eleccin
de la bsqueda local, perturbacin y
criterio de aceptacin.
Aunque las implementaciones de las
partes sean muy simples, ILS se
comporta mejor que Random Restart

Conclusiones (cont)

Si ILS se optimiza adaptndola 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 heurstica embebida como
caja negra, puede utilizar una nueva y
mejor bsqueda local casi inmediatamente

Preguntas

Aplicacin de ILS a TSP

Problema de prueba reconocido

Buena performance permite valorar las ideas de la


metaheurstica que se proponen
Se logr buena performance utilizando

Como bsqueda local la heurstica Lin-Kernighan (la


mejor para TSP)

Como perturbacin double-bridge move

Como criterio de aceptacin el algoritmo uno del tipo


de SA (LSMC)
Para la generacin de la solucin inicial se obtuvo peor
performance con tours iniciales aleatorios que con
generados por heursticas greedy

Aplicacin de ILS a TSP (cont)

Un estudio concluye que el criterio de aceptacin


Better muestra estancamiento, luego de largo rato de
corrida, debido a gran intensificacin.

Propuso un criterio para diversificar, buscando


soluciones que estn a cierta distancia mnima de la
posicin actual -> Mostr ser muy efectivo
Otra perturbacin 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 comn.
Luego stos son reconectados empleando un
algoritmo greedy -> Result muy efectivo

Relacin con otras metaheursticas


(cont)

La bsqueda de vecindades variables (VNS)


es la metaheurstica ms cercana a ILS:

VNS bsica puede verse como una ILS con


Better como criterio de aceptacin y con una
forma sistemtica de variar la fuerza de la
perturbacin
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 sistemticamente
las vecindades durante la bsqueda

Metaheursticas basadas en
vecindades (cont)

Cunto tiempo debemos correr la bsqueda


embebida para alcanzar un buen balance
entre el tiempo de computacin y la calidad
de la solucin?
Depende del tiempo de computacin que
disponemos y cmo mejoran los costos con
el tiempo.
Otra conexin entre los ILS, SA y TS parte
de ciertas similaridades:

SA puede ser visto como un ILS sin la fase de


bsqueda local
TS utiliza memoria como caracterstica principal,
aprovechando la historia, se espera que esto se
incorpore en aplicaciones de ILS futuras.

También podría gustarte