Sei sulla pagina 1di 13

OPTIMIZACIN BASADA EN COLONIAS DE HORMIGAS

1. INTRODUCCIN
En nuestro mundo natural, las hormigas (inicialmente) vagan de manera
aleatoria, al azar, y una vez encontrada comida regresan a su colonia
dejando un rastro de feromonas. Si otras hormigas encuentran dicho rastro,
es probable que estas no sigan caminando aleatoriamente, puede que
estas sigan el rastro de feromonas, regresando y reforzndolo si estas
encuentran comida finalmente.
2. OBJETIVO DE LA INVESTIGACIN
Desarrollar la metaheurstica de la optimizacin basada en colonias de
hormigas.
3. DESARROLLO
3.1 LAS HORMIGAS NATURALES
Las hormigas son insectos sociales que viven en colonias y que, debido a
que se colaboran mutuamente, son capaces de mostrar comportamientos
complejos y realizar tareas difciles desde el punto de vista de una hormiga
individual.
Una habilidad bastante curiosa de las hormigas es aquella por encontrar el
camino ms corto desde su hormiguero hasta la comida y/o algunas fuentes
de alimento. Se dice que este hecho es muy interesante ya que la mayora
de las especies de hormigas son casi ciegas, por lo cual no podran seguir
un camino con pistas visuales, o al menos no sera lo ms adecuado.
Al desplazarse desde su hormiguero hasta la fuente de alimento y viceversa
las hormigas van desprendiendo una sustancia qumica llamada feromona
que una es una sustancia de visibilidad considerable sino que es una
sustancia que se caracteriza por su olor.

Figura1. Comportamiento de la colonia

Si no se encuentra ningn rastro de feromona, las hormigas se mueven de


manera bsicamente aleatoria, pero cuando existe feromona depositada,
tienen mayor tendencia a seguir el rastro. De hecho, los experimentos
realizados por bilogos han demostrado que las hormigas prefieren de
manera probabilstica los caminos marcados con una concentracin
superior de feromona.

En la prctica, la eleccin entre distintos caminos toma lugar cuando varios


caminos se cruzan. Entonces, las hormigas eligen el camino a seguir con
una decisin probabilstica sesgada por la cantidad de feromona: cuanto
ms fuerte es el rastro de feromona, mayor es la probabilidad de elegirlo.

Puesto que las hormigas depositan feromona en el camino que siguen, este
comportamiento lleva a un proceso de auto refuerzo que concluye con la
formacin de rastros sealados por una concentracin de Feromona
elevada. Este comportamiento permite adems a las hormigas encontrar los
caminos ms cortos entre su hormiguero y la fuente del alimento.

3.2 DE LAS HORMIGAS NATURALES A LA METAHEURSTICA DE OPTIMIZACIN


BASADA EN COLONIA DE HORMIGAS
Los algoritmos de OCH (Optimizacin basada en colonia de hormigas) se
inspiran directamente en el comportamiento de las colonias reales de
hormigas para solucionar problemas de optimizacin combinatoria.

Se basan en una colonia de hormigas artificiales, esto es, unos agentes


computacionales simples que trabajan de manera cooperativa y se
comunican mediante rastros de feromona artificiales. Los algoritmos de
OCH son esencialmente algoritmos constructivos: en cada iteracin del
algoritmo,

cada

hormiga

construye

una

solucin

al problema recorriendo un grafo de construccin.


Cada arista del grafo, que representa los posibles pasos que la hormiga
puede dar, tiene asociada dos tipos de informacin que guan el movimiento
de la hormiga:

Informacin heurstica: que mide la preferencia heurstica de


moverse desde el nodo r hasta el nodo s, o sea, de recorrer la arista
a rs. Se nota por rs. Las hormigas no modifican esta informacin
durante la ejecucin del algoritmo.

Informacin de los rastros de feromona

artificiales:

que

mide

la

deseabilidad aprendida Del movimiento de r a s. Imita a la feromona real


que depositan las hormigas naturales. Esta informacin se modifica
durante la ejecucin del algoritmo dependiendo de las soluciones
encontradas por las hormigas.

3.3. SIMILITUDES Y DIFERENCIAS ENTRE HORMIGAS NATURALES Y


ARTIFICIALES
Las colonias de hormigas naturales y artificiales comparten una serie de caractersticas.
Las ms importantes pueden resumirse a continuacin:
Uso de una colonia de individuos que interaccionan y colaboran para solucionar una
tarea dada.
Tanto las hormigas naturales como las artificiales modifican su entorno a travs de
una comunicacin basada en la feromona. En el caso de las hormigas artificiales, los
rastros de feromona artificiales son valores numricos que estn disponibles
nicamente de manera local.
Ambas, las hormigas naturales y las artificiales, comparten una tarea comn: la
bsqueda del camino ms corto.
Las hormigas artificiales construyen las soluciones iterativamente aplicando una
estrategia de transicin local estocstica para moverse entre estados adyacentes, tal
como hacen las hormigas naturales.

