Articulo de referencia

Recocido simulado

El recocido simulado puede utilizarse para resolver problemas combinatorios. En este caso, se aplica al problema del viajante para minimizar la longitud de una ruta que conecte ...

El recocido simulado puede utilizarse para resolver problemas combinatorios. En este caso, se aplica al problema del viajante para minimizar la longitud de una ruta que conecte los 125 puntos.
Problema del viajante en 3D para 120 puntos resuelto mediante recocido simulado.

El recocido simulado ( SA ) es una técnica probabilística para aproximar el óptimo global de una función dada . Específicamente, es una metaheurística para aproximar la optimización global en un gran espacio de búsqueda para un problema de optimización . Para un gran número de óptimos locales, SA puede encontrar el óptimo global. [ 1 ] Se usa frecuentemente cuando el espacio de búsqueda es discreto (por ejemplo, el problema del viajante , el problema de satisfacibilidad booleana , la predicción de la estructura de proteínas y la programación de talleres ). Para problemas donde se dispone de una cantidad fija de recursos computacionales, encontrar un óptimo global aproximado puede ser más relevante que intentar encontrar un óptimo local preciso. En tales casos, SA puede ser preferible a algoritmos exactos como el descenso de gradiente o la ramificación y acotación . Los problemas resueltos por SA se formulan actualmente mediante una función objetivo de muchas variables, sujeta a varias restricciones matemáticas . En la práctica, una violación de las restricciones puede penalizarse como parte de la función objetivo.

Técnicas similares se han introducido de forma independiente en varias ocasiones, incluyendo Pincus (1970), [ 2 ] Khachaturyan et al. (1979, [ 3 ] 1981 [ 4 ] ), Kirkpatrick, Gelatt y Vecchi (1983) y Cerny (1985). [ 5 ] En 1983, Kirkpatrick, Gelatt Jr. y Vecchi [ 6 ] utilizaron este enfoque para una solución del problema del viajante . También propusieron su nombre actual, recocido simulado. [ 7 ]

El nombre del algoritmo proviene del recocido en metalurgia , una técnica que consiste en calentar y enfriar controladamente un material para modificar sus propiedades físicas . Esta noción de enfriamiento lento, implementada en el algoritmo de recocido simulado, se interpreta como una disminución gradual de la probabilidad de aceptar soluciones peores a medida que se explora el espacio de soluciones. Aceptar soluciones peores permite una búsqueda más exhaustiva de la solución óptima global. Los algoritmos de recocido simulado funcionan disminuyendo progresivamente la temperatura desde un valor positivo inicial hasta cero. En cada paso de tiempo, el algoritmo selecciona aleatoriamente una solución cercana a la actual, evalúa su calidad y se dirige a ella según las probabilidades, dependientes de la temperatura, de seleccionar soluciones mejores o peores.

La simulación puede realizarse mediante la solución de ecuaciones cinéticas para funciones de densidad de probabilidad , [ 8 ] [ 9 ] o mediante un método de muestreo estocástico . [ 6 ] [ 10 ] El método es una adaptación del algoritmo de Metropolis-Hastings , un método de Monte Carlo para generar estados de muestra de un sistema termodinámico, publicado por N. Metropolis et al. en 1953. [ 11 ]

Descripción general

Recocido simulado para la búsqueda de un máximo. El objetivo es alcanzar el punto más alto. En este ejemplo, no basta con un algoritmo de ascenso de colinas simple , ya que existen muchos máximos locales . Al disminuir la temperatura lentamente, se encuentra el máximo global.

El estado s de algunos sistemas físicos , y la función E ( s ) que se pretende minimizar, es análogo a la energía interna del sistema en dicho estado. El objetivo es llevar el sistema, desde un estado inicial arbitrario , a un estado con la mínima energía posible.

La iteración básica

En cada paso, la heurística de recocido simulado considera un estado vecino s* del estado actual s y decide probabilísticamente entre mover el sistema al estado s* o permanecer en el estado s . Estas probabilidades, en última instancia, llevan al sistema a estados de menor energía. Normalmente, este paso se repite hasta que el sistema alcanza un estado suficientemente bueno para la aplicación o hasta que se agota el presupuesto computacional asignado.

Los vecinos de un estado

