La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Nuevas Metaheurísticas basadas en población

Presentaciones similares


Presentación del tema: "Nuevas Metaheurísticas basadas en población"— Transcripción de la presentación:

1 Nuevas Metaheurísticas basadas en población
Ant Colony Optimization (Optimización Basada en Colonias de Hormigas) Una Metaheurística Bio-inspirada Nuevas Metaheurísticas basadas en población

2 El enfoque ACO, marco general.
El marco general en el cual situar al enfoque ACO es dentro la denominada SWARM INTELLIGENCE o INTELIGENCIA COLECTIVA Este marco presupone un sistema 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, bandada, etc.

3 Algoritmos constructivos
Conceptos Previos Métodos básicos para explorar el espacio de búsqueda a partir de los cuales se derivan las metaheurísticas: Búsqueda Local Algoritmos constructivos

4 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

5 Conceptos Previos (Cont.) Vecindario de un punto en el espacio
Operador

6 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 construída añadiendo una ciudad tras otra incrementando la longitud del tour.

7 Conceptos Previos (Cont.)
Ejemplo de un Algoritmo constructivo Procedure GreedyConstHeurist; Sp  ElegirPrimeraComponente; while (Sp no sea completada) C  ComponenteGreedy(Sp); Sp  Sp  C; end-while S  Sp; return S; end-procedure Esta parte es la que determina la “voracidad”

8 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?

9 Espacio de Búsqueda del Problema (Ejemplo, TSP)
Tamaño N=5,  5!=120 Posibles soluciones N=6,  6!=720 N=100,  100! = ? EB 2 3 4 5 1 Cada punto en EB es una permutación de las ciudades, p.e o 25341

10 Espacio de Búsqueda - TSP Algoritmo de Construcción
¿Cómo elegir la rama a seguir? 3 1 2 5 4 5 4 3 2 1 5! en Total

11 Posibilidades de expansión del árbol
Greedy (como en el ejemplo del algoritmo previamente mostrado) Aleatorio (¿tiene sentido?) Greedy-random (e.g., GRASP) Ant Colony Optimization (formulación clásica original del enfoque)

12 Ant Colony Optimization (ACO)
El enfoque ACO engloba a todos aquellos algoritmos cuyo diseño está basado en el comportamiento de las colonias de hormigas reales.

13 Ant Colony Optimization (ACO)
Las hormigas reales (ciertas especies) dejan un rastro (feromona) que puede ser detectado por el resto de la colonia (comunicación indirecta o stigmergy) Un Algoritmo ACO es un proceso distribuido en el que un conjunto de agentes (reactivos) que actúan en forma independiente y cooperan esporádicamente en forma indirecta para llevar a cabo un objetivo común.

14 ACO (Experimentos de base)

15 ACO (Exp. Camino más corto)
Instrucciones: Reemplazar iconos de ejemplo por iconos de documentos activos así: Crear documento en Word. Volver a PowerPoint. En el menú Insertar, seleccione Objeto... Haga clic en “Crear desde archivo” Ubique el nombre de archivo en el cuadro “Archivo” “Mostrar como icono” debe estar activado. Haga clic en Aceptar Seleccione un icono En el menú Presentación, seleccione Configuración de la acción. Haga clic en “Acción de objeto” y seleccione “Modificar” Alimento Nido

16 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.

17 Consideraciones para su aplicación
Como ejemplo clásico usaremos el problema TSP Representación del rastro de feromona puede ser realizado a través de una matriz de números reales () de nn. Heurística local: 1/dij, es decir, un valor inversamente proporcional a la distancia entre las ciudades i y j.

18 ACO aplicado a TSP 2 3 4 5 1

19 Espacio de Búsqueda - TSP Algoritmo ACO
¿Cómo se elige en un ACO la rama a seguir? 3 1 2 5 4 5 4 3 2 1

20 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); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada;

21 El primer algoritmo ACO (Ant System o AS)
La construcción se realiza paso a paso en forma probabilística considerando ij y ij 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;

22 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) mientras no se haya completado el tour { Seleccionar próx. Ciudad (j) con probabilidad (i es la última ciudad incluida) Sk = Sk  j }

23 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); Reubicar hormigas para el próximo ciclo; } Imprimir la mejor solución encontrada; Se puede hacer considerando todas las soluciones encontradas o un subconjunto de ellas

24 Actualización del Rastro en AS
Acumulación de rastro proporcional a la calidad de las soluciones (i.e., NroAnts soluciones): Este valor es calculado directamente proporcional a la calidad de la solución Actualización Efectiva ( es el factor de persistencia del rastro)

25 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 2 3 4 5 1 El nivel de feromona indica la fortaleza de la conexión. 2 3 4 5

26 Otros algoritmos ACO (Introducción)
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 (solo la mejor solución) Ant Colony System (ACS) Ant-Q (basado en Q-Learning)

27 ¿Que diferencia fundamental existe entre este enfoque ACO y los AEs o Simmulated Annealing ?

28 EB desde la perspectiva de un AE y ACO
3 1 2 5 4 Solución Completa

29 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 (Algunas ideas)

30 Estudios actuales en el campo de las Metaheurísticas
Cambios en las componentes a los efectos de mejorar su performance. Hibridización. Estudio y análisis de sus propiedades. Aplicaciones a problemas de carácter no estacionario (ambientes dinámicos)

31 Información de interés
Dorigo, M. & Th. Stützle - “Ant Colony Optimization”

32 FIN Parte I


Descargar ppt "Nuevas Metaheurísticas basadas en población"

Presentaciones similares


Anuncios Google