BÚSQUEDA INTELIGENTE BASADA EN...

74
Departamento de Inteligencia Artificial Grupo de Análisis de Decisiones y Estadística COLONIAS DE HORMIGAS BÚSQUEDA INTELIGENTE BASADA EN METAHEURÍSTICAS

Transcript of BÚSQUEDA INTELIGENTE BASADA EN...

Departamento de Inteligencia Artificial Grupo de Análisis de Decisiones y Estadística

COLONIAS DE HORMIGAS

BÚSQUEDA INTELIGENTE BASADA EN METAHEURÍSTICAS

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

1.  Colonias de hormigas naturales

2.  La hormiga artificial

3.  El sistema de hormigas

4.  Otros sistemas de hormigas

5.  Aplicaciones

6.  Optimización multiobjetivo basada en CH

7.  Referencias

ÍNDICE

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.

Observación: Caminos de hormigas y superación de obstáculos.

Una característica interesante del comportamiento de las colonias de hormigas es cómo pueden encontrar los caminos más cortos entre el hormiguero y la comida.

Sobre todo porque... ¡¡LAS HORMIGAS SON CIEGAS!!

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Respuesta: En su recorrido, depositan una sustancia química 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 intersección, decide el camino a seguir de un modo probabilístico, dando mayor probabili-dad los caminos con un alto rastro de feromona.

Las bifurcaciones más prometedoras (más cercanas a la comida) van acumulando feromona al ser recorridas por más hormigas (reclutamiento de masas)

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Las menos prometedoras pierden feromona por evaporación al ser visitadas por menos hormigas cada vez. Aún así, la gran perdura-ción de los rastros hace que la evaporación influya poco.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

La acción continuada de la colonia da lugar a un rastro de feromona que permite a las hormigas encontrar un camino cada vez más corto desde el hormiguero a la comida.

Las menos prometedoras pierden feromona por evaporación al ser visitadas por menos hormigas cada vez. Aún así, la gran perdura-ción de los rastros hace que la evaporación influya poco.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

La acción continuada de la colonia da lugar a un rastro de feromona que permite a las hormigas encontrar un camino cada vez más corto desde el hormiguero a la comida.

Experimentos sobre el depósito 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.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Caminos alternativos de la misma longitud

Aunque inicialmente los caminos lo elegían de manera arbitraria, eventualmente todas las hormigas seguían el mismo camino.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

% of traffic on one of the branches

% o

f exp

erim

ents

Caminos alternativos de distinta longitud

Las hormigas que van por el camino más corto tardan menos en llegar a la comida, por lo que vuelven antes, aumentando más rápidamente la intensidad de feromona en el camino más corto.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

% o

f exp

erim

ents

% of traffic on the short branch

Caminos con dos intersecciones consecutivas:

Incorporación dinámica de la intersección:

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Deneubourg et al. Construyeron un modelo estocástico sencillo que describía la dinámica de la colonia de hormigas en el experimento

Pi,a: probabilidad de que una hormiga llegue a la intersección i y seleccione la rama a en un instante t.

donde τi,a es la concentración de feromona en la rama a de la intersección i, τi,a´ es la concentración de feromona en la otra rama de la intersección i, α = 2 (obtenido de diversos experimentos) y k es el tiempo que se tarda en atravesar la rama a.

Nótese que pi,a+pi,a´ = 1.

Las ecuaciones diferenciales describen la evolución del sistema estocástico.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

1.  Colonias de hormigas naturales

2.  La hormiga artificial

3.  El sistema de hormigas

4.  Otros sistemas de hormigas

5.  Aplicaciones

6.  Optimización multiobjetivo basada en CH

7.  Referencias

ÍNDICE

Búsqueda Inteligente basada en Metaheurísticas: 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 mínimo

Cada hormiga artificial es un mecanismo probabilístico de cons-trucción 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 resolución del problema.

- Información heurística η sobre la instancia concreta del problema.

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.

Búsqueda Inteligente basada en Metaheurísticas: 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 solución 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 aún (J(r)= s / ∃ars y s ∉ L), según una regla probabilística de transición.

La decisión tomada es función de la preferencia heurística ηrs=1/drs y la feromona τrs.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

La regla probabilística de transición más 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 información heurística del arco ars,

