Ant Colony Optimization

Anuncio
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
¿?
Descargar