• No se han encontrado resultados

El algoritmo de recocido simulado es una analog´ıa entre el proceso f´ısico de reco- cido y un problema de optimizaci ´on combinatoria. Por lo tanto, se puede utilizar el algoritmo de Metropolis para generar una secuencia de soluciones para el pro- blema de optimizaci ´on basado en las siguientes equivalencias [1]:

Las soluciones en un problema de optimizaci ´on combinatoria son equiva- lentes a los estados de un sistema f´ısico.

El costo de una soluci´on es equivalente a la energ´ıa del estado.

El papel de la temperatura del proceso f´ısico de recocido va a desempe˜narse en el algoritmo de recocido simulado por unpar´ametro de control. Desde este punto de vista el algoritmo de recocido simulado es entonces una iteraci´on de algoritmos de Metropolis (ciclo interno), evaluados a valores cada vez menores del par´ametro de control (ciclo externo). Esto se logra pr´acticamente generando una secuencia de cadenas de Markov1 a valores descendentes del par´ametro de control. Las cade- nas de Markov individuales se generan continuamente al transformar la soluci´on actual en una soluci´on subsecuente aplicando un mecanismo de generaci´on y un criterio de aceptaci´on [1].

Por lo tanto, el ciclo interno del algoritmo, dada una funci´on de costo➀ ➌✫✭

➏ y

un estado inicial✭➐➑ a una temperatura✥ queda de la siguiente manera:

1. Perturbar aleatoriamente el estado ✭ para obtener un nuevo estado ✭ ☞ y

calcular el cambio de costo correspondiente

ì ➀ ✪ ➀ ➌✤✭ ☞ ✺ ✭ ➏ . 2. Si ì ➀ ✚✖❖ aceptar estado✭ ☞ . 3. si ì ➀ ✤✖❖

aceptar el estado con probabilidad:

✔ ➌ ì ➀ ➏ ✪ ①❝û✯✮✱✰ ✣ 1

Una cadena de Markov es una secuencia de estados, donde la probabilidad de transici ´on entre estados depende solamente del estado anterior y no del historial previo.

Para el criterio de aceptaci´on se genera un n´umero aleatorio ❢ en el rango [0,1] y se compara con ✔ ➌ ➀ ➏ ; si ❢ ✚q✔ ➌ ➀ ➏ se acepta el estado ✭➐➑ . El ciclo

externo del algoritmo se denomina c´edula de enfriamiento, y especifica la ecua- ci´on que controla el decremento de la temperatura en el proceso. El algoritmo termina cuando la evaluaci´on de la funci´on de costo permanece aproximadamente sin cambio, despu´es de ➽ iteraciones del ciclo externo a especificar dependiendo

de la aplicaci´on en particular.

En general cualquier aplicaci´on de recocido simulado requiere de cuatro com- ponentes:

1. La configuraci´on del problema o dominio sobre el cu´al se busca la soluci´on.

2. Definici´on de la funci´on de perturbaci´on de los estados para determinar la naturaleza y magnitud de las perturbaciones permisibles.

3. Una funci´on de costo.

4. Una c´edula de enfriamiento que controla tanto al decremento de temperatu- ra como el n´umero de iteraciones del ciclo interno del algoritmo.

El dominio del problema es el plano real donde, para nuestro caso en particular, se aplicaran restricciones para los puntos de inter´es: las uniones revolutas y punto trazador del mecanismo de cuatro barras. La funci´on de costo se describe en la formulaci´on del problema.

La funci´on de perturbaci´on empleada [8] modela una envolvente circular al- rededor de cada uno de los puntos de inter´es. Para determinar la perturbaci´on de cada uno de los puntos de inter´es se generan cuatro n´umeros aleatorios; dos de ellos determinan el signo de la perturbaci´on sobre cada eje coordenado, y los dos restantes especifican la magnitud de la perturbaci´on para cada direcci´on. La magnitud de la perturbaci´on en funci´on de la temperatura del estado est´a dada por

[9]: ✲ ✪❶❖✴✳ ❙ ✍✑❖✴✳✶✵ ❴ ❙ ✺✸✷ ❂ Ô ➌✹✥ ❣✻✺✹✼✾✽❃❣✻✿ ✺ ✥❁❀✴Ö ☞ ❣✻✿ ➏ ✷ ❂ Ô ➌✹✥➊Ö ☞ Ö ✺ Ö ❣✻✿ ✺ ✥❁❀✴Ö ☞ ❣✻✿ ➏ ❛ (3.4)