Sin embargo, estas caractersticas por s solas no permiten desarrollar algoritmos


eficientes para problemas combinatorios difciles. De hecho, las hormigas artificiales
viven en un mundo discreto y tienen algunas capacidades adicionales:

Las hormigas artificiales pueden hacer uso de la informacin heurstica (no solo de los
rastros locales de feromona) en la poltica estocstica de transicin que apliquen.
Tienen una memoria que almacena el camino seguido por la hormiga.

3.4 METAHEURSTICA
HORMIGAS
La

metaheurstica

DE

OPTIMIZACIN

Optimizacin

MEDIANTE

mediante

Colonias

COLONIAS

de

DE

Hormigas

o Ant Colony Optimization, propuesta para resolver problemas complejos de


optimizacin

combinatoria,

tiene

su

fuente

de

inspiracin

en

el

comportamiento de colonias de hormigas reales. Las hormigas son capaces


de seguir la ruta ms corta en su camino de ida y vuelta entre la colonia y
una fuente de abastecimiento. Al desplazarse cada una va dejando un
rastro de una sustancia qumica llamada feromona a lo largo del camino
seguido, "transmitindose informacin" entre ellas de esta forma. Las
feromonas

forman

un

sistema

indirecto

de comunicacin qumica

entre animales de una misma especie, que transmiten informacin acerca


del estado fisiolgico, reproductivo y social, as como la edad, el sexo y el
parentesco del animal emisor, las cuales son recibidas en el sistema olfativo
del animal receptor, quien interpreta esas seales, jugando un papel
importante en la organizacin y la supervivencia de muchas especies.
Al iniciar la bsqueda de alimento, una hormiga aislada se mueve a ciegas,
es decir, sin ninguna seal que pueda guiarla, pero las que le siguen
deciden con buena probabilidad seguir el camino con mayor cantidad de
feromona. Considere la Figura 1 donde se observa cmo las hormigas
establecen el camino ms corto. En la figura (a) las hormigas llegan a un
punto donde tienen que decidir por uno de los caminos que se les presenta,
lo que resuelven de manera aleatoria. En consecuencia, la mitad de las
hormigas se dirigirn hacia un extremo y la otra mitad hacia el otro extremo,
como ilustra la figura (b). Ya que las hormigas se mueven aproximadamente
a una velocidad constante, las que eligieron el camino ms corto alcanzarn
el otro extremo ms rpido que las que tomaron el camino ms largo,
quedando depositada mayor cantidad de feromona por unidad de longitud,
como ilustra la figura (c). La mayor densidad de feromonas depositadas en
el trayecto ms corto hace que ste sea ms deseable para las siguientes

hormigas y por lo tanto, la mayora elige transitar por l. Considerando que


la evaporacin de la sustancia qumica hace que los caminos menos
transitados sean cada vez menos deseables y la realimentacin positiva en
el camino con ms feromona, resulta claro que al cabo de un tiempo casi
todas las hormigas transiten por el camino ms corto, como se ilustra en la
figura.

Figura 2: Comportamiento de las hormigas reales.

En

analoga

con

el

ejemplo

biolgico,

ACO

se

basa

en la

comunicacin indirecta de una colonia de agentes simples, llamados


hormigas (artificiales), por medio de la huella de feromona (artificial). La
huella de feromona en ACO sirve como informacin numrica distribuida,
que las hormigas usan para la construccin probabilstica de soluciones del
problema a resolver y la adaptan durante la ejecucin del algoritmo para
reflejar su experiencia de bsqueda.

3.5. IMPLEMENTACIN DEL ALGORITMO


ltimamente se ha estado desarrollando una nueva tcnica metaheurstica,
la cual se inspira en el comportamiento real de las hormigas.

Los algoritmos de optimizacin con colonias de hormigas han sido


aplicados con xito a una amplia variedad de problemas de optimizacin
combinatoria; el primero de ellos fue el conocido problema del viajante
(Dorigo, 1992).
ACO es una tcnica en la que un conjunto de hormigas artificiales
construyen de forma incremental, seleccionado paso a paso diferentes
componentes, un conjunto de soluciones del problema. En este proceso, las
hormigas hacen uso de informacin a priori sobre el problema (informacin
heurstica) e informacin proporcionada por las hormigas precedentes sobre
la calidad de las soluciones por ellas construidas (feromona).

El modo de operacin bsico de un algoritmo de ACO es como sigue: las m


