2. Agenda
• Porque las Meta heurísticas & Clases de Meta heuristicas
• Recocido : Tratamiento termico para metales
• Orígenes del Recocido Simulado
• Porque usar Recocido Simulado…?
• Notas de Desempeno del Metodo de Recocido Simulado
• Aplicaciones típicas en modelos combinatorios
• Racional básico y Algoritmo base
• Modelo de codificacion del Algoritmo base
• Problema del agente viajero : Descripción & Desarrollo
• Conclusiones
• Referencias
3. En la medida que los problemas de Optimizacion exigen modelos de mayor complejidad,
las herramientas de solucion exacta exigen mayores recursos computacionales
demandando mayor tiempo y dinero.
Lo anterior hace que se desarrollen metodos alternos de optimizacion, llamados
Heuristicos, que aunque no lleguen al optimo global, se acercan satisfactoriamente a la
solucion que se busca; sinembargo presentan cierta dificultad para “escapar” a los
optimos locales desviandose en ocasiones de la solucion optima.
Dado lo anterior se dio el desarrollo de los llamados metodos Meta Heuristicos, los
cuales, aunque no llegan a la solucion optima del modelo, se acercan razonablemente
bien, escapando adecuadamente de las “trampas” de los optimos locales
Porque las Meta heurísticas…
(Castro, 2016)
4. Clases de Meta heurísticas…
(Ali, 2014)
(Wankar, 2017)
El Recocido Simulado tambien se
conoce como:
• Recocido Montecarlo
• Enfriamiento Estadistico
• Ascenso Probabilistico
• Relajacion Estocastica
• Algoritmo de intercambio
probabilistico
5. Recocido : Tratamiento termico para metales
Tratamiento de Recocido
https://youtu.be/OSyeaHys2vk**Temperatura maxima alcanzada es del orden de 750°C
• El recocido es un proceso fisico que busca
endurecer el metal
• Inicia a una temperatura muy alta y se
enfria lentamente
• Se enfria lentamente a fin que los atomos
vayan disminuyendo la variabilidad de
movimiento y vayan adoptando una
orientacion estable (equilibrio termico)
(Ali, 2014)
6. Orígenes del Recocido Simulado
• Los primeros autores que trataron de describir este metodo se situan en la decada de los 80’s y se
mencionan entre ellos principalmente a Scott Kirkpatrick, Daniel Gelatt, Mario Vecchi y Vlado Cerny.
• El recocido simulado es tal vez la Meta Heuristica de mas amplio despliegue y uso en problemas de
optimizacion combinatoria.
• Se motiva su uso por la analogia entre el proceso fisico del recocido y el proceso de identificacion de
una solucion optima en problemas de optimizacion combinatoria
• El principal objetivo del Recocido Simulado es el de “escapar” de los optimos locales evitando atrasos
en el proceso de convergencia hacia un optimo global. (Ali, 2014)
Convergencia del proceso de Recocido Simulado
(Ghosh, 2010)
7. Porque usar Recocido Simulado…?
(Netreba, 2010)
(Larsen, 2014)
• El metodo puede manejar sistemas complejos y funciones
de costo
• Es relativamente facil de codificar, incluso en sistemas
complejos
• Generalmente llega o converge en una “buena solucion”
• Ausencia de restricciones en la forma de minimizar
funciones
8. Notas de desempeno del Metodo Recocido Simulado
(Ghosh, 2010)
(Wankar, 2017)
• Se puede considerar como un metodo general de optimizacion para un gran
numero de problemas
• La “calibracion” de los parametros de arranque es relativamente facil de
desarrollar
• Generalmente la calidad de los resultados logrados es buena aunque no es muy
eficiente en tiempo
• Los resultados conseguidos no son generalmente reproducibles de una ejecucion
a otra; dos corridas pueden tener resultados diferentes
• El recocido simulado es generalmente mejor que los metodos de busqueda en
vecindad, especialmente en situaciones donde los optimos locales son
numerosos.
• El recocido simulado garantiza que llegara a converger en una solucion si el
numero de iteraciones programada es suficiente
9. Aplicaciones típicas en modelos combinatorios
Programacion
Asignacion
cuadratica
Asigancion de
Frecuencias
Car Pooling
Problemas de maximo
ciclo
Programacion de
Recursos en Proyectos
Restringidos
Ruteo de vehiculos
Organizacion de turnos
(enfermeras/Caddies)
Redes Neutras Inferencia Gramatical
Agente Viajero Bases de Datos Diseno de Redes
Redes de
telecomunicaciones
Optimizacion Global
Particion de Circuitos
Problema de la
Mochila
Asignacion de colores
Problemas de
Recuperacion de
Distribuciones
Problemas de
Stisfaccion de
Restricciones
10. Racional básico y Algoritmo base
1. Se procede con un varias iteraciones partiendo de una
solucion inicial 𝑿 𝒐
2. Para cada iteracion, se genera una solucion de acercamiento
(vecindad) 𝑿𝒊
3. La solucion de acercamiento (vecindad) que mejore el valor de
la funcion objetivo se aceptara siempre
4. Si la solucion de acercamiento encontrada NO mejora la
funcion objetivo, se decidira si se acepta segun probabilidad
que dependera de la temperatura 𝑻𝒊 y del valor de la variacion
(degradacion) ∆𝑬 de la funcion objetivo.
5. El simbolo 𝚬 representa la diferencia en el valor de la funcion
objetivo entre la solucion actual 𝑿 𝒏 y la solucion de
acercamiento generada 𝑿𝒊
6. La probabilidad sigue en terminos generales la distribucion de
Boltzmann como se espresa en la siguiente ecuacion:
7. Muchas iteraciones se hacen necesarias como acercamiento
a fin de ir consiguiendo los niveles de temperatura requeridos
8. La temperatura se va actualizando hasta que se consiga
satisfacer el criterio de parada
Inicio
Se randomiza de acuerdo
al valor de temperatura
actual
Descenso de la temperature
segun la tasa determinada
Se llego al
max de
intentos
para esta
temp?
Es mejor
que la
solucion
actual?
Fin
Se
alcanzo el
limite
mas bajo
de temp?
Reemplace la solucion
actual con la nueva solucion
SI
NO
SI
SI
NO
NO
11. Modelo de codificacion del Algoritmo base
Set 𝑿 = 𝑿 𝟎 ; Se genera la solucion inicial
Set 𝑻 = 𝑻 𝒎𝒂𝒙 ; Temperatura de inicio
repeat
repeat A una temperatura fija
Generate a random neighbor 𝑿𝒊 ;
△ 𝑬 = f (𝑿𝒊) - f (𝑿) ;
if △E ≤ 0 then
𝑿 = 𝑿𝒊 ; Acepta la solucion de acercmiento
else
Accept 𝑿𝒊 with probability 𝓮
△𝑬
𝑻 ;
𝑿 = 𝑿𝒊 ;
end if
until (Equilibrium condition) ej: numero de iteraciones ejecutadas a cada temperatuta T
𝛵 = g( 𝛵) ; Actualizacion de temperatura
Until (stopping criteria satisfied) ej: T < 𝑻 𝒎𝒊𝒏
Return X ;
12. Problema del agente viajero : Descripción
• Objetivo : Definir la ruta y secuencia
entre ciudades que garantice el minimo
de distancia recorrida teniendo en
cuenta:
Ruta cerrada
Solo se pasa por una ciudad una
vez
Inicia en Cartagena y termina en
Cartagena
17. Presentación de la solución : Rango de Iteraciones iniciales
• S-curve Amplitude:
Temperatura inicial (T0).
Constante de Enfriamiento
• S-curve center/ S-curve
width: Velocidad a la que
desciende la temperatura.
• Number of Iterations to Run:
Número de iteraciones a
correr.
• Draw Map Every N Iterations: Actualización de los recorridos en el mapa cada
n iteraciones.
18. Presentación de la solución : Rango medio de Iteraciones
Iteración - 62
Iteración - 473
Iteración - 112
Iteración - 805
19. Presentación de la solución : Rango final de iteraciones
Iteración - 1723
Iteración - 976 Iteración - 1204