Vous êtes sur la page 1sur 9

Algoritmo Colonia de hormigas

David Sebastin Lpez

Universidad Tecnolgica de Pereira

Introduccin
La teora de optimizacin por colonia de hormigas o OCH (Ant Colony Optimization),
fue introducida por Marco Dorigo en los inicios de 1990 como herramienta para la
solucin de problemas de optimizacin complejos. La OCH pertenece a la clase de
mtodos heursticos, los cuales son algoritmos aproximados utilizados para obtener
soluciones lo suficientemente buenas a problemas complejos en una cantidad
razonable de tiempo de cmputo.
El algoritmo esta inspirado en el comportamiento de las hormigas en su entorno natural.
En este, una hormiga que busca comida inicialmente explora el rea alrededor de su
nido de una forma aleatoria. Tan pronto encuentran fuentes de alimento, evalan su
cantidad y calidad, y llevan algunas partes de esta comida al nido.
Mientras regresan las hormigas van dejando un rastr de feromonas que sirve como
referencia futura. La cantidad de feromonas depender de la cantidad y calidad del
alimento encontrado. Este algoritmo de comunicacin puede ser utilizado para mejorar
los tiempos de cmputo para la solucin de una aplicacin especfica. La colonia de
hormigas al igual que otras sociedades de insectos esta enmarcada en los sistemas
distribuidos. Estos sistemas se definen como una coleccin de entidades separadas
fsicamente pero conectadas entre s.

La mejor forma para abordar cmo las hormigas utilizan el camino con la mayor
cantidad de feromonas para encontrar su alimento es con un ejemplo prctico.
En la figura 1 un grupo de hormigas llegan a un cruce y tiene que decidir una direccin.
Ya que ambos caminos son nuevos la eleccin es aleatoria as que se puede suponer
que la mitad de las hormigas se dirigen a un lado y la otra mitad al otro.

Figura 1
Ya que el camino inferior es ms corto acumula una mayor cantidad de feromonas y
gradualmente influencia las decisiones de las hormigas nuevas. Esto crea una
retroalimentacin positiva que ocasiona que se acumulen muchas ms feromonas por
ese camino(Figura 2).

Figura 2
Finalmente todas las hormigas terminaran transitando el camino ms corto.

Figura 3

Algoritmos de optimizacin basados en colonias de hormigas


Este algoritmo esta compuesto por agentes computacionales que trabajan de manera
conjunta para poder comunicarse a travs de rastros de feromonas artificiales.
Para cada ciclo cada hormiga construye su propia solucin al problema a travs de un
grafo. Cada arista representa las posibles opciones que puede tomar y tiene asociada
el siguiente tipo de informacin:
Informacin heurstica: en sta se mide la preferencia heurstica que tienen las
hormigas para moverse de un nodo a otro. El camino recorrido de un nodo a otro es
una arista. Esta informacin no es modificada durante la ejecucin del algoritmo.
Rastros de feromonas: en sta se mide la calidad del recorrido de un nodo a otro tal
como lo haran las feromonas reales. Esta informacin se actualiza constantemente
mientras se ejecuta el algoritmo dependiendo de las soluciones encontradas.

Cada hormiga es un agente independiente y solo se comunican indirectamente por


feromonas. Sin embargo todas se comportan de la misma forma basada en series de
parmetros y constan de las siguientes propiedades:
Encuentra soluciones vlidas con el menor costo.
Tiene una memoria que almacena informacin de los caminos recorridos, la cual
puede ser utilizada para construir soluciones vlidas, evaluar la solucin generada y
reconstruir el camino que ha seguido la hormiga.

Posee un estado inicial, el cual corresponde a una secuencia unitaria y una o ms


condiciones de parada asociadas.
Existen dos ecuaciones importantes a tener en cuenta para emular el comportamiento
de una colonia de hormigas real. Estas son:

Probabilidad de seleccionar un camino


Asociado a la informacin heurstica representa el camino recorrido por experiencia de
la hormiga.

Ecuacin 1

Cantidad de feromonas (Rastros de feromonas)


Es la informacin asociad al rastro de feromonas de la hormiga y esta en constate
cambio

