Академический Документы
Профессиональный Документы
Культура Документы
A new Meta-Heuristic
Marco Dorigo
Gianni Di Caro
Gianni Di Caro
ACO se inspira
en observaciones 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.
Exploracin paralela del ambiente.
Introduccin
Formalizacin
Se puede resumir los algoritmos ACO, como un
conjunto de agentes concurrentes y
asincrnicos (colonia de hormigas) que se
mueven a travs de un espacio de estados
correspondientes a soluciones parciales del
problema a resolver.
Se mueven aplicando polticas de decisin
locales estocstcias basadas en dos parmetros:
un valor heurstico que depende del modelado
del problema.
un valor que incorpora el conocimiento global
Modelado del Problema
C = {c ,c ,.....,c } conjunto finito de componentes.
1 2 n
meta-heuristic()
procedure ACO meta-heuristic()
(termination_criterion_not_satisfied)
while (termination_criterion_not_satisfied)
schedule_activities
ants_generation_and_activity();
ants_generation_and_activity();
pheromone_evaporation();
pheromone_evaporation();
daemon_actions();
daemon_actions(); [opcional]
[opcional]
end schedule_activities
schedule_activities
end while
end procedure
Ants Generation And Activity
Procedure Ants_Generation_And_Activity()
While (AvailableResources)
schedule_creation_of_new_ant();
new_active_ant();
End While
End Procedure
new active ant()
procedure new active ant()
initialize ant(); while (current state target state)
M = update ant memory(); A = read local ant-routing table();
Desplazarse P = compute transition probabilities(A; M; );
next state = apply ant decision policy(P; );
Dejar Aprendizaje a la Colonia
move to next state(next state);
die(); if (online step-by-step pheromone update)
end procedure deposit pheromone on the visited arc();
update ant-routing table();
if (online delayed pheromone
end if update)
M =update
foreach visited_arc do internal state();
end while on the visited arc();
deposit pheromone
update ant-routing table();
end foreach
end if
Aplicaciones
TSP (problema del vendedor viajero)
Ruteo en redes de comunicacin
QAP
VRP y VRPTW
Ordenamiento Secuencial
Job-shop scheduling
Mayor Super-Secuencia Comn
Asignamiento Generalizado
Aplicaciones ACO-TSP
Nociones Generales
Descripcin y Objetivo: Dada una ciudad inicial
y n ciudades a visitar, encontrar un circuito
Hamiltoniano de costo mnimo, sujeto a ciertas
restricciones.
Motivacin: Fue el primer problema en ser
atacado por medio de ACO porque es:
Relativamente fcil de adaptar la metfora de la colonia
de hormigas al problema
Un problema de difcil solucin (NP-Hard)
Uno de los problemas de optimizacin combinatoria ms
estudiados
Conocido y fcil de exponer y explicar
Aplicaciones ACO-TSP
Modelado
C = Conjunto de ciudades
L = Conjunto de conexiones entre ciudades
Jcicj = Distancias entre ci y cj, ci,cj C
La ciudad inicial para cada hormiga es elegida
aleatoreamente
Actualizacin de la feromona: Solo retardada
La evaporacin de feromona se hace luego de
que todas las hormigas terminan su tour
Aplicaciones ACO-TSP
Comportamiento de las hormigas
Se posicionan en paralelo m hormigas en m
ciudades, elegidas aleatoreamente.
Se inicializa la memoria Mk con esa ciudad.
Comienza un ciclo hasta que cada hormiga
complete un tour:
Buscar la vecindad
vecindad factible
factible deldel
nodo
nodo
actual.
actual
Leer las entradas
entradas aa de
ij ij delala
tabla
tablade de
ruteo.
ruteo
Calcular las probabilidades
probabilidades dede transicin pijk(t).
transicin pijk(t)
Aplicar la regla de decisin para elegir una ciudad a la que
desplazarse.
Realizar el desplazamiento. Actualizar la memoria local.
Una vez terminado el tour, actualiza
actualizalalaferomona
del recorrido
feromona y termina
del su yejecucin.
recorrido termina su ejecucin.
Aplicaciones ACO-TSP
Toma de decisiones e interaccin entre la colonia...
leer los aij de Ai
=1
=5
evaporacin de feromona
Aplicaciones AntNet
Notas Generales
Aplicacin posterior a TSP.
Utilizado para encontrar el optimo en la
transferencia de DATOS en redes.
Distribuido y no sincronizado.
Rutear 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
Aplicaciones AntNet
Decisin de la Hormiga