Вы находитесь на странице: 1из 36

Metaheurstica de Optimizacin por Colonia de Hormigas (Ant Colony)

Mario Hernndez

Introduccin
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 aplicacin 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 heursticas.

Introduccin
Idea

ACO se inspira en observaciones del comportamiento de las hormigas. La colonia tiene un grado de organizacin alto, comparado con la simplicidad del individuo. Coordinacin indirecta por medio de los rastros de feromona (estigmerga) Exploracin paralela del entorno.

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 slo se puede pasar una vez por cada ciudad

Las hormigas son capaces de encontrar el camino ms corto desde el hormiguero a una fuente de comida y viceversa sin utilizar pistas visuales

Las hormigas son capaces tambin a adaptarse a los cambios en el ambiente de encontrar el camino ms corto desde el hormiguero a una fuente de comida y viceversa sin utilizar pistas visuales

Cmo lo consiguen?
Basndose en la estigmerga: Depositan cantidades de feromona para marcar rutas Rastrean la feromona previamente depositada por otras y prefieren caminar por zonas ricas en feromona

Resultado

Son capaces de determinar la ruta ms corta entre el hormiguero y la comida, aunque no hay una consciencia de ello en la hormiga. A qu se debe?: la determinacin de la ruta ms corta parece ser una conducta emergente de la interaccin entre el obstculo y la conducta distribuida de las hormigas, an cuando todas las hormigas caminan aproximadamente a la misma velocidad y depositan tambin, aproximadamente, la misma cantidad de feromona.

El algoritmo Ant Colony


Algoritmo de bsqueda cooperativo inspirado en las hormigas reales El algoritmo imita a las colonias de hormigas utilizando agentes sencillos llamados hormigas que se comunican a travs del rastro de feromona

Ideas principales del algoritmo de Colonia de Hormigas


Adaptadas de las Colonias de Hormigas Reales: Se utiliza comunicacin indirecta a travs de la feromona. Las rutas ms cortas tienden a tener una razn ms alta de crecimiento del valor de la feromona. Las hormigas tienen preferencia probabilstica por las rutas con valores altos de feromona. Capacidades extra aadidas: Cada hormiga es capaz de determinar qu tan lejos est de un estado. Poseen informacin acerca de su ambiente y la utilizan al tomar decisiones..As, su comportamiento no slo es adaptativo sino tambin avaricioso (greedy). Tienen memoria, la cual es necesaria para asegurar que se generen slo soluciones factibles (por ejemplo, en el TSP, necesitan saber las ciudades que han visitado pues una ciudad no se puede visitar ms de una vez).

Introduccin
Todos los algoritmos basados en Hormigas se basan en el uso de los tres principios subyacentes siguientes: Realimentacin Positiva Realimentacin Negativa Cooperacin entre mltiples hormigas (agentes) actuando para resolver el problema de optimizacin que se trate

Realimentacin 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 Acumulacin de Feromona

Realimentacin Negativa
Para evitar convergencia prematura (estagnacin - stagnation) Se lleva a cabo mediante un proceso de Evaporacin de Feromona

Cooperacin
Para exploracin simultnea de diferentes soluciones Se lleva a cabo mediante:
o o

Mltiples hormigas explorando el espacio de las soluciones Caminos de feromonas (pheromone trail) que reflejan mltiples perspectivas en el espacio de las soluciones

Sistema de Hormigas (Ant System) para el Problema del Viajante (Traveling Salesman Problem AS-TSP)

Durante cada iteracin, cada hormiga completa un viaje Durante cada viaje, cada hormiga mantiene una lista tab de ciudades ya visitadas Cada hormiga tiene acceso a:

La Probabilidad de la prxima ciudad depende de ambos datos

La distancia de la ciudad actual a otras ciudades La intensidad del camino actual de feromona

Modelado de las Hormigas


Propiedades

