Método Ant Colony Julián Marín Martínez Índice Repaso Introducción Modelado Pseudocódigo Paralelizar Estrategia síncrona Estrategia parcialmente asíncrona Migración de individuos Pseudocódigo paralelo Conclusiones Aplicación a nuestro problema Repaso Introducción AS (Ant System) método consiste en simular la comunicación indirecta que utilizan las hormigas para establecer el camino más corto desde su nido hasta la fuente de alimento y regresar. Para muchos de los problemas tratados, Ant System proporciona resultados comparables con los mejores obtenidos con otras heurísticas. Exploración paralela del ambiente. Repaso Modelado Feromona: Coordinación indirecta por medio de los rastros de feromona. Las hormigas, durante el proceso de búsqueda, almacenan información como rastros de feromona asociados a los arcos. Repaso Modelado Individuos u hormigas: AS se inspira en observaciones de las hormigas. Ciclo de vida: Comienzo Desplazamiento Final Muerte Decisión del individuo condicionada a el valor de la feromona y las restricciones del problema Repaso procedure ACO meta-heuristic() while (criterioDeTerminacionNoSatisfecho) acciones ants_generation_and_activity(); pheromone_evaporation(); daemon_actions(); [opcional] end acciones end while end procedure Repaso Procedure Ants_Generation_And_Activity() While (AvailableResources) schedule_creation_of_new_ant(); new_active_ant(); End While End Procedure Paralelización Estrategias de paralelización Implementación paralela síncrona: Un proceso inicial (maestro) lanza a un conjunto de procesos proceso inicial lanza hijos, uno para cada hormiga. Cada proceso inicia su ejecución hijos encontrando una solución parcial al problema. Después de resultados son Después terminar este procedimiento, los terminar resultados enviados al proceso inicial, encargado de actualizar el nivel de enviados feromonas y recalcular la matriz de feromonas. Se inicia una nueva iteración con el envío de la nueva matriz de nueva iteración feromonas. Paralelización Estrategias de paralelización Implementación paralela parcialmente asíncrona: Se propone reducir el espera en la reducir tiempo muerto producido por la tiempo muerto espera sincronización de la comunicación. sincronización Cada hormiga iteraciones del hormiga realiza un cierto número de realiza iteraciones algoritmo, independientemente de las otras hormigas. Solo después de estas iteraciones locales, se realiza una después iteraciones sincronización global entre las hormigas. sincronización global El proceso inicial actualiza el nivel de feromonas y se inicia el proceso inicial actualiza feromonas proceso de nuevo. Paralelización Estrategias de paralelización Implementación paralela parcialmente asíncrona: Paralelización Estrategias de paralelización Implementación paralela parcialmente asíncrona: Migración de los individuos a otros procesadores El intervalo de migración: que establece cada cuantos ciclos, cierta cuantos ciclos cantidad de hormigas migrarán de un procesador a otro. La tasa de migración: que indica cuantas cuantas hormigas han de hormigas comunicarse al otro procesador cuando se cumpla el intervalo de migración. El criterio de selección: que determina la política de política selección de las selección hormigas que han de migrar. Normalmente se elegirán las hormigas hormigas que hayan obtenido las mejores soluciones. Pseudocódigo Implementación parcialmente asíncrono Maestro 1. Fase de inicialización Lanzar procesos Enviar parámetros a cada proceso hijo Fin= Falso 2. Repetir mientras no sea Fin Recibir solución de los esclavos Guardar mejor solución, Actualizar estructura de datos Si todos los procesos terminaron Fin= Verdadero 3. Eliminar procesos esclavos Pseudocódigo Implementación parcialmente asíncrono Proceso esclavo 1. Fase de inicialización Recibir parámetros Escoger hormigas a migrar. Enviar hormigas a otros procesos Inicializar variables Recibir hormigas de otros procesos 2. Repetir mientras (NC < NC max And hormigas no realicen = recorrido) Mover hormigas hasta completar el recorrido Calcular distancia para cada hormiga sobrevivirán Actualizar matriz de feromonas Guardar camino más corto 3. Enviar mejor solución al master. Seleccionar las hormigas que Conclusiones Diversas alternativas para la palalelización del algorítmo. Buen desempeño del método con un número creciente de procesadoes y/o ordenadores en red. Factible para problemas que cambian en el tiempo. Fácil de paralelizar. Adaptación a nuestro problema Implementación parcialmente asíncrono: Procesador Maestro Procesos Hijos Tasa de migración del individuo cercana al 10-20% Adaptación a nuestro problema Implementación parcialmente asíncrono: Posible problema: Retardo por demasiada comunicación entre procesadores al migrar los individuos entre procesadores. Posible solución: Aumentar el intervalo de migración. Disminuir la tasa de migración. Implementación del método asimétrico sin migración de individuos a otros procesadores. Preguntas ¿?