Ecuacion 2

Aplicacin
Visto de forma prctica podemos considerar el siguiente ejemplo de un problema que
soluciona este algoritmo(agente viajero).
Tenemos una serie de caminos y estamos buscando la ruta ms corta desde un punto A
hasta un punto B.

Lo primero que hacemos es identificar la longitud, visibilidad y un nmero de feromonas


inicial para cada camino. Las longitudes ya vienen dadas, la visibilidad la podemos
calcular como el inverso de la longitud y para feromonas iniciales podemos dar un valor
arbitrario.
Caminos
1-2
1-3
1-6
2-7
2-3
6-3
6-5
3-7
3-5
5-4
7-4

Longitudes

Visibilidad

5
3.1
5.2
5.2
4.9
3.2
4.7
3
6
5.5
4.8

1/5
1/3.1
1/5.2
1/5.2
1/4.9
1/3.2
1/4.7
1/3
1/6
1/5.5
1/4.8

0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1

Inicialmente utilizaremos dos hormigas h1 y h2.

Para h1 inicialmente solo existen tres posibles caminos (1-2,1-3,1-6) as que


calculamos las probabilidades de cada una.
Caminos
1-2

0,02

0,2799

1-3
1-6

0,0322
0,0192
0,07143

0,4508
0,2687

Luego representamos estas probabilidades en intervalos dentro de una lnea y


seleccionamos un valor aleatorio entre 0 y 1 para escoger un camino.

El valor aleatorio para este caso seria 0,4392 lo que significa que cae en el intervalo 13.Luego iteramos de nuevo.

Segunda iteracin
Caminos
2-3
6-3
3-7
3-5

0,0204
0,0312
0,0333
0,0166
0,01016

0,2006
0,3075
0,3280
0,1639

Luego repetimos el proceso hasta llegar al final. La ruta para h1 es: 1-3-6-5-4
Y el costo total del camino seria: 16.5.
Siguiendo el mismo proceso para h2 tenemos que la ruta es: 1-3-5-4 y el costo total
seria 14.6.
Ahora vamos a actualizar el aporte de feromonas para cada camino utilizando. Con
igual a 0,01.
Caminos

1-2
1-3
1-6
2-7
2-3
6-3
6-5
3-7
3-5
5-4
7-4

0,099
0.099
0.099
0.099
0.099
0.099
0.099
0.099
0.099
0.099
0.099

H1

H2

0
0,0606
0
0
0
0.0606
0.0606
0
0
0.0606
0

0
0.0685
0
0
0
0
0
0
0.0685
0.0685
0

0.099
0,2276
0.099
0.099
0.099
0.1596
0.1596
0.099
0.1596
0.1596
0.099

Una vez actualizado


todo el proceso se repite utilizando Hn hormigas. Cabe
resaltar que este no es el algoritmo ms ptimo para tratar el problema del agente
viajero.
Conclusiones
Al culminar la investigacin, es claro que el modelado mediante simulacin demostr
ser una tcnica muy flexible y, en general, de fcil aplicacin, adems el algoritmo para
optimizacin por colonia de hormigas aunque no sea el ms idneo para tratar el
problema del agente viajero puede ser aplicado a otros tipos de algoritmos de
optimizacin combinatorios. Su principal ventaja frente a otros algoritmos es que el
grafo generado puede cambiar su estructura de manera dinmica, el algoritmo de
colonia de hormigas puede seguir corriendo continuamente y adaptar los cambios en
tiempo real.

Bibliografa

Alonso, S. et l. (2004), La metaheurstica de optimizacin basada en colonias de


hormigas: modelos y nuevos enfoques, Granada, Departamento de Ciencias de la
Computacin e Inteligencia Artificial, Universidad de Granada
Optimizacin por colonia de Hormigas: aplicaciones y Tendencias (2010), Carlos Arturo
Robles Algarn.
Optimizacin y redes neuronales, Adenzo Daz. (1996). Editorial Paraninfo.
Introduccin a la inteligencia artificial, Julio Hernando Vargas, Universidad Tecnolgica
de Pereira.

Vous aimerez peut-être aussi