presentG8-ASasasasasasasasassasasasa.ppt

eduardpuerto2 12 views 35 slides Sep 03, 2025
Slide 1
Slide 1 of 35
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35

About This Presentation

Colonia de Hormigas Algotirmos


Slide Content

Grupo 8 – Berger y Casarini
Ant Colony Optimization
A new Meta-Heuristic
Marco Dorigo
Gianni Di Caro

Agenda
Introducción
Autores
Inspiración
Modelado
Problemas
Rastro de Feromona (memoria colectiva)
Hormigas
Pseudocódigo
ACO
Actividad de las Hormigas
Aplicaciones
TSP
Tráfico en Redes
QAP
Conclusión

Introducción
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 ruteo
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.
Autores y sus trabajos

Introducción
ACO se inspira
en observaciones 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.
Exploración paralela del ambiente.
Idea

Se puede resumir los algoritmos ACO, como un
conjunto de agentes concurrentes y
asincrónicos (colonia de hormigas) que se
mueven a través de un espacio de estados
correspondientes a soluciones parciales del
problema a resolver.
Se mueven aplicando políticas de decisión
locales estocástcias basadas en dos parámetros:
un valor heurístico que depende del modelado
del problema.
un valor que incorpora el conocimiento global
Introducción
Formalización

Modelado del Problema
C = {c
1
,c
2
,.....,c
n
} conjunto finito de componentes.
L = {l
c1c2
/(c
1
,c
2
)C}, conexiones o transiciones.
C es un subconjunto del producto cartesiano CxC.
|L|  N
c
2
J
ci,cj
 J(l
cicj
,t), función que asocia costos a las aristas.
  (C,L,t) conjunto finito de restricciones
asignadas a elementos de C y L.
s = (c
i
,c
j
,…,c
k
,…) estado del problema.
S = estados posibles.
S = estados factibles f(S,).

N
s
es la estructura de vecindad: si s
1
y s
2
son dos
estados, s
2
es vecino de s
1
si ambos están en S y s
2

puede obtenerse a partir de s
1
en un único paso
lógico. Si c
1
es el último componente de s
1
, debe existir
un componente c
2
 C, tal que l
c1c2
 L y s
2
= (s
1
,c
2
)
 es una solución, si es un elemento de S y satisface
todos los requerimientos del problema.
J

(L,t) define el costo asociado a cada solución. Es una
función de los costos J
cicj
de todas las conexiones
pertenecientes a la solución.
Modelado del Problema

Feromona
Codificación de la información recolectada: por las
hormigas, durante el proceso de búsqueda, almacenada
como rastros de feromona asociados a los arcos.
Lectura: Ante cada decisión una hormiga utiliza:
•información propia
•del nodo en que se encuentra
•de los arcos adyacentes (feromona).
Escritura: Para cada arco transitado por una hormiga,
ésta deja el rastro de feromona.
Feromona como memoria de largo plazo

Feromona
Propicia la interacción indirecta entre la colonia:
A cada hormiga se le hace difícil llegar a la solución
óptima. Encontrar buenas soluciones depende de la
interacción entre la colonia por medio de la
información que ellas leen y escriben en los arcos
por lo que pasan, mediante los rastros de feromona.
Percepción de la colonia: Las hormigas modifican
la forma en que el problema es representado y
percibido por las demás hormigas, pero no se
adaptan ellas mismas.
Memoria a largo plazo.
Feromona como base de la interacción

Modelado de las Hormigas
Propiedades
Objetivo: buscar en forma constructiva, una solución
factible de costo mínimo.
Movimientos: desde un estado s
r
=(s
r-1
,i), puede
moverse a cualquier nodo j de su vecindad factible,
definida como N
i
k
= { j/jN
i
 (s
r
,j)  S }
Memoria M
k
: 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
).

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.

La regla de decisión probabilística de las hormigas es
una función de:
Un valor almacenado en tabla de ruteo, obtenido a
partir del valor de feromona del arco considerado y
un valor heurístico. 
i=[a
ij], a
ij=f (
ij, 
ij)
La memoria privada de las hormigas, que almacena
su pasado.
Restricciones del problema.
Modelado de las Hormigas
Regla de decisión probabilística de movimiento

Actualización de la Feromona
Actualización on-line paso a paso:
Cada hormiga al moverse de un nodo i, a un nodo j,
actualiza el valor de la feromona 
ij
del arco (i,j).
Actualización on-line retardada:
Una vez construida una solución, rehacen el camino
en sentido inverso, actualizando el valor de la
feromona de cada arco recorrido.
Modelado de las Hormigas

Intensificación vs.
Diversificación.
Intensificación: A través de las reglas de
actualización de la feromona que van reforzando
las buenas soluciones.
Diversificación: implementado a través de:
mecanismo probabilístico de construcción de
las soluciones.
Evaporación de la feromona.
Migración: Comienza con alta D y baja I. A
medida que evoluciona, la búsqueda se
intensifica hacia los caminos con mayores índices
de feromona.

Pseudocódigo
procedure ACO meta-heuristic()
while (termination_criterion_not_satisfied)
schedule_activities
ants_generation_and_activity();
pheromone_evaporation();
daemon_actions(); [opcional]
end schedule_activities
end while
end procedure
procedure ACO meta-heuristic()
while (termination_criterion_not_satisfied)
schedule_activities
ants_generation_and_activity();
pheromone_evaporation();
daemon_actions(); [opcional]
end schedule_activities
end while
end procedure
procedure ACO meta-heuristic()
while (termination_criterion_not_satisfied)
schedule_activities
ants_generation_and_activity();
pheromone_evaporation();
daemon_actions(); [opcional]
end schedule_activities
end while
end procedure
procedure ACO meta-heuristic()
while (termination_criterion_not_satisfied)
schedule_activities
ants_generation_and_activity();
pheromone_evaporation();
daemon_actions(); [opcional]
end schedule_activities
end while
end procedure
procedure ACO meta-heuristic()
while (termination_criterion_not_satisfied)
schedule_activities
ants_generation_and_activity();
pheromone_evaporation();
daemon_actions(); [opcional]
end 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
Procedure Ants_Generation_And_Activity()
While (AvailableResources)
schedule_creation_of_new_ant();
new_active_ant();
End While
End Procedure

