Você está na página 1de 74

Departamento de Inteligencia Artificial

Grupo de Anlisis de Decisiones y


Estadstica

BSQUEDA INTELIGENTE BASADA


EN METAHEURSTICAS
COLONIAS DE HORMIGAS

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

NDICE
1. Colonias de hormigas naturales
2. La hormiga artificial
3. El sistema de hormigas
4. Otros sistemas de hormigas
5. Aplicaciones
6. Optimizacin multiobjetivo basada en CH
7. Referencias

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

1. Colonias de hormigas naturales


Las hormigas son insectos sociales que viven en colonias y que
tienen un comportamiento dirigido al desarrollo de la colonia como
un todo mas que a un desarrollo individual. Como consecuencia, las
colonias de hormigas (CH) pueden llevar a cabo tareas complejas
que exceden las capacidades individuales de una simple hormiga.
Observacin: Caminos de hormigas y superacin de obstculos.
Una caracterstica interesante del comportamiento de las colonias
de hormigas es cmo pueden encontrar los caminos ms cortos
entre el hormiguero y la comida.
Sobre todo porque... LAS HORMIGAS SON CIEGAS!!

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Respuesta: En su recorrido, depositan una sustancia qumica


llamada feromona que todas pueden oler (estimergia). Este rastro
permite a las hormigas volver a su hormiguero desde la comida.
Cada vez que una hormiga llega a una interseccin, decide el
camino a seguir de un modo probabilstico, dando mayor probabilidad los caminos con un alto rastro de feromona.

Las bifurcaciones ms prometedoras (ms cercanas a la comida)


van acumulando feromona al ser recorridas por ms hormigas
(reclutamiento de masas)

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Las menos prometedoras pierden feromona por evaporacin al ser


visitadas por menos hormigas cada vez. An as, la gran perduracin de los rastros hace que la evaporacin influya poco.

La accin continuada de la colonia da lugar a un rastro de feromona


que permite a las hormigas encontrar un camino cada vez ms
corto desde el hormiguero a la comida.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Las menos prometedoras pierden feromona por evaporacin al ser


visitadas por menos hormigas cada vez. An as, la gran perduracin de los rastros hace que la evaporacin influya poco.

La accin continuada de la colonia da lugar a un rastro de feromona


que permite a las hormigas encontrar un camino cada vez ms
corto desde el hormiguero a la comida.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Experimentos sobre el depsito y el seguimiento de los restos


de feromona:
(Deneubourg et al., 1990; Goss et al., 1989). Especie de hormigas I.
Humilis en Argentina.
Intersecciones con dos posibles caminos entre el hormiguero y la
comida variando la longitud de los caminos.

Estudiaron el porcentaje de hormigas que tomaban cada camino.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Caminos alternativos de la misma longitud

% of experiments

Aunque inicialmente los caminos lo elegan de manera arbitraria,


eventualmente todas las hormigas seguan el mismo camino.

% of traffic on one of the branches

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Caminos alternativos de distinta longitud

% of experiments

Las hormigas que van por el camino ms corto tardan menos en


llegar a la comida, por lo que vuelven antes, aumentando ms
rpidamente la intensidad de feromona en el camino ms corto.

% of traffic on the short branch

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Caminos con dos intersecciones consecutivas:

Incorporacin dinmica de la interseccin:

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Deneubourg et al. Construyeron un modelo estocstico sencillo que


describa la dinmica de la colonia de hormigas en el experimento
Pi,a: probabilidad de que una hormiga llegue a la interseccin i y seleccione
la rama a en un instante t.

donde i,a es la concentracin de feromona en la rama a de la interseccin i,


i,a es la concentracin de feromona en la otra rama de la interseccin i, =
2 (obtenido de diversos experimentos) y k es el tiempo que se tarda en
atravesar la rama a.
Ntese que pi,a+pi,a = 1.
Las ecuaciones diferenciales describen la evolucin del sistema estocstico.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

NDICE
1. Colonias de hormigas naturales
2. La hormiga artificial
3. El sistema de hormigas
4. Otros sistemas de hormigas
5. Aplicaciones
6. Optimizacin multiobjetivo basada en CH
7. Referencias

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

2. La hormiga artificial
Los algoritmos de OCH reproducen el comportamiento de las
hormigas reales en una colonia artificial de hormigas para resolver
problemas complejos de camino mnimo
Cada hormiga artificial es un mecanismo probabilstico de construccin de soluciones al problema (un agente que imita a la
hormiga natural) que usa:
- Unos rastros de feromona (artificiales) que cambian con el
tiempo para reflejar la experiencia adquirida por los agentes en la
resolucin del problema.
- Informacin heurstica sobre la instancia concreta del problema.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Problema del viajante (TSP) o del cartero chino