α y β son pesos que establecen la importancia relativa entre la información heurística y los niveles de feromona,

J(r) es el conjunto de nodos alcanzables desde r no visitados aún por la hormiga k.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Identificación de valores de los parámetros α y β

Si α=0 las ciudades más cercanas son las que tienen más probabilidad de ser escogidas (algoritmo clásico del gradiente con múltiples puntos de partida).

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

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Actualización 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 retroalimentación positiva para reforzar en el futuro los componentes de las buenas soluciones mediante un aporte adicional de feromona. Cuanto mejor sea la solución, más feromona se aporta.

•  Se usa la evaporación de feromona para evitar un incremento ilimitado de los rastros de feromona y para permitir olvidar las malas decisiones tomadas. La evaporación es la misma para todos los rastros, eliminándose un porcentaje de su valor actual: 0 ≤ ρ ≤ 1 Es un mecanismo de evaporación más activo que el natural, lo que evita la perduración de los rastros de feromona y permite al algoritmo olvidar malas decisiones tomadas previamente.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Modelo de actualización de la feromona

donde Δτrs

k 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 solución generada por la hormiga k, es decir, la longitud del circuito Sk,

m es el número de hormigas, y

ρ es el ratio de evaporación.

Los arcos visitados por hormigas en la iteración actual (arcos prometedores) reciben un aporte extra de feromona y los no visitados por ninguna hormiga (poco prometedores) la pierden.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

1.  Colonias de hormigas naturales

2.  La hormiga artificial

3.  El sistema de hormigas

4.  Otros sistemas de hormigas

5.  Aplicaciones

6.  Optimización multiobjetivo basada en CH

7.  Referencias

ÍNDICE

El algoritmo anterior fue el primero que se propuso, denominado Sistema de Hormigas (Ant System) (AS)

Se trata de una metaheurística en la que una colonia de hormigas artificiales cooperan para encontrar buenas soluciones en problemas de optimización discretos estáticos y dinámicos.

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 actualización de las feromonas se realiza después 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.

Búsqueda Inteligente basada en Metaheurísticas: 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 número de iteraciones que se ejecutará el algoritmo, m el número de hormigas, n el número de nodos, L[h] la lista de los nodos visitados (camino) por la hormiga h, C(Sh) coste de la solución generada por la hormiga h, distancia_arcos(L[h]) es la suma de las distancias de los arcos en L[h]

/* Inicialización de parámetros */ Para i=1 hasta n hacer

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

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Desde t=1 hasta T hacer Desde h=1 hasta m hacer

L[h][1] = nodo_inicial (indicamos dónde empiezan las hormigas)

/* Construcción de soluciones por las hormigas */ Desde i=2 hasta n hacer

Desde h=1 hasta m hacer (para cada hormiga) L[h][i] ← regla_transición (J(L[h][i-1]), τ, η)

/* Actualización 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) +

/* Actualización de mejor solución visitada*/ Si (C(mejorsol) < C(global) ) C(global) =C(mejorsol)

Devolver global

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

τijk i=1

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Si se inicializan las feromonas a valores muy bajos la búsqueda estará muy influenciada por los primeros recorridos construidos por las hormigas

llevará a explorar regiones del espacio de búsqueda peores

Si se inicializan las feromonas a valores muy altos

deberán pasar muchas iteraciones hasta que la evaporación reduzca los suficiente los valores de feromona para que las introducidas por las hormigas empiecen a influir en la búsqueda.

Inicialización de las feromonas y condición de parada

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Solución: Asignar un valor ligeramente superior a la feromona depositada por las hormigas en una iteración.

Un posible estimación del mismo es

τij = τ0 =m/Cnn

donde m es el número de hormigas y Cnn es la longitud del camino obtenido mediante la heurística del vecino más cercano.

El programa deberá terminar cuando se cumpla al menos una de las siguientes condiciones de parada: -  Tenemos una solución con una calidad mínima preestablecida. -  Se ha realizado un número máximo de iteraciones. -  Se ha superado un tiempo de CPU máximo establecido. -  Se ha alcanzado una situación de estancamiento.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Ejemplo de aplicación. Sistema de Hormigas (AS)

