• No se han encontrado resultados

BÚSQUEDA INTELIGENTE BASADA EN METAHEURÍSTICAS

N/A
N/A
Protected

Academic year: 2021

Share "BÚSQUEDA INTELIGENTE BASADA EN METAHEURÍSTICAS"

Copied!
74
0
0

Texto completo

(1)

COLONIAS DE HORMIGAS

BÚSQUEDA INTELIGENTE BASADA

EN METAHEURÍSTICAS

(2)

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

(3)

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.

(4)

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)

(5)

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 evaporaperdura-ción influya poco.

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

(6)

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 evaporaperdura-ción influya poco.

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

(7)

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.

(8)

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.

% of traffic on one of the branches

% of e xp eri me nt s

(9)

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.

% of e xp eri me nt s

(10)

Caminos con dos intersecciones consecutivas:

(11)

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.

(12)
(13)

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

(14)

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.

(15)

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.

(16)

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.

(17)

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:

τrses 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.

(18)

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).

(19)

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.

(20)

Modelo de actualización 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 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.

(21)

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

(22)

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.

(23)

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

(24)

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

τijk

(25)

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.

(26)

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

C

nn 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.

(27)

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 η:

(28)

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:

(29)

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

(30)

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

(31)

1.  Sistemas de hormigas elitistas (AS

e

)

2.  Sistemas de hormigas basadas en rankings (AS

rank

)

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

(32)

El sistema de hormigas elitista (AS

e

)

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,

L

mejor_global.  Actualización de la feromonas.

donde Δτrsmejor_global

= 1/C

mejor_global

si arco (

i,j

)∈

L

mejor_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

).

(33)

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.

(34)

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Δτ

rsmejor_global

donde Δτrsr

=1/C

r

y Δτ

rsmejor_global =

1

/

C

mejor_global .

ASrank mejora ligeramente al ASe y significativamente al AS. (Valor típico

w

=6)

(35)

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.

(36)

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.

(37)

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],

q

0[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.

(38)

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

que sólo se aplica sobre los arcos

τ

rs

S

mejor-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(

n

2) a O(

n

).

El aporte de feromona es función de la calidad de esta solución,

C

(S

mejor-global

).

(39)

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/mC

nn

.

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.

(40)

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

(41)

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))

(42)

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.

(43)

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

S

peor-actual hace que la regla de actualización tenga un comportamiento más intensificativo.

(44)

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

P

m:

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

S

mejor-global

.

(45)

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.

(46)

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(S

greedy

)),

siendo

S

greedy la solución obtenida por un algoritmo del gradiente

•  Regla de transición:

α=1, β=2

,

q

0=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

(47)
(48)

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.

(49)

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.

(50)

Ejemplo: Distintos AS con búsqueda local para el problema del

viajante (TSP), Bonaveau et al. (1999). Realización de 10 ejecucio-nes.

(51)
(52)
(53)

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.

(54)

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

(55)

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 = {n

1

, n

2

, ..., n

l

}.

•  El problema presenta diversos estados que se definen según

secuencias ordenadas de componentes

δ = <n

r

, n

s

,..., u

n

,...>

(<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 δ.

(56)

•  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.

(57)

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

n

r 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,

a

rs

,

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

a

rs,

•  deben existir los costes

c

rs asociados con cada arista, y

•  las componentes o las conexiones deben tener asociados rastros de feromona

τ

y valores heurísticos

η

, que representan

(58)

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.

(59)

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.

(60)

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

(61)

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)

(62)

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=(

w

1,

w

2,…,

w

b), inicializados de manera aleatoria, utilizados en la regla de transición de la siguiente forma:

donde:

q

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

(63)

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.

(64)

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:

(65)

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.

(66)

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:

(67)

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

(68)

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.

(69)

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

(70)

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

(71)

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,

(72)

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

(73)

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.

(74)

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),

Referencias

Documento similar

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

dente: algunas decían que doña Leonor, &#34;con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

El fenómeno del cuidado, emerge como necesidad la simbiosis entre el proceso de enfermería y su transcendencia en la investigación científica a través de la enfermería basada

En este trabajo estudiamos la obra poética en español del escritor y profesor argelino Salah Négaoui, a través de la recuperación textual y análisis de Poemas la voz, texto pu-

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y