Se dispone de un conjunto N = {1, ..., n} de ciudades, que han de ser
visitadas una sola vez, volviendo a la ciudad de origen, y recorriendo
la menor distancia posible.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

La hormiga artificial es un agente que:


Recuerda los nodos que ha recorrido, utilizando para ello una lista de
nodos visitados (L). Al finalizar, esta lista contiene la solucin construida
por la hormiga.
En cada paso, estando en la ciudad r elige hacia qu ciudad s
moverse de entre las vecinas de r que no hayan sido visitados an (J(r)
= s / ars y s L), segn una regla probabilstica de transicin.
La decisin tomada es funcin de la preferencia heurstica rs=1/drs y la
feromona rs.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

La regla probabilstica de transicin ms habitual define la probabilidad con


la que la hormiga k, situada en la ciudad r, decide moverse hacia la ciudad s:

donde:

rs es la feromona del arco ars,


rs es la informacin heurstica del arco ars,
y son pesos que establecen la importancia relativa entre la
informacin heurstica y los niveles de feromona,
J(r) es el conjunto de nodos alcanzables desde r no visitados an por la
hormiga k.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Identificacin de valores de los parmetros y


Si =0 las ciudades ms cercanas son las que tienen ms probabilidad de ser

escogidas (algoritmo clsico del gradiente con mltiples puntos de partida).


Si =0 solo se tienen en cuenta los niveles de feromona, generalmente da
lugar a resultados bastante pobres, especialmente si >1, situacin que da
lugar a la denominada situacin de estancamiento (stagnation), en la que
todas las hormigas siguen el mismo camino, proporcionando en general
soluciones subptimas (Dorigo, 1992; Dorigo et al., 1996).

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Actualizacin de la feromona
Cuando una hormiga transita por un camino deposita ciertos niveles de
feromona, la cual se va evaporando con el tiempo.
Se usa una retroalimentacin positiva para reforzar en el futuro los
componentes de las buenas soluciones mediante un aporte adicional de
feromona.
Cuanto mejor sea la solucin, ms feromona se aporta.
Se usa la evaporacin de feromona para evitar un incremento ilimitado
de los rastros de feromona y para permitir olvidar las malas decisiones
tomadas.
La evaporacin es la misma para todos los rastros, eliminndose un
porcentaje de su valor actual: 0 1
Es un mecanismo de evaporacin ms activo que el natural, lo que evita
la perduracin de los rastros de feromona y permite al algoritmo olvidar
malas decisiones tomadas previamente.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Modelo de actualizacin de la feromona

donde
rsk es la cantidad de feromona que la hormiga k deposita en los arcos
que visita
si la hormiga k ha visitado el arco ars
en otro caso

C(Sk) es el coste de la solucin generada por la hormiga k, es decir, la


longitud del circuito Sk,

m es el nmero de hormigas, y
es el ratio de evaporacin.
Los arcos visitados por hormigas en la iteracin actual (arcos prometedores)
reciben un aporte extra de feromona y los no visitados por ninguna hormiga
(poco prometedores) la pierden.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

NDICE
1. Colonias de hormigas naturales
2. La hormiga artificial
3. El sistema de hormigas
4. Otros sistemas de hormigas
5. Aplicaciones
6. Optimizacin multiobjetivo basada en CH
7. Referencias

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El algoritmo anterior fue el primero que se propuso, denominado


Sistema de Hormigas (Ant System) (AS)
Se trata de una metaheurstica en la que una colonia de hormigas
artificiales cooperan para encontrar buenas soluciones en problemas
de optimizacin discretos estticos y dinmicos.
Se propusieron tres versiones distintas (Dorigo et al., 1991; Colorni
et al. 1992; Dorigo, 1992): ant-density, ant-quantity y ant-cycle.
Las dos primeras la actualizacin de las feromonas se realiza
despus de cada movimiento entre una ciudad y otra adyacente,
mientras que en la tercera las feromonas solo se actualizan una vez
que las hormigas han terminado de construir sus caminos.
Las dos primeras versiones proporcionaban peores resultados.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Fue la base para el desarrollo posterior de la OCH, al proponerse


muchas mejoras.
Algoritmo del Sistema de Hormigas (AS)
T el nmero de iteraciones que se ejecutar el algoritmo,
m el nmero de hormigas,
n el nmero de nodos,
L[h] la lista de los nodos visitados (camino) por la hormiga h,
C(Sh) coste de la solucin generada por la hormiga h,
distancia_arcos(L[h]) es la suma de las distancias de los arcos en L[h]
/* Inicializacin de parmetros */

Para i=1 hasta n hacer


Para j=1 hasta n hacer
ij = 0 (inicializacin de feromonas en los arcos)

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Desde t=1 hasta T hacer


