Simulated Annealing Rafael Fernández Fernando García.

Slides:



Advertisements
Presentaciones similares
PROBLEMA DEL TRANSPORTE
Advertisements

Inteligencia Artificial
Diseño y análisis de algoritmos
Inteligencia Artificial
Inteligenica Artificial I Alejandro Permingeat Inteligencia Artificial de Russell y Norving 1° edición 1996 Parte II Capítulo V.
Diseño óptimo de recorridos y frecuencias para transporte público
NUMERO DE CONTROL: NOMBRE DEL TRABAJO: MAPA CONCEPTUAL
SECUENCIACION DE N TRABAJOS EN UN CENTRO DE TRABAJO.
Grupo 4 Matías Melgar Pablo Carbonell
Inteligencia Artificial Búsqueda informada y exploración
Instituto Tecnológico De Villahermosa
Investigación de Operaciones II
Si usted no conoce desde que punto en la ciudad un cliente solicita sus servicios ni en que momento, no puede generar a priori las rutas para sus vehículos,
KRIGING.
Inteligencia Artificial Búsqueda informada y exploración
MODULO TSP El TSP (Traveling Salesman Problem) se refiere al caso en que tenemos un solo depósito, un solo vehículo, N clientes que requieren servicio.
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Introducción a las Metaheurísticas
Pablo Musso ARTech Algoritmos Genéticos con GeneXus.
Estrategias de administración de recursos de radio en un sistema 3G INTEGRANTES: David Balseca Del Campo Francisco Andrade Briones.
Eidelman, Adrián Pablo Valdez Lerena, Alejandro
Modelos de Programación Entera - Heurísticas
Propuesta del algoritmo
Métodos Constructivos Gladys Maquera I COPIOS 03 al 05 de noviembre de 2009.

Universidad de los Andes-CODENSA
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
Integrantes: Allan Peñafiel Mera Cristóbal Villao Mendoza
Universidad de los Andes-CODENSA
Investigación Algorítmica
Problemas de Decisión y Optimización
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diplomado en Logística de Negocios
Complejidad de los problemas de decisión
Sesión 6: Campos de Markov
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Optimización matemática Algoritmo de Búsqueda Tabú Por: Antonio H
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
MÉTODO DE PIXELES DE BORDE
Bogotá, 14 de Febrero 2008 EL USO DE LA TECNOLOGÍA DE RUTEO PARA LA OPTIMIZACIÓN EN REPARTO.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
“A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, Problema: Como distribuir.
Diseño geodésico II II semestre, 2014
Grupo Continental Control de Procesos.
Experimentación Numérica
3- PROGRAMACION LINEAL PARAMETRICA
Programación Lineal Método Grafico
EVALUACIÓN ARTÍCULO Andrés Jaque Pirabán.
Tema 10: Algoritmos voraces
TEMA 5: El problema del flujo con costo mínimo
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Francisco Gamboa Herrera Tanya Pérez Herrera 26 Noviembre 2010.
Búsqueda en Vecindades Variables (Variable Neighborhood Search - VNS)
Modelación Matemática en la Distritación Miguel Ángel Gutiérrez Andrade Universidad Autónoma Metropolitana.
Investigación Algorítmica
Sesión 6: Campos de Markov. © L.E. Sucar: PGM - CAM2 Campos de Markov Introducción –Modelo de Ising Representación –Tipos de Modelos –Redes de Markov.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
2.3.4) OFERTA: Minimización de los costos. Curvas de costo  Según cómo se comporte la productividad del factor variable, así se comporta el costo variable.
Investigación Algorítmica
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
INFERENCIA ESTADÍSTICA
Company LOGO Fertiarg SISTEMA DE LOGISTICA PARA ENTREGA INTELIGENTE DE FERTILIZANTE LOGSMS.
Programación Lineal Método Simplex.
Modelos de Ruteo de Vehículos
Transcripción de la presentación:

Simulated Annealing Rafael Fernández Fernando García

Simulated Annealing Fundamento teórico. –Aplicación (Dial-A-Ride) Variantes de SA. –TA (Threshold accepting) –GDA (Great deluge algorithm) –RRT (Record-to-Record Travel) –Aplicacion. (TSP) Concluciones.

Fundamento Teórico Definir vecindad. Estrategia de exploración en la vecindad. Estrategia de enfriado. Condición de parada.

Fundamento Teórico Definir vecindad: Una estructura de vecindad es una función  :  2 , el cual define para cada S , un conjunto  (S)   de soluciones llamadas “vecinas” de S. El conjunto  (S) se llama “vecindad” de S y cada elemento S´  (S) es una solución “vecina” de S.