new active ant()
while (current state  target state)
A = read local ant-routing table();
P = compute transition probabilities(A; M; );
next state = apply ant decision policy(P; );
move to next state(next state);
if (online step-by-step pheromone update)
deposit pheromone on the visited
arc();
update ant-routing table();
end if
M = update internal state();
end while
if (online delayed pheromone update)
foreach visited_arc   do
deposit pheromone on the visited arc();
update ant-routing table();
end foreach
end if
procedure new active ant()
initialize ant();
M = update ant memory();
Desplazarse
Dejar Aprendizaje a la Colonia
die();
end procedure

Aplicaciones
TSP (problema del vendedor viajero)
Ruteo en redes de comunicación
QAP
VRP y VRPTW
Ordenamiento Secuencial
Job-shop scheduling
Mayor Super-Secuencia Común
Asignamiento Generalizado

Aplicaciones – ACO-TSP
Descripción y Objetivo: Dada una ciudad inicial
y n ciudades a visitar, encontrar un circuito
Hamiltoniano de costo mínimo, sujeto a ciertas
restricciones.
Motivación: Fue el primer problema en ser
atacado por medio de ACO porque es:
Relativamente fácil de adaptar la metáfora de la colonia
de hormigas al problema
Un problema de difícil solución (NP-Hard)
Uno de los problemas de optimización combinatoria más
estudiados
Conocido y fácil de exponer y explicar
Nociones Generales

Aplicaciones – ACO-TSP
Modelado
C = Conjunto de ciudades
L = Conjunto de conexiones entre ciudades
J
cicj
= Distancias entre c
i
y c
j,
c
i
,c
j
 C
La ciudad inicial para cada hormiga es elegida
aleatoreamente
Actualización de la feromona: Solo retardada
La evaporación de feromona se hace luego de
que todas las hormigas terminan su tour

Aplicaciones – ACO-TSP
Se posicionan en paralelo m hormigas en m
ciudades, elegidas aleatoreamente.
Se inicializa la memoria M
k
con esa ciudad.
Comienza un ciclo hasta que cada hormiga
complete un tour:
Buscar la vecindad factible del nodo actual.

Leer las entradas a
ij
de la tabla de ruteo.

Calcular las probabilidades de transición p
ij
k
(t).
Aplicar la regla de decisión para elegir una ciudad a la que
desplazarse.
Realizar el desplazamiento. Actualizar la memoria local.
Una vez terminado el tour, actualiza la feromona
del recorrido y termina su ejecución.
Comportamiento de las hormigas
Se posicionan en paralelo m hormigas en m
ciudades, elegidas aleatoreamente.
Se inicializa la memoria M
k
con esa ciudad.
Comienza un ciclo hasta que cada hormiga
complete un tour:
Buscar la vecindad factible del nodo actual

Leer las entradas a
ij
de la tabla de ruteo

Calcular las probabilidades de transición p
ij
k
(t)
Aplicar la regla de decisión para elegir una ciudad a la que
desplazarse.
Realizar el desplazamiento. Actualizar la memoria local.
Una vez terminado el tour, actualiza la
feromona del recorrido y termina su ejecución.

Aplicaciones – ACO-TSP
Toma de decisiones e interacción entre la colonia...
leer los a
ij de A
i
probabilidades de transición
actualizar rastros de feromona
evaporación de feromona
 = 1
 = 5
 = 0.5

Aplicación posterior a TSP.
Utilizado para encontrar el optimo en la
transferencia de DATOS en redes.
Distribuido y no sincronizado.
Rutear es difícil porque los costos son
dinámicos.

Motivación: encontrar R
i = [r
ijd ] para cada
nodo.
Aplicaciones – AntNet
Notas Generales

Aplicaciones – AntNet
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.
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
M
k
y en la tabla de ruteo de cada nodo.
Aplicaciones – AntNet
Modelado

Feromonas
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
Aplicaciones – AntNet

Valores heurísticos
Para cada arco se coloca valor inicial, n
ij 
[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 ruteo y
depende de n
ij y 
ijd
Con un factor w  [0,1] se da mas peso a
uno u otro.

Aplicaciones – AntNet

Decisión de la Hormiga
La Hormiga decide entre los adyacentes,
no visitados (que no están en M
k
).
Los adyacentes factibles tienen p
ijd(t)
p
ijd(t) = a
ijd(t) ,valor de tabla de ruteo
(no visitados).
p
ijd(t) = 0, adyacentes ya visitados.
p
ijd(t)
= 1/|N
i
|, si no hay caminos posibles
(fueron ya todos visitados).
Aplicaciones – AntNet

Actualizaciones
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.
Aplicaciones – AntNet

Actualización

T
sd
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 inverso
de T
sd.
Se coloca la feromona al final, porque hay que tener el valor
de T
sd
Se lleva cabo la evaporación, por un factor de normalización,
No hay “Daemon” para modificar las feromonas depositadas
en los arcos.
Aplicaciones – AntNet

Tabla de Ruteo resultado
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.
Aplicaciones – AntNet

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

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

Preguntas
¿?
Tags