Desde h=1 hasta m hacer
L[h][1] = nodo_inicial (indicamos dnde empiezan las hormigas)
/* Construccin de soluciones por las hormigas */
Desde i=2 hasta n hacer
Desde h=1 hasta m hacer (para cada hormiga)
L[h][i] regla_transicin (J(L[h][i-1]), , )
/* Actualizacin de feromona */
Desde h=1 hasta m hacer (para cada hormiga)
C(Sh) = distancia_arcos(L[h])
mejorsol = arg minh{C(Sh)}
Desde i=1 hasta n hacer
Desde j=1 hasta n hacer
ij(t)= (1-) ij(t-1) +

i=1

ijk

/* Actualizacin de mejor solucin visitada*/


Si (C(mejorsol) < C(global) ) C(global) =C(mejorsol)
Devolver global

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Inicializacin de las feromonas y condicin de parada


Si se inicializan las feromonas a valores muy bajos la bsqueda
estar muy influenciada por los primeros recorridos construidos por
las hormigas
llevar a explorar regiones del espacio de bsqueda peores

Si se inicializan las feromonas a valores muy altos


debern pasar muchas iteraciones hasta que la evaporacin reduzca
los suficiente los valores de feromona para que las introducidas por
las hormigas empiecen a influir en la bsqueda.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Solucin: Asignar un valor ligeramente superior a la feromona


depositada por las hormigas en una iteracin.
Un posible estimacin del mismo es
ij = 0 =m/Cnn
donde m es el nmero de hormigas y Cnn es la longitud del camino
obtenido mediante la heurstica del vecino ms cercano.
El programa deber terminar cuando se cumpla al menos una de las
siguientes condiciones de parada:
- Tenemos una solucin con una calidad mnima preestablecida.
- Se ha realizado un nmero mximo de iteraciones.
- Se ha superado un tiempo de CPU mximo establecido.
- Se ha alcanzado una situacin de estancamiento.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Ejemplo de aplicacin. Sistema de Hormigas (AS)


Veamos una iteracin del algoritmo para un caso sencillo del problema del
viajante (TSP) con n=6 nodos y con las siguientes matrices de distancias D
y heurstica :

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Suponiendo una poblacin de m=n=6 hormigas, cada una partiendo de una


ciudad distinta, y la matriz de feromona inicializada a 0=10, el proceso
constructivo de las tres primeras podra ser el siguiente:

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Una vez construidas las 6 soluciones, se aplica la actualizacin de feromona. Considerando que cada hormiga h aporta 100/C[h] en los arcos
visitados, tendramos los siguientes aportes:

Aplicando el mecanismo de actualizacin de feromona, se evapora la


feromona y se realizan los aportes comentados. Considerando =0.5, la
matriz de feromonas quedara:

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

NDICE
1. Colonias de hormigas naturales
2. La hormiga artificial
3. El sistema de hormigas
4. Otros sistemas de hormigas
5. Aplicaciones
6. Optimizacin multiobjetivo basada en CH
7. Referencias

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Otros sistemas de hormigas


1. Sistemas de hormigas elitistas (ASe)
2. Sistemas de hormigas basadas en rankings (ASrank)
3. Sistemas de hormigas max-min (MMAS)
4. Sistemas de colonias de hormigas (ACS)
5. Sistemas de hormigas mejor-peor (BWAS)
6. Estudio comparativo
7. Sistemas de hormigas con bsqueda local

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El sistema de hormigas elitista (ASe)


Primera mejora del AS propuesta en Dorigo (1992) y Dorigo et al.
(1991,1996).
Idea bsica: proporcionar un peso adicional que refuercen los arcos
que pertenecen al mejor camino encontrados desde el principio de
la bsqueda, Lmejor_global. Actualizacin de la feromonas.

donde rsmejor_global = 1/Cmejor_global si arco (i,j) Lmejor_global


0

en el caso contrario.

EAS encuentra mejores caminos y en menos iteraciones si seleccionamos convenientemente el parmetro e (valor tpico e=n).

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El sistema de hormigas basado en rankings


ASrank fue propuesto por Bullnhemiern et al. (1999).
Idea bsica: cada hormiga deposita una cantidad de feromona que
disminuye con su ranking. Adems, como en ASe, la hormiga que ha
recorrido el mejor camino siempre deposita la mayor cantidad de
feromona en cada iteracin.
Las hormigas se clasificacin en funcin de la longitud de los
caminos que han construido y la cantidad de feromona que
depositan depende de su posicin en el ranking.
En cada iteracin solo las w-1 hormigas mejor clasificadas y la
hormiga que produjo el mejor camino visitado pueden depositar
feromona.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

