Sunteți pe pagina 1din 2

Práctica 3: Optimización por Colonia de Hormigas

(ACO)
Laboratorio de Programación de Sistemas Adaptativos

1. INICIALIZACIÓN
1. Utiliza el grafo proporcionado para el problema del viajero (recuerda que el grafo se
representa mediante una matriz de pesos). Considera que la longitud del recorrido (Lk )
será de 6.
2. Asume que el número de hormigas es 2.
3. Inicializa la feromona (τ ) de las aristas en 1. Estos valores se pueden almacenar en una
matriz.
4. La tasa de evaporación de feromona (ρ) estará en 0.3.
5. La constante para el depósito de feromona (Q) estará en 1.

2. PRIMERA HORMIGA, PRIMER RECORRIDO


1. Selecciona aleatoriamente en qué ciudad aterriza la primer hormiga. Describe qué pro-
cedimiento seguiste para hacer esto.
2. Selecciona de manera probabilı́stica a qué ciudad viaja la hormiga.

a) Calcula la aptitud de la arista ij utilizando la siguiente fórmula: τijα · ηijβ , donde τ


representa la cantidad de feromona, η es el recı́proco del peso de la arista y α y
β son parámetros para el control de preferencias sobre uno u otro factor.
b) Por simplicidad, α y β pueden tomar el valor de 1.
c) Calcula la aptitud relativa de la arista; esto nos dará la probabilidad pkij de que la
arista ij sea escogida por la hormiga k (número entre 0 y 1, y todas las aptitudes
relativas suman 1). Para ello, divide la aptitud de la arista (calculada previamente)
entre la aptitud total, que se obtiene sumando las aptitudes individuales de las
aristas consideradas para hacer la selección. Una arista solo se puede considerar
si lleva a una ciudad no visitada; de otra manera, su probabilidad de selección es
0.

1
d ) Genera una ruleta de selección. Asigna los números del 1-100 a las aristas depen-
diendo de su probabilidad de selección (ej. una probabilidad de 0.2 equivale a 20
números y se le puede asignar el rango de 1-20, del 20-40 o ası́). Escoge un número
al azar y selecciona la arista a cuyo rango pertenece este número (ej. si la arista
ab está asignada al rango 23-45 y cae el 25, la hormiga selecciona ab).

3. Sigue seleccionando ciudades de esta misma manera hasta completar el recorrido. Indica
las probabilidades involucradas y el recorrido generado, junto con su peso.

3. SEGUNDA HORMIGA
1. Realiza el recorrido para la segunda hormiga al igual que lo hiciste para la primera.

2. Reporta el mejor recorrido que encontraste (ya sea el de la primera hormiga o el de la


segunda).

4. ACTUALIZACIÓN DE FEROMONA
Actualiza la feromona de las aristas del grafo. Por cada arista, realiza la evaporación y
el depósito de feromona, de acuerdo con la siguiente fórmula:
m
X Q
τij = (1 − ρ) · τij + ,
k=1 Lk

donde m es la cantidad de hormigas que pasaron por la arista ij.

5. SEGUNDA ITERACIÓN
Realiza una nueva iteración considerando los nuevos valores para la feromona.

S-ar putea să vă placă și