Veamos una iteración del algoritmo para un caso sencillo del problema del viajante (TSP) con n=6 nodos y con las siguientes matrices de distancias D y heurística η:

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Suponiendo una población 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 podría ser el siguiente:

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Una vez construidas las 6 soluciones, se aplica la actualización de feromo-na. Considerando que cada hormiga h aporta 100/C[h] en los arcos visitados, tendríamos los siguientes aportes:

Aplicando el mecanismo de actualización de feromona, se evapora la feromona y se realizan los aportes comentados. Considerando ρ=0.5, la matriz de feromonas quedaría:

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

1.  Colonias de hormigas naturales

2.  La hormiga artificial

3.  El sistema de hormigas

4.  Otros sistemas de hormigas

5.  Aplicaciones

6.  Optimización multiobjetivo basada en CH

7.  Referencias

ÍNDICE

Búsqueda Inteligente basada en Metaheurísticas: Colonias 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 búsqueda local

Otros sistemas de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

El sistema de hormigas elitista (ASe)

Primera mejora del AS propuesta en Dorigo (1992) y Dorigo et al. (1991,1996).

Idea básica: proporcionar un peso adicional que refuercen los arcos que pertenecen al mejor camino encontrados desde el principio de la búsqueda, Lmejor_global. Actualización 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 seleccio-namos convenientemente el parámetro e (valor típico e=n).

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

El sistema de hormigas basado en rankings

ASrank fue propuesto por Bullnhemiern et al. (1999).

Idea básica: cada hormiga deposita una cantidad de feromona que disminuye con su ranking. Además, como en ASe, la hormiga que ha recorrido el mejor camino siempre deposita la mayor cantidad de feromona en cada iteración.

Las hormigas se clasificación en función de la longitud de los caminos que han construido y la cantidad de feromona que depositan depende de su posición en el ranking.

En cada iteración solo las w-1 hormigas mejor clasificadas y la hormiga que produjo el mejor camino visitado pueden depositar feromona.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

La cantidad de feromona que depositan estas hormigas se multiplican por el peso max {0, w-r}, si ocupan la posición r en el ranking. La hormiga que produjo el mejor camino visitado obtiene el peso máximo w.

(w - r) Δτrsr + wΔτrs

mejor_global

donde Δτrsr =1/Cr y Δτrs

mejor_global =1/Cmejor_global .

ASrank mejora ligeramente al ASe y significativamente al AS.

(Valor típico w=6)

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

El sistema de hormigas MAX-MIN

MMAS (Stützle, 1999; Stützle & Hoos, 2000) introduce cuatro modificaciones respecto al AS:

1.  Explota con más fuerza el mejor camino encontrado, bien el mejor camino encontrado hasta el momento en cada iteración 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 combinación con un ratio de evaporación bajo hace que se incremente la exploración de caminos al principio de la búsqueda.

4.  Las feromonas se reinicializan cada vez cada vez que se produce estancamiento.

Búsqueda Inteligente basada en Metaheurísticas: 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 más la experiencia acumulada por la hormigas en la búsqueda que el AS.

•  Para la depósito y evaporación de la feromona sólo se considera la hormiga que generó la mejor solución hasta ahora.

•  Se añade una nueva actualización (local) de feromona basada en que cada hormiga modifica automáticamente la feromona de cada arco que visita para diversificar la búsqueda.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

La regla de transición 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 distribución Uniforme [0,1],

q0∈[0,1] es un parámetro, la probabilidad con la que se escoge el arco más prometedor. Control sobre la posibilidad de concentrar la búsqueda alrededor de la mejor solución obtenida o explorar otros caminos. Valor típico: 0.9.

S, ciudad seleccionada con la regla de transición del AS con α =1.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

La actualización global de feromona se realiza mediante la operación:

que sólo se aplica sobre los arcos τrs ∈ Smejor-global. (valor típico de ρ =0.1)

Sólo en los arcos correspondientes a la mejor solución obtenida hasta el momento se deposita y evapora feromona La complejidad computacional en cada iteración se reduce de O(n2) a O(n).

El aporte de feromona es función de la calidad de esta solución, C(Smejor-global).

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Cada vez que una hormiga recorre un arco, aplica la actualización local de feromona:

donde 0<φ<1 (valor típico: 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 exploración de arcos no visitados se evita el estancamiento.

Así, las hormigas tienden a no converger a soluciones parecidas en la iteración actual.

Algoritmo del Sistema Colonias de Hormigas (ACS)

T el número de iteraciones que se ejecutará el algoritmo, m =10 el número de hormigas, n el número de nodos, L[h] la lista de los nodos visitados (camino) por la hormiga h, C(Sh) coste de la solución generada por la hormiga h, distancia_arcos(L[h]) es la suma de las distancias de los arcos en L[h]

/* Inicialización de parámetros */ Para i=1 hasta n hacer

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

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Desde t=1 hasta T hacer Desde h=1 hasta m hacer

L[h][1] = nodo_inicial (indicamos dónde empiezan las hormigas)

/* Construcción de soluciones y actualización local de feromona*/ Desde i=2 hasta n hacer

Desde h=1 hasta m hacer (para cada hormiga) L[h][i] ← regla_transición (J(L[h][i-1]), τ, η) Act_local_feromona(L[h][i-1], L[h][i])

/* Actualización 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

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

El Sistema de Hormigas Mejor-Peor (BWAS)

El Sistema de hormigas Mejor-Peor (Best-Worst Ant System, BWAS), propuesto en Cordón et al. (1999, 2000) es otra extensión del AS basada en la incorporación de componentes de Computación Evolutiva para mejorar el equilibrio intensificación-diversificación.

Mantiene la regla de transición del AS y cambia:

- El mecanismo de actualización de feromona es más explorativo al evaporar todos los rastros, reforzar positivamente sólo los de la mejor solución global y negativamente los de la peor solución actual.

-  Aplica una mutación de los rastros de feromona para diversificar.

- Reinicializa la búsqueda cuando se produce estancamiento.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

La actualización 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 solución global:

2. Se realiza una evaporación adicional de los rastros de feromona de la peor solución de la iteración actual que no estén contenidos en la mejor global:

El refuerzo negativo de Speor-actual hace que la regla de actualización tenga un comportamiento más intensificativo.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

El BWAS considera la búsqueda estancada si durante un número consecutivo de iteraciones (un porcentaje del total) no se consigue mejorar la mejor solución global obtenida.

En ese caso, se aplica la reinicialización, volviendo a poner todos los rastros de feromona a τ0.

Para conseguir diversidad en el proceso de búsqueda se mutan los valores de los rastros de feromona.

La mutación se aplica en cada rastro de feromona con probabilidad Pm:

A cada rastro mutado se le añade un valor normal de media 0 en [-τumbral, τumbral]. τumbral corresponde a la media de los rastros de feromona de Smejor-global.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Evolución de la función de mutación:

1.  La fuerza de la mutación aumenta con las iteraciones: primero, τumbral es cercano a τ0 y la mutación es pequeña. Luego, según crecen los rastros de Smejor-global va siendo más grande.

2. Al reinicializar, vuelve a su rango inicial.

El BWAS consigue un buen balance diversificación – intensificación combinando:

-  La intensificación que introduce la regla de actualización de feromona con la mejor y la peor hormiga.

- La diversificación de la mutación de rastros de feromona y la reinicialización.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Estudio comparativo

Estudio comparativo de los AS para el problema del viajante (TSP):

•  Número de hormigas: m = 10

•  Nivel inicial de feromona: τ0 = 1/(n × C(Sgreedy)), siendo Sgreedy la solución obtenida por un algoritmo del gradiente

•  Regla de transición: α=1, β=2, q0=0.98 (ACS)

•  Regla de actualización de feromona: ρ=0.1

•  Regla de actualización local (ACS): φ=0.1

•  Criterio de parada: 10.000×n iteraciones para TSP simétrico y 20.000×n para el TSP asimétrico

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Sistemas de hormigas con Búsqueda local

La hibridación consiste en aplicar una búsqueda local (BL) sobre las soluciones construidas por todas las hormigas en cada iteración.

A continuación, se actualizan las feromonas de los arcos incluidos en las soluciones alcanzadas con la búsqueda local.

Dos posibilidades, para un tiempo de computación fijo: -  muchas BLs que mejoren ligeramente la calidad de la solución. -  BLs menos frecuentes pero más efectivas (mejor).

El número de hormigas sobre las que lanzar la BL crece con la dimensión del problema.

La información heurística no es necesaria en la BL, ya que se ha explotado en la construcción de las soluciones de las hormigas.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Para la actualización de las feromonas existen dos posibilidades:

-  Reforzar las feromonas correspondientes a la solución de la BL (Lamarckian approach). Utilizada en todos los trabajos publicados.

-  Reforzar las feromonas correspondientes a la solución 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 aproximación de Lamarck supera en gran medida la de Darwin.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Ejemplo: Distintos AS con búsqueda local para el problema del viajante (TSP), Bonaveau et al. (1999). Realización de 10 ejecucio-nes.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Otras variantes del AS:

-  Approximate Non-deterministic Tree Search (Maniezzo, 1999).

Explota ideas de programación matemática, completando límites inferiores de la compleción de una información parcial para crear información heurística. Se puede extender de manera sencilla al procedimiento de ramificación y acotación. Cambia las reglas de transición y de actualización de feromona.

- Hyper-Cube Framework for ACO (Blum et al., 2001).

Reescala automática los niveles de feromona de manera que siempre pertenezcan al intervalo [0,1]. Basado en la formulación de programación matemática de muchos problemas de optimización combinatoria en los cuales las soluciones son vectores binarios.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

1.  Colonias de hormigas naturales

2.  La hormiga artificial

3.  El sistema de hormigas

4.  Otros sistemas de hormigas

5.  Aplicaciones

6.  Optimización multiobjetivo basada en CH

7.  Referencias

ÍNDICE

Búsqueda Inteligente basada en Metaheurísticas: 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 mínimo 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 según 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 δ.

Búsqueda Inteligente basada en Metaheurísticas: 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 lógico: si r es la última componente de la secuencia δ1, debe existir una componente s∈Y tal que δ2 = <δ1,s>, o sea, debe existir una transición válida 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 solución es un elemento de à que verifica los requisitos del problema.

•  Existe un coste C(S) asociado a cada solución.

•  En algunos casos, se puede asociar un coste o una estimación del mismo a los estados.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Las características anteriores se dan en problemas de optimización 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 heurísticos η, que representan la información heurística disponible en el problema.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Las aplicaciones actuales de la OCH se distribuyen dentro de dos clases fundamentales:

Problemas de optimización combinatoria NP-duros. Una característica común a casi todas las aplicaciones exitosas de la OCH es la combinación de las hormigas con algoritmos de búsqueda local que refinan las soluciones ofrecidas por las hormigas.

Problemas dinámicos de caminos mínimos, donde la instancia del problema que hay que solucionar cambia durante la ejecución del algoritmo. Estos cambios pueden afectar a la topología del problema, como por ejemplo la disponibilidad de los enlaces, etc. o, si la topología del problema es fija, características como los costes de los arcos pueden variar con el tiempo.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Problemas a los que se ha aplicado los OCH (en orden cronológico):

Problema del viajante (TSP), Asignación cuadrática, Secuenciación de tareas, Enrutamiento en redes de telecomunicaciones (Di Caro y Dorigo, 1998), Coloreo de gráficos, Clustering, Bioinformática: plegado de proteínas 2D,...

En Dorigo y Stützle (2004) se dispone de un resumen de las aplicaciones disponibles hacia finales de ese año.

La OCH ha sido usada recientemente para aprendizaje automático, concretamente para el diseño de algoritmos de aprendizaje para estructuras de representación del conocimiento como las clásicas reglas lógicas (Parpinelli et al., 2002), reglas difusas (Casillas et al., 2002) y redes bayesianas (Campos et al., 2002a; 2002b), demostrando resultados bastante prometedores.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

1.  Colonias de hormigas naturales

2.  La hormiga artificial

3.  El sistema de hormigas

4.  Otros sistemas de hormigas

5.  Aplicaciones

6.  Optimización multiobjetivo basada en CH

7.  Referencias

ÍNDICE

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

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)

Optimización multiobjetivo basada en CH

Búsqueda Inteligente basada en Metaheurísticas: 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 transición de la siguiente forma:

donde: q0∈[0,1] es la probabilidad con la que se escoge el arco más prometedor (igual que en AS) (valor típico 0.9),

i se obtiene de la expresión clásica de la regla de transición.

Búsqueda Inteligente basada en Metaheurísticas: 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 expresión anterior pero con un valor constante para Δτ=τ0.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Multi-Objective Ant Colony System (MOACS)

Propuesto en Barán y Schaerer (2003). Fue implementando considerando dos objetivos, utiliza una matriz de feromonas y dos de información heurística, una para cada objetivo.

La regla de transición es la siguiente:

mientras que el cálculo de i es:

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

El parámetro λ se utiliza para representar la importancia relativa de los objetivos.

Cuando alcanzamos una solución no dominada se actualiza el conjunto pareto y se reinicializa la tabla de feromonas conside-rando que fue aprendida por medio de soluciones dominadas.

Si la solución alcanzada es dominada, entonces simplemente actualizamos las feromonas según la ecuación:

con

Cuando se avanza a otro estado se actualizan localmente las feromonas con la expresión anterior pero con Δτ = τ0.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Multi-Objective Min Max Ant System (M3MA)

Propuesto en Pinto et al. (2005) es una extensión del MMAS para problemas multiobjetivo. Se mantiene una tabla de feromonas global que mantiene información de feromonas considerando todos lo objetivos a optimizar.

La regla de transición utilizada es la siguiente:

Las soluciones no dominadas actualizan la tabla de feromonas según la expresión:

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

con

Además:

- 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 número de hormigas, k la k-ésima solución y Δτk obtenidas de la expresión:

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Multi-Objective Ant System (MAS)

Extensión sencilla del AS para manejar múltiples objetivos propuesta en Paciello et al. (2005).

Se mantiene una única tabla de feromonas con información heurística para cada objetivo a optimizar.

Las hormigas se distribuyen en regiones del espacio de búsqueda por medio de los parámetros λi , igual que en MOACS.

La actualización de la feromona se realiza una vez construidas las soluciones de la iteración y es realizada por las hormigas no dominadas encontradas en la iteración. La forma de llevar a cabo esta actualización también coincide con MOACS.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Mecanismo de control de la convergencia

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

  se favorece la exploración de nuevos caminos

  evita mínimos locales y la situación de estancamiento

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

1.  Colonias de hormigas naturales

2.  La hormiga artificial

3.  El sistema de hormigas

4.  Otros sistemas de hormigas

5.  Aplicaciones

6.  Optimización multiobjetivo basada en CH

7.  Referencias

ÍNDICE

9. Referencias

Barán, 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., Fernández-Luna, J.M., Gámez, 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., Gámez, 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.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Casillas, J., Cordón, 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. Gutiérrez-Rios, L. Madalena, R.R. Yager (eds.), Physica-Verlag, 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

Cordón, O., Herrera, F., Moreno. Ll. (1999). Integración de Conceptos de Computación Evolutiva en un Nuevo Modelo de Colonia de Hormigas. Actas de la Conferencia de la Asociación Española para la Inteligencia Artificial (CAEPIA’99), 98-104.

Cordón, O, Fernández de Viana, I., Herrera, F., Moreno. Ll. (2000), A New ACO Model Integrating Evolutionary Computation Concepts: The Best-Worst Ant System. Actas de ANTS’2000 - 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.

Búsqueda Inteligente basada en Metaheurísticas: 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., Stützle, 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., Stützle, 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.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas

Moreno-Vega, J.M., Moreno-Pérez, J.A. (1999), Heurísticas en Optimización, Consejería de Educación, Cultura y Deportes, Gobierno de Canarias.

Paciello, J.M., Martínez, H.D., Lezcano, C.G., Barán, B. (2005). Algoritmos de Optimización multi-objetivos basados en Colonias de Hormigas, Universidad Nacional de Asunción.

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., Barán, B. (2005). Solving Multiobjective Multicast Routing Problem with a New Ant Colony Optimization Approach, LANC’05, Cali, Colombia.

Stützle, T. (1999). Local Search Algorithms for Combinatorial Problems: Analysis, Improvements and New Applications, vol. 220 of DISKI, Sankt Augustin, Germany, Infix.

Stützle, T., Hoos, H.H. (2000). MAX-MIN Ant System, Future Generation Computer Systems 16 (8), 889-914.

Búsqueda Inteligente basada en Metaheurísticas: Colonias de hormigas