La cantidad de feromona que depositan estas hormigas se


multiplican por el peso max {0, w-r}, si ocupan la posicin r en el
ranking. La hormiga que produjo el mejor camino visitado obtiene el
peso mximo w.
(w - r) rsr + wrsmejor_global
donde rsr =1/Cr

y rsmejor_global =1/Cmejor_global .

ASrank mejora ligeramente al ASe y significativamente al AS.


(Valor tpico w=6)

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El sistema de hormigas MAX-MIN


MMAS (Sttzle, 1999; Sttzle & Hoos, 2000) introduce cuatro
modificaciones respecto al AS:
1. Explota con ms fuerza el mejor camino encontrado, bien el
mejor camino encontrado hasta el momento en cada iteracin o
el mejor camino completado hasta el momento problema del
estancamiento.
2. Se limita en un intervalo la cantidad de feromona que se puede
depositar en un arco [min, max].
3. La feromona de los arcos de inicializan a max, lo cual, en
combinacin con un ratio de evaporacin bajo hace que se
incremente la exploracin de caminos al principio de la
bsqueda.
4. Las feromonas se reinicializan cada vez cada vez que se
produce estancamiento.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El Sistema Colonias de Hormigas (ACS)


El Sistema de Colonia de Hormigas (Ant Colony System, ACS),
propuesto inicialmente en Dorigo et al. (1997), extiende a su
predecesor, el AS, en tres aspectos:
Explota ms la experiencia acumulada por la hormigas en la
bsqueda que el AS.
Para la depsito y evaporacin de la feromona slo se
considera la hormiga que gener la mejor solucin hasta ahora.
Se aade una nueva actualizacin (local) de feromona basada
en que cada hormiga modifica automticamente la feromona de
cada arco que visita para diversificar la bsqueda.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

La regla de transicin de ACS (regla proporcional pseudoaleatoria)


es:

donde

s es la siguiente ciudad a la que se desplaza la hormiga k,


q valor aleatorio obtenido de una distribucin Uniforme [0,1],
q0[0,1] es un parmetro, la probabilidad con la que se escoge el

arco ms prometedor. Control sobre la posibilidad de concentrar la


bsqueda alrededor de la mejor solucin obtenida o explorar otros
caminos. Valor tpico: 0.9.

S, ciudad seleccionada con la regla de transicin del AS con =1.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

La actualizacin global de feromona se realiza mediante la operacin:

que slo se aplica sobre los arcos rs Smejor-global.

(valor tpico de =0.1)

Slo en los arcos correspondientes a la mejor solucin obtenida hasta


el momento se deposita y evapora feromona La complejidad
computacional en cada iteracin se reduce de O(n2) a O(n).
El aporte de feromona es funcin de la calidad de esta solucin,

(Smejor-global).

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Cada vez que una hormiga recorre un arco, aplica la actualizacin


local de feromona:

donde 0<<1 (valor tpico: 0.1) y 0 =1/mCnn.


La feromona asociada a un arco disminuye cada vez que lo visita una
hormiga se convierte en menos deseable favorece la
exploracin de arcos no visitados se evita el estancamiento.
As, las hormigas tienden a no converger a soluciones parecidas en la
iteracin actual.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Algoritmo del Sistema Colonias de Hormigas (ACS)


T el nmero de iteraciones que se ejecutar el algoritmo,
m =10 el nmero de hormigas,
n el nmero de nodos,
L[h] la lista de los nodos visitados (camino) por la hormiga h,
C(Sh) coste de la solucin generada por la hormiga h,
distancia_arcos(L[h]) es la suma de las distancias de los arcos en L[h]
/* Inicializacin de parmetros */

Para i=1 hasta n hacer


Para j=1 hasta n hacer
ij = 0 (inicializacin de feromonas en los arcos)

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Desde t=1 hasta T hacer


Desde h=1 hasta m hacer
L[h][1] = nodo_inicial (indicamos dnde empiezan las hormigas)
/* Construccin de soluciones y actualizacin local de feromona*/
Desde i=2 hasta n hacer
Desde h=1 hasta m hacer (para cada hormiga)
L[h][i] regla_transicin (J(L[h][i-1]), , )
Act_local_feromona(L[h][i-1], L[h][i])
/* Actualizacin global de feromona */
Desde h=1 hasta m hacer (para cada hormiga)
C(Sh) = distancia_arcos(L[h])
mejors = arg minh{C(Sh)}
Si (C(mejors) < C(global) ) C(global) =C(mejors)
Desde i=1 hasta n hacer
Act_global_feromona(L[mejors][i], L[mejors][i+1], C(mejors))
Devolver global

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El Sistema de Hormigas Mejor-Peor (BWAS)