En el ciclo externo del algoritmo de recocido simulado se establece lac´edula de enfriamientodonde se especifica [1]:

La secuencia finita de valores del par´ametro de control incluyendo:

Elvalor inicialdel par´ametro de control✥➊Ö

☞ Ö ✺ Ö ❣✻✿ .

La funci´on de decremento para disminuir el valor del par´ametro de control

Elvalor finaldel par´ametro de control especificado por elcriterio de paroseleccionado.

El n´umero finito de transiciones para cada valor del par´ametro de control, es decir, lalongitudde cada una de las cadenas de Markov.

Las c´edulas de enfriamiento se pueden dividir en dos clases: aquellas donde se var´ıa el n´umero de iteraciones del ciclo interno (longitud de las cadenas de Mar- kov) y un decremento fijo de temperatura; y las que tiene un n´umero fijo de ite- raciones del ciclo interno y tienen un decremento de temperatura variable. La c´edula de enfriamiento utilizada en el algoritmo es h´ıbrida donde la temperatu- ra y el n´umero de iteraciones del ciclo interno var´ıan continuamente durante el proceso de recocido.

El ciclo externo se determina como un factor de decremento constante:

✥❁Ö❃❂➊✝

↕❄✥❁Ö (3.5)

con ↕ ✪✣❖✴✳❅✵

. Adem´as la temperatura durante el ciclo interno se modifica propor- cionalmente al valor ´optimo actual de la funci´on de costo; por lo que al aceptar un estado en el ciclo interno ê, la temperatura se cambia conforme a:

✥❁Ö ✪❇❆ ➀ Ö ➀ ❣ ☞ ✼❃❈❊❉ Ö●❋ ❉■❍ ✥ ❣ ☞ ✼❃❈✤❉ Ö✾❋ ❉ (3.6) donde➀ ❣ ☞ ✼❃❈✤❉ Ö✾❋ ❉ y✥ ❣ ☞ ✼❃❈❊❉ Ö✾❋ ❉

son el costo y la temperatura del ´ultimo estado aceptado respectivamente. Como el estado de equilibrio se logra m´as r´apido a altas tem- peraturas, es decir con menos iteraciones del ciclo interno, se utiliza la siguiente funci´on para aumentar el n´umero de iteraciones del ciclo interno para cada tem-

peratura: ❏ Ö ☞ ✼ ✪ ò▲❑ ✏ ✝ ✼ ✍✏▼ ✲ ✟ ✍✜❖✴✳ ÷ (3.7) donde ✲

es el factor de decremento dado por la ecuaci´on 3.4 yò▲❑

es el n´umero de grados de libertad en el sistema para la optimizaci ´on, igual al producto del n´umero de puntos de inter´es por la cantidad de n´umeros aleatorios que se generan para calcular la perturbaci´on de cada punto de inter´es.

La temperatura inicial se debe seleccionar de modo que el sistema tenga su- ficiente energ´ıa para visitar todo el espacio de soluci´on. Se puede decir que el

sistema tiene suficiente energ´ıa si un gran porcentaje de las transiciones entre es- tados es aceptado, un 80 % por ejemplo. Si con el primer valor propuesto par la temperatura se obtiene un porcentaje de aceptaci´on menor al especificado la temperatura inicial✥❁Ö ☞ Ö ✺ Ö ❣✻✿

puede escalarse linealmente y repetirse el proceso. El algoritmo de todas formas llegar´a a una soluci´on aceptable; solamente es menos eficiente en cuanto al uso de los recursos de computo.

Como criterio de paro adicional al que indica convergencia a un m´ınimo glo- bal, se puede especificar la temperatura final mediante la expresi´on:

✥❁❀✴Ö ☞ ❣✻✿ ✪ ↕✯◆ ❭ ➆P❖ ❭✙◗✫❘▼❳ ✥➊Ö ☞ Ö ✺ Ö ❣✻✿ (3.8) donde ❏ ❈➙➇✜✼❃❈✤❉ ☞

❋ es el n´umero de iteraciones del ciclo externo.

En cuanto al proceso de soluci´on que sigue el algoritmo de recocido simulado, resaltan las siguientes caracter´ısticas: cuando se tienen altos niveles de temperatu- ra, se aceptan grandes cambios en el sistema; conforme el valor de la temperatura disminuye se aceptan estados con cambios m´as peque˜nos y por ´ultimo cuando el valor de la temperatura tiende a cero, ya no se aceptan cambios en el sistema [1].

Documento similar