Ir al contenido

Diferencia entre revisiones de «Algoritmo de recocido simulado»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
CocuBot (discusión · contribs.)
Sin resumen de edición
Línea 1: Línea 1:
{{en obras}}
{{Mal traducido}}
{{Mal traducido}}
'''Simulated annealing''' (SA) o '''recocido simulado''' es un [[algoritmo de búsqueda]] meta-[[Heurística (informática)|heurística]] para problemas de [[Optimización (matemática)|optimización]] global; el objetivo geneneral de este tipo de algoritmos es encontrar una buena aproximación al valor óptimo de una [[función matemática|función]] en un [[espacio de búsqueda]] grande. A este valor óptimo se lo denomina "óptimo global"
'''Simulated annealing''' (SA) o '''recocido simulado''' es un [[algoritmo de búsqueda]] meta-[[Heurística (informática)|heurística]] para problemas de [[Optimización (matemática)|optimización]] global; el objetivo geneneral de este tipo de algoritmos es encontrar una buena aproximación al valor óptimo de una [[función matemática|función]] en un [[espacio de búsqueda]] grande. A este valor óptimo se lo denomina "óptimo global"


El nombre e inspiración viene del proceso de [[recocido]] del acero y cerámicas, una técnica que consiste en calentar y luego enfriar lentamente el material para variar sus propiedades físicas. El calor causa que los [[átomo]]s aumenten su energía y que puedan así desplazarse de sus posiciones iniciales (un mínimo local de [[energía]]); el enfriamiento lento les da mayores probabilidades de recristalizar en configuraciones con menor [[energía]] que la inicial (mínimo global).
El nombre e inspiración viene del proceso de [[recocido]] del acero y cerámicas, una técnica que consiste en calentar y luego enfriar lentamente el material para variar sus propiedades físicas. El calor causa que los [[átomo]]s aumenten su energía y que puedan así desplazarse de sus posiciones iniciales (un mínimo local de [[energía]]); el enfriamiento lento les da mayores probabilidades de recristalizar en configuraciones con menor [[energía]] que la inicial (mínimo global).<ref name="enlinea">{{cita publicación|url=http://www.azc.uam.mx/publicaciones/enlinea2/3-2rec.htm| título=Optimización con recocido simulado para el problema de conjunto independiente|publicación=En Línea²|volumen=3|fechaacceso=29 de julio de 2011|fecha=junio de 1998|editorial=Universidad Autónoma Metropolitana | nombre=Miguel Ámgel | apellido=Gutiérrez Andrade | nombre2= Sergio Gerardo| apellido2=de los Cobos Silva | nombre3=Blanca Rosa|apellido3= Pérez Salvador}}</ref>

El método fue descrito independientemente por Scott Kirkpatrick, C. Daniel Gelatt y Mario P. Vecchi en 1983,<ref>{{cita publicación |páginas=671–680 |apellido=Kirkpatrick |nombre=S. |apellido2=Gelatt |nombre2=C. D. |apellido3=Vecchi |nombre3=M. P. |título=Optimization by Simulated Annealing |volumen=220 |número=4598 |publicación=Science |año=1983 | pmid=17813860 |doi=10.1126/science.220.4598.671|idioma=inglés}}</ref> y por Vlado Černý en 1985.<ref>{{cita publicación | doi=10.1007/BF00940812 |título=Thermodynamical approach to the traveling salesman problem: An efficient simulation algorithm |año=1985 |apellido=Černý |nombre=V. | publicación=Journal of Optimization Theory and Applications |volumen=45 |páginas=41–51|idioma=inglés}}</ref> El método es una adaptación del algoritmo Metropolis-Hastings, un [[método de Montecarlo]] utilizado para generar muestras de estados de un [[sistema termodinámico]].<ref>{{cita publicación |doi=10.1063/1.1699114 |título=Equation of State Calculations by Fast Computing Machines |año=1953 |apellido=Metropolis | nombre=Nicholas | apellido2=Rosenbluth |nombre2=Arianna W. | apellido3=Rosenbluth |nombre3=Marshall N. |apellido4=Teller | nombre4=Augusta H. | apellido5=Teller |nombre5=Edward |publicación=The Journal of Chemical Physics |volumen=21 |número=6 |página=1087|idioma=inglés}}</ref>


== Iteración básica ==
== Iteración básica ==
Línea 22: Línea 25:


A medida que la temperatura tiende al mínimo, la probabilidad de transición a un estado de mayor energía tiende a cero [[asíntota|asintóticamente]]. Así, en cada iteración el algoritmo tiende a encontrar estados con menor energía total. Hay muchas maneras de disminuir la temperatura, siendo la más usual la [[exponencial]], donde T disminuye por un factor &alpha;<1 en cada paso.
A medida que la temperatura tiende al mínimo, la probabilidad de transición a un estado de mayor energía tiende a cero [[asíntota|asintóticamente]]. Así, en cada iteración el algoritmo tiende a encontrar estados con menor energía total. Hay muchas maneras de disminuir la temperatura, siendo la más usual la [[exponencial]], donde T disminuye por un factor &alpha;<1 en cada paso.

==Referencias==
{{listaref}}


==Enlaces externos==
==Enlaces externos==

Revisión del 02:09 31 jul 2011

Simulated annealing (SA) o recocido simulado es un algoritmo de búsqueda meta-heurística para problemas de optimización global; el objetivo geneneral de este tipo de algoritmos es encontrar una buena aproximación al valor óptimo de una función en un espacio de búsqueda grande. A este valor óptimo se lo denomina "óptimo global"

El nombre e inspiración viene del proceso de recocido del acero y cerámicas, una técnica que consiste en calentar y luego enfriar lentamente el material para variar sus propiedades físicas. El calor causa que los átomos aumenten su energía y que puedan así desplazarse de sus posiciones iniciales (un mínimo local de energía); el enfriamiento lento les da mayores probabilidades de recristalizar en configuraciones con menor energía que la inicial (mínimo global).[1]

El método fue descrito independientemente por Scott Kirkpatrick, C. Daniel Gelatt y Mario P. Vecchi en 1983,[2]​ y por Vlado Černý en 1985.[3]​ El método es una adaptación del algoritmo Metropolis-Hastings, un método de Montecarlo utilizado para generar muestras de estados de un sistema termodinámico.[4]

Iteración básica

En cada iteración, el simulated annealing evalúa algunos vecinos del estado actual s y probabilísticamente decide entre efectuar una transición a un nuevo estado s' o quedarse en el estado s. En el ejemplo de recocido de metales descrito arriba, el estado s se podría definir en función de la posición de todos los átomos del material en el momento actual; el desplazamiento de uno o varios átomos se consideraría como un estado vecino del primero. Típicamente la comparación entre estados vecinos se repite hasta que se encuentre un estado óptimo que minimice la energía del sistema o hasta que se cumpla cierto tiempo computacional dado.

Vecindario de un estado

El método de evaluación de estados vecinos es fundamental para encontrar una solución óptima global al problema dado. Los algoritmos heurísticos, basados en buscar siempre un estado vecino mejor (con energía mas baja) que el actual se detienen en el momento que encuentran un mínimo local de energía. El problema con este método es que no puede asegurar que la solución encontrada sea un óptimo global, pues el espacio de búsqueda explorado no abarca todas las posibles variaciones del sistema.

Los algoritmos meta-heuristicos, en cambio, pueden escoger estados vecinos peores que el estado actual. En teoría, un algoritmo como el simulated annealing operando durante un tiempo infinito, encontrará siempre la solución óptima.

Probabilidad de transición

La probabilidad de hacer la transición al nuevo estado s' es una función P(δ E, T) de la diferencia de energía δE=E(s')-E(s) entre los dos estados, y de la variable T, llamada temperatura por analogía con el concepto físico de temperatura.

Si δE es negativo, es decir, la transición disminuye la energía, el movimiento es aceptado con probabilidad P=1. Sin embargo, la probabilidad de transición P es siempre distinta de cero, aún cuando δE sea positivo, es decir, el sistema puede pasar a un estado de mayor energía (peor solución) que el estado actual. Esta propiedad impide que el sistema se quede atrapado en un óptimo local.

A medida que la temperatura tiende al mínimo, la probabilidad de transición a un estado de mayor energía tiende a cero asintóticamente. Así, en cada iteración el algoritmo tiende a encontrar estados con menor energía total. Hay muchas maneras de disminuir la temperatura, siendo la más usual la exponencial, donde T disminuye por un factor α<1 en cada paso.

Referencias

  1. Gutiérrez Andrade, Miguel Ámgel; de los Cobos Silva, Sergio Gerardo; Pérez Salvador, Blanca Rosa (junio de 1998). «Optimización con recocido simulado para el problema de conjunto independiente». En Línea² (Universidad Autónoma Metropolitana) 3. Consultado el 29 de julio de 2011. 
  2. Kirkpatrick, S.; Gelatt, C. D.; Vecchi, M. P. (1983). «Optimization by Simulated Annealing». Science (en inglés) 220 (4598): 671-680. PMID 17813860. doi:10.1126/science.220.4598.671. 
  3. Černý, V. (1985). «Thermodynamical approach to the traveling salesman problem: An efficient simulation algorithm». Journal of Optimization Theory and Applications (en inglés) 45: 41-51. doi:10.1007/BF00940812. 
  4. Metropolis, Nicholas; Rosenbluth, Arianna W.; Rosenbluth, Marshall N.; Teller, Augusta H.; Teller, Edward (1953). «Equation of State Calculations by Fast Computing Machines». The Journal of Chemical Physics (en inglés) 21 (6): 1087. doi:10.1063/1.1699114. 

Enlaces externos