El Sistema de hormigas Mejor-Peor (Best-Worst Ant System,
BWAS), propuesto en Cordn et al. (1999, 2000) es otra extensin
del AS basada en la incorporacin de componentes de Computacin
Evolutiva para mejorar el equilibrio intensificacin-diversificacin.
Mantiene la regla de transicin del AS y cambia:
- El mecanismo de actualizacin de feromona es ms explorativo al
evaporar todos los rastros, reforzar positivamente slo los de la
mejor solucin global y negativamente los de la peor solucin actual.
- Aplica una mutacin de los rastros de feromona para diversificar.
- Reinicializa la bsqueda cuando se produce estancamiento.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

La actualizacin de feromona del BWAS se realiza en dos pasos:


1. Se evaporan todos los rastros de feromona y se aporta en los de
la mejor solucin global:

2. Se realiza una evaporacin adicional de los rastros de feromona


de la peor solucin de la iteracin actual que no estn contenidos en
la mejor global:

El refuerzo negativo de Speor-actual hace que la regla de actualizacin


tenga un comportamiento ms intensificativo.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El BWAS considera la bsqueda estancada si durante un nmero


consecutivo de iteraciones (un porcentaje del total) no se consigue
mejorar la mejor solucin global obtenida.
En ese caso, se aplica la reinicializacin, volviendo a poner todos
los rastros de feromona a 0.
Para conseguir diversidad en el proceso de bsqueda se mutan los
valores de los rastros de feromona.
La mutacin se aplica en cada rastro de feromona con probabilidad
Pm:
A cada rastro mutado se le aade un valor normal de media 0 en
[-umbral, umbral]. umbral corresponde a la media de los rastros de
feromona de Smejor-global.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Evolucin de la funcin de mutacin:


1. La fuerza de la mutacin aumenta con las iteraciones: primero,
umbral es cercano a 0 y la mutacin es pequea. Luego, segn
crecen los rastros de Smejor-global va siendo ms grande.
2. Al reinicializar, vuelve a su rango inicial.

El BWAS consigue un buen balance diversificacin intensificacin


combinando:
- La intensificacin que introduce la regla de actualizacin de
feromona con la mejor y la peor hormiga.
- La diversificacin de la mutacin de rastros de feromona y la
reinicializacin.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Estudio comparativo
Estudio comparativo de los AS para el problema del viajante (TSP):
Nmero de hormigas: m = 10
Nivel inicial de feromona: 0 = 1/(n C(Sgreedy)), siendo
solucin obtenida por un algoritmo del gradiente

Sgreedy la

Regla de transicin: =1, =2, q0=0.98 (ACS)


Regla de actualizacin de feromona: =0.1
Regla de actualizacin local (ACS): =0.1
Criterio de parada: 10.000n iteraciones para TSP simtrico y
20.000n para el TSP asimtrico

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Sistemas de hormigas con Bsqueda local


La hibridacin consiste en aplicar una bsqueda local (BL) sobre las
soluciones construidas por todas las hormigas en cada iteracin.
A continuacin, se actualizan las feromonas de los arcos incluidos
en las soluciones alcanzadas con la bsqueda local.
Dos posibilidades, para un tiempo de computacin fijo:
- muchas BLs que mejoren ligeramente la calidad de la solucin.
- BLs menos frecuentes pero ms efectivas (mejor).
El nmero de hormigas sobre las que lanzar la BL crece con la
dimensin del problema.
La informacin heurstica no es necesaria en la BL, ya que se ha
explotado en la construccin de las soluciones de las hormigas.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Para la actualizacin de las feromonas existen dos posibilidades:


- Reforzar las feromonas correspondientes a la solucin de la BL
(Lamarckian approach). Utilizada en todos los trabajos
publicados.
- Reforzar las feromonas correspondientes a la solucin desde la
que se inicia la BL (Darwinian approach). Se basa en el hecho de
que los AS y variantes lo que hacen es aprender la forma de
generar buenas soluciones iniciales para la BL.
Estudios experimentales demuestran que la aproximacin de
Lamarck supera en gran medida la de Darwin.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Ejemplo: Distintos AS con bsqueda local para el problema del


viajante (TSP), Bonaveau et al. (1999). Realizacin de 10 ejecuciones.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Otras variantes del AS:


- Approximate Non-deterministic Tree Search (Maniezzo, 1999).
Explota ideas de programacin matemtica, completando lmites
inferiores de la complecin de una informacin parcial para crear
informacin heurstica. Se puede extender de manera sencilla al
procedimiento de ramificacin y acotacin.
Cambia las reglas de transicin y de actualizacin de feromona.
- Hyper-Cube Framework for ACO (Blum et al., 2001).
Reescala automtica los niveles de feromona de manera que
siempre pertenezcan al intervalo [0,1]. Basado en la formulacin
de programacin matemtica de muchos problemas de
optimizacin combinatoria en los cuales las soluciones son
vectores binarios.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

