Recocido-Simulado Modificado
Recocido-Simulado Modificado
Recocido-Simulado Modificado
OPERACIONES.
Método de Recocido Simulado
Este método entra en la clasificación de Heurística debido a que es un
algoritmo que da una solución a algún problema, cumpliendo con las
restricciones que este tiene, así como acercarse al valor óptimo
2
Es recomendado usar cuando:
• No existe un algoritmo exacto de
resolución.
• No es necesaria la solución óptima.
• Cuando se presentan limites de tiempo.
VENTAJAS DESVENTAJAS
• Ofrece mayor flexibilidad • No se sabe la calidad que la solución puede
• No es complejo para diseñar tener.
• Ofrece mas de una solución • No se sabe que tan cerca esta de la
• Aumenta la posibilidad de elección solución óptima.
3
El método del recocido se utiliza en la industria para obtener materiales más resistentes, o
más cristalinos, en general, para mejorar las cualidades de un material.
El proceso consiste en “derretir” el material (calentarlo a muy alta temperatura). En esa
situación, los átomos adquieren una distribución “azarosa” dentro de la estructura del
material y la energía del sistema es máxima. Luego se hace descender la temperatura muy
lentamente por etapas, dejando que en cada una de esas etapas los átomos queden en
equilibrio (es decir, que los átomos alcancen una configuración óptima para esa
temperatura). Al final del proceso, los átomos forman una estructura cristalina altamente
regular, el material alcanza así una máxima resistencia y la energía del sistema es mínima.
Experimentalmente se comprueba que, si la temperatura se hace descender bruscamente
o no se espera suficiente tiempo en cada etapa, al final la estructura del material no es la
óptima.
4
Sea (S,c) una instancia de un problema de optimización combinatoria,
donde:
S es el conjunto de soluciones factibles
c es la función costo (a valores reales positivos)
En este caso, todas las soluciones que disminuyen el costo son aceptadas,
y las que incrementan el costo son aceptadas en forma limitada. A
medida que aumenta k (progresa el algoritmo) solo se aceptan
incrementos pequeños, hasta que eventualmente solo se aceptan
mejoras.
6
Simulated Annealing (recocido simulado): los tk se toman como en el threshold accepting
pero el criterio de aceptación es probabilístico
Si c(j) – c(i) > 0 entonces acepto j con probabilidad exp [(c(i) – c(j)) / tk]
(en la iteración k se genera un numero al azar r y se acepta j si r < exp [(c(i) – c(j)) / tk])
En este caso, cada vecino de una solución tiene una probabilidad positiva de reemplazar
a la solución actual. Los tk se eligen de forma tal que a medida que avanzan las
iteraciones, aceptar soluciones con grandes incrementos en el costo es menos probable
(pero sigue existiendo una probabilidad positiva de aceptarlos).
7
8
9
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO)
Sea S el conjunto de soluciones posibles del sistema (a las que identificamos
con los diferentes “estados del sistema”) y tenemos dada una función costo
sobre los elementos de S (a la que identificamos con la “energía del sistema”).
Se quiere encontrar un elemento en S que minimice la función costo
(análogamente, se trata de encontrar un estado en el cual la energía del
sistema sea mínima). Asumimos que los estados del sistema tienen la función
de distribución de probabilidad de Boltzman, i.e., la probabilidad de que el
sistema se encuentre en el estado j es:
10
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO)
Entonces:
P (j) = exp [- c(j) / t] / {S* exp [- c(j*) / t]} = 0 si j != j*
1/S* si j = j*
(Esto se obtiene de tomar t tendiendo a 0)
Por lo tanto: P (j*) = 1 (suma sobre todos los j* en S*).
11
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO).
VERSIÓN MONÓTONA:
12
VERSIÓN MONÓTONA - DATOS
INICIALES Y PARÁMETROS:
16
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO).
VERSIÓN NO MONÓTONA:
18
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO).
PARÁMETROS PARA UN PLANTEO GENERAL
19
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO).
EJEMPLO:
Queremos hallar el máximo de f(x)=x3-60x2+900x+100 entre x=0 y x=31. Describiremos
como resolveríamos este problema por SA. Discretísimos el rango de valores de x con
vectores binarios de 5 componentes entre 00000 y 11111. Estos 32 vectores constituyen S
las soluciones factibles del problema. Para cada iS definimos N(i)={j: j resulta de
cambiar una componente de i} es decir N(i) tiene 5 elementos.
Le damos un valor inicial a T intuitivamente, por ejemplo, T0 =100 o 500 y en cada
iteración del algoritmo lo reduciremos en 10%, es decir, Tk = 0.9 Tk-1 (cooling schedule).
Cada iteración consiste de lo siguiente:
Dada una solución i elegir j al azar de N(i) y reemplazar j por i a menos que
Rechazar j si f(j)f(i) y >exp{(f(j)-f(i))/Tk } (donde es un numero al azar en (0,1)
20
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO).
EJEMPLO:
21
THE SIMULATED ANNEALING METHOD (EL
MÉTODO DEL RECOCIDO SIMULADO).
EJEMPLO:
En la tabla 2 mostramos 5 iteraciones partiendo de un T inicial igual a 100. El
algoritmo llega a 10000 y no puede salir de la atracción de dicho valor en las
próximas 50 iteraciones. El valor 10000 (x=16) es un máximo relativo dentro del
entorno N(10000). Esto muestra que el valor inicial de T es muy bajo para
sacarlo de la trampa en que cae partiendo de 10011. En la tabla 3 mostramos
9 iteraciones partiendo de un T inicial de 500 y se llega al optimo 1010 (x=10) en
la iteración 7. En las 150 iteraciones restantes el valor visitado fue el óptimo o
uno de sus vecinos. Esto muestra la importancia de acertarla en T0
22