hormigas (artificiales) de la colonia se mueven, concurrentemente y de
manera asncrona, a travs de los estados adyacentes del problema (que
puede representarse en forma de grafo con pesos). Este movimiento se
realiza siguiendo una regla de transicin que est basada en la informacin
local disponible en las componentes (nodos). Esta informacin local incluye
la informacin heurstica y memorstica (rastros de feromona) para guiarla
bsqueda. Al moverse por el grafo deconstruccin, las hormigas construyen
incrementalmente soluciones.

Opcionalmente, las hormigas pueden depositar feromona cada vez que


crucen un arco (conexin) mientras que construyen la solucin (actualizacin
en lnea paso a paso de los rastros de feromona). Una vez que cada hormiga ha
generado una solucin se evala sta y puede depositar una cantidad de
feromona que es funcin de la calidad de su solucin (actualizacin en lnea a
posteriori de los rastros de feromona). Esta informacin guiar la bsqueda
de las otras hormigas de la colonia en el futuro. Adems, el modo de
operacin

genrico

de

un

algoritmo

de

ACO

incluye

dos procedimientos adicionales, la evaporacin de los rastros de feromona


y las acciones del demonio. La evaporacin de feromona la lleva a cabo el
entorno y se usa como un mecanismo que evita el estancamiento en
la bsqueda y permite que las hormigas busquen y exploren nuevas region
es delespacio.

Entre otros, se deben fijar el rastro inicial de feromona asociado a cada


transicin, to, que es un valor positivo pequeo y que normalmente es el
mismo para todas las conexiones, el nmero de hormigas en la colonia, m,
y los pesos que definen la proporcin en la que afectarn la informacin
heurstica y memorstica en la regla de transicin probabilstica Como se ha
comentado antes, varias componentes son o bien opcionales, como las
acciones del demonio, o bien dependientes estrictamente del algoritmo de
OCH especifico, por ejemplo cundo y cmo se deposita la feromona.

Generalmente, la actualizacin en lnea paso a paso de los rastros de


feromona y la actualizacin en lnea a posteriori de los rastros de feromona
son mutuamente excluyentes y no suelen estar presentes a la vez ni
faltar ambas al mismo tiempo (si las dos faltan, el demonio suele actualizar
los rastros de feromona).En este sentido, la seleccin de los parmetros
iniciales y la configuracin de los componentes del algoritmo pueden ser
determinantes para el rendimiento del mtodo, y es por esto que un buen
algoritmo nunca se desprende de un buen conocimiento del problema.

Estructura de un algoritmo de OCH genrico:

El primer paso incluye la inicializacin de los valores de los parmetros que


se tienen en consideracin en el algoritmo. Entre otros, se deben fijar el
rastro inicial de feromona asociado a cada transicin, t, que es un valor
positivo

pequeo,

normalmente

el

mismo

para

todas

las

componentes/conexiones, el nmero de hormigas en la colonia, m, y los

pesos que definen la proporcin en la que afectarn la 0 informacin


heurstica y memorstica en la regla de transicin probabilstica.
El procedimiento principal de la metaheurstica OCH controla, mediante el
constructor Programacin_de_Actividades, la planificacin de las tres
componentes mencionadas en esta seccin: la generacin y puesta en
funcionamiento de las hormigas artificiales, la evaporacin de feromona, y
las acciones del demonio. La implementacin de este constructor
determinar la sincrona existente entre cada una de las tres componentes.
Mientras que

la

aplicacin

problemas

clsicos NP-duros (no

distribuidos), normalmente usa una planificacin secuencial, en problemas


distribuidos como el enrutamiento en redes, el paralelismo puede ser
explotado de manera sencilla y eficiente.

Como se ha comentado antes, varias componentes son o bien opcionales,


como las acciones del demonio, o bien dependientes estrictamente del
algoritmo de OCH especifico, por ejemplo cundo y cmo se deposita la
feromona. Generalmente, la actualizacin en lnea paso a paso de los
rastros de feromona y la actualizacin en lnea a posteriori de los rastros de
feromona son mutuamente excluyentes y no suelen estar presentes a la vez
ni faltar ambas al mismo tiempo (si las dos faltan, el demonio suele
actualizar los rastros de feromona).

Por

otro

lado,

hay

que

remarcar

que

el

procedimiento

actualiza_memoria_hormiga() se encarga de especificar el estado inicial


desde el que la hormiga comienza su camino y, adems almacenar la
componente correspondiente en la memoria de la hormiga L. La decisin
sobre cul ser dicho nodo depende del algoritmo especfico (puede ser
una eleccin aleatoria o una fija para toda la colonia, o una eleccin
aleatoria o fija para cada hormiga, etc.).

Por