NDICE
1. Colonias de hormigas naturales
2. La hormiga artificial
3. El sistema de hormigas
4. Otros sistemas de hormigas
5. Aplicaciones
6. Optimizacin multiobjetivo basada en CH
7. Referencias

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

6. APLICACIONES
El tipo de problemas que se pueden resolver por medio de hormigas
artificiales pertenece al grupo (restringido) de problemas de
camino mnimo que se pueden caracterizar por:
Existe un cjto. de restricciones R para el problema a solucionar.
Existe un ctjo. finito de componentes N = {n1, n2, ..., nl}.
El problema presenta diversos estados que se definen segn
secuencias ordenadas de componentes = <nr, ns,..., un,...>
(<r, s,,u,> para simplificar). Si A es el cjto de todas las
secuencias posibles, llamamos al conjunto de posibles (sub)
secuencias que respetan las restricciones R. Los elementos en
definen los estados posibles. || es la longitud de una secuencia .

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Existe una estructura de entorno: 2 es un vecino de 1 si


(i) 1, 2 ,
(ii) el estado 2 puede alcanzarse desde 1 en un paso lgico: si
r es la ltima componente de la secuencia 1, debe existir
una componente sY tal que 2 = <1,s>, o sea, debe existir
una transicin vlida entre r y s. El entorno alcanzable de 1
es el conjunto que contiene todas las secuencias 2 . Si
2 diremos que 2 est en el vecindario no alcanzable de
1.
Una solucin es un elemento de
problema.

que verifica los requisitos del

Existe un coste C(S) asociado a cada solucin.


En algunos casos, se puede asociar un coste o una estimacin del
mismo a los estados.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Las caractersticas anteriores se dan en problemas de optimizacin


combinatoria que pueden representarse en forma de grafo
ponderado G = (N, A). Por tanto, tenemos que:
las componentes nr son los nodos del grafo,
los estados (y por tanto las soluciones) se corresponden con
caminos en el grafo (secuencias de nodos o aristas),
las aristas del grafo, ars, son conexiones/transiciones que
definen la estructura del entorno. 2 = <1, s> ser vecino de
1 si el nodo r es la ltima componente de 1 y existe ars,
deben existir los costes crs asociados con cada arista, y
las componentes o las conexiones deben tener asociados
rastros de feromona y valores heursticos , que representan
la informacin heurstica disponible en el problema.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Las aplicaciones actuales de la OCH se distribuyen dentro de dos


clases fundamentales:
Problemas de optimizacin combinatoria NP-duros. Una
caracterstica comn a casi todas las aplicaciones exitosas de la
OCH es la combinacin de las hormigas con algoritmos de
bsqueda local que refinan las soluciones ofrecidas por las
hormigas.
Problemas dinmicos de caminos mnimos, donde la instancia
del problema que hay que solucionar cambia durante la ejecucin
del algoritmo. Estos cambios pueden afectar a la topologa del
problema, como por ejemplo la disponibilidad de los enlaces, etc.
o, si la topologa del problema es fija, caractersticas como los
costes de los arcos pueden variar con el tiempo.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Problemas a los que se ha aplicado los OCH (en orden


cronolgico):
Problema del viajante (TSP), Asignacin cuadrtica, Secuenciacin
de tareas, Enrutamiento en redes de telecomunicaciones (Di Caro y
Dorigo, 1998), Coloreo de grficos, Clustering, Bioinformtica:
plegado de protenas 2D,...
En Dorigo y Sttzle (2004) se dispone de un resumen de las
aplicaciones disponibles hacia finales de ese ao.
La OCH ha sido usada recientemente para aprendizaje
automtico, concretamente para el diseo de algoritmos de
aprendizaje para estructuras de representacin del conocimiento
como las clsicas reglas lgicas (Parpinelli et al., 2002), reglas
difusas (Casillas et al., 2002) y redes bayesianas (Campos et al.,
2002a; 2002b), demostrando resultados bastante prometedores.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

NDICE
1. Colonias de hormigas naturales
2. La hormiga artificial
3. El sistema de hormigas
4. Otros sistemas de hormigas
5. Aplicaciones
6. Optimizacin multiobjetivo basada en CH
7. Referencias

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Optimizacin multiobjetivo basada en CH

1. Pareto Ant Colony Optimization (PACO)


2. Multi-Objective Ant Colony System (MOACS)
3. Multi-Objective Min Max Ant System (M3AS)
4. Multi-Objective Ant System (MAS)

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Pareto Ant Colony Optimization (PACO)


