Академический Документы
Профессиональный Документы
Культура Документы
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 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.
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 distancia de la ciudad actual a otras ciudades La intensidad del camino actual de feromona
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).
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
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
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
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