Recocido simulado

Recocido simulado

El recocido es un método metalúrgico que permite obtener sólidos cristalizados evitando el estado vítreo. Una vez que el metal se ha derretido, la temperatura se baja gradualmente hasta que alcanza un estado sólido. Para eliminar todos los defectos, el metal se calienta y luego se enfría, en pasos de temperatura decrecientes, hasta que se alcanza un estado estable.

Este sistema de pasos decrecientes dio origen al algoritmo Metropolis de 1953 y luego al recocido simulado por IBM en 1983.

Presentación del algoritmo

El algoritmo de recocido simulado, o recocido simulado para hablantes de inglés, es por lo tanto la adaptación algorítmico del proceso de recocido.

El objetivo es lograr un estado estable de la función objetivo, un óptimo local o global, a partir de una solución aleatoria. Este estado se alcanza por etapas, donde la aceptación de una mutación se realiza según la "temperatura" de la etapa.

El algoritmo de recocido simulado genera sucesivamente configuraciones a partir de una solución inicial R0 y una temperatura inicial T0 disminuyendo con cada iteración, hasta obtener una configuración estable. La probabilidad de aceptar una nueva configuración es (regla de Metropolis):

  • 1 si la configuración mejora la función objetivo;
  • exp (diff (E) / T) con diff (E) la diferencia de energía y T la temperatura; la diferencia de energía es una función interna, dependiendo de la función objetivo.

Secuencia del algoritmo

El algoritmo de recocido es el siguiente:

  1. Tome una solución inicial R = R0 y una temperatura inicial T = T0. El estado inicial es en cuanto a los métodos exactos, obtenidos por un heurístico (cuesta abajo o glotón).
  2. Genera una solución aleatoria R(yo + 1) en las cercanías de la solución actual:
    1. comparar R(yo + 1) con RI según la regla de Metropolis
    2. repetir hasta que se encuentre una solución estable (o después de un cierto número de iteraciones)
  3. Disminuir la temperatura T a una temperatura umbral Tmin, o tener una solución estable.
 R0
T0
tanto que T> Tmin y E> emax
   R(yo + 1) = vecino (RI)
   si E (R(yo + 1)) <E (RI) Dónde aleatorio () <P (diff (E) / T) entonces
      aceptar R(yo + 1)
   actualizar T
regreso Rno

Recocido simulado

Dado que T es grande al principio, se pueden elegir muchas soluciones que degraden la solución actual. Esto permite escapar de un óptimo local. La siguiente figura muestra el valor de la función objetivo en función del vector de parámetros X. Por tanto, la temperatura permite "saltar" zonas menos "buenas" para dejar un "valle". Las bolas y señales de la siguiente figura muestran hasta qué altura pueden "saltar" las bolas, es decir, la tolerancia de variación negativa de la función objetivo en la obtención de una nueva solución.

Recocido simulado

Si la temperatura es baja, es más difícil escapar de un óptimo local:

Recocido simulado