Propuesto en Doerner et al. (2002). Se basa en el uso de b tablas
de feromonas b, una para cada uno de lo objetivos considerados y
un conjunto de pesos, w=(w1,w2,,wb), inicializados de manera
aleatoria, utilizados en la regla de transicin de la siguiente forma:

donde:
q0[0,1] es la probabilidad con la que se escoge el arco ms
prometedor (igual que en AS) (valor tpico 0.9),

i se obtiene de la expresin clsica de la regla de transicin.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Las dos mejores hormigas para cada objetivo actualizan la tabla de


feromonas correspondiente de la siguiente forma:
con

Cuando se avanza a otro estado se actualizan localmente las b


tablas utilizando la expresin anterior pero con un valor constante
para =0.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Multi-Objective Ant Colony System (MOACS)


Propuesto en Barn y Schaerer (2003). Fue implementando
considerando dos objetivos, utiliza una matriz de feromonas y dos
de informacin heurstica, una para cada objetivo.
La regla de transicin es la siguiente:

mientras que el clculo de i es:

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

El parmetro se utiliza para representar la importancia relativa


de los objetivos.
Cuando alcanzamos una solucin no dominada se actualiza el
conjunto pareto y se reinicializa la tabla de feromonas considerando que fue aprendida por medio de soluciones dominadas.
Si la solucin alcanzada es dominada, entonces simplemente
actualizamos las feromonas segn la ecuacin:
con

Cuando se avanza a otro estado se actualizan localmente las


feromonas con la expresin anterior pero con = 0.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Multi-Objective Min Max Ant System (M3MA)


Propuesto en Pinto et al. (2005) es una extensin del MMAS para
problemas multiobjetivo. Se mantiene una tabla de feromonas
global que mantiene informacin de feromonas considerando
todos lo objetivos a optimizar.
La regla de transicin utilizada es la siguiente:

Las soluciones no dominadas actualizan la tabla de feromonas


segn la expresin:

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

con

Adems:
- Si ij>max entonces ij=max, con max=k m(1-),
- Si ij<min entonces ij=min, con min=k/2 m(1-), siendo m
el nmero de hormigas, k la k-sima solucin y k obtenidas de
la expresin:

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Multi-Objective Ant System (MAS)


Extensin sencilla del AS para manejar mltiples objetivos
propuesta en Paciello et al. (2005).
Se mantiene una nica tabla de feromonas con informacin
heurstica para cada objetivo a optimizar.
Las hormigas se distribuyen en regiones del espacio de
bsqueda por medio de los parmetros i , igual que en MOACS.
La actualizacin de la feromona se realiza una vez construidas
las soluciones de la iteracin y es realizada por las hormigas no
dominadas encontradas en la iteracin. La forma de llevar a cabo
esta actualizacin tambin coincide con MOACS.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Mecanismo de control de la convergencia


reinicializar la tabla de feromonas si durante
se encuentran soluciones no dominadas

K iteraciones no

se favorece la exploracin de nuevos caminos


evita mnimos locales y la situacin de estancamiento

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

NDICE
1. Colonias de hormigas naturales
2. La hormiga artificial
3. El sistema de hormigas
4. Otros sistemas de hormigas
5. Aplicaciones
6. Optimizacin multiobjetivo basada en CH
7. Referencias

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

