Sunteți pe pagina 1din 35

Essentials of Metaheuristics

Essentials of
Metaheuristics
Sean Luke
George Mason University

Leccin 2: Mtodos de Estado


Simple
Carlos Alberto Cobos Lozada,
Ph.D.
Grupo de I+D en Tecnologas de la Informacin
(GTI)
Departamento de Sistemas, Facultad de
Ingeniera Electrnica y Telecomunicaciones,
1
Universidad del Cauca

Essentials of Metaheuristics

Agenda
Subiendo la colina (Hill-Climbing, HC)
Subiendo la colina por la mxima pendiente(Steepest Ascent HillClimbing, SAHC)
Subiendo la colina por la mxima pendiente con remplazo
(Steepest Ascent Hill-Climbing With Replacement, SAHCWR)
El significado de Tweak
Tipos de funcin
Algoritmos de Optimizacin Global de Estado Simple
Bsqueda Aleatoria (Random Search)
Subiendo la colina con reinicios aleatorios (Hill-Climbing with
Random Restarts)
Ajustando el Procedimiento de Modificacin
Temple Simulado (Simulated Annealing)
Bsqueda Tab (Tabu Search)
Bsqueda Local Iterada (Iterated Local Search)
2

Essentials of Metaheuristics

Subiendo la colina (HillClimbing)


Esta relacionada con el gradiente ascendente,
pero no requiere conocer el gradiente, ni su
direccin
Usa un enfoque estocstico (aleatorio) para
buscar soluciones mejores cercanas a la actual
(operacin Tweak)
Algunas veces es mejor en otras ocasiones es
peor

Essentials of Metaheuristics

Subiendo la colina (HillClimbing)


Problemas:
Mximo local: Todos los vecinos tienen funcin heurstica
peor
Meseta: Todos los vecinos tienen la misma funcin heurstica
que el nodo actual
Crestas (ridges): Las crestas causan una secuencia de
mximos locales que hace muy difcil la navegacin para los
algoritmos avaros

Soluciones
Volver a un nodo anterior y seguir el proceso en otra direccin
(prohibitivo)
Reiniciar la bsqueda en otro punto
Aplicar dos o ms operadores antes de decidir el camino
Subir la colina en paralelo, por ejemplo, dividir el espacio de
bsqueda en regiones y explorar las ms prometedoras
4

Subiendo la colina por la mxima


pendiente(Steepest Ascent HillClimbing)

Essentials of Metaheuristics

Essentials of Metaheuristics

Subiendo la colina por la mxima pendiente con


remplazo (Steepest Ascent Hill-Climbing With
Replacement)

Essentials of Metaheuristics

El significado de Tweak
A que se parece una solucin?
Vector, lista de tamao arbitrario, conjunto de
objetos no ordenados, rbol, grafo, o alguna
combinacin de ellos

Generar un vector aleatorio de valores


reales

Essentials of Metaheuristics

El significado de Tweak
Una forma sencilla de hacer Tweak (perturbar) un
vector de valores reales adicionar un valor
pequeo a cada valor del vector

Essentials of Metaheuristics

Tipos de funcin
En Hill-Climbing el tamao del paso puede ser
pequeo para salir de un mnimo local o muy
grande y con ello oscilar alrededor del ptimo.
controla el grado de exploracin y explotacin
Aguja en un pajar

engaoso

Montaoso, ruidoso, o rocoso

Essentials of Metaheuristics

Funciones
Sphere
[-100, 100]

Unimodal Separable (US)


10

Essentials of Metaheuristics

Funciones
Step
[-100, 100]

Unimodal Separable (US)


11

Essentials of Metaheuristics

Funciones
Schwefel
[-100, 100]

Unimodal No-Separable (UN)


12

Essentials of Metaheuristics

Funciones
Rastrigin
[-5,12, 5,12]

Multimodal Separable (MS)


13

Essentials of Metaheuristics

Funciones
Griewank
[-600, 600]

Multimodal No-Separable
(MN)
14

Essentials of Metaheuristics

Funciones
Ackley
[-32, 32]

Multimodal No-Separable (MN)


15

Essentials of Metaheuristics

