ant colony optimization (optimización basada en el comportamiento de colonias de hormigas) una...
TRANSCRIPT
![Page 1: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/1.jpg)
Ant Colony Optimization
(Optimización Basada en el comportamiento de Colonias de
Hormigas)
Una Metaheurística Bio-inspirada
Dr. Guillermo Leguizamón
CINVESTAV – Julio de 2010
G. Leguizamón - UNSL - Argentina
![Page 2: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/2.jpg)
El enfoque ACO, marco general.
• La metaheurística ACO se sitúa dentro del campo de la “INTELIGENCIA COLECTIVA” (IC) o “SWARM INTELLIGENCE” (SI)
• Este marco presupone un conjunto de agentes que obedecen a un conjunto de reglas muy simples, pero que actuando cooperativamente, surge
un sistema mucho más complejo.
• Ejemplos: Hormigas, termitas, abejas, peces (cardúmenes), pájaros, etc.
G. Leguizamón - UNSL - Argentina
![Page 3: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/3.jpg)
Inteligencia Colectiva- Introducción
G. Leguizamón - UNSL - Argentina
“The emergent collective intelligence of groups of simple agents.”
(Bonabeau, Dorigo and Theraulaz)
![Page 4: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/4.jpg)
Inteligencia Colectiva- Introducción
G. Leguizamón - UNSL - Argentina
Muchos insectos/aves/peces sociales actuando colectivamente, son capaces de realizar comportamientos complejos, e.g., defender un nido, construir puentes y nidos, distribuir tareas, búscar alimentos, defensa contra depredadores, etc.
![Page 5: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/5.jpg)
Inteligencia Colectiva - Introducción
Algunas preguntas que surgen cuando vemos la complejidad y perfección del producto de ciertas colonias/enjambres:
- ¿Qué los gobierna?- ¿Quién emite las ordenes?- ¿Quién tiene una visión global?- ¿Quién elabora los planes?- ¿Quién preserva el equilibrio?
Parece ser que cada agente tiene sus propios objetivos, pero el resultado (construcción de un nido, puente, camino) se percibe como algo organizado y complejo.
![Page 6: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/6.jpg)
Ingeligencia Colectiva - Introducción
G. Leguizamón - UNSL - Argentina
Agentes simples (gobernados por reglas sencillas), pero masivos.
Comportamiento emergente
Auto-organización
Descentralización
Flexibilidad
Auto-reparación
Características de estos sistemas
![Page 7: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/7.jpg)
Ingeligencia Colectiva - Introducción
Auto-organización (Self-organization )
Es un conjunto de mecanismos dinámicos a partir de los cuales pueden emerger estructuras de alto nivel debido a las interacciones entre componentes de bajo nivel.
(Bonabeau et al., en Swarm Intelligence, 1999)
![Page 8: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/8.jpg)
Inteligencia Colectiva - Introducción
G. Leguizamón - UNSL - Argentina
Cooperación (no competencia)
Comunicación directa o indirecta (stigmergy)
Modelos
Algoritmos
Sist. Multi-Agente
Grupos de Robots
![Page 9: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/9.jpg)
Inteligencia Colectiva - Introducción
G. Leguizamón - UNSL - Argentina
Cine: Robótica y Ciencia Ficción (Matrix)
Un “centinela”
Swarm de centinelas en acción
![Page 10: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/10.jpg)
Inteligencia Colectiva - Introducción
G. Leguizamón - UNSL - Argentina
Más cine y escenas que capturan el concepto
![Page 11: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/11.jpg)
Inteligencia Colectiva - Introducción
G. Leguizamón - UNSL - Argentina
Algunos principios de la Inteligencia Colectiva
1. Auto-organización basada en:• intensificación de tareas vía retroalimentación positiva• balance de actividades vía retroalimentación negativa• intensificación de fluctuaciones aleatorias•múltiples interacciones
2. stigmergy , basada en:• trabajo realizado como respuesta al estado del entorno • el entorno funciona como memoria de estado de
trabajo realizado • el trabajo no depende de agentes específicos
![Page 12: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/12.jpg)
Inteligencia Colectiva - Introducción
G. Leguizamón - UNSL - Argentina
Definición de Inteligencia Colectiva Computacional (ICC) o Computational Swarm Intelligence (CSI), según
E. Bonabeau et al.: “cualquier intento de diseñar, desde una perspectiva distribuida, algoritmos o dispositivos para resolver problemas inspirados en el comportamiento de insectos u otros animales sociales”
A. Engelbrecht da una definición similar, excepto que no incluye a los dispositivos (e.g., robots).
![Page 13: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/13.jpg)
Ant Colony Optimization (ACO)
La metaheurística ACO engloba a un conjunto de algoritmos cuyo diseño está basado en el comportamiento de ciertas colonias de hormigas reales
G. Leguizamón - UNSL - Argentina
Comportamiento: búsqueda y provisión de alimentos realizando la exploración desde el nido (comportamiento forrajero).
![Page 14: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/14.jpg)
Las hormigas reales (ciertas especies) dejan un rastro (feromona) que puede ser detectado por el resto de la colonia (comunicación indirecta o stigmergy)
G. Leguizamón - UNSL - Argentina
Ant Colony Optimization (ACO)
![Page 15: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/15.jpg)
Definición: Un Algoritmo ACO es un proceso distribuido en el que un conjunto de agentes (reactivos) actúan en forma independiente y cooperan esporádicamente en forma indirecta para llevar a cabo un objetivo común.
G. Leguizamón - UNSL - Argentina
Ant Colony Optimization (ACO)
![Page 16: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/16.jpg)
ACO (Exp. Camino más corto) Alimento
Nido
G. Leguizamón - UNSL - Argentina
Ciertas especies de hormigas realizan un proceso llamado auto-catalítico, el que modifica la velocidad con que se deja el rastro de feromona.
Existen 2 tipos de catalizadores.
Positivos: aumentan la velocidad de una reacción.
Negativos: disminuyen la velocidad de una reacción (inhibidor).
![Page 17: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/17.jpg)
G. Leguizamón - UNSL - Argentina
Algunos Simuladores
•http://www.sinanerdem.net/ant-colony-simulator
•http://www.rennard.org/alife/english/antsgb.html
• http://www.mcrit.com/complexity/applets/boid.html
![Page 18: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/18.jpg)
ACO: algunos conceptos previos Antes de introducir los aspectos computacionales de la metaheurística ACO, veamos dos métodos básicos para explorar el espacio de búsqueda con elementos comunes a algunas metaheurísticas, por ejemplo:
• Búsqueda Local• Algoritmos constructivos
G. Leguizamón - UNSL - Argentina
![Page 19: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/19.jpg)
Conceptos Previos (Cont.) Búsqueda Local
• Presupone una estructura bien definida del espacio de
búsqueda (uso del concepto de vecindario). • Comienza desde una solución inicial y
repetidamente trata de mejorarla a través de cambios locales
• Cada cambio realizado le permite al método, “moverse” hacia otros puntos del espacio de búsqueda dentro del vecindario
G. Leguizamón - UNSL - Argentina
![Page 20: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/20.jpg)
Conceptos Previos (Cont.)
Vecindario de un punto en el espacio
Operador
G. Leguizamón - UNSL - Argentina
![Page 21: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/21.jpg)
Búsqueda Local: ejemplo, operador de intercambio de 2 elementos.
( 1 5 4 2 3)
( 4 5 1 2 3)( 5 1 4 2
3)
( 2 5 4 1 3)
( 3 5 4 2 1)
( ?)
( ?)
![Page 22: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/22.jpg)
Búsqueda Local: algoritmo simple
Procedure BL; S Solución_Inicial; // completa Mejora TRUE while ( Mejora ) NS Vecindario de S // aplica op
S’ Mejor(NS) // acorde al objetivo if ( S mejor que S’ ) Mejora FALSE
else S S’ end-while
return S; end-procedure
![Page 23: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/23.jpg)
Conceptos Previos (Cont.)
Algoritmos constructivos
• Las soluciones son construidas iterativamente añadiendo componentes a una solución partiendo desde una solución ‘vacía’.
• Por ejemplo, en el problema del Viajante de Comercio (TSP) la solución es construida añadiendo una ciudad tras otra incrementando la longitud del tour.
G. Leguizamón - UNSL - Argentina
![Page 24: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/24.jpg)
Conceptos Previos (Cont.)
Ejemplo de un Algoritmo constructivo
Procedure GreedyConstHeurist; Sp ElegirPrimeraComponente(Cand); while (Sp no esté completa) C ComponenteGreedy(Cand);
Sp Sp C; end-while S Sp;
return S;end-procedure
Esta parte es la que determina la “voracidad”
G. Leguizamón - UNSL - Argentina
![Page 25: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/25.jpg)
Conceptos Previos (Cont.)
• ¿Qué diferencia hay entre Búsqueda Local y un Algoritmo Constructivo?
• ¿Cómo visualizar el espacio de búsqueda para un Algoritmo Constructivo?
•¿Se pueden definir operadores para explorar dicho espacio?
G. Leguizamón - UNSL - Argentina
![Page 26: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/26.jpg)
Espacio de Búsqueda del Problema (Ejemplo, TSP)
Tamaño N=5, 5!=120 Posibles soluciones N=6, 6!=720 N=100, 100! = ? EB
Cada punto en EB es una permutación de las ciudades, e.g., (3 5 1 4 2) o (2 5 3 4 1)
3 4
2
51
G. Leguizamón - UNSL - Argentina
![Page 27: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/27.jpg)
3
1 2 54
41 25
5
51
2
21
1
1 5
1
5
5! en Total
3
4
2
1
Espacio de Búsqueda - TSPAlgoritmo Constructivo
¿Cómo elegir la rama a seguir?
G. Leguizamón - UNSL - Argentina
![Page 28: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/28.jpg)
Algunas posibilidades de expansión del árbol
1. Greedy (como en el ejemplo del algoritmo previamente mostrado)
2. Aleatorio (¿tiene sentido?)3. Greedy-random (e.g., GRASP)4. o bien, según Ant Colony
Optimization (formulación clásica del enfoque, a continuación …)
G. Leguizamón - UNSL - Argentina
![Page 29: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/29.jpg)
Consideraciones para su aplicación
• El enfoque ACO es particularmente adecuado para ser aplicado a problemas que acepten una representación vía grafo (necesario para imitar la búsqueda de un camino)
• Representación del rastro de feromona y su asociación a las conexiones entre las componentes del problema.
• Posibilidad de añadir conocimiento del problema (heurística local) para guiar junto con el rastro la construcción de las soluciones.G. Leguizamón - UNSL - Argentina
![Page 30: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/30.jpg)
Consideraciones para su aplicación
Dorigo et al. plantean el concepto de “grafo de construcción” como pre-requisito para aplicar un algoritmo ACO. La existencia de este grafo permitirá a las hormigas de la colonia, recorrer dicho grafo para la construcción de las soluciones en forma cooperativa.
G. Leguizamón - UNSL - Argentina
![Page 31: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/31.jpg)
Consideraciones para su aplicación
G. Leguizamón - UNSL - Argentina
Se define un grafo GC=(V,E) donde:
• V es el conjunto de vértices• E el conjunto de arcos que
representan las conexiones entre los vértices• C es el conjunto de componentes del
problema y puede estar asociado a V o E.
G. Leguizamón - UNSL - Argentina
![Page 32: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/32.jpg)
Consideraciones para su aplicación (ejemplo
general)
G. Leguizamón - UNSL - ArgentinaG. Leguizamón - UNSL - Argentina
FN
![Page 33: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/33.jpg)
ACO aplicado a TSP
3 4
2
51
¿dónde ubicamos al nido (N) y a la fuente de alimentos (F)?
Grafo GC =(V,E), donde V es el conjunto de n ciudades (componentes) y E las carreteras entre las ciudades (TSP simétrico) . En este ejemplo n=5
![Page 34: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/34.jpg)
ACO aplicado a TSP (Cont.)
3 4
2
51
G. Leguizamón - UNSL - Argentina
Nido: nodos elegidos aleatoriamente (e.g., 3)
FA: el último nodo luego de completada la solución (e.g., 1)
Una posible solución:
(3 5 4 2 1)
![Page 35: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/35.jpg)
ACO aplicado a TSP (Cont.)
3
G. Leguizamón - UNSL - Argentina
S=(3), C={1,2,4,5}
5
S=(3 5), C={1,2,4}
S=(3 5 4), C={1,2}
S=(3 5 4 2), C={1}
S=(3 5 4 2 1), C={}
4
2
1
S=(), C={1,2,3,4,5}
Solución
Inicial
Componentes
Candidatas
Al momento de decidir la próxima ciudad a visitar, ¿cuáles serán los opciones para cada hormiga? Veamos el caso de una hormiga particular:
![Page 36: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/36.jpg)
• Representación del rastro de feromona puede ser realizado a través de una matriz de números reales () de nn.
• Heurística local (visibilidad): 1/dij, es decir, un valor
inversamente proporcional a la distancia entre las ciudades i y j.
G. Leguizamón - UNSL - Argentina
ACO aplicado a TSP (Cont.)
![Page 37: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/37.jpg)
G. Leguizamón - UNSL - Argentina
3 4
2
51
τ: matriz de feromona
τij indica fortaleza de la conexión (i,j)
1
1
2
2 3
34
4
5
5
ACO aplicado a TSP (Cont.)
![Page 38: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/38.jpg)
3
1 2 54
41 25
5
51
2
21
1
1 5
1
5
3
4
2
1
Espacio de Búsqueda - TSP
Algoritmo ACO ¿Cómo se elige en un ACO la rama a seguir?
G. Leguizamón - UNSL - Argentina
![Page 39: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/39.jpg)
El primer algoritmo ACO (Ant System o AS)
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);
Aplicar Búsqueda Local // OpcionalReubicar hormigas para el próximo ciclo;
}
G. Leguizamón - UNSL - Argentina
La construcción se realiza paso a paso en forma probabilística considerando
ij y ij
![Page 40: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/40.jpg)
AS - Construcción de una solución para TSP
/* Sk: Solución o permutación construida por la hormiga k */Sk = Ciudad_Inicial; (escogida de acuerdo a algún criterio)while ( no se haya completado el tour ){ Seleccionar próx. ciudad (j) con probabilidad Pij
(i es la última ciudad incluida)
Sk = Sk j}
casootroen
CandidatasjkP
Candidatashihih
ijij
ij
0
.
.
)(
G. Leguizamón - UNSL - Argentina
Los parámetros
α y β controlan
respectivamente la
importancia del rastro y la
heurística
![Page 41: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/41.jpg)
El primer algoritmo ACO (Ant System o AS)
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);
Aplicar Búsqueda Local // OpcionalReubicar hormigas para el próximo ciclo;
} G. Leguizamón - UNSL - Argentina
Se puede hacer considerando todas las soluciones encontradas o un subconjunto de ellas
![Page 42: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/42.jpg)
Actualización del Rastro en AS
Acumulación de rastro proporcional a la calidad de las soluciones (i.e., NroAnts soluciones o la mejor de la colonia):
Actualización : el parámetro es el factor de evaporación.
NroAnts
kij
kij t
1
)1(
)1()()1()1( ttt ijijij
Este valor es calculado directamente
proporcional a la calidad de la solución
G. Leguizamón - UNSL - Argentina
![Page 43: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/43.jpg)
Importancia de Rastro ()• Como todo método heurístico, un algoritmo ACO tiene
su bloque de construcción a partir del cual se generan nuevas soluciones del espacio de búsqueda.
• El bloque de construcción está representado por la
estructura dado que incide directamente en las componentes a seleccionar.
1
1
2
2 3
34
4
5
5
G. Leguizamón - UNSL - Argentina
Recordar!: El nivel de feromona indica la fortaleza de la conexión.
![Page 44: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/44.jpg)
Otros algoritmos ACO
Surgen como respuesta a ciertos problemas observados en AS y básicamente se diferencian en cómo usan y/o modifican el rastro de feromona.
• MinMax-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) G. Leguizamón - UNSL - Argentina
![Page 45: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/45.jpg)
¿Qué diferencia fundamental existe entre el enfoque ACO y los AEs?
G. Leguizamón - UNSL - Argentina
![Page 46: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/46.jpg)
EB desde la perspectiva de un AE y ACO
Solución Completa
3
1 2 54
41 25
5
51
2
21
1
1 5
1
G. Leguizamón - UNSL - Argentina
![Page 47: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/47.jpg)
AEs y ACO: un concepto adicional
G. Leguizamón - UNSL - Argentina
• Enfoques basados en Modelos
• Enfoques basados en Instancias
![Page 48: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/48.jpg)
Aplicaciones de ACO
• TSP
• Scheduling
• Vehicle Routing Problem (VRP)
• Data Mining (Ant-Miner & Ant-Tree)
• Problemas de Grafos (Clique, Coloreo, etc.)
• Ruteo Dinámico (ANT-Net)
• Problemas con funciones continuas y restricciones
• Geometría Computacional
G. Leguizamón - UNSL - Argentina
![Page 49: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/49.jpg)
Estudios actuales
•Modelos Paralelos
•Hibridación
•Estudio y análisis de sus propiedades
•Aplicaciones a problemas de carácter no estacionario (ambientes dinámicos)
G. Leguizamón - UNSL - Argentina
![Page 50: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/50.jpg)
Información de interés
• Dorigo, M. & T. Stützle - “Ant Colony Optimization”. Mit Press.
• Bonabeau, E., Dorigo, M., and Theraulaz, G. – “Swarm Intelligence: From Naturals to Artifical Systems”. Oxford University Press.
• Engelbrecht, A.P. – “Fundamentals of Computational Swarm Intelligence”. Wiley.
G. Leguizamón - UNSL - Argentina
![Page 51: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/51.jpg)
Información de interés (Cont)
• http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html
• http://www.metaheuristics.net/
G. Leguizamón - UNSL - Argentina
![Page 52: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/52.jpg)
Vemos ahora un programa en Lenguaje C (versión para Linux) de un algoritmo ACO (Ant System y variantes) para Resolver el Problema de Viajante de Comercio (TSP).
G. Leguizamón - UNSL - Argentina
![Page 53: Ant Colony Optimization (Optimización Basada en el comportamiento de Colonias de Hormigas) Una Metaheurística Bio-inspirada Dr. Guillermo Leguizamón CINVESTAV](https://reader036.vdocuments.net/reader036/viewer/2022081520/5665b4611a28abb57c91076d/html5/thumbnails/53.jpg)
FIN
Parte IG. Leguizamón - UNSL - Argentina