9. Referencias
Barn, B, Shaerer, M. (2003). A Multiobjective Ant Colony System for Vehicle Routing Problems with
Time Window, Proceedings of the 21st IASTED International Conference on Applied Informatics,
Insbruck, Austria, 97-102.
Blum, C., Roli, A., Dorigo, M. (2001). HC-ACO: The Hyper-Cube Framework for Ant Colony
Optimization, Proceedings of the Metaheuristics International Conference 2, 399-403.
Bonabeau, Dorigo, Theraulaz (1999). Swarm Intelligence, Oxford.
Bullnheimer, B. Hartl, R.F., Strauss, C. (1999). A New Rank-Based Version of the Ant System: A
Computational Study. Journal of the Operations Research and Economics 7, 25-38.
de Campos, L.M., Fernndez-Luna, J.M., Gmez, J.A., Puerta, J.M. (2002a). Ant Colony
Optimization for Learning Bayesian Networks, International Journal of Approximate Reasoning 31
(3), 291-311.
de Campos, L.M., Gmez, J.A., Puerta, J.M. (2002b). Learning Bayesian Networks by ant Colony
Optimisation: Searching in Two Different Spaces, Mathware & Soft Computing 9 (2-3), 251-268.
di Caro, G., Dorigo, M. (1998). AntNet: Distributed Stimergic Control for Communication Networks,
Journal of Artificial Intelligence Research 9, 317-365.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Casillas, J., Cordn, O., Herrera. F. (2002). Different Approaches to Induce Cooperation in Fuzzy
Linguistic Models under the COR Methodology. In: Technologies for Constructing Intelligent
Systems 1. Tasks, B. Bouchon-Meunier, J. Gutirrez-Rios, L. Madalena, R.R. Yager (eds.), PhysicaVerlag, 321-334.
Colorni, A., Dorigo, M. Maniezzo, V. (1992). Distributed Optimization by Ant Colonies, in:
Proceedings of the First European Conference on Artificial Life, F.J. Varela, P. Bourgine (eds.),
Cambridge, MA, MIT Press, 134-142
Cordn, O., Herrera, F., Moreno. Ll. (1999). Integracin de Conceptos de Computacin Evolutiva en
un Nuevo Modelo de Colonia de Hormigas. Actas de la Conferencia de la Asociacin Espaola para
la Inteligencia Artificial (CAEPIA99), 98-104.
Cordn, O, Fernndez de Viana, I., Herrera, F., Moreno. Ll. (2000), A New ACO Model Integrating
Evolutionary Computation Concepts: The Best-Worst Ant System. Actas de ANTS2000 - From Ant
Colonies to Artificial Ants: Second International Workshop on Ant Algorithms, 22-29.
Deneubourg, J.L., Aron, S., Goss, S., Pasteels, J.M. (1990). The Self-Organizing Exploratory
Pattern of the Argentine Ant, Journal of Insect Behavior 3, 159-168.
Doerner, K., Gutjahr, W., Hartl, R., Strauss, C. , Stummer, C. (2002). Pareto Ant Colony
Optimization: A Metaheuristic Approach to Multiobjective Portfolio Selection, Proceedings of the 4th
Metaherustics International Conference, Porto, 243-248.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Dorigo, M. (1992). Optimization, Learning and Natural Algorithms. PhD Thesis, Dipartamento di
Elettronica, Politecnico di Milano, Milan.
Dorigo, M., Di Caro, G. (1999). Ant Algorithms for Discrete Optimization, Artificial Life 5 (2), 137-172.
Dorigo, M. Gambardella, L.M. (1997). Ant Colony System: A Cooperative Learning Approach to the
Traveling Salesman Problem, IEEE Trans. on Evolutionary Computation 1 (1), 53-66.
Dorigo, M., Maniezzo, V., Colorni, A. (1991). Positive Feedback as a Search Strategy, Technical
Report 91-016, Dipartamento di Elettronica, Politecnico di Milano, Milan.
Dorigo, M., Maniezzo, V., Colorni, A. (1996). The Ant System: Optimization by a Colony of
Cooperating Agents, IEEE Tranactions on Systems, Management and Cybernetics-Part B 26, 1-13.
Dorigo, M., Sttzle, T. (2003). The Ant Colony Optimization Metaheuristic: Algorithms, Applications
and Advances. In: Handbook of Metaheuristics, F. Glover and G. Kochenberger (eds.), Kluwer
Academic Publishers, 251-285.
Dorigo, M., Sttzle, T. (2004). Ant Colony Optimization, The MIT Press.
Goss, S., Aron, S., Deneubourg, J.L., Pasteels, J.M. (1989). Self-organized Shortcuts in the
Argentine Ant, Naturwissenschaften 76, 579-581.
Maniezzo, V. (1999). Exact and Approximate Non-Deterministic Tree Search Procedures for the
Quadratic Assignment Problem, INFORMS Journal of Computing 11 (4), 358-369.

Bsqueda Inteligente basada en Metaheursticas: Colonias de hormigas

Moreno-Vega, J.M., Moreno-Prez, J.A. (1999), Heursticas en Optimizacin, Consejera de


Educacin, Cultura y Deportes, Gobierno de Canarias.
Paciello, J.M., Martnez, H.D., Lezcano, C.G., Barn, B. (2005). Algoritmos de Optimizacin multiobjetivos basados en Colonias de Hormigas, Universidad Nacional de Asuncin.
Parpinelli, R.S., Lopes, H.S., Freitas, A.A. (2002). Data Mining with an Ant Colony Optimization
Algorithm, IEEE Transaction on Evolutionary Computation 6: 4, 321-33.
Pinto, D., Barn, B. (2005). Solving Multiobjective Multicast Routing Problem with a New Ant Colony
Optimization Approach, LANC05, Cali, Colombia.
Sttzle, T. (1999). Local Search Algorithms for Combinatorial Problems: Analysis, Improvements and
New Applications, vol. 220 of DISKI, Sankt Augustin, Germany, Infix.
Sttzle, T., Hoos, H.H. (2000). MAX-MIN Ant System, Future Generation Computer Systems 16 (8),
889-914.

Você também pode gostar