Sei sulla pagina 1di 8

19/04/2010

Recocido Simulado (RS)

Optimizacin Heurstica

Recocido Simulado
Problema de la bsqueda local:
Como siempre trata de mejorar, se atora en los mximos locales
Idea:
Escapar de mximos locales permitiendo movimientos malos.
Pero gradualmente disminuir su tamao y frecuencia.
Explota una analoga entre el proceso de recocido y la

bsqueda por un ptimo en un sistema ms general


Analoga de la bola de ping
ping-pong:
pong:
Sacudir fuerte (= alta temperatura).
Sacudiendo menos (= reduccin de temperatura).

Aplicaciones: problemas de distribucin en VLSI,

programacin de vuelos, etc.

19/04/2010

Proceso de recocido
Incremento de la temperatura hasta un nivel

muy alto (temperatura de derretimiento


derretimiento, por
ejemplo), los tomos tienen un estado de ms alta
energa y una alta posibilidad de re-arreglar la
estructura cristalina.

Enfriamiento lento,
lento los tomos tiene un estado

cada vez ms bajo de energa y una posibilidad


cada vez ms baja de re-arreglar la estructura
cristalina.

Recocido simulado
Analoga
Metal Problema
Sistema de estados Soluciones factibles
Nivel de energa Funcin de costo
Cambio de estado Solucin vecina
Temperatura Parmetro de control
Un ordenamiento completo
p
de la estructura cristalina
la solucin ptima del problema

La solucin ptima global puede ser lograda si el


proceso de enfriamiento es suficientemente lento

19/04/2010

Ciclo Metrpolis
Es la caracterstica esencial del recocido simulado
Determina como explorar aleatoriamente nuevas

soluciones, rechazndolas o aceptndolas a una


temperatura constante T.

El proceso de movimiento de un estado al siguiente es

repetido por un nmero de iteraciones en la misma


temperatura

Es terminado hasta que se logra el equilibrio.

Criterio Metrpolis
Supongamos que
X es la solucin actual y que X es la nueva solucin
C(x) (C(x)) es el estado de energa (costo) de x (x)
La probabilidad Paceptar = exp [(C(x)-C(x))/ T]
Supongamos que N=Random(0,1)
Aceptar incondicionalmente X si
C(x)
C( ) < C(
C(x),
) la
l nueva solucin
l i es mejor
j
Probablemente aceptar X si
C(x) >= C(x), la nueva solucin es peor.
Aceptada solo cuando N < Paceptar

19/04/2010

Algoritmo bsico
Inicializar la solucin inicial x , la temperatura ms alta Th, y
la temperatura ms pequea Tl
T= Th
Cuando la temperatura T es ms alta que Tl
Mientras no se llegue al equilibrio
Buscar la nueva solucin X
Aceptar o rechazar X
X de acuerdo al criterio Metrpolis
Fin
Reducir la temperatura T
Fin

Requerimientos para uso de RS


Representacin de solucin
Mecanismo de bsqueda, o sea, la definicin

de vecindario

Funcin
F
i d
de costo
t

19/04/2010

Parmetros de control
Determinacin de la temperatura
Artificial,
Artificial sin significado fsico
Temperatura inicial
Suficientemente caliente para lograr que la solucin final sea

independiente de la solucin inicial


80-90% de la razn de aceptacin

Temperatura final
Un valor constante
constante, o sea
sea, basada en el nmero total de soluciones
buscadas
No mejora durante el ciclo Metrpolis entero
La razn de aceptacin ha cado debajo de un valor (pequeo)
Especfica al problema y puede necesitar ser calibrada

Parmetros de control
Definicin de equilibrio
No se puede producir ninguna mejora significante despus
de cierto nmero de iteraciones
Un nmero constante de iteraciones
El nmero de iteraciones no debe ser mucho menor que el
tamao del vecindario
Programa
P
d
de recocido
id (o
( sea, cmo

reducir
d i la
l

temperatura)

Un valor constante, T = T - Td

Un factor de escala constante, T= T * Rd


Un factor de escala usualmente puede lograr mejor desempeo

19/04/2010

Ejemplo
Problema del Vendedor Viajero (PAV)
Dadas 6 ciudades y el costo de viajar entre cada

dos ciudades

Un vendedor viajero necesita iniciar desde la

ciudad
i d d 1 y visitar
i it todas
t d las
l otras
t
ciudades
i d d
regresando a la ciudad 1

Minimizar el costo total de viaje

Ejemplo
Representacin de la solucin
Una lista de enteros, o sea , (1,4,2,3,6,5)
Mecanismo de bsqueda
Intercambiar dos enteros cualquiera
(exceptuando el primero)
(1,4,2,3,6,5)
(1 4 2 3 6 5) (1,4,3,2,6,5)
(1 4 3 2 6 5)

Funcin de costo
Suma de los costos de viajar entre las
ciudades vecinas de la trayectoria

19/04/2010

Ejemplo
Temperatura
Determinacin de la temperatura inicial
Alrededor del 80% de la razn de aceptacin para un

mal movimiento
Determinacin de aceptable (Cnew Cold)

Determinacin de la temperatura final


Criterio de paro
Razn
R de
d cobertura
b t
del
d l espacio
i de
d solucin
l i
Programa de recocido
Nmero constante (por ejemplo 90%)
Dependiendo de la razn de cobertura del espacio de
solucin

Otros
El ptimo global es posible, pero cerca

del ptimo es prctico


Calibracin de parmetros

Simulated
Annealing and Boltzmann Machines. John Wiley

Aarts, E. and Korst, J. (1989).

& Sons.
Sons

No es fcil implementarlo paralelamente


Generador aleatorio

19/04/2010

Mejoras y modificaciones
Se pueden utilizar otras funciones para aceptar

malos vecinos para acelerar su clculo o mejorar su


calidad, por ejemplo la aproximacin discreta 1
d/t
Diferentes programas de enfriamiento pueden ser
usados en diferentes fases (el trabajo ms til es
hecho en la mitad del programa)
Se puede recalentar si no se observa progreso
El enfriamiento puede realizarse cada vez que se
acepta un vecino (o varios) haciendo el ciclo interno
dinmico.

Mejoras y modificaciones
La estructura del vecindario puede ser ajustada

(comnmente restringida) conforme la temperatura


se reduce.
El muestreo del vecindario puede hacerse cclico en
lugar de aleatorio
Puede usarse una funcin de costo aproximada
para reducir el tiempo de clculo
El espacio de solucin puede ser restringido

Potrebbero piacerti anche