ltimo,

comentar

que

los

procedimientos

calcular_probabilidades_de_transicin y aplicar_poltica_decisin tienen


en consideracin el estado actual de la hormiga, los valores actuales de la
feromona visibles en dicho nodo y las restricciones del problema W para
establecer el proceso de transicin probabilstico hacia otros estados
vlidos.

3.6. PASOS A SEGUIR PARA RESOLVER UN PROBLEMA MEDIANTE


OCH
Observando las aplicaciones actuales de la OCH, podemos identificar
algunas

directivas

sobre

como

atacar

problemas

utilizando

esta

metaheurstica. Estas directivas se pueden resumir en las seis tareas de


diseo que se enumeran a continuacin:
1. Representar el problema como un conjunto de componentes y
transiciones o a travs de un grafo ponderado que ser recorrido por las
hormigas para construir soluciones.
2. Definir de manera apropiada el significado de los rastros de feromona
trs, esto es, el tipo de decisin que inducen. ste es un paso crucial en la
implementacin de un algoritmo de OCH y, a menudo, una buena
definicin de los rastros de feromona no es una tarea trivial. De hecho,
normalmente implica tener un buen conocimiento del problema que se
quiere solucionar.
3. Definir de manera apropiada la preferencia heurstica de cada decisin
que debe tomar una hormiga mientras que construye una solucin, es
decir, definir la informacin heurstica h rs asociada a cada componente o
transicin. Hay que remarcar que la informacin heurstica es crucial
para un buen rendimiento si no existen o no pueden ser aplicados
algoritmos de bsqueda local.

4. Si es posible, implementar una bsqueda local eficiente para el


problema que se desea solucionar, porque los resultados de muchas
aplicaciones de la OCH a problemas de optimizacin combinatoria NPduros demuestran que el mejor rendimiento se alcanza cuando se
complementa con optimizaciones locales.

5. Escoger un algoritmo de OCH especifico (algunos de los cuales sern


descritos en la siguiente seccin) y aplicarlo al problema que hay que
solucionar, teniendo en cuenta, obviamente, todos los aspectos
previamente comentados.

6. Refinar los parmetros del algoritmo de OCH. Un buen punto de partida


para la especificacin de los valores de los parmetros es usar
configuraciones de parmetros que han demostrado ser buenas cuando
se aplicaban en el algoritmo de OCH a problemas similares o a una
gran variedad de problemas distintos. Otra posible alternativa para
evitar el esfuerzo y tiempo necesarios para esta tarea es utilizar
procedimientos automticos de refinamiento de parmetros.
Debe quedar claro que los pasos arriba mostrados slo dan una idea a
grosso modo sobre la implementacin del algoritmo de OCH. Adems,
en muchas ocasiones la implementacin es un proceso iterativo, donde
cuando se obtiene una visin ms en profundidad del problema y del
comportamiento del algoritmo, deben revisarse algunas de las
decisiones iniciales. Por ltimo, queremos insistir en el hecho de que
probablemente los pasos ms importantes son los cuatro primeros, ya
que una eleccin poco acertada en esos puntos no suele poder
arreglarse con un buen refinamiento de parmetros.
4. CONCLUSIONES Y/O RECOMENDACIONES

Actualmente la optimizacin en colonias de hormigas es una metaheurstica


bien definida y con un buen rendimiento que se aplica para resolver cada
vez un mayor nmero de problemas de optimizacin combinatoria
complejos. Se han descrito algunas de las aproximaciones actuales y se
han resumido algunos aspectos tericos as como resultados sobre
diferentes tpicos como las relaciones con otras metaheursticas. Adems,
se ha identificado algunas tendencias actuales en el campo, intentando
esclarecer el posible futuro en el desarrollo de la OCH. Por otro lado se ha
presentado un algoritmo de OCH genrico como ejemplo.

5. BIBLIOGRAFA

http://es.slideshare.net/Slidemora/optimizacin-basada-en-coloniasde-hormigas

http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S140555462014000100004&lng=pt&nrm=iso

http://razonartificial.com/2010/01/optimizacion-basada-en-coloniasde-hormigas-en-la-naturaleza/

http://dialnet.unirioja.es/servlet/articulo?codigo=1125444

http://elsenderodelguerrero.blogspot.com/2009/05/algoritmo-deoptimizacion-basada-en.html

http://docsetools.com/articulos-noticias-consejos/article_137860.html

http://scielo.sld.cu/scielo.php?pid=S222718992014000100009&script=sci_arttext

Dorigo, M.; Sttzle, T. (2004). Ant Colony Optimization. MIT Press.

Blum, C. y Roli, A. (2003): Metaheuristics in combinatorial


optimization: overview

Potrebbero piacerti anche