La optimización de una solución implica evaluar los estados vecinos, que son nuevos estados generados mediante la modificación conservadora del estado actual. Por ejemplo, en el problema del viajante , cada estado se define típicamente como una permutación de las ciudades a visitar, y los vecinos de cualquier estado son el conjunto de permutaciones que se obtienen al intercambiar dos de estas ciudades. La forma bien definida en que se modifican los estados para generar estados vecinos se denomina movimiento , y diferentes movimientos dan lugar a diferentes conjuntos de estados vecinos. Estos movimientos suelen producir modificaciones mínimas del estado actual, con el objetivo de mejorar progresivamente la solución mediante la mejora iterativa de sus componentes (como las conexiones entre ciudades en el problema del viajante).

Las heurísticas simples , como el algoritmo de ascenso de colinas , que avanza buscando vecinos mejores uno tras otro y se detiene cuando alcanza una solución sin vecinos mejores, no garantizan encontrar ninguna de las soluciones mejores existentes ; su resultado puede ser fácilmente un óptimo local , mientras que la mejor solución real sería un óptimo global que podría ser diferente. Las metaheurísticas utilizan los vecinos de una solución para explorar el espacio de soluciones y, aunque prefieren los vecinos mejores, también aceptan probabilísticamente vecinos peores para evitar quedarse atascadas en óptimos locales; pueden encontrar el óptimo global si se les da suficiente tiempo. 

Probabilidades de aceptación

La probabilidad de realizar la transición desde el estado actuals{\displaystyle s}a un candidato nuevo estadosnortemiw{\displaystyle s_{\mathrm {new} }}se especifica mediante una función de probabilidad de aceptaciónPAG(mi,minortemiw,T){\displaystyle P(e,e_{\mathrm {nuevo} },T)}, eso depende de las energíasmi=mi(s){\displaystyle e=E(s)}yminortemiw=mi(snortemiw){\displaystyle e_{\mathrm {nuevo} }=E(s_{\mathrm {nuevo} })}de los dos estados, y en un parámetro global que varía con el tiempo.T{\displaystyle T}llamada temperatura . Los estados con menor energía son mejores que aquellos con mayor energía. La función de probabilidadPAG{\displaystyle P}debe ser positivo incluso cuandominortemiw{\displaystyle e_{\mathrm {new} }}es mayor quemi{\displaystyle e}Esta característica evita que el método se quede atascado en un mínimo local que sea peor que el mínimo global.

CuandoT{\displaystyle T}tiende a cero, la probabilidadPAG(mi,minortemiw,T){\displaystyle P(e,e_{\mathrm {nuevo} },T)}debe tender a cero siminortemiw>mi{\displaystyle e_{\mathrm {nuevo} }>e}y a un valor positivo en caso contrario. Para valores suficientemente pequeños deT{\displaystyle T}, el sistema favorecerá cada vez más los movimientos que van cuesta abajo (es decir, hacia valores de energía más bajos) y evitará aquellos que van cuesta arriba . ConT=0{\displaystyle T=0}El procedimiento se reduce al algoritmo voraz , que realiza únicamente las transiciones cuesta abajo.

En la descripción original del recocido simulado, la probabilidadPAG(mi,minortemiw,T){\displaystyle P(e,e_{\mathrm {nuevo} },T)}era igual a 1 cuandominortemiw<mi{\displaystyle e_{\mathrm {nuevo} }<e}—Es decir, el procedimiento siempre avanzaba cuesta abajo cuando encontraba la manera de hacerlo, independientemente de la temperatura. Muchas descripciones e implementaciones del recocido simulado aún consideran esta condición como parte de la definición del método. Sin embargo, esta condición no es esencial para que el método funcione.

ElPAG{\displaystyle P}La función se suele elegir de modo que la probabilidad de aceptar un movimiento disminuya cuando la diferenciaminortemiwmi{\displaystyle e_{\mathrm {nuevo} }-e}Los incrementos —es decir, los pequeños ascensos son más probables que los grandes—. Sin embargo, este requisito no es estrictamente necesario, siempre que se cumplan los requisitos anteriores.

Dadas estas propiedades, la temperaturaT{\displaystyle T}desempeña un papel crucial en el control de la evolución del estados{\displaystyle s}del sistema con respecto a su sensibilidad a las variaciones de las energías del sistema. Para ser precisos, para un granT{\displaystyle T}, la evolución des{\displaystyle s}es sensible a variaciones de energía más gruesas, mientras que es sensible a variaciones de energía más finas cuandoT{\displaystyle T}es pequeño.

