1 / 36

Metaheurística de Optimización por Colonia de Hormigas (Ant Colony)

Metaheurística de Optimización por Colonia de Hormigas (Ant Colony). Mario Hernández. Introducción. Autores y sus trabajos. Université Libre de Bruxelles Marco Dorigo Gianni Di Caro En 1991, primer sistema AS, para resolver TSP.

zoie
Download Presentation

Metaheurística de Optimización por Colonia de Hormigas (Ant Colony)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metaheurística de Optimización por Colonia de Hormigas (Ant Colony) Mario Hernández

  2. Introducción Autores y sus trabajos • Université Libre de Bruxelles • Marco Dorigo • Gianni Di Caro • En 1991, primer sistema AS, para resolver TSP. • Lo último anterior a este trabajo es una aplicación al enrutamiento en redes de Di Caro y Dorigo, 1998. • Para muchos de los problemas tratados, Ant Systems proporciona resultados comparables con los mejores obtenidos con otras heurísticas.

  3. Introducción • ACO se inspira en observaciones del comportamiento de las hormigas. • La colonia tiene un grado de organización alto, comparado con la simplicidad del individuo. • Coordinación indirecta por medio de los rastros de feromona (estigmergía) • Exploración paralela del entorno. Idea

  4. Problema TSP (Traveling Salesman Problem) • Problema del viajante: tarea de visitar n clientes que viven en n diferentes ciudades, EL problema es encontrar el orden en que las ciudades deben ser visitadas de modo que se minimice la distancia recorrida al final del viaje, tomando en cuenta que sólo se puede pasar una vez por cada ciudad

  5. Las hormigas son capaces de encontrar el camino más corto desde el hormiguero a una fuente de comida y viceversa sin utilizar pistas visuales

  6. Las hormigas son capaces también a adaptarse a los cambios en el ambiente de encontrar el camino más corto desde el hormiguero a una fuente de comida y viceversa sin utilizar pistas visuales

  7. ¿Cómo lo consiguen? Basándose en la estigmergía: • Depositan cantidades de feromona para marcar rutas • Rastrean la feromona previamente depositada por otras y prefieren caminar por zonas ricas en feromona

  8. Resultado • Son capaces de determinar la ruta más corta entre el hormiguero y la comida, aunque no hay una consciencia de ello en la hormiga. • ¿A qué se debe?: la determinación de la ruta más corta parece ser una conducta emergente de la interacción entre el obstáculo y la conducta distribuida de las hormigas, aún cuando todas las hormigas caminan aproximadamente a la misma velocidad y depositan también, aproximadamente, la misma cantidad de feromona.

  9. El algoritmo Ant Colony • Algoritmo de búsqueda cooperativo inspirado en las hormigas reales • El algoritmo imita a las colonias de hormigas utilizando agentes sencillos llamados hormigas que se comunican a través del rastro de feromona

  10. Ideas principales del algoritmo de Colonia de Hormigas Adaptadas de las Colonias de Hormigas Reales: • Se utiliza comunicación indirecta a través de la feromona. • Las rutas más cortas tienden a tener una razón más alta de crecimiento del valor de la feromona. • Las hormigas tienen preferencia probabilística por las rutas con valores altos de feromona. Capacidades extra añadidas: • Cada hormiga es capaz de determinar qué tan lejos está de un estado. • Poseen información acerca de su ambiente y la utilizan al tomar decisiones..Así, su comportamiento no sólo es adaptativo sino también “avaricioso” (greedy). • Tienen memoria, la cual es necesaria para asegurar que se generen sólo soluciones factibles (por ejemplo, en el TSP, necesitan saber las ciudades que han visitado pues una ciudad no se puede visitar más de una vez).

  11. Introducción Todos los algoritmos basados en Hormigas se basan en el uso de los tres principios subyacentes siguientes: • Realimentación Positiva • Realimentación Negativa • Cooperación entre múltiples hormigas (agentes) actuando para resolver el problema de optimización que se trate

  12. Realimentación Positiva Para reforzar las partes o porciones de soluciones buenas que contribuyen a su “bondad” (goodness) • Reforzar directamente buenas soluciones • Se lleva a cabo mediante Acumulación de Feromona

  13. Realimentación Negativa Para evitar convergencia prematura (estagnación - stagnation) • Se lleva a cabo mediante un proceso de Evaporación de Feromona

  14. Cooperación Para exploración simultánea de diferentes soluciones • Se lleva a cabo mediante: • Múltiples hormigas explorando el espacio de las soluciones • Caminos de feromonas (pheromone trail) que reflejan múltiples perspectivas en el espacio de las soluciones

  15. Sistema de Hormigas (Ant System) para el Problema del Viajante (Traveling Salesman Problem AS-TSP) • Durante cada iteración, cada hormiga completa un “viaje” • Durante cada viaje, cada hormiga mantiene una lista tabú de ciudades ya visitadas • Cada hormiga tiene acceso a: • La distancia de la ciudad actual a otras ciudades • La intensidad del camino actual de feromona • La Probabilidad de la próxima ciudad depende de ambos datos

  16. Modelado de las Hormigas Propiedades • Objetivo: buscar en forma constructiva, una solución factible de costo mínimo. • Movimientos:desde un estado sr=(sr-1,i), puede moverse a cualquier nodo j de su vecindad factible, definida como N ik = { j/jNi(sr,j) S } • Memoria Mk: usada para almacenar el camino recorrido. Se usa para la construcción y evaluación de las soluciones y para volver atrás. • Condiciones de comienzo y fin: A cada hormiga k se le puede asignar un estado de comienzo y una o más condiciones de fin (e k).

  17. Modelado de las Hormigas Ciclo de Vida • Comienzo:Cada una desde un estado inicial (puede o no ser el mismo para todas) • Desplazamiento:A estados en la vecindad factible, de acuerdo a una regla de decisión probabilística. • Final:El proceso de construcción termina cuando la hormiga cumple al menos una de las condiciones de fin. • Muerte:Luego de cumplidas estas actividades, codifica su aporte a la colonia y muere, liberando todos los recursos.

  18. Descripción • Las hormigas artificiales se distribuyen inicialmente en las n ciudades de acuerdo a algún criterio (aleatoriamente, por ejemplo). • Posteriormente, cada hormiga decide la ciudad a visitar en cada paso de un ciclo que se repite hasta que todas las ciudades son visitadas exactamente una vez por cada hormiga. La decisión de qué ciudad visitar, se toma con base en la siguiente expresión, • pijprobabilidad de que una ciudad j sea seleccionada para visitarse después de la ciudad i • Siendo: • Donde: parámetro para regular la influencia de ηij cantidad de feromona entre las ciudades i y j parámetro para regular la influencia de τij conjunto de ciudades que aún no han sido visitadas visibilidad de la ciudad j desde la ciudad i distancia entre las ciudades i y j

  19. Descripción (II) • Cuando se termina el ciclo (cada hormiga ha concluido su recorrido) se calcula la longitud del recorrido generado por cada hormiga y se actualiza el mejor recorrido encontrado hasta el momento. • Finalmente, se actualizan las cantidades de feromona. Esto se hace con la siguiente fórmula: Y: Siendo: p en [0, 1] es un parámetro para regular la reducción de τij es el incremento en la cantidad de feromona en el eje (i, j) realizado por la hormiga k ∆τij es el incremento en la cantidad de feromona en el eje (i, j) Q es un valor constante que representa la cantidad de feromona depositada por una hormiga en cada recorrido m es el número de hormigas Lkes la longitud del recorrido de la hormiga k

  20. Descripción (III) • En cada recorrido, cada hormiga deja una cantidad de feromona dada por Q/Lk, donde Q es una constante y Lkla longitud de su recorrido. Por lo tanto, en recorridos más cortos se deposita más feromona. En el algoritmo se simula la evaporación de feromona que sucede en la realidad. Las cantidades de feromona se reducen con un factor (1-p) antes de que se deposite nueva feromona. Esto se hace para evitar convergencia prematura. • Los pasos anteriores se repiten Tveces, donde Tes el número de iteraciones[9].

  21. Pseudocódigo Inicio Para t=0 hasta T hacer // T es el num max. de iter. Para k=1 hasta m hacer //m es el núm. de hormigas Repetir hasta que la hormiga k complete su recorrido Seleccionar la siguiente ciudad a visitar Calcular la longitud del recorrido de la hormiga k Actualizar los niveles de feromona Fin

  22. Conclusiones • AntSystems se aplica bien para problemas Optimización Combinatoria, donde la dimensíón del espacio completo de soluciones es exponencial con respecto a la dimensión de la representación del problema. Problemas NP-Hard • Noción de secuencia o distancia. • Problemas que cambian en t

  23. Conclusiones • Fácil de paralelizar, propio del mecanismo • Esta metaheurística se ha comprobado, según Gambardella, como altamente competitiva en: • MACS-VRPTW: Vehicle Routing Problem with Time Windows • HAS-QAP: Quadratic Assignment Problem • HAS-SOP: Sequential Ordering Problem • Flexible Job Shop Problem

  24. Aplicaciones – AntNet • Aplicación posterior a TSP. • Utilizado para encontrar el optimo en la transferencia de DATOS en redes. • Distribuido y no sincronizado. • Enrutar es difícil porque los costos son dinámicos. • Motivación: encontrar Ri = [rijd ] para cada nodo. Notas Generales

  25. Aplicaciones – AntNet Modelado • Se modela cada nodo de la red como un nodo de un grafo G(C,L). • C = Nodos de la red. • L = “links” entre nodos, su valores estan relacionados con las propiedades físicas del canal y el trafico por el mismo.

  26. Aplicaciones – AntNet Modelado • Cada Hormiga busca un “camino” ente 2 nodos con costo mínimo. • Hormiga(origen,destino) • Cada Hormiga parte de un nodo distinto, desplazándose de uno a otro, hacia su destino. • En cada paso debe optar ente los arcos factibles, esta decisión esta basada en la Mk y en la tabla de ruteo de cada nodo.

  27. Feromonas Aplicaciones – AntNet • En esta aplicación la feromona de un arco esta en relación con la calidad del camino desde el nodo actual al destino. • El valor ijd  [0,1] con i actual, j próximo, d destino. • A diferencia de TSP se genera una estructura bidimensional para el ruteo del nodo y las feromonas

  28. Valores heurísticos Aplicaciones – AntNet • Para cada arco se coloca valor inicial, nij [0,1], independiente del destino. • q en este problema representa el largo de la cola de bits para enviar por el link. • El efecto es desestimar los caminos mas congestionados.

  29. Ruteo del nodo Aplicaciones – AntNet • Cada nodo tiene su tabla de enrutamiento y depende de nij y ijd • Con un factor w  [0,1] se da mas peso a uno u otro.

  30. Decisión de la Hormiga Aplicaciones – AntNet • La Hormiga decide entre los adyacentes, no visitados (que no están en Mk). • Los adyacentes factibles tienen pijd(t) • pijd(t) = aijd(t) ,valor de tabla de ruteo(no visitados). • pijd(t) = 0, adyacentes ya visitados. • pijd(t) = 1/|Ni|, si no hay caminos posibles (fueron ya todos visitados).

  31. Actualizaciones Aplicaciones – AntNet • Las Hormigas se mueven como se moverían los datos en la red. • Igual que los bits reales tienen retraso para su viaje hacia el destino. • Una vez que la Hormiga llega a destino, regresa hacia atrás, depositando feromonas.

  32. Actualización Aplicaciones – AntNet • Tsd es una medida del tiempo que insume la ruta de i a d vía j. Mide lo “buena que es una ruta”. • El incremento de feromona es proporcional al inversode Tsd. • Se coloca la feromona al final, porque hay que tener el valor de Tsd • Se lleva cabo la evaporación, por un factor de normalización, • No hay “Daemon” para modificar las feromonas depositadas en los arcos.

  33. Tabla de Ruteo resultado Aplicaciones – AntNet • Durante la ejecución de AntNet, las Hormigas van modificando las tablas de ruteo de cada nodo para optimizar la transferencia de datos por la red. • Estas tablas son usadas al rutear los datos a ser transmitidos por la red.

  34. FIN

More Related