Algoritmos de Optimizacin
Global de Estado Simple
Bsqueda Aleatoria (Random Search)
Subiendo la colina con reinicios aleatorios
(Hill-Climbing with Random Restarts)
Ajuste del Procedimiento de Modificacin
Temple Simulado (Simulated Annealing)
Bsqueda Tab (Tabu Search)
Bsqueda Local Iterada (Iterated Local
Search)
Estado simple = Slo procesan una
solucin candidata al mismo tiempo
16

Essentials of Metaheuristics

Bsqueda Aleatoria (Random


Search)
Es el algoritmo de optimizacin global ms
simple
Es un algoritmo de exploracin extrema

17

Subiendo la colina con reinicios


aleatorios (Hill-Climbing with
Random Restarts)

Essentials of Metaheuristics

Si time es bajo se comporta como bsqueda


aleatoria, si es alto como Hill-Climbing y en la
mitad como los dos

18

Subiendo la colina con reinicios


aleatorios (Hill-Climbing with
Random Restarts)

Essentials of Metaheuristics

Suavidad
(Smoothness) de la
funcin objetivo
En unimodal, HC es bueno
y RS es muy malo
En Noisy, HC es malo y
RS puede ser mejor
En Needle in a Haystack,
RS es la nica opcin
viable. HC es malo porque
no hay un gradiente
informativo
En Deceptive, HC tiene
un gradiente muy
desinformativo y queda

19

Subiendo la colina con reinicios


aleatorios (Hill-Climbing with
Random Restarts)

Essentials of Metaheuristics

Formas de crear algoritmos de bsqueda global


ajustando Exploracin vs Explotacin
Ajustar el procedimiento de modificacin: tweak
ocasionalmente hacer grandes cambios aleatorios si
se ejecuta el tiempo suficiente se explora todo el rea
Ms cambios, ms exploracin

Ajustar el procedimiento de seleccin: cambiar el


algoritmo para que en lugar de subir, baje la colina en
cierta cantidad de tiempo si se ejecuta el tiempo
suficiente se baja la colina que debe subirse para
llegar al ptimo global
Ms bajadas en la colina, ms exploracin
20

Subiendo la colina con reinicios


aleatorios (Hill-Climbing with
Random Restarts)

Essentials of Metaheuristics

Formas de crear algoritmos de bsqueda


global ajustando Exploracin vs
Explotacin
Saltar a alguna parte nueva: Cada cierto
tiempo salta a un punto nuevo si se ejecuta
el tiempo suficiente se salta a un punto que al
subirse es el mejor
Ms reinicios, ms exploracin

Probar varias soluciones candidatas al


mismo tiempo (en paralelo) si se ejecuta
varias soluciones al tiempo se puede ubicar en
un punto que al subirse es el mejor21

Essentials of Metaheuristics

Ajustando el Procedimiento de
Modificacin

Usar una distribucin


Gaussiana en lugar de una
distribucin uniforme

En Cucko search usan Vuelos


de Levy

22

Essentials of Metaheuristics

Ajustando el Procedimiento de
Modificacin
(1 + 1) = HC + Gaussian
Convolution
(1 + ) = SAHC + Gaussian
Convolution
(1 , ) = SAHCWR + Gaussian
Convolution
Gaussian Convolution otorga
otro parmetro (2) para
ajustar la exploracin y la
explotacin
En SAHCWR con n alto y 2
alto se potencia explotacin
(basado en n) y exploracin
(basado en 2) Se realiza
presin selectiva

23

Essentials of Metaheuristics

Ajustando el Procedimiento de
Modificacin

Cmo generar nmeros


aleatorios basados en una
distribucin Gaussiana?

24

Essentials of Metaheuristics

Ajustando el Procedimiento de
Modificacin

Algunas libreras generan


nmeros Gaussianos slo
para la distribucin normal
estndar N(0,1) .. Se puede
transformar fcilmente a
N(, 2)

25

Essentials of Metaheuristics

Temple Simulado (Simulated


Annealing)
Desarrollado en 1953 por Nicholas Metropolis, Arianna
Rosenbluth, Marshall Rosenbluth, Augusta Teller y
Edward Teller basado en el proceso de en framente
de metal fundido

Si el metal fundido se enfra rpidamente, a los tomos


no se les da la oportunidad de asentarse en una red
apretada y se congelan en una configuracin aleatoria,
lo que resulta en metal quebradizo. Si se reduce la
temperatura lentamente, a los tomos se les da el
tiempo suficiente para acomodarse en un red fuerte. No
es de extraar que t signifique temperatura.