El programa de recocido

Rápido
Rápido
Lento
Lento
Ejemplo que ilustra el efecto del programa de enfriamiento en el rendimiento del recocido simulado. El problema consiste en reorganizar los píxeles de una imagen para minimizar una determinada función de energía potencial , que provoca que los colores similares se atraigan a corta distancia y se repelan a una distancia ligeramente mayor. Los movimientos elementales intercambian dos píxeles adyacentes. Estas imágenes se obtuvieron con un programa de enfriamiento rápido (izquierda) y un programa de enfriamiento lento (derecha), produciendo resultados similares a los de sólidos amorfos y cristalinos , respectivamente.

El nombre y la inspiración del algoritmo exigen una variación de temperatura controlada. Esto requiere una reducción gradual de la temperatura a medida que avanza la simulación. El algoritmo comienza inicialmente conT{\displaystyle T}establecido a un valor alto, y luego se disminuye en cada paso siguiendo algún programa de recocido , que puede ser especificado por el usuario pero debe terminar conT=0{\displaystyle T=0}hacia el final del tiempo asignado. De esta manera, se espera que el sistema se dirija inicialmente hacia una amplia región del espacio de búsqueda que contenga buenas soluciones, ignorando las pequeñas características de la función de energía; luego se desplace hacia regiones de baja energía que se vuelven más estrechas, y finalmente descienda siguiendo la heurística del descenso más pronunciado .

Para cualquier problema finito dado, la probabilidad de que el algoritmo de recocido simulado termine con una solución óptima global se aproxima a 1 a medida que se extiende el programa de recocido. [ 12 ] Sin embargo, este resultado teórico no es particularmente útil, ya que el tiempo requerido para asegurar una probabilidad significativa de éxito generalmente excederá el tiempo requerido para una búsqueda completa del espacio de soluciones . [ 13 ]

Pseudocódigo

El siguiente pseudocódigo presenta la heurística de recocido simulado descrita anteriormente. Comienza desde un estado s₀ y continúa hasta que se hayan realizado un máximo de k pasos. En el proceso, la llamada neighbor ( s ) debe generar un vecino elegido aleatoriamente de un estado s dado ; la llamada random(0, 1) debe seleccionar y devolver un valor en el rango [0, 1] , de forma uniforme y aleatoria . El esquema de recocido se define mediante la llamada temperature( r ) , que debe proporcionar la temperatura a utilizar, dada la fracción r del presupuesto de tiempo que se ha empleado hasta el momento.

  • Sea s = s 0
  • Para k = 0 hasta k max (exclusivo):
    • T ← temperatura( 1 - (k+ 1 ) / k max )
    • Elige un vecino al azar, s nuevo ← vecino( s )
    • Si P ( E ( s ), E ( s nuevo ), T ) ≥ random(0, 1) :
      • ss nuevo
  • Salida: el estado final s

Selección de parámetros

Para aplicar el método de recocido simulado a un problema específico, se deben especificar los siguientes parámetros: el espacio de estados, la función de energía (objetivo) E() , el procedimiento generador de candidatos neighbor() , la función de probabilidad de aceptación P() y el programa de recocido temperature(), que incluye la temperatura inicial init_temp . Estas elecciones pueden tener un impacto significativo en la efectividad del método. Desafortunadamente, no existe una combinación de estos parámetros que sea adecuada para todos los problemas, ni una forma general de encontrar las mejores opciones para un problema dado. Las siguientes secciones ofrecen algunas pautas generales.

Vecino suficientemente cercano

El recocido simulado puede modelarse como un paseo aleatorio en un grafo de búsqueda, cuyos vértices son todos los estados posibles y las aristas que conectan los vértices son los movimientos candidatos. Un requisito esencial para la función neighbor() es que debe proporcionar un camino suficientemente corto en este grafo desde el estado inicial a cualquier estado que pueda ser el óptimo global ; el diámetro del grafo de búsqueda debe ser pequeño. En el ejemplo del viajante de comercio anterior, por ejemplo, el espacio de búsqueda para n = 20 ciudades tiene n! = 2.432.902.008.176.640.000 (2,4 quintillones) de estados; sin embargo, el número de vecinos de cada vértice es   k=1norte1k=norte(norte1)2=190{\displaystyle \sum _{k=1}^{n-1}k={\frac {n(n-1)}{2}}=190}bordes (que vienen de(norte2){\displaystyle n \choose 2}), y el diámetro del gráfico esnorte1{\displaystyle n-1}.

