Recocido Simulado (RS) Optimización Heurística Recocido Simulado Problema de la búsqueda local: Como siempre trata de mejorar, se atora en los máximos locales Idea: Escapar de máximos locales permitiendo movimientos malos. Pero gradualmente disminuir su tamaño y frecuencia. Explota una analogía entre el proceso de recocido y la búsqueda por un óptimo en un sistema más general Analogía de la bola de ping-pong: pong: Sacudir fuerte (= alta temperatura). Sacudiendo menos (= reducción de temperatura). Aplicaciones: problemas de distribución en VLSI, programación de vuelos, etc. 1
Proceso de recocido Incremento de la temperatura hasta un nivel muy alto (temperatura de derretimiento, por ejemplo), los átomos tienen un estado de más alta energía y una alta posibilidad de re-arreglar la estructura cristalina. Enfriamiento lento, los átomos tiene un estado cada vez más bajo de energía y una posibilidad cada vez más baja de re-arreglar la estructura cristalina. Recocido simulado Analogía Metal Problema Sistema de estados Soluciones factibles Nivel de energía Función de costo Cambio de estado Solución vecina Temperatura Parámetro de control Un ordenamiento completo de la estructura cristalina la solución óptima del problema La solución óptima global puede ser lograda si el proceso de enfriamiento es suficientemente lento 2
Ciclo Metrópolis Es la característica esencial del recocido simulado Determina como explorar aleatoriamente nuevas soluciones, rechazándolas o aceptándolas a una temperatura constante T. El proceso de movimiento de un estado al siguiente es repetido por un número de iteraciones en la misma temperatura Es terminado hasta que se logra el equilibrio. Criterio Metrópolis Supongamos que X es la solución actual y que X es la nueva solución C(x) (C(x )) es el estado de energía (costo) de x (x ) La probabilidad Paceptar = exp [(C(x)-C(x ))/ T] Supongamos que N=Random(0,1) Aceptar incondicionalmente X si C(x ) < C(x), la nueva solución es mejor Probablemente aceptar X si C(x ) >= C(x), la nueva solución es peor. Aceptada solo cuando N < Paceptar 3
Algoritmo básico Inicializar la solución inicial x, la temperatura más alta T h, y la temperatura más pequeña T la temperatura más pequeña T l T= T h Cuando la temperatura T es más alta que T l Mientras no se llegue al equilibrio Buscar la nueva solución X Aceptar o rechazar X de acuerdo al criterio Metrópolis Fin Reducir la temperatura T Fin Requerimientos para uso de RS Representación de solución Mecanismo de búsqueda, o sea, la definición de vecindario Función de costo 4
Parámetros de control Determinación de la temperatura Artificial, sin significado físico Temperatura inicial Suficientemente caliente para lograr que la solución final sea independiente de la solución inicial 80-90% de la razón de aceptación Temperatura final Un valor constante, o sea, basada en el número total de soluciones buscadas No mejora durante el ciclo Metrópolis entero La razón de aceptación ha caído debajo de un valor (pequeño) Específica al problema y puede necesitar ser calibrada Parámetros de control Definición de equilibrio No se puede producir ninguna mejora significante después de cierto número de iteraciones Un número constante de iteraciones El número de iteraciones no debe ser mucho menor que el tamaño del vecindario Programa de recocido (o sea, cómo reducir la temperatura) Un valor constante, T = T - T d Un factor de escala constante, T = T * R d Un factor de escala usualmente puede lograr mejor desempeño 5
Ejemplo Problema del Vendedor Viajero (PAV) Dadas 6 ciudades y el costo de viajar entre cada dos ciudades Un vendedor viajero necesita iniciar desde la ciudad d 1 y visitar it todas las otras ciudades d regresando a la ciudad 1 Minimizar el costo total de viaje Ejemplo Representación de la solución Una lista de enteros, o sea, (1,4,2,3,6,5) Mecanismo de búsqueda Intercambiar dos enteros cualquiera (exceptuando el primero) (1,4,2,3,6,5) 2365) (1,4,3,2,6,5) 3265) Función de costo Suma de los costos de viajar entre las ciudades vecinas de la trayectoria 6
Ejemplo Temperatura Determinación de la temperatura inicial Alrededor del 80% de la razón de aceptación para un mal movimiento Determinación de aceptable (C new C old ) Determinación de la temperatura final Criterio de paro Razón de cobertura del espacio de solución Programa de recocido Número constante (por ejemplo 90%) Dependiendo de la razón de cobertura del espacio de solución Otros El óptimo global es posible, pero cerca del óptimo es práctico Calibración de parámetros Aarts, E. and Korst, J. (1989). Simulated Annealing and Boltzmann Machines. John Wiley &Sons Sons. No es fácil implementarlo paralelamente Generador aleatorio 7
Mejoras y modificaciones Se pueden utilizar otras funciones para aceptar malos vecinos para acelerar su cálculo o mejorar su calidad, por ejemplo la aproximación discreta 1 d/t Diferentes programas de enfriamiento pueden ser usados en diferentes fases (el trabajo más útil es hecho en la mitad del programa) Se puede recalentar si no se observa progreso El enfriamiento puede realizarse cada vez que se acepta un vecino (o varios) haciendo el ciclo interno dinámico. Mejoras y modificaciones La estructura del vecindario puede ser ajustada (comúnmente restringida) conforme la temperatura se reduce. El muestreo del vecindario puede hacerse cíclico en lugar de aleatorio Puede usarse una función de costo aproximada para reducir el tiempo de cálculo El espacio de solución puede ser restringido 8