26

Essentials of Metaheuristics

Temple Simulado (Simulated


Annealing)
El algoritmo en algunas ocasiones se dirige a
lugares con peores soluciones
t debe ser mayor que cero, evitar divisin por
cero (0)
La fraccin es negativa porque R es peor que S
Si R es mucho peor que S la fraccin es grande y
P0
Si R esta cerca a S entonces P 1

Si t es alto entonces P 1 . Random walk


27 Hill Si t esta cerca a cero entonces P 0

Essentials of Metaheuristics

Bsqueda Tab (Tab Search)


Propuesto por Fred Glover en 1986
Explora basado en una lista tab .. historia de soluciones
candidatas recientemente consideradas se niega a
volver a esas soluciones candidatas hasta que estn lo
suficientemente lejos en el pasado
Si nos alejamos de una colina, no tenemos ms remedio
que vagar de vuelta por el otro lado porque no estamos
autorizados a regresar a la cima de dicha colina
Normalmente se implementa como una variacin de
Subiendo la colina por la mxima pendiente con remplazo
Slo trabaja en espacios discretos en espacios continuos
se debe modificar para considerar soluciones similares a
en un rango a los elementos de la lista Nichos
28

Essentials of Metaheuristics

Bsqueda Tab (Tab Search)

29

Essentials of Metaheuristics

Bsqueda Tab (Tab Search)


Si el espacio de bsqueda es demasiado grande ..
La lista tab puede no ser suficiente para explorar
todo el espacio sin importar que la lista sea
grande solucin: Hacer lista Tab de los cambios
en las caractersticas (dimensiones)
Ejemplo: en TSP (Traveling Salesman Problem) al
buscar el recorrido por el grafo, si las ltimas
operaciones involucraron unos vrtices, estos
entran a la lista tab y no se consideran nuevos
cambios en estos vrtices hasta que no salgan de
la lista
La Lista Tab por caractersticas cambia bastante ..
Ya no es una cola (FIFO)
30

Essentials of Metaheuristics

Bsqueda Tab (Tab Search)

31

Essentials of Metaheuristics

Bsqueda Local Iterada


(Iterated Local Search)
Es una versin ms inteligente de Hill-Climbing con
reinicios aleatorios. Existe desde 1980 por lo
menos
ILS busca un optimo local, luego busca cerca otro
ptimo local, despus hace lo mismo sucesivamente
La heurstica busca hacer HC sobre ptimos locales
Perturb(H) es clave para el xito de ILS. Buscar un
vecino cerca que sea otro ptimo, no tan cerca que
sea el mismo, pero tampoco tan lejos que sea una
bsqueda aleatoria
Si el nuevo ptimo se escogiera siempre sera un
Random Walk, pero tampoco debes ser un HC de
ptimos locales puro debe ser un punto intermedio
32

Essentials of Metaheuristics

Bsqueda Local Iterada


(Iterated Local Search)

33

Essentials of Metaheuristics

Bsqueda Local Iterada


(Iterated Local Search)
Perturb(H) y NewHomeBase(H, S) son cajas
negras dependientes del problema .. Y su
definicin es todo un arte
Claves
Perturb(H) no debe ser tan grande que se comporte
como bsqueda aleatoria ni tan pequeo que quede en
el mismo ptimo local
NewHomeBase(H, S) No puede ser una Random Walk
(escoger el nuevo ptimo), ni un HC puro (escoger el
nuevo Home si le gana al mejor anteriormente
encontrado) .. Debe ser algo intermedio, por ejemplo
tomar ideas de Temple Simulado o una Bsqueda Tab

34

Essentials of Metaheuristics

Mezclar y combinar
Todos los algoritmos anteriores pueden ser
mezclados y combinados para resolver un
problema especifico sea creativo y
prctico
Lista de funciones de prueba
http://www.sfu.ca/~ssurjano/optimization.html
Dervis Karaboga, Bahriye Akay, A comparative
study of Artificial Bee Colony algorithm,
Applied Mathematics and Computation, Volume
214, Issue 1, 1 August 2009, Pages 108-132,
35
ISSN 0096-3003

S-ar putea să vă placă și