Probabilidades de transición

Para investigar el comportamiento del recocido simulado en un problema particular, puede ser útil considerar las probabilidades de transición que resultan de las diversas decisiones de diseño tomadas en la implementación del algoritmo. Para cada arista(s,s){\displaystyle (s,s')}del grafo de búsqueda, la probabilidad de transición se define como la probabilidad de que el algoritmo de recocido simulado se mueva al estado s{\displaystyle s'}cuando su estado actual ess{\displaystyle s}Esta probabilidad depende de la temperatura actual especificada por temperature() , del orden en que se generan los movimientos candidatos mediante la función neighbor() y de la función de probabilidad de aceptación P() . Tenga en cuenta que la probabilidad de transición no es simplementePAG(mi,mi,T){\displaystyle P(e,e',T)}, porque los candidatos son evaluados de forma secuencial.

Probabilidades de aceptación

La especificación de neighbor() , P() y temperature() es parcialmente redundante. En la práctica, es común usar la misma función de aceptación P() para muchos problemas y ajustar las otras dos funciones según el problema específico.

En la formulación del método de Kirkpatrick et al., la función de probabilidad de aceptación P(e, e', T) se definió como 1 si e' < e y \exp(-(e'-e)/T) en caso contrario. Esta fórmula se justificó superficialmente por analogía con las transiciones de un sistema físico; corresponde al algoritmo de Metropolis-Hastings , en el caso de que T=1 y la distribución de propuestas de Metropolis-Hastings sea simétrica. Sin embargo, esta probabilidad de aceptación se usa a menudo para el recocido simulado incluso cuando la función neighbor() , que es análoga a la distribución de propuestas en Metropolis-Hastings, no es simétrica o no es probabilística en absoluto. Como resultado, las probabilidades de transición del algoritmo de recocido simulado no corresponden a las transiciones del sistema físico análogo, y la distribución a largo plazo de estados a una temperatura constante T no tiene por qué tener ninguna semejanza con la distribución de equilibrio termodinámico sobre los estados de ese sistema físico, a ninguna temperatura. Sin embargo, la mayoría de las descripciones del recocido simulado asumen la función de aceptación original, que probablemente está codificada de forma fija en muchas implementaciones.

En 1990, Moscato y Fontanari [ 14 ] , e independientemente Dueck y Scheuer [ 15 ], propusieron que una actualización determinista (es decir, una que no se basa en la regla de aceptación probabilística) podría acelerar el proceso de optimización sin afectar la calidad final. Moscato y Fontanari concluyeron, al observar la curva análoga de "calor específico" del recocido de "actualización de umbral" originada en su estudio, que "la estocasticidad de la actualización de Metropolis en el algoritmo de recocido simulado no juega un papel importante en la búsqueda de mínimos casi óptimos". En cambio, propusieron que "el suavizado del paisaje de la función de costo a alta temperatura y la definición gradual de los mínimos durante el proceso de enfriamiento son los ingredientes fundamentales para el éxito del recocido simulado". El método se popularizó posteriormente bajo la denominación de "aceptación de umbral" debido a la denominación de Dueck y Scheuer. En 2001, Franz, Hoffmann y Salamon demostraron que la estrategia de actualización determinista es, de hecho, la óptima dentro de la amplia clase de algoritmos que simulan un paseo aleatorio en el paisaje de costos/energía. [ 16 ]

Generación eficiente de candidatos

Al elegir el generador candidato neighbour(), se debe considerar que después de algunas iteraciones del algoritmo de recocido simulado, se espera que el estado actual tenga una energía mucho menor que un estado aleatorio. Por lo tanto, como regla general, se debe sesgar el generador hacia movimientos candidatos donde la energía del estado de destinos{\displaystyle s'}Es probable que sea similar al estado actual. Esta heurística (que es el principio fundamental del algoritmo de Metropolis-Hastings ) tiende a excluir tanto los movimientos candidatos muy buenos como los muy malos ; sin embargo, los primeros suelen ser mucho menos frecuentes que los segundos, por lo que la heurística suele ser bastante eficaz.

En el problema del viajante de comercio anterior, por ejemplo, se espera que intercambiar dos ciudades consecutivas en un recorrido de baja energía tenga un efecto modesto en su energía (longitud); mientras que intercambiar dos ciudades arbitrarias tiene muchas más probabilidades de aumentar su longitud que de disminuirla. Por lo tanto, se espera que el generador de vecinos de intercambio consecutivo funcione mejor que el de intercambio arbitrario, aunque este último podría proporcionar un camino algo más corto hacia el óptimo (connorte1{\displaystyle n-1}intercambios, en lugar denorte(norte1)/2{\displaystyle n(n-1)/2}).

Una formulación más precisa de la heurística es que se deben probar los primeros estados candidatos.s{\displaystyle s'}para quéPAG(mi(s),mi(s),T){\displaystyle P(E(s),E(s'),T)}es grande. Para la función de aceptación "estándar"PAG{\displaystyle P}arriba, significa quemi(s)mi(s){\displaystyle E(s')-E(s)}es del orden deT{\displaystyle T}o menos. Por lo tanto, en el ejemplo del viajante de comercio anterior, se podría usar una neighbour()función que intercambie dos ciudades aleatorias, donde la probabilidad de elegir un par de ciudades se desvanece a medida que su distancia aumenta más allá deT{\displaystyle T}.

Evitar barreras

Al elegir el generador candidato, neighbour()también se debe intentar reducir el número de mínimos locales profundos: estados (o conjuntos de estados conectados) con una energía mucho menor que la de todos sus estados vecinos. Estas "cuencas cerradas " de la función de energía pueden atrapar el algoritmo de recocido simulado con alta probabilidad (aproximadamente proporcional al número de estados en la cuenca) y durante un tiempo muy prolongado (aproximadamente exponencial con respecto a la diferencia de energía entre los estados circundantes y el fondo de la cuenca).

Por regla general, es imposible diseñar un generador de candidatos que satisfaga este objetivo y también priorice candidatos con energía similar. Por otro lado, a menudo se puede mejorar enormemente la eficiencia del recocido simulado mediante cambios relativamente simples en el generador. En el problema del viajante, por ejemplo, no es difícil mostrar dos recorridosA{\displaystyle A},B{\displaystyle B}, con longitudes casi iguales, de tal manera que (1)A{\displaystyle A}es óptimo, (2) cada secuencia de intercambios de pares de ciudades que convierteA{\displaystyle A}aB{\displaystyle B}pasa por recorridos que son mucho más largos que ambos, y (3)A{\displaystyle A}puede transformarse enB{\displaystyle B}al invertir (cambiar el orden de) un conjunto de ciudades consecutivas. En este ejemplo,A{\displaystyle A}yB{\displaystyle B}Estos elementos se encuentran en diferentes "cuencas profundas" si el generador realiza solo intercambios de pares aleatorios; pero estarán en la misma cuenca si el generador realiza volteos de segmentos aleatorios.

Programa de refrigeración

La analogía física que se utiliza para justificar el recocido simulado supone que la velocidad de enfriamiento es lo suficientemente baja como para que la distribución de probabilidad del estado actual se encuentre cerca del equilibrio termodinámico en todo momento. Desafortunadamente, el tiempo de relajación —el tiempo que hay que esperar para que se restablezca el equilibrio tras un cambio de temperatura— depende en gran medida de la "topografía" de la función de energía y de la temperatura actual. En el algoritmo de recocido simulado, el tiempo de relajación también depende del generador de candidatos, de una manera muy compleja. Cabe señalar que todos estos parámetros suelen proporcionarse como funciones de caja negra al algoritmo de recocido simulado. Por lo tanto, la velocidad de enfriamiento ideal no se puede determinar de antemano y debe ajustarse empíricamente para cada problema. Los algoritmos de recocido simulado adaptativos abordan este problema conectando el programa de enfriamiento con el progreso de la búsqueda. Otros enfoques adaptativos, como el Recocido Simulado Termodinámico [ 17 ] , ajustan automáticamente la temperatura en cada paso en función de la diferencia de energía entre los dos estados, de acuerdo con las leyes de la termodinámica.

Reinicios

A veces es mejor volver a una solución que era significativamente mejor en lugar de avanzar siempre desde el estado actual. Este proceso se llama reinicio del recocido simulado. Para ello, establecemoss{\displaystyle s}ymi{\displaystyle e}amejor{\displaystyle {\text{smejor}}}yebest{\displaystyle {\text{ebest}}}y quizás reiniciar el programa de recocido. La decisión de reiniciar podría basarse en varios criterios. Entre ellos destacan reiniciar tras un número fijo de pasos, si la energía actual es demasiado alta en comparación con la mejor energía obtenida hasta el momento, reiniciar aleatoriamente, etc.

  • Los algoritmos interactivos de Metropolis-Hasting (también conocidos como Monte Carlo secuencial [ 18 ] ) combinan movimientos de recocido simulado con una aceptación-rechazo de los individuos mejor adaptados equipados con un mecanismo de reciclaje interactivo.
  • El recocido cuántico utiliza "fluctuaciones cuánticas" en lugar de fluctuaciones térmicas para superar barreras altas pero delgadas en la función objetivo.
  • El método de tunelización estocástica intenta superar la creciente dificultad que tienen las simulaciones de recocido para escapar de los mínimos locales a medida que disminuye la temperatura, mediante la "tunelización" a través de barreras.
  • La búsqueda tabú normalmente se desplaza a estados vecinos de menor energía, pero realizará movimientos ascendentes cuando se encuentre atascada en un mínimo local; y evita los ciclos manteniendo una "lista tabú" de soluciones ya vistas.
  • La evolución de doble fase es una familia de algoritmos y procesos (a la que pertenece el recocido simulado) que median entre la búsqueda local y la global aprovechando los cambios de fase en el espacio de búsqueda.
  • La optimización de búsqueda reactiva se centra en combinar el aprendizaje automático con la optimización, añadiendo un bucle de retroalimentación interno para ajustar automáticamente los parámetros libres de un algoritmo a las características del problema, de la instancia y de la situación local que rodea a la solución actual.
  • Los algoritmos genéticos mantienen un conjunto de soluciones en lugar de una sola. Las nuevas soluciones candidatas se generan no solo por mutación (como en el recocido simulado), sino también por recombinación de dos soluciones del conjunto. Se utilizan criterios probabilísticos, similares a los empleados en el recocido simulado, para seleccionar las soluciones candidatas para mutación o combinación, y para descartar las soluciones sobrantes del conjunto.
  • Los algoritmos meméticos buscan soluciones empleando un conjunto de agentes que cooperan y compiten en el proceso; a veces, las estrategias de los agentes incluyen procedimientos de recocido simulado para obtener soluciones de alta calidad antes de recombinarlas. [ 19 ] También se ha sugerido el recocido como un mecanismo para aumentar la diversidad de la búsqueda. [ 20 ]
  • La optimización gradual "suaviza" progresivamente la función objetivo durante el proceso de optimización.
  • La optimización por colonia de hormigas (ACO, por sus siglas en inglés) utiliza muchas hormigas (o agentes) para recorrer el espacio de soluciones y encontrar áreas localmente productivas.
  • El método de entropía cruzada (CE) genera soluciones candidatas mediante una distribución de probabilidad parametrizada. Los parámetros se actualizan mediante la minimización de la entropía cruzada, con el fin de generar mejores muestras en la siguiente iteración.
  • La búsqueda de armonía imita a los músicos en la improvisación, donde cada músico toca una nota para encontrar la mejor armonía en conjunto.
  • La optimización estocástica es un conjunto de métodos que engloba el recocido simulado y muchos otros enfoques.
  • La optimización por enjambre de partículas es un algoritmo basado en la inteligencia colectiva que encuentra una solución a un problema de optimización en un espacio de búsqueda, o bien modela y predice el comportamiento social en presencia de objetivos.
  • El algoritmo de raíces y estolones (RRA, por sus siglas en inglés) es un algoritmo de optimización metaheurística para resolver problemas unimodales y multimodales, inspirado en los estolones y raíces de las plantas en la naturaleza.
  • Algoritmo inteligente de gotas de agua (IWD) que imita el comportamiento de las gotas de agua naturales para resolver problemas de optimización.
  • El templado paralelo es una simulación de copias de modelos a diferentes temperaturas (o hamiltonianos ) para superar las barreras potenciales.
  • Los algoritmos de recocido simulado multiobjetivo se han utilizado en la optimización multiobjetivo . [ 21 ]

Véase también

Referencias

  1. "¿Qué es el recocido simulado?" . www.cs.cmu.edu . Consultado el 13 de mayo de 2023 .
  2. Pincus, Martin (noviembre-diciembre de 1970). "Un método de Montecarlo para la solución aproximada de ciertos tipos de problemas de optimización con restricciones". Journal of the Operations Research Society of America . 18 (6): 967–1235 . doi : 10.1287/opre.18.6.1225 .
  3. Khachaturyan, A.: Semenovskaya, S.: Vainshtein B., Armen (1979). "Enfoque estadístico-termodinámico para la determinación de las fases de amplitud de la estructura". Cristalografía física soviética . 24 (5): 519– 524.{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace )
  4. Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1981). "El enfoque termodinámico para el análisis estructural de cristales" . Acta Crystallographica . A37 (5): 742– 754. Bibcode : 1981AcCrA..37..742K . doi : 10.1107/S0567739481001630 .{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace )
  5. ^ Laarhoven, furgoneta PJM (Peter JM) (1987). Recocido simulado: teoría y aplicaciones . Aarts, EHL (Emile HL). Dordrecht: D. Reidel. ISBN 90-277-2513-6OCLC 15548651 
  6. 1 2 Kirkpatrick, S.; Gelatt Jr, CD; Vecchi, MP (1983). "Optimización mediante recocido simulado". Science . 220 (4598): 671– 680. Bibcode : 1983Sci...220..671K . CiteSeerX 10.1.1.123.7607 . doi : 10.1126/science.220.4598.671 . JSTOR 1690046 . PMID 17813860 . S2CID 205939 .    
  7. Kirkpatrick, S. (1984). "Optimización mediante recocido simulado: estudios cuantitativos." Journal of Statistical Physics , 34(5-6), 975-986.
  8. Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1979). "Enfoque estadístico-termodinámico para la determinación de las fases de amplitud de la estructura". Sov.Phys. Crystallography . 24 (5): 519– 524.
  9. Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1981). "El enfoque termodinámico para el análisis estructural de cristales". Acta Crystallographica . 37 (A37): 742– 754. Bibcode : 1981AcCrA..37..742K . doi : 10.1107/S0567739481001630 .
  10. Černý, V. (1985). "Enfoque termodinámico del problema del viajante: un algoritmo de simulación eficiente". Journal of Optimization Theory and Applications . 45 : 41–51 . doi : 10.1007/BF00940812 . S2CID 122729427 . 
  11. Metropolis, Nicholas; Rosenbluth, Arianna W.; Rosenbluth, Marshall N.; Teller, Augusta H.; Teller, Edward (1953). "Cálculos de ecuaciones de estado mediante máquinas de computación rápidas". The Journal of Chemical Physics . 21 (6): 1087. Bibcode : 1953JChPh..21.1087M . doi : 10.1063/1.1699114 . OSTI 4390578 . S2CID 1046577 .  
  12. Granville, V.; Krivanek, M.; Rasson, J.-P. (1994). "Recocido simulado: una prueba de convergencia". IEEE Transactions on Pattern Analysis and Machine Intelligence . 16 (6): 652– 656. Bibcode : 1994ITPAM..16..652G . doi : 10.1109/34.295910 .
  13. Nolte, Andreas; Schrader, Rainer (1997), "Una nota sobre el comportamiento en tiempo finito del recocido simulado" , Operations Research Proceedings 1996 , vol. 1996, Berlín, Heidelberg: Springer Berlin Heidelberg, pp. 175–180 , doi : 10.1007/978-3-642-60744-8_32 , ISBN   978-3-540-62630-5, consultado el 6 de febrero de 2023
  14. Moscato, P.; Fontanari, JF (1990), "Actualización estocástica versus determinista en el recocido simulado", Physics Letters A , 146 (4): 204– 208, Bibcode : 1990PhLA..146..204M , doi : 10.1016/0375-9601(90)90166-L
  15. Dueck, G.; Scheuer, T. (1990), "Threshold accepting: A general purpose optimization algorithm appearing superior to simulated annealing", Journal of Computational Physics , 90 (1): 161– 175, Bibcode : 1990JCoPh..90..161D , doi : 10.1016/0021-9991(90)90201-B , ISSN 0021-9991 
  16. Franz, A.; Hoffmann, KH; Salamon, P (2001), "Mejor estrategia óptima para encontrar estados fundamentales", Physical Review Letters , 86 (3): 5219– 5222, doi : 10.1103/PhysRevLett.86.5219 , PMID 11384462 
  17. De Vicente, Juan; Lanchares, Juan; Hermida, Román (2003). "Colocación mediante recocido termodinámico simulado". Letras de Física A. 317 ( 5– 6): 415– 423. Bibcode : 2003PhLA..317..415D . doi : 10.1016/j.physleta.2003.08.070 .
  18. Del Moral, Pierre; Doucet, Arnaud; Jasra, Ajay (2006). "Muestreadores secuenciales de Monte Carlo". Revista de la Royal Statistical Society, Serie B. 68 (3): 411– 436. arXiv : cond-mat/0212648 . doi : 10.1111/j.1467-9868.2006.00553.x . S2CID 12074789 . 
  19. Moscato, Pablo (junio de 1993). "Una introducción a los enfoques poblacionales para la optimización y las funciones objetivo jerárquicas: una discusión sobre el papel de la búsqueda tabú". Annals of Operations Research . 41 (2): 85– 121. doi : 10.1007/BF02022564 . S2CID 35382644 . 
  20. Moscato, P. (1989). "Sobre evolución, búsqueda, optimización, algoritmos genéticos y artes marciales: hacia algoritmos meméticos". Programa de Computación Concurrente de Caltech (informe 826).
  21. Deb, Bandyopadhyay (junio de 2008). "Un algoritmo de optimización multiobjetivo basado en recocido simulado: AMOSA". IEEE Transactions on Evolutionary Computation . 12 (3): 269– 283. Bibcode : 2008ITEC...12..269B . doi : 10.1109/TEVC.2007.900837 . S2CID 12107321 . 

Lecturas adicionales

  • A. Das y BK Chakrabarti (Eds.), Recocido cuántico y métodos de optimización relacionados, Lecture Note in Physics, Vol. 679, Springer, Heidelberg (2005)
  • Weinberger, E. (1990). "Paisajes de aptitud correlacionados y no correlacionados y cómo distinguirlos". Cibernética Biológica . 63 (5): 325– 336. doi : 10.1007/BF00202749 . S2CID 851736 . 
  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). «Sección 10.12. Métodos de recocido simulado» . Numerical Recipes: The Art of Scientific Computing (3.ª  ed.). Nueva York: Cambridge University Press. ISBN 978-0-521-88068-8Archivado del original el 11 de agosto de 2011. Consultado el 13 de agosto de 2011 .
  • Strobl, MAR; Barker, D. (2016). "Sobre las transiciones de fase de recocido simulado en la reconstrucción filogenética" . Molecular Phylogenetics and Evolution . 101 : 46–55 . Bibcode : 2016MolPE.101...46S . doi : 10.1016/j.ympev.2016.05.001 . PMC 4912009. PMID 27150349 .  
  • V. Vassilev, A. Prahova: "El uso del recocido simulado en el control de sistemas de fabricación flexibles", Revista Internacional de Teorías y Aplicaciones de la Información, VOLUMEN 6/1999
  • D. Thiel, "Recocido simulado: De la termodinámica estadística a la resolución de problemas combinatorios", Enciclopedia de sistemas de soporte vital UNESCO – EOLSS, Capítulo Ciencia de sistemas y cibernética – Vol. III
  • Recocido simulado. Una aplicación JavaScript que permite experimentar con el recocido simulado. Código fuente incluido.
  • "Algoritmo general de recocido simulado" Archivado el 23/09/2008 en Wayback Machine Un programa de MATLAB de código abierto para ejercicios generales de recocido simulado.
  • Lección autodirigida sobre recocido simulado. Un proyecto de Wikiversidad.
  • Google, en la superposición de usar y no usar computadoras cuánticas, Ars Technica analiza la posibilidad de que la computadora D-Wave que utiliza Google sea, de hecho, un coprocesador de recocido simulado eficiente.
  • Algoritmo de optimización multiobjetivo basado en recocido simulado: AMOSA.