Objetivo: buscar en forma constructiva, una solucin factible de costo mnimo. Movimientos: desde un estado sr=(sr-1,i), puede moverse a cualquier nodo j de su vecindad factible, definida como N ik = { j/jNi (sr,j) S } Memoria Mk: usada para almacenar el camino recorrido. Se usa para la construccin y evaluacin de las soluciones y para volver atrs. Condiciones de comienzo y fin: A cada hormiga k se le puede asignar un estado de comienzo y una o ms condiciones de fin (e k).

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 decisin probabilstica. Final: El proceso de construccin 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.

Descripcin
1. 2.

Las hormigas artificiales se distribuyen inicialmente en las n ciudades de acuerdo a algn 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 decisin de qu ciudad visitar, se toma con base en la siguiente expresin,

pij probabilidad de que una ciudad j sea seleccionada para visitarse despus de la ciudad i Siendo:

Donde:
cantidad de feromona entre las ciudades i y j parmetro para regular la influencia de ij parmetro para regular la influencia de ij conjunto de ciudades que an no han sido visitadas distancia entre las ciudades i y j

visibilidad de la ciudad j

Descripcin (II)
3. 4.

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 frmula:

Y:

Siendo:
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 Q es un valor constante que representa de feromona en el eje (i, j) la cantidad de feromona depositada por una hormiga en cada recorrido m es el nmero de hormigas Lk es la longitud del recorrido de la hormiga k

p en [0, 1] es un parmetro para regular la reduccin de ij

Descripcin (III)

En cada recorrido, cada hormiga deja una cantidad de feromona dada por Q/Lk, donde Q es una constante y Lk la longitud de su recorrido. Por lo tanto, en recorridos ms cortos se deposita ms feromona. En el algoritmo se simula la evaporacin 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 T veces, donde T es el nmero de iteraciones[9].

Pseudocdigo
Inicio Para t=0 hasta T hacer // T es el num max. de iter. Para k=1 hasta m hacer //m es el nm. 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

Conclusiones

AntSystems se aplica bien para problemas Optimizacin Combinatoria, donde la dimensn del espacio completo de soluciones es exponencial con respecto a la dimensin de la representacin del problema. Problemas NP-Hard
Nocin de secuencia o distancia. Problemas que cambian en t

Conclusiones

Fcil de paralelizar, propio del mecanismo Esta metaheurstica se ha comprobado, segn 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

Aplicaciones AntNet
Notas Generales

Aplicacin posterior a TSP. Utilizado para encontrar el optimo en la transferencia de DATOS en redes. Distribuido y no sincronizado. Enrutar es difcil porque los costos son dinmicos. Motivacin: encontrar Ri = [rijd ] para cada nodo.

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 fsicas del canal y el trafico por el mismo.

Aplicaciones AntNet
Modelado

Cada Hormiga busca un camino ente 2 nodos con costo mnimo.

Hormiga(origen,destino)

Cada Hormiga parte de un nodo distinto, desplazndose de uno a otro, hacia su destino. En cada paso debe optar ente los arcos factibles, esta decisin esta basada en la Mk y en la tabla de ruteo de cada nodo.

Aplicaciones AntNet
Feromonas

En esta aplicacin la feromona de un arco esta en relacin con la calidad del camino desde el nodo actual al destino. El valor ijd [0,1] con i actual, j prximo, d destino. A diferencia de TSP se genera una estructura bidimensional para el ruteo del nodo y las feromonas

Aplicaciones AntNet
Valores heursticos

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.

Aplicaciones AntNet
Ruteo del nodo

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.

Aplicaciones AntNet
Decisin de la Hormiga

La Hormiga decide entre los adyacentes, no visitados (que no estn 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).

Aplicaciones AntNet
Actualizaciones

Las Hormigas se mueven como se moveran 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 atrs, depositando feromonas.

Aplicaciones AntNet
Actualizacin

Tsd es una medida del tiempo que insume la ruta de i a d va j. Mide lo buena que es una ruta. El incremento de feromona es proporcional al inverso de Tsd. Se coloca la feromona al final, porque hay que tener el valor de Tsd

Se lleva cabo la evaporacin, por un factor de normalizacin,

No hay Daemon para modificar las feromonas depositadas en los arcos.

Aplicaciones AntNet
Tabla de Ruteo resultado

Durante la ejecucin 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.

FIN

Вам также может понравиться