Nuevas Metaheurísticas basadas en población

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

Diseño y análisis de algoritmos
Grupo 4 Matías Melgar Pablo Carbonell
Mauricio Granada Echeverri Universidad Tecnológica de Pereira
José Enrique Gonzalez Roberto Clavell
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Telekom Solutions.
Investigación Algorítmica
PROGRAMACION DE ESTRUCTURAS DE DATOS
Métodos Programación dinámica Función Costo Ponderación
SIMULACION DE UN COMPUTADOR CUANTICO
Inteligencia Artificial Búsqueda informada y exploración
Administrador de Base de Datos (Microsoft Access)
Solución de problemas por búsqueda inteligente
Optimización de sistemas de trading
Metaheurística ACO Aplicada a Problemas de Planificación en Entornos Dinámicos de San Pedro M., Pandolfi D., Lasso M., Villagra A. Laboratorio de Tecnologías.
Tema 3. Optimización de Código
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Introducción a las Metaheurísticas
Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran.
Trabajos futuros Reconocedor Visual de Señales de Tráfico Dpto. Matemática Aplicada I Leticia López Fillerat Tutor: Pedro Real Situación actual Estructura.
Librería Cervantes El comercio electrónico desde Asturias: La experiencia de Librería Cervantes Cervantes en el tiempo Primeros.
Problemes de Viatjants
Propuesta del algoritmo
GRAFOS HUGO ARAYA CARRASCO.
Temas importantes para el desarrollo de la segunda parte del TPE
Capítulo 4 BUSQUEDA INFORMADA.
Solución de problemas por Búsqueda
Ant Colony Optimization (Parte II) Dr. Guillermo Leguizamón CINVESTAV, Julio 2010 Familia de algoritmos derivados del enfoque ACO.
Problemas de Decisión y Optimización

Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Bibliografía “Metaheuristics in Combinatorial Optimization: Overview and conceptual Comparison” C. Blum and A. Roli- TR/IRIDIA/ “An introduction.
Complejidad de los problemas de decisión
Sesión 6: Campos de Markov
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Dr. Guillermo Leguizamón
PRESENTACIÓN DEL GRUPO DE INVESTIGACIÓN UNIVERSIDAD DE CANTABRIA
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
Reconocedor de Señales de Tráfico Verticales
Autovalores y Autovectores
Cooperación Internacional y Regional 1. EN QUE MARCO LEGAL: simple, facilitador (desjudicialización) INCLUSION: de Gobiernos locales, ONGs, Vecinales,
Una introducción a la computación evolutiva
Clase # 7: Análisis Conformacional (I)
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Incorporando Búsqueda Local a un Algoritmo ACO para el Problema de Scheduling de Tardanza Ponderada Lasso M., de San Pedro M Laboratorio de Tecnologías.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Investigación Algorítmica
Aplicaciones Claves «Microsoft Word>>
Optimización Combinatoria y Grafos Búsqueda Tabú
Excel La Hoja De Cálculo.
Estructura de Datos 4 Grafos Dirigidos
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
D. Pandolfi., A. Villagra, E. de San Pedro, M. Lasso LabTEm: Laboratorio de Tecnologías Emergentes Universidad Nacional de la Patagonia Austral Unidad.
Prospectiva Territorial Jury Patricia Niño Galindo Planeación II
Puebla, México 5 y 6 de mayo 2003 Reunión de Coordinación Regional Adolescencia.
TABLAS DINAMICAS – HERRAMIENTAS DE COLABORACION Y SEGURIDAD
Conceptos Fundamentales
Heurística. Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de abstacción dado, como procesos computacionales de algún.

Investigación Algorítmica
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Jorge Picoaga – Diego Cesario
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Conclusiones: En este trabajo se ha demostrado que se pueden aplicar los algoritmos OCH al ajuste de los parámetros de un modelo borroso mediante la discretización.
Transcripción de la presentación:

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

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.

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

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

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

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.

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”

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?

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. 35142 o 25341

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

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)

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.

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.

ACO (Experimentos de base)

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

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.

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.

ACO aplicado a TSP 2 3 4 5 1

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

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;

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;

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 }

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

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)

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

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)

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

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

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)

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)

Información de interés Dorigo, M. & Th. Stützle - “Ant Colony Optimization” http://www.metaheuristics.net http://www.iridia.be/~mdorigo

FIN Parte I