Fundamento Teórico Estrategia de exploración en la vecindad. Para cierto t Seleccionar aleatoriamente una sol. j en vecindad(i). Sea Δ = f(j) – f(i) Si Δ > 0 entonces i = j Sino generar aleatoriamente q  U(0,1) Si q < exp(Δ/t) entonces i = j Sino generar aleatoriamente q  U(0,1) Si q < exp(Δ/t) entonces i = j

Fundamento Teórico P = exp(x/t)

Fundamento Teórico Estrategia de enfriado : – Se elije una temperatura inicial (To). – Función de enfriamiento g(t) (actualización: de t) – Función de equilibrio.

Fundamento Teórico Condiciones de parada. –Temperatura mínima del sistema. –Cantidad de iteraciones. –No se obtiene una solución mejor después de varias iteraciones.

Fundamento Teórico Repetir Repetir (para cierto t) Hasta llegar a equilibrio. Actualizo la temperatura (t = g(t)). Hasta condición de parada. Selecciona aleatoriamente una sol. j en vecindad(i). Sea Δ = f(j) – f(i) Si Δ > 0 entonces i = j Sino generar aleatoriamente q  U(0,1) Si q < exp(Δ/t) entonces i = j

Simulated Annealing Fundamento teórico. –Aplicación (Dial-A-Ride) Variantes de SA. –TA (Threshold accepting) –GDA (Great deluge algorithm) –RRT (Record-to-Record Travel) –Aplicacion. (TSP) Concluciones.

Aplicación SA Dial-A-Ride Definición del probema DaR. –Conjunto de nodos r  R con distancias d ij entre los nodos i,j = 1,...,r –Conjunto de clientes n  N tal para cada cliente k (k=1,...,n) definimos: El nodo i k “pick-up” y  1 k el tiempo mas temprano de “pick- up”. El nodo j k de entrega y  2 k el tiempo mas tardío de entrega. Opcionalmente  k numero de pasajeros. –Flota de servicio M de m vehículos con capacidad q L y nodo de deposito i L (L= 1,...,m).

Aplicación SA Dial-A-Ride Función objetivo: –F(a maximizar) = calidad de servicio medido por el promedio de la calidad de servicio aceptado por los clientes. Que es la calidad de servicio: –Una medida razonable de calidad de servicio para el cliente k es la relación entre la suma del tiempo de espera y viaje entre el tiempo de viaje teórico desde el nodo i hasta el j.

Aplicación SA Dial-A-Ride Ejemplo: Cliente K solicita pedido a las 8hs (  1 k =8) El vehículo m recoge la carga a las 13hs (  ik =13) y la deja a las 16hs (  jk =16). El tiempo teórico de ir del nodo i a j es de 2 hs (  ik,jk =2) los k = (  jk -  1 k ) /  ik,jk = (16-8) / 2 = 4

Aplicación SA Dial-A-Ride Rango de los los k : 1 <= los k <= GLOS k = 1,...,n GLOS es un cota superior que representa un nivel de calidad mínima garantizada a los clientes. Finalmente podemos expresar nuestra función objetivo como :

Aplicación SA Dial-A-Ride Restricciones a cumplir en el modelo. –Nodo de “pick-up” i k debe preceder al de entrega j k para cada cliente k. –Cliente k es aceptado si hay un vehículo l que permite los k <= GLOS. –Para un vehículo l los tiempos  ik e  jk cumplen:  1 k <=  ik <=  jk -  ik,jk <=  2 k -  ik,jk –La capacidad de un vehículo l siempre es satisfecha –Solo se considera el tiempo de servicio durante 1 día.

Aplicación SA Dial-A-Ride Al llegar una nueva llamada k: A) Asigno la llamada al mejor vehículo (fase de asignación) B) la nueva ruta de ese vehículo es seleccionada (fase de ruteo)

Dial-A-Ride i = solucion aleatoria Repetir Repetir (para cierto t) Selecciona aleatoriamente una sol. j en vecindad(i). Sea Δ = f(j) – f(i) Si Δ < 0 entonces i = j Sino generar aleatoriamente q  U(0,1) Si q < exp(Δ/t) entonces i = j Hasta llegar a equilibrio Actualizo la temperatura (t = g(t)). Hasta condición de parada. j = Cambio pareja de nodos de i For h = 1 to 10 endfor t = 0.95*t =TRUE ; l=i; Si f(j) < f(l) entonces l=j Si Δ < 0 entonces i = j; =FALSE Si q < exp(-Δ/t) entonces i = j ; =FALSE Hasta i = mejor solucion para el cliente (k-1)

Simulated Annealing Fundamento teórico. –Aplicación (Dial-A-Ride) Variantes de SA. –TA (Threshold accepting) –GDA (Great deluge algorithm) –RRT (Record-to-Record Travel) –Aplicacion. (TSP) Concluciones.

Variantes de Simulated Annealing Variantes de S.A. –TA (Threshold accepting) –GDA (Great deluge algorithm) –RRT (Record-to-Record Travel)

Threshold accepting Estrategia de exploración en la vecindad. Para cierto threshold T Seleccionar aleatoriamente una sol. j en vecindad(i). Sea Δ = f(j) – f(i) Si Δ > -T entonces i = j

Threshold accepting Acepta nuevas soluciones que no son mucho peores que la vieja solución. No se precisa temperatura inicial ni esquema de enfriamiento. Solo utiliza un parámetro inicial Threshold.

Threshold accepting Elijo solución inicial (i) y threshold inicial (T). Repetir Hasta “equilibrio” disminuyo T Hasta condicion de parada. Seleccionar aleatoriamente una sol. j En vecindad(i). Sea Δ = f(j) – f(i) Si Δ > -T entonces i = j

Variantes de Simulated Annealing Variantes de S.A. –TA (Threshold accepting) –GDA (Great deluge algorithm) –RRT (Record-to-Record Travel)

Great Delugue Algorithm Estrategia de exploración en la vecindad. Para cierto nivel_de_agua Seleccionar aleatoriamente una sol. j en vecindad(i). Si f(j) > nivel_de_agua entonces i = j nivel_de_agua := nivel_de_agua + velocidad_lluvia

Great Delugue Algorithm Solo se precisa determinar el parámetro de velocidad_lluvia. Fácil de implementar. Sólo acepta la nueva solución si se encuentra sobre el nivel_del_agua.

Great Delugue Algorithm Elijo solución inicial (i) Elijo velocidad_lluvia (v_l) > 0 y nivel_de_agua > 0 Repetir Repetir (para cierto nivel_de_agua) Hasta llegar a equilibrio Hasta condición de parada. Seleccionar aleatoriamente una sol. j en vecindad(i). Si f(j) > nivel_de_agua entonces i = j nivel_de_agua := nivel_de_agua +v_l

Variantes de Simulated Annealing Variantes de S.A. –TA (Threshold accepting) –GDA (Great deluge algorithm) –RRT (Record-to-Record Travel)

Record-to-Record Travel (RRT) Estrategia de exploración en la vecindad. record = mejor solución Seleccionar aleatoriamente una sol. j En vecindad(i). Si f(j) > (record – desviación) entonces i = j Si f(j) > record entonces record = f(j)

Record-to-Record Travel (RRT) Solo se precisa determinar el parámetro de desviación. Fácil de implementar. Recuerda la mejor solución (record) en todo momento. Sólo acepta la nueva solución si está por encima de (record – desviación).

Record-to-Record Travel (RRT) Elijo solución inicial (i), elijo desviación > 0. Seteo la mejor solución (record = i). Repetir Hasta llegar a equilibrio. Hasta condición de parada. Seleccionar aleatoriamente una sol. j en vecindad(i). Si f(j) > (record - desviación) entonces i = j Si f(j) > record entonces record = f(j)

Aplicaciones Grotschel´s 442 ciudades (TSP Euclidiano) Problema: Dada las coordenadas de N ciudades, busco un recorrido que visite todas las ciudades minimizando el costo.

Aplicaciones ¿Como modelar el problema?  (1, 5, 4, 3, 2)

Aplicaciones ¿Como defino una vecindad? LIN-2-OPT Elijo i, j  C, i < j Elimino las aristas { (  (i),  (i+1)), (  (j),  (j+1)) } Inserto las aristas { (  (i),  (j)), (  (i+1),  (j+1)) }  0 (1, 5, 4, 3, 2) Corrida: i = 1 j = 4  1 (1, 3, 4, 5, 2)

Ejemplo (aplicado a TA) Elijo solución inicial (i) Threshold inicial (T). Repetir Seleccionar aleatoriamente una sol. j en vecindad(i). Sea Δ = f(j) – f(i) Si Δ < T entonces i = j Hasta “equilibrio” disminuyo T Hasta condicion de parada Seleccionar un conjunto de nb ciudades cercanas para cada ciudad Elijo un  inicial For T = to 0 step Para cada ciudad c1 Para cada ciudad c2 cercana a la ciudad c1 j = lin-2-op (i, c1, c2) )  = largo(j) – largo (i) End para cada ciudad c1 End para cada Threshold

Resultados para 442 ciudades con largo del recorrido inferior a El largo de la solución optima es: 50.80

Resultados para 532 ciudades con largo del recorrido inferior a El largo de la solución optima es:

Conclusiones Heurísticas fáciles de aplicar e implementar. Los resultados obtenidos con estas heurísticas son buenos. SA es muy sensible a la elección del esquema de enfriamiento. TA, GDA y RRT son “mejores” y sólo dependen de un único parámetro.

?