Ant Colony Optimization (Parte II)
Dr. Guillermo Leguizamón
CINVESTAV, Julio 2010
Familia de algoritmos derivados del enfoque ACO
Familia de los principales algoritmos
ACO • MaxMin-AS (control sobre los valores del rastro)
• AS-rank (ranking de soluciones)
• AS-elistim (sólo la mejor solución)
• Ant Colony System (ACS)
• Ant-Q (basado en Q-Learning)
Algoritmos ACO
• MaxMin-AS: Ant System con valores Mínimos y Máximos para los valores del rastro de feromona
¿Qué puede ocurrir si no se controlan los valores del rastro de feromona?
¿Qué relación se puede establecer entre un incremento (decremento) indiscriminado del rastro y el comportamiento del algoritmo?
Valores extremos o nulos del rastro
1 5
2
43
MaxMinAS
Inicializar();for c=1 to Nro_ciclos{ for k=1 to Nro_ants ant-k construye solución k; Guardar la mejor solución; Actualizar Rastro (i.e., ij);
Reubicar hormigas para el próximo ciclo;}Imprimir la mejor solución encontrada;
Se controlan los valores Máximo y Mínimos
Algoritmos ACO
• AS-rank: Ant System que usa un ranking de las mejores soluciones para realizar la actualización del rastro.
¿Qué relación se puede establecer entre esta manera de actualizar el rastro y el comportamiento del algoritmo?
AS-rank
Inicializar();for c=1 to Nro_ciclos{ for k=1 to Nro_ants ant-k construye solución k; Guardar la mejor solución; Realizar un ranking; Actualizar Rastro (i.e., ij);
Reubicar hormigas para el próximo ciclo;}Imprimir la mejor solución encontrada;
Se actualiza el rastro siguiendo el ranking de las mejores soluciones
Actualización del Rastro en
AS-rank
w: pesor: índice del rankingb: best-so-far
ijb
w
rij
rij wrwt
1
1
)()1(
)1()()1()1( ttt ijijij
Algoritmos ACO
• AS-elitism: Ant System que usa complementariamente la mejor solución encontrada hasta el momento para dar un resfuerzo adicional.
¿Qué relación se puede establecer entre esta manera de actualizar el rastro y el comportamiento del algoritmo?
Actualización del Rastro en
AS-elitism
w: pesor: índice del rankingb: best-so-far
ijb
NroAnts
kij
kij et
1
)1(
)1()()1()1( ttt ijijij
Algoritmos ACO
Ant Colony System: Un algoritmo ACO que es una extensión de un AS e introduce:
1. un esquema local y global de actualización del rastro y, 2. una manera alternativa de selección de la próxima componente
Ant Colony System (ACS)
1. Actualización del rastro
• LOCAL: Cada vez que una hormiga avanza en el grado deja un rastro muy pequeño sin considerar la calidad de la solución.
• GLOBAL: (idem AS, es decir, después que termina un ciclo)
0)1( ijij
ij
)1()()1()1( ttt bijij ij
Ant Colony System (ACS)
2. Selección de la próxima componente de la solución:
ij
casootroenPUsar
qqj
ij
ojij }{maxarg
La usada en un AS con =1
Ant Colony System (ACS)
casootroen
sNoVisitadajkP
sNoVisitadahihih
ijij
ij
0
)(
Es decir que hay una combinación de greedy y proporcional.
NOTA: La parte greedy es sobre los valores combinados de rastro y heurística
ACS
Inicializar();for c=1 to Nro_ciclos{ for k=1 to Nro_ants ant-k construye solución (Actualización LOCAL) Guardar la mejor solución; Realizar un ranking; Actualización GLOBAL Rastro;
Reubicar hormigas para el próximo ciclo;}Imprimir la mejor solución encontrada;
Posibilidades de Paralelización
• División en subcolonias (distribuido)
• Muliprocesamiento (Memoria Compartida)
• Otros....
FIN
Parte II