Está en la página 1de 101

SISTEMAS COMPLEJOS, ALGORITMOS

EVOLUTIVOS Y BIOINSPIRADOS
OTRAS METAHEURSTICAS
Oscar Cordn

PARTE I: ALGORITMOS DE OPTIMIZACIN


BASADOS EN COLONIAS DE HORMIGAS
1. LAS COLONIAS DE HORMIGAS NATURALES
2. ALGORITMOS DE OPTIMIZACIN BASADOS EN
COLONIAS DE HORMIGAS
3. APLICACIN AL ENRUTAMIENTO EN REDES: ANTNET
4. COMENTARIOS FINALES
5. BIBLIOGRAFA
1

1. LAS 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

Antz (Hormiga Z)
DreamWorks Pictures. 1998

Recordad...

SED LA BOLA!
2

1. LAS COLONIAS DE HORMIGAS NATURALES (2)

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

Entonces...

Cmo lo hacen?
3

1. LAS COLONIAS DE HORMIGAS NATURALES (3)

En su recorrido, depositan una sustancia


feromona que todas pueden oler (estimergia)

Este rastro permite a las


hormiguero desde la comida

hormigas

llamada

volver

su

Bichos. Una aventura en miniatura


Disney-Pixar. 1999

He perdido el rastro,
he perdido el rastro!
4

1. LAS COLONIAS DE HORMIGAS NATURALES (4)

Cada vez que una hormiga llega a una interseccin,


decide el camino a seguir de un modo probabilstico

Las hormigas eligen con mayor probabilidad los caminos


con un alto rastro de feromona
5

1. LAS COLONIAS DE HORMIGAS NATURALES (5)

Las bifurcaciones ms prometedoras (ms cercanas a la


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

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
6

1. LAS COLONIAS DE HORMIGAS NATURALES (6)

1. LAS COLONIAS DE HORMIGAS NATURALES (7)


EXPERIMENTOS DEL DOBLE PUENTE

Deneubourg realiz un experimento de laboratorio con


un tipo concreto de hormigas que depositan feromona al
ir del hormiguero a la comida y al volver

Usaron dos tipos de circuitos (puentes). En el primero,


las dos ramas del puente tenan la misma longitud. En el
segundo, una rama era el doble de larga que la otra

Despus, unieron dos puentes cruzados del segundo tipo

1. LAS COLONIAS DE HORMIGAS NATURALES (8)

En el primer puente, las


hormigas terminaban por
converger a una sola rama
(cualquiera de las dos)

1. LAS COLONIAS DE HORMIGAS NATURALES (9)

En el segundo, las
hormigas convergan a
la rama ms corta

10

1. LAS COLONIAS DE HORMIGAS NATURALES (10)

En el circuito con dos puentes dobles cruzados, las


hormigas consiguen encontrar el camino ms corto

11

1. LAS COLONIAS DE HORMIGAS NATURALES (11)

Como resultado de estos experimentos, Deneubourg y


su equipo disearon un modelo estocstico del proceso
de decisin de las hormigas naturales:

pi ,a =

[k + i ,a ]
[k + i ,a ] + [k + i ,a ' ]

donde:

pi,a es la probabilidad de escoger la rama a estando en el


punto de decisin i, y

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

12

2. ALGORITMOS DE OPTIMIZACIN BASADOS EN


COLONIAS DE HORMIGAS

De las hormigas naturales a la OCH

La hormiga artificial

Actualizacin de feromona

El Sistema de Hormigas

Ejemplo de aplicacin del SH al TSP

Otros algoritmos de OCH

Estudio comparativo de la OCH en el TSP

Algoritmos de OCH con bsqueda local

La metaheurstica OCH
13

DE LAS HORMIGAS NATURALES A LA OCH

El Problema del Viajante de Comercio (TSP) es uno de los


problemas de optimizacin combinatoria ms conocido

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

14

DE LAS HORMIGAS NATURALES A LA OCH (2)

Las hormigas naturales son capaces de resolver problemas de


camino mnimo como el TSP

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
15

DE LAS HORMIGAS NATURALES A LA OCH (3)

16

LA HORMIGA ARTIFICIAL

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
heurstica rs=1/drs y la feromona rs

la

preferencia
17

LA HORMIGA ARTIFICIAL (2)

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:

[ rs ] [ rs ]
, si s J k (r)

pk (r , s ) = [ ru ] [ ru ]
uJ k (r)
0,
en otro caso

- rs es la feromona del arco ars

- rs es la inf. heurstica del arco ars

- Jk(r) es el conjunto de nodos


alcanzables desde r no visitados
an por la hormiga k

- y son pesos que establecen un


equilibrio entre la importancia de la
informacin memorstica y heurstica
18

ACTUALIZACIN DE FEROMONA
1. 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
2. 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: 01
Es un mecanismo de evaporacin ms activo que el natural,
lo que evita la perduracin de los rastros de feromona y, por
tanto, el estancamiento en ptimos locales
19

ACTUALIZACIN DE FEROMONA (2)

Un ejemplo de regla de actualizacin de feromona sera:


m

rs (t ) = (1 ) rs (t 1) + rsk
k =1

1
, si la hormiga k ha visitado el arco a rs

= C ( S k )
0,
en otro caso
k
rs

- 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

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
20

EL SISTEMA DE HORMIGAS

El algoritmo anterior fue el primero de OCH que se


propuso, denominado Sistema de Hormigas (Ant
System) (SH)
M. Dorigo, V. Maniezzo, A. Colorni, The Ant System: Optimization by a Colony of
Cooperating Agents. IEEE Trans. On Systems, Man and Cybernetics-Part B, Vol.
26, 1996, 1-13

Obtena buenos resultados en el TSP pero no eran lo


suficientemente competitivos con respecto a los de los
mejores algoritmos (state-of-the-art)

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


proponerse muchas mejoras
21

EL SISTEMA DE HORMIGAS (2)


ALGORITMO SISTEMA DE HORMIGAS

Inicializacin de parmetros (p.e., asignacin de la


cantidad inicial a los rastros de feromona [i][j] 0)

Para It=1 hasta Nmero_de_Iteraciones hacer

1. Para k=1 hasta m (Nmero_de_Hormigas) hacer


L[k][1] nodo inicial
/* Construccin de soluciones por las hormigas */

2. Para i=2 hasta Nmero_de_Nodos hacer


Para k=1 hasta Nmero_de_Hormigas hacer
L[k][i] Regla_transicin (L[k], , )
22

EL SISTEMA DE HORMIGAS (3)


/* Actualizacin de feromona */

3. Para k=1 hasta Nmero_de_Hormigas hacer


Coste[k] C(L[k])
Mejor_Actual Mejor (L[k])

4. Para i=1 hasta Nmero_de_Nodos hacer


Para j=1 hasta Nmero_de_Nodos hacer
Actualizacin_feromona([i][j], L, C(L))

5. Si C(Mejor_Actual) es mejor que C(Mejor_Global)


entonces Mejor_Global Mejor_Actual

DEVOLVER Mejor_Global
23

EJEMPLO DE APLICACIN DEL SH AL TSP

A modo de ejemplo, vamos a describir una iteracin del SH


sobre un caso sencillo del TSP de tamao n=6 con las
siguientes matrices de distancias D y heurstica :

1
5
D = 5
2
2

1 5 5
2 2
2 2
2 2
5 5 1
5 3 5

2 2
5
5
1

5
3
5
2

1.000
0.447
= 0.447
0.500
0.707

1.000 0.447 0.447 .500 0.707


0.707
0.500
0.447
0.447

0.707
0.707
0.447
0.333

0.500
0.707
1.000
0.447

0.447
0.447
1.000
0.707

0.447
0.333
0.447
0.707
-

Fuente: J.M. Moreno-Vega, J.A. Moreno-Prez, Heursticas en Optimizacin,


Consejera de Educacin, Cultura y Deportes. Gobierno de Canarias, 1999.
24

EJEMPLO DE APLICACIN DEL SH AL TSP (2)

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:

Probabilidades de transicin
1
1
2
3
5
6

0.322 0.144 0.144 0.161 0.227

0.336 0.237 0.212 0.212

0.475 0.300 0.225

0.585

1.000

0.415

Uniforme
0.000
0.031
0.673
0.842
-

Solucin
(1 2 - - - -)
(1 2 3 - - -)
(1 2 3 5 - -)
(1 2 3 5 6 -)
(1 2 3 5 6 4)

25

EJEMPLO DE APLICACIN DEL SH AL TSP (3)

Probabilidades de transicin
2
3
5
6
4

0.322

0.231

0.365 0.231 0.172

0.227

0.453

0.320

0.612

0.388

1.000

0.227 0.161 0.144 0.144

Uniforme
0.279
0.671
0.931
0.873
-

Solucin
(2 3 - - - -)
(2 3 5 - - -)
(2 3 5 6 - -)
(2 3 5 6 4 -)
(2 3 5 6 4 1)

Uniforme
0.372
0.415
0.321
0.474
-

Solucin
(3 2 - - - -)
(3 2 1 - - -)
(3 2 1 5 - -)
(3 2 1 5 4 -)
(3 2 1 5 4 6)

Probabilidades de transicin
1
3
2
1
5
4

0.169 0.267

0.267 0.169 0.126

0.417

0.208 0.186 0.186

0.267 0.309 0.434

0.585

0.415

1.000

26

EJEMPLO DE APLICACIN DEL SH AL TSP (4)


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

Hormiga

C(Sk)

Aporte

Solucin

Arcos afectados

1
2
3
4
5
6

10.53
10.53
9.05
11.12
10.88
9.47

9.49
9.49
11.04
8.99
9.19
10.55

(1 2 3 5 6 4)
(2 3 5 6 4 1)
(3 2 1 5 4 6)
(4 2 6 1 3 5)
(5 1 6 2 4 3)
(6 5 3 4 2 1)

{a12, a23, a35, a56, a64, a41}


{a23, a35, a56, a64, a41, a12}
{a32, a21, a15, a54, a46, a63}
{a42, a26, a61, a13, a35, a54}
{a51, a16, a62, a24, a43, a35}
{a65, a53, a34, a42, a21, a16}

27

APLICACIN DEL SH AL TSP (5)


Aplicando el mecanismo de actualizacin de feromona, se
evapora la feromona y se realizan los aportes comentados:
m

rs (t ) = (1 ) rs (t 1) + rsk
k =1

Considerando =0.2, la matriz de feromona quedara:

0.00 45.58 13.99 23.99 25.23 33.73


0.00 35.03 33.73 8.00 23.18
0.00 24.74 52.72 16.04
0.00 35.03 35.03
0.00 79.54
0.00
28

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS ELITISTA

En el mismo trabajo en el que propusieron el SH, Dorigo y sus


colaboradores introdujeron el Sistema de Hormigas Elitista
(Elitist Ant System) (SHE) para solucionar el problema de la
lentitud de convergencia del SH

La nica diferencia entre ambos es la regla de actualizacin


que aplica un refuerzo adicional de los buenos arcos:
m

rs (t ) = (1 ) rs (t 1) + rsk + e rsmejor _ global


k =1

donde e es el nmero de hormigas elitistas consideradas y


mejor_global es la mejor solucin obtenida hasta el momento.

29

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE COLONIA DE HORMIGAS
M. Dorigo, L.M. Gambardella, Ant Colony System: A Cooperative Learning Approach
to the Traveling Salesman Problem. IEEE Trans. on Evolutionary Computation, Vol.
1, n 1, 1997, 53-66

El Sistema de Colonia de Hormigas (Ant Colony System)


(SCH) extiende a su predecesor, el SH, en tres aspectos:

La regla de transicin establece un equilibrio entre la exploracin


de nuevos arcos y la explotacin de la informacin acumulada
Para la actualizacin (global) de feromona slo se considera la
hormiga que gener la mejor solucin hasta ahora. Slo se
evapora feromona en los arcos que componen sta
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
30

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE COLONIA DE HORMIGAS (2)

La regla de transicin de SCH (regla proporcional pseudoaleatoria) es:

arg max uJ k (r) {[ ru ] [ ru ] },


si q q0
s=
S,
en otro caso

s es la ciudad escogida por la hormiga k en su siguiente movimiento

q es un uniforme en [0,1]

q0 [0,1] es la probabilidad con la que se


determinsticamente el arco ms prometedor (explotacin)

S es una ciudad aleatoria seleccionada segn la regla de transicin del


SH (exploracin dirigida)

escoge

31

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE COLONIA DE HORMIGAS (3)

La actualizacin global de feromona se realiza mediante


la operacin:

rs (t ) = (1 ) rs (t 1) +

1
C ( S mejor global )

que slo se aplica sobre los arcos rs Smejor-global

Slo la hormiga que gener la mejor solucin hasta el


momento modifica los niveles de feromona

El aporte de feromona es funcin de la calidad de esta


solucin (C(Smejor-global))

32

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE COLONIA DE HORMIGAS (4)

Cada vez que una hormiga recorre un arco, aplica la


actualizacin local de feromona:

rs (t ) = (1 ) rs (t 1) + 0

Con esta operacin, la feromona asociada a un arco


disminuye cada vez que lo visita una hormiga

Los arcos ya visitados van siendo menos prometedores


segn los recorren ms hormigas en la iteracin actual,
lo que favorece la exploracin de arcos no visitados

As, las hormigas tienden a no converger a soluciones


parecidas en la iteracin actual
33

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE COLONIA DE HORMIGAS (5)
ALGORITMO SISTEMA DE COLONIA DE HORMIGAS

Inicializacin de parmetros (p.e., rs 0)

Para It=1 hasta Nmero_de_Iteraciones hacer

1. Para k=1 hasta Nmero_de_Hormigas hacer


L[k][1] nodo inicial
/* Construccin de soluciones por las hormigas */

2. Para i=2 hasta Nmero_de_Nodos hacer


Para k=1 hasta Nmero_de_Hormigas hacer
L[k][i] Regla_transicin (L[k], , )
Actualizacin_local_feromona (L[k][i-1],L[k][i])
34

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE COLONIA DE HORMIGAS (6)
/* Actualizacin global de feromona */

3. Para k=1 hasta Nmero_de_Hormigas hacer


Coste[k] C(L[k])
Mejor_Actual Mejor (L[k])

4. Si C(Mejor_Actual) es mejor que


entonces Mejor_Global Mejor_Actual

C(Mejor_Global)

5. Para i=1 hasta Nmero_de_Nodos hacer


Actualizacin_global_feromona (Mejor_Global[k][i],
Mejor_Global [k][i+1], C(Mejor_Solucin))

DEVOLVER Mejor_Global
35

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MAX-MIN
T. Sttzle, H.H. Hoos, MAX-MIN Ant System. Future Generation Computer
Systems, Vol. 16, n 8, 2000, 889-914

El Sistema de Hormigas Max-Min (Max-Min Ant System)


(SHMM) es una nueva extensin del SH con una mayor
explotacin de las mejores soluciones y un mecanismo
adicional para evitar el estancamiento de la bsqueda

Mantiene la regla de transicin del SH y cambia:

El mecanismo de actualizacin es ms agresivo al evaporar todos


los rastros y aportar slo en los de la mejor solucin

Define unos topes mnimo y mximo para los rastros de feromona

Reinicializa la bsqueda cuando se estanca


36

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MAX-MIN (2)

En la actualizacin de feromona slo se considera la


mejor solucin, ya sea de la iteracin actual o la global:

rs (t ) = (1 ) rs (t 1) + rsmejor
donde mejor es Smejor-global o Smejor-actual

Se evaporan todos los rastros de feromona

37

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MAX-MIN (3)

Se establecen unos lmites en los valores posibles de


feromona en los rastros:

min rs (t ) max
Los lmites se calculan de forma heurstica

Todos los rastros de feromona se inicializan al mximo valor


max, en lugar de a un valor pequeo 0

As, al aplicar la regla de actualizacin los arcos de las buenas


soluciones mantienen valores altos mientras que los de las
malas reducen el valor de sus rastros

Tambin da lugar a una mayor exploracin al comienzo de la


ejecucin del algoritmo

38

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MAX-MIN (4)

Adems, cuando se detecta que la bsqueda est


estancada, se aplica una reinicializacin, volviendo a
poner todos los rastros de feromona a max

La combinacin de todo lo anterior:

establece un buen balance exploracin-explotacin y


reduce la posibilidad de estancamiento de la bsqueda

El SHMM es hoy en da el algoritmo de OCH ms


competitivo

39

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MEJOR-PEOR
O. Cordn, F. Herrera, Ll. Moreno, 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), 1999, pp. 98-104.
O. Cordn, I. Fernndez de Viana, F. Herrera, Ll. Moreno, 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, 2000, pp. 22-29.

El Sistema de Hormigas Mejor-Peor (Best-Worst Ant System)


(SHMP) es otra extensin del SH basada en la incorporacin
de componentes de Computacin Evolutiva para mejorar el
equilibrio intensificacin-diversificacin

Mantiene la regla de transicin del SH y cambia:

El mecanismo de actualizacin es ms explotativo 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 estanca

40

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MEJOR-PEOR (2)

La actualizacin de feromona de la mejor y la peor hormiga


se realiza en dos pasos:

1. Se evaporan todos los rastros de feromona y se aporta en los


de la mejor solucin global:
mejor _ global
rs (t ) = (1 ) rs (t 1) + rs

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:

rs (t ) (1 ) rs (t ), ars S peor actual

y ars Smejor global

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


actualizacin tenga un comportamiento ms intensificativo
41

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MEJOR-PEOR (3)

El SHMP 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

42

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MEJOR-PEOR (4)

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:
rs (t )

'rs (t ) = rs (t ) + N (0, umbral ) ; umbral =

a rs S mejor global

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
43

OTROS ALGORITMOS DE OCH:


EL SISTEMA DE HORMIGAS MEJOR-PEOR (5)

Esta funcin de mutacin se caracteriza por:


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 SMPH consigue un buen


intensificacin combinando:

balance

diversificacin-

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
44

ESTUDIO COMPARATIVO DE LA OCH EN EL TSP


Ejemplo de valores de parmetros para la OCH en el TSP:

Nmero de hormigas: m = 10
Nivel inicial de feromona: 0 = 1/(nC(Sgreedy))
(Sgreedy = solucin obtenida por un algoritmo greedy)

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

Regla de actualizacin de feromona: =0.1

Regla de actualizacin local (SCH): =0.1

Criterio de parada: 10000n iteraciones para TSP


simtrico y 20000n para el TSP asimtrico
45

ESTUDIO COMPARATIVO DE LA OCH EN EL TSP (2)

46

ESTUDIO COMPARATIVO DE LA OCH EN EL TSP (3)

47

ALGORITMOS DE OCH CON BSQUEDA LOCAL

Existe la posibilidad de hibridar los algoritmos de OCH


con tcnicas de bsqueda local para mejorar su eficacia

La hibridacin consiste en aplicar una bsqueda local


sobre las soluciones construidas por todas las hormigas
en cada iteracin antes de actualizar la feromona

El aumento en la eficacia provoca una disminucin en la


eficiencia, por lo que es habitual emplear la bsqueda
local junto con las llamadas Listas de Candidatos, que
consisten en estudiar slo las ciudades candidatas ms
prometedoras en cada paso de la hormiga
48

ALGORITMOS DE OCH CON BSQUEDA LOCAL (2)

El algoritmo bsico de OCH con bsqueda local es:

Mientras (no se d la condicin de parada) hacer

Construccin probabilstica de las soluciones preliminares


mediante la colonia de hormigas

Refinamiento de dichas soluciones mediante la bsqueda


local

Actualizacin global de feromona

De este modo, Los algoritmos de OCH con bsqueda


local son algoritmos hbridos con una generacin
probabilstica de soluciones iniciales para una tcnica
clsica de bsqueda local
49

ALGORITMOS DE OCH CON BSQUEDA LOCAL (3)

As, pueden encuadrarse en los algoritmos de Bsqueda


Local
Mltiarranque,
aunque
stos
generan
aleatoriamente las soluciones iniciales sin usar
informacin heurstica

Tambin son similares a los algoritmos GRASP, aunque


con otra filosofa de generacin probabilstica de
soluciones

La principal diferencia con los dos algoritmos anteriores


es el mecanismo de cooperacin global de las soluciones
generadas que hace que las ejecuciones no sean
independientes entre s
50

ALGORITMOS DE OCH CON BSQUEDA LOCAL (4)

EJEMPLO: SCH CON BSQUEDA LOCAL PARA EL TSP


Caso
TSP
d198
lin318
att532
rat783

SCH
(media)
15781.7
42029
27718.2
8837.9

SCH
(mejor)
15780
42029
27693
8818

Otros
(media)
15780
42029
27693.7
8807.3

Otros
(mejor)
15780
42029
27686
8806

Fuente: Bonabeau, Dorigo, Theraulaz, Swarm Intelligence, Oxford, 1999

Nuevos valores de parmetros: q0 = 0.9 y cl=20


Algoritmo de bsqueda local: 3-opt (bsqueda local del mejor)
Otros = mejores resultados obtenidos en el Primer Concurso
Internacional de Optimizacin Evolutiva (ICEO)
Resultados medios de 10 ejecuciones
51

ALGORITMOS DE OCH CON BSQUEDA LOCAL (5)

EJEMPLO 2: COMPARATIVA DE OCH CON BL PARA EL TSP

52

ALGORITMOS DE OCH CON BSQUEDA LOCAL (6)

53

ALGORITMOS DE OCH CON BSQUEDA LOCAL (7)

54

ALGORITMOS DE OCH CON BSQUEDA LOCAL (8)

Por otro lado, el SHMM con la bsqueda local 3-opt:

obtiene el ptimo para los casos de hasta 500 ciudades en


pocos segundos/minutos

en los casos grandes (se ha probado en instancias de


hasta 3038 ciudades), se obtienen soluciones con un error
de un 0.25% con respecto al ptimo en tiempo razonable
(menos de 1 hora)

El rendimiento es cercano al de los algoritmos state-ofthe-art para el TSP


55

LA METAHEURSTICA DE OPTIMIZACIN BASADA


EN COLONIAS DE HORMIGAS

A posteriori, cuando la mayora de los algoritmos de


OCH estaban ya propuestos, Dorigo y Di Caro
propusieron un marco de trabajo general que define la
Metaheurstica OCH:
M. Dorigo, G. Di Caro, Ant Algorithms for Discrete Optimization. Artificial Life, Vol.
5, n 2, 1999, 137-172

Instanciando el algoritmo general con componentes


concretas (reglas de transicin, actualizacin, ), se
pueden obtener distintas variantes de algoritmos OCH

Los distintos algoritmos se pueden implementar de


forma secuencial o paralela para ser aplicados
respectivamente a problemas estticos o dinmicos
56

LA METAHEURSTICA DE OPTIMIZACIN BASADA


EN COLONIAS DE HORMIGAS (2)

En general, para aplicar la OCH a un problema, es


necesario que pueda ser representado en forma de
grafo con pesos

Cada arco ars


informacin:

del

grafo

contendr

dos

tipos

de

Informacin heurstica: preferencia heurstica del arco, rs,


dependiente del caso concreto del problema. Las hormigas
no la modifican durante la ejecucin del algoritmo, aunque
puede variar a lo largo del tiempo en problemas dinmicos

Informacin memorstica: medida de la deseabilidad del


arco, rs, representada por la cantidad de feromona
depositada en l y modificada durante el algoritmo
57

3. APLICACIN AL ENRUTAMIENTO DE PAQUETES


EN REDES DE TELECOMUNICACIONES: ANTNET
G. Di Caro, M. Dorigo, AntNet: Distributed Stimergic Control for Communication
Networks. Journal of Artificial Intelligence Research, Vol. 9, 1998, 317-365

El enrutamiento es la tarea consistente en


determinar el camino que seguirn los
paquetes en una red de telecomunicaciones
cuando llegan a un nodo para alcanzar su
nodo destino de la forma ms rpida posible

AntNet es un algoritmo de hormigas


adaptativo y distribuido para enrutamiento de
paquetes en redes
58

3. APLICACIN AL ENRUTAMIENTO DE PAQUETES


EN REDES DE TELECOMUNICACIONES: ANTNET (2)

Las redes se modelan mediante un grafo


dirigido con N nodos de procesamiento/destino

Los arcos del grafo estn caracterizados por el


ancho de banda (bits/segundo) y el retardo de
transmisin (segundos) del enlace fsico

Se consideran dos tipos de paquetes:


enrutamiento y datos. Los de enrutamiento
tienen una mayor prioridad
59

3. APLICACIN AL ENRUTAMIENTO DE PAQUETES


EN REDES DE TELECOMUNICACIONES: ANTNET (3)

Una de las redes consideradas, la NNTnet de


Japn:

60

3. APLICACIN AL ENRUTAMIENTO DE PAQUETES


EN REDES DE TELECOMUNICACIONES: ANTNET (4)

Las hormigas (paquetes de enrutamiento) se lanzan


asncronamente a la red hacia nodos destino aleatorios

Cada hormiga busca un camino de coste mnimo entre su


nodo de partida y su nodo destino

Se mueve paso a paso por la red (grafo). En cada nodo


intermedio, lanza la regla de transicin para decidir a qu
nodo se dirige

Para ello, considera la feromona (almacenado en los nodos y


funcin del tiempo consumido en el envo de los paquetes) y
la preferencia heurstica (dependiente del estado actual) de
los enlaces de la red
61

3. APLICACIN AL ENRUTAMIENTO DE PAQUETES


EN REDES DE TELECOMUNICACIONES: ANTNET (5)

El estado de la red vara con el tiempo (cada de enlaces,


congestin, ...). El algoritmo manejado adecuadamente este
hecho gracias a su naturaleza distribuida y su capacidad de
adaptacin

Cuando la hormiga llega al nodo destino, vuelve sobre sus


pasos y actualiza las tablas de enrutamiento de los nodos de
acuerdo al tiempo que tard en hacer el camino (refuerzo
positivo o negativo)

En un estudio experimental en el que se compar su


funcionamiento contra el de seis algoritmos de enrutamiento
diferentes, AntNet proporcion el mejor comportamiento

62

OTRAS APLICACIONES DE LA OCH

Los algoritmos de OCH se han aplicado a otros


muchos problemas:

Asignacin Cuadrtica
Secuenciacin de Tareas
Coloreo de Grafos
Enrutamiento de Vehculos
Ordenacin Secuencial
Pooling de vehculos
Lneas de produccin de coches
Problemas de Agrupamiento (Clustering)
Aprendizaje de Reglas Clsicas y Difusas
Bioinformtica: plegado de protenas 2D
63

4. COMENTARIOS FINALES

La OCH es una metaheurstica


bioinspirada que permite
disear
algoritmos:

Sencillos de entender
Rpidos
Con buen rendimiento

para problemas de optimizacin que


se puedan representar en forma de
grafo con pesos
64

4. COMENTARIOS FINALES (2):

ASPECTOS PRCTICOS DEL DISEO DE UN ALGORITMO DE OCH PARA UN PROBLEMA

DEFINICIN DE LOS RASTROS DE FEROMONA

Tarea totalmente dependiente del problema a resolver

Depende directamente de la representacin


soluciones considerada y de su significado

Ejemplo: Los rastros de feromona son totalmente


distintos en el TSP y en el QAP aunque ambos se
resuelvan con una permutacin

Una mala eleccin provoca un mal rendimiento del


algoritmo de OCH

de

65

4. COMENTARIOS FINALES (3):

ASPECTOS PRCTICOS DEL DISEO DE UN ALGORITMO DE OCH PARA UN PROBLEMA

BALANCE EXPLORACIN-EXPLOTACIN

El algoritmo de OCH tendr el mejor rendimiento si se


consigue un balance adecuado para el problema

En OCH, son los rastros de feromona los que establecen


ese
equilibrio
definiendo
una
distribucin
de
probabilidad para muestrear el espacio de bsqueda

Componentes de OCH para intensificacin:

Actualizacin de feromona por la calidad de las soluciones


Estrategias elitistas
Regla de transicin pseudo-aleatoria del SCH
66

4. COMENTARIOS FINALES (4):

ASPECTOS PRCTICOS DEL DISEO DE UN ALGORITMO DE OCH PARA UN PROBLEMA

Componentes de OCH para diversificacin:

Construccin aleatoria de soluciones por las hormigas

Mecanismos para evitar el estancamiento de la bsqueda:


Regla de actualizacin local del SCH
Lmites a los valores de feromona en el SHMM
Mutacin de los rastros de feromona en el SHMP

Reinicializacin de los rastros de feromona

Tambin es importante para este balance el papel de los


pesos y de la regla de transicin
67

4. COMENTARIOS FINALES (5):

ASPECTOS PRCTICOS DEL DISEO DE UN ALGORITMO DE OCH PARA UN PROBLEMA

OCH y BSQUEDA LOCAL

En muchos problemas NP-duros, la inclusin de


optimizadores locales en el algoritmo de OCH consigue
el mejor rendimiento

Los dos enfoques son complementarios, convirtiendo la


OCH en un algoritmo de bsqueda multiarranque

Sin embargo, la OCH puede ser muy efectiva en


aquellos problemas en los que no es sencillo aplicar una
bsqueda local

68

4. COMENTARIOS FINALES (6):

ASPECTOS PRCTICOS DEL DISEO DE UN ALGORITMO DE OCH PARA UN PROBLEMA

USO DE LA INFORMACIN HEURSTICA

Ayuda a explotar
problema a resolver

el

conocimiento

especfico

del

Distincin entre informacin heurstica en problemas


estticos y dinmicos. La primera es ms efectiva

En algunos problemas, no es posible usarla y el


algoritmo de OCH puede obtener buenos resultados
guiado slo por los rastros de feromona (Ejemplo: QAP)

Su importancia disminuya cuando se usa OCH con


bsqueda local
69

4. COMENTARIOS FINALES (7):

ASPECTOS PRCTICOS DEL DISEO DE UN ALGORITMO DE OCH PARA UN PROBLEMA

NMERO DE HORMIGAS EN LA COLONIA

Por qu hay que usar una colonia de hormigas y no


una sola?

Hay un algoritmo que maneja una nica hormiga: el


Sistema de Hormigas Rpido (Fast Ant System)

Experimentalmente se ha demostrado que el uso de


varias hormigas permite obtener mejores resultados

An as, los algoritmos de OCH son robustos en cuanto


al nmero de hormigas considerado, es decir, obtiene
buenos resultados independientemente de este valor
70

5. BIBLIOGRAFA

E. BONABEAU, M. DORIGO, G. THERAULAZ, Swarm Intelligence.


From Natural to Artificial Systems, Oxford University Press, 1999.

M. DORIGO, T. STTZLE, Ant Colony Optimization, The MIT Press, 2004.


71

5. BIBLIOGRAFA (2)

M. DORIGO, G. DI CARO, Ant Algorithms for Discrete Optimization,


Artificial Life 5:2, 1999, pp. 137-172.

M. DORIGO, T. STTZLE, The Ant Colony Optimization Metaheuristic:


Algorithms, Applications and Advances, En: F. Glover, T. Kochenberger
(Eds.), Handbook of Metaheuristics, pp. 251-285, 2003, Kluwer.

O. CORDN, F. HERRERA, T. STTZLE, A Review on the Ant Colony


Optimization Metaheuristic: Basis, Models and New Trends, Mathware
& Soft Computing 9:2-3, 2002, pp. 141-175.

http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html

72

SISTEMAS COMPLEJOS, ALGORITMOS


EVOLUTIVOS Y BIOINSPIRADOS
OTRAS METAHEURSTICAS
Oscar Cordn

PARTE II: OPTIMIZACIN BASADA EN NUBES


DE PARTCULAS (PARTICLE SWARM)
1. INTRODUCCIN Y RPIDO RESUMEN
2. FUNCIONAMIENTO DEL ALGORITMO PSO
3. ASPECTOS AVANZADOS
4. APLICACIONES, BIBLIOGRAFA Y RECURSOS
ELECTRNICOS
73

1. INTRODUCCIN Y RPIDO RESUMEN

La Particle Swarm Optimization (PSO) es una


metaheurstica poblacional inspirada en el comportamiento
social del vuelo de las bandadas de aves y el movimiento
de los bancos de peces.

La poblacin se compone de varias partculas (nube de


partculas = particle swarm) que se mueven (vuelan) por
el espacio de bsqueda durante la ejecucin del algoritmo.

Este movimiento de cada partcula p depende de:

Su mejor posicin desde que comenz el algoritmo (pBest),


la mejor posicin de las partculas de su entorno (lBest) o de
toda la nube (gBest) desde que comenz el algoritmo.

En cada iteracin, se cambia aleatoriamente la velocidad


de p para acercarla a las posiciones pBest y lBest/gBest.
74

1. INTRODUCCIN Y RPIDO RESUMEN (2)

Desarrollo: USA, en 1995.

Primeros autores: Russ C. Eberhart y James Kennedy


Kennedy, J. and Eberhart, R. (1995). Particle Swarm Optimization, Proc.
1995 IEEE Intl. Conf. on Neural Networks, pp. 1942-1948, IEEE Press.

Aplicacin tpica:

Optimizacin numrica.

Caractersticas atribuidas:

Asume un intercambio de informacin (interacciones sociales)


entre los agentes de bsqueda.
Idea bsica: guardar informacin del mejor propio y global.
Implementacin muy sencilla, pocos parmetros.
Convergencia rpida a buenas soluciones.
75

2. FUNCIONAMIENTO DEL ALGORITMO PSO

FUNCIONAMIENTO BSICO

ANATOMA DE UNA PARTCULA

INICIALIZACIN DE LA NUBE DE PARTCULAS

MOVIMIENTO DE LAS PARTCULAS

PSEUDOCDIGOS

VALORES DE LOS PARMETROS

TOPOLOGAS DE LA NUBE DE PARTCULAS


76

Funcionamiento Bsico

PSO simula el comportamiento de las bandadas


de aves.

Supongamos que una de estas bandadas busca


comida en un rea y que solamente hay una
pieza de comida en dicha rea.

Los pjaros no saben donde est la comida pero


s conocen su distancia a la misma.

La estrategia ms eficaz para hallar la comida es


seguir al ave que se encuentre ms cerca de ella
77

Funcionamiento Bsico (2)

PSO emula este escenario para resolver problemas de


optimizacin. Cada solucin (partcula) es un ave en el
espacio de bsqueda que est siempre en continuo
movimiento y que nunca muere.

La nube de partculas es un sistema multiagente. Las


partculas son agentes simples que se mueven por el
espacio de bsqueda y que guardan (y posiblemente
comunican) la mejor solucin que han encontrado.

Cada partcula tiene un fitness, una posicin y un vector


velocidad que dirige su vuelo. El movimiento de las
partculas por el espacio est guiado por las partculas
ptimas en el momento actual.
78

Anatoma de una Partcula

Una partcula est compuesta por:

Tres vectores:
El vector X almacena la posicin
actual (localizacin) de la partcula en
el espacio de bsqueda,
El vector pBest almacena la
localizacin de la mejor solucin
encontrada por la partcula hasta el
moemento, y
El vector V almacena el gradiente
(direccin) segn el cul se mover la
partcula.

pi
Xi = <xi1, , xin>
pBesti = <pi1, , pin>
Vi = <vi1, , vin>
x_fitness = ?
pBest_fitness = ?

Dos valores de fitness:


El x_fitness almacena el fitness de la
solucin actual (vector X), y
El p_fitness almacena el fitness de la
mejor solucin local (vector pBest).
79

Inicializacin de la Nube de Partculas

La nube se inicializa generando las posiciones y las


velocidades iniciales de las partculas.

Las posiciones se pueden generar aleatoriamente en el


espacio de bsqueda, de forma regular, o con una
combinacin de ambas.

Las velocidades se generan aleatoriamente, con cada


componente en el intervalo [-Vmax, Vmax].
No es conveniente fijarlas a cero, no se obtienen buenos
resultados.
Vmax ser la velocidad mxima que pueda tomar una
partcula en cada movimiento.
80

Inicializacin de la Nube de Partculas (2)

81

Movimiento de las Partculas

La pregunta es: Cmo se mueve una partcula de una


posicin del espacio de bsqueda a otra?

Se hace simplemente aadiendo el vector velocidad Vi al


vector posicin Xi para obtener un nuevo vector posicin:
Xi Xi + Vi

Una vez calculada la nueva posicin de la partcula, se


evala sta. Si el nuevo fitness es mejor que el que la
partcula tena hasta ahora, pBest_fitness, entonces:
pBesti Xi

pBest_fitness x_fitness.
82

Movimiento de las Partculas (2)

De este modo, el primer paso es ajustar el vector velocidad, para


despus sumrselo al vector posicin.

Las frmulas empleadas son las siguientes:

vid = vid + 1rnd()(pBestid -xid ) + 2 rnd()(gid -xid )


xid = xid + vid

COGNITIVO

SOCIAL

donde:

pi es la partcula en cuestin,
1,2 son ratios de aprendizaje (pesos) que controlan los componentes
cognitivo y social,
g representa el ndice de la partcula con el mejor pBest_fitness del
entorno de pi (lBest) o de toda la nube (gBest),
los rnd() son nmeros aleatorios generados en [0,1], y
d es la d-sima dimensin del vector.
83

Movimiento de las Partculas (3)

TIPOS DE ALGORITMOS DE PSO:

Kennedy identifica cuatro tipos de algoritmos de


PSO en funcin de los valores de 1 y 2:

Modelo completo: 1, 2 > 0.

Slo Cognitivo: 1 > 0 y 2 = 0.

Slo Social: 1 = 0 y 2 > 0.

Slo Social exclusivo: 1 = 0, 2 > 0 y g i (la


partcula en s no puede ser la mejor de su entorno).
84

Movimiento de las Partculas (4)

REPRESENTACIN GRFICA:

d
a
d
i
m
i
i-prox
Aqu
estoy!

Xi

pBesti

Mi mejor
solucin

pg

La mejor
solucin de
mis vecinos

d
a
d
i
m
i
-prox
85

Pseudocdigo PSO Local

t = 0;
Para i=1 hasta Nmero_partculas
inicializar Xi y Vi;
Mientras (no se cumpla la condicin de parada) hacer
tt+1
Para i=1 hasta Nmero_partculas
evaluar Xi;
Si F(Xi) es mejor que F(pBest) entonces
pBesti Xi; F(pBesti) F(Xi)

Para i=1 hasta Nmero_partculas

Escoger lBesti, la partcula con mejor fitness del entorno de Xi


Calcular Vi, la velocidad de Xi, de acuerdo a pBesti y lBesti
Calcular la nueva posicin Xi, de acuerdo a Xi y Vi

Devolver la mejor solucin encontrada


86

Pseudocdigo PSO Global

t = 0;
Para i=1 hasta Nmero_partculas
inicializar Xi y Vi;
Mientras (no se cumpla la condicin de parada) hacer
tt+1
Para i=1 hasta Nmero_partculas
evaluar Xi;
Si F(Xi) es mejor que F(pBest) entonces
pBesti Xi; F(pBesti) F(Xi)
Si F(pBest) es mejor que F(gBest) entonces
gBest pBesti; F(gBesti) F(pBesti)

Para i=1 hasta Nmero_partculas

Calcular Vi, la velocidad de Xi, de acuerdo a pBesti y gBesti


Calcular la nueva posicin Xi, de acuerdo a Xi y Vi

Devolver la mejor solucin encontrada


87

Valores de los Parmetros

Tamao de la nube: Entre 20 y 40 partculas


(problemas simples, 10; problemas muy
complejos, 100-200).

Velocidad mxima: Vmax se suele definir a partir


del intervalo de cada variable.

Ratios de aprendizaje: Habitualmente, 1=2=2.

PSO Global vs. PSO Local: La versin global


converge ms rpido pero cae ms fcilmente en
ptimos locales y viceversa.
88

Topologas de la Nube de Partculas

Las topologas definen el entorno de cada partcula individual.


La propia partcula siempre pertenece a su entorno.

Los entornos pueden ser de dos tipos:

Geogrficos: se calcula la distancia de la partcula actual al resto


y se toman las ms cercanas para componer su entorno.
Sociales: se define a priori una lista de vecinas para partcula,
independientemente de su posicin en el espacio.

Los entornos sociales son los ms empleados.

Una vez decidido el entorno, es necesario definir su tamao.


El algoritmo no es muy sensible a este parmetro (3 o 5 son
valores habituales con buen comportamiento).

Cuando el tamao es toda la nube de partculas, el entorno


es a la vez geogrfico y social, y tenemos la PSO global.
89

Topologas de la Nube de Partculas (2)

Geogrfico

Social
90

Topologas de la Nube de Partculas (3)

La topologa social ms empleada es la de anillo, en la que se


considera un vecindario circular.

Se numera cada partcula, se construye un crculo virtual con


estos nmeros y se define el entorno de una partcula con
sus vecinas en el crculo:
Entorno de p1
de tamao 3

1
2

Crculo virtual

6
5

91

3. ASPECTOS AVANZADOS

CONTROL DE LA VELOCIDAD DE LAS PARTCULAS

TAMAO DE LA NUBE DE PARTCULAS

INFLUENCIA DEL TIPO DE ENTORNO

ACTUALIZACIN DE LAS PARTCULAS

ELECCIN DE VALORES ADAPTATIVOS PARA 1 Y 2

92

Control de la Velocidad de las Partculas

Un problema habitual de los algoritmos de PSO es que la


magnitud de la velocidad suele llegar a ser muy grande
durante la ejecucin, con lo que las partculas se mueven
demasiado rpido por el espacio.

El rendimiento puede disminuir si no se fija adecuadamente


el valor de Vmax, la velocidad mxima inicial de cada
componente del vector velocidad.

Se han propuesto dos mtodos para controlar el excesivo


crecimiento de las velocidades:

Un factor de inercia, ajustado dinmicamente, y

Un coeficiente de constriccin.
93

Control de la Velocidad de las Partculas (2)


Factor de Inercia

En este caso, la ecuacin de adaptacin de la velocidad pasa


a ser la siguiente:

vid = vid + 1rnd()(pBestid -xid ) + 2 rnd()(lBestid -xid )


donde se inicializa a 1.0 y se va reduciendo gradualmente
a lo largo del tiempo (medido en iteraciones del algoritmo).

debe mantenerse entre 0.9 y 1.2. Valores altos provocan


una bsqueda global (ms diversificacin) y valores bajos
una bsqueda ms localizada (mas intensificacin).
94

Control de la Velocidad de las Partculas (3)


Coeficiente de Constriccin

De nuevo, se realiza una modificacin en la


ecuacin de adaptacin, la siguiente:
vid = K [vid + 1rnd()(pBestid -xid ) + 2 rnd()(lBestid -xid )]

donde:

K=

2 2 4

= 1 + 2

>4
95

Tamao de la Nube de Partculas

El tamao de la nube de partculas determina el equilibro


entre la calidad de las soluciones obtenidas y el coste
computacional (nmero de evaluaciones necesarias).

Hace poco, se han propuesto algunas variantes que


adaptan heursticamente el tamao de la nube:

Si la calidad del entorno de la partcula ha mejorado pero la


partcula es la peor de su entorno, se elimina la partcula.

Si la partcula es la mejor de su entorno pero no hay mejora


en el mismo, se crea una nueva partcula a partir de ella.

Las decisiones se toman de forma probabilstica en funcin


del tamao actual de la nube.
96

Influencia del Tipo de Entorno

Los entornos globales parecen obtener mejores resultados


desde el punto de vista del coste computacional.

El rendimiento es similar a la topologa de anillo y al del


uso de entornos con tamao mayor que 3.

Se ha investigado poco en los efectos de la topologa de la


nube en el comportamiento de la bsqueda del algoritmo.

Por otro lado, el tamao del vecindario tambin se puede


adaptar con la misma heurstica del tamao de la nube.

97

Actualizacin de las Partculas

La actualizacin de las partculas


se puede efectuar de dos formas
distintas:

Sncrona

Asncrona

I0
I1

I4

La actualizacin asncrona
permite considerar las soluciones
nuevas ms rpidamente.
El mtodo asncrono puede
representarse por el grfico
siguiente.

I3

I2

98

Eleccin de Valores Adaptativos para 1 y 2

Los pesos que definen la importancia de las componentes


cognitiva y social pueden definirse dinmicamente segn
la calidad de la propia partcula y del entorno:

V
Cuanto mejor
soy, ms me
tengo en cuenta
a m mismo

rnd(0b)(p-x)
Cuanto mejor es mi
mejor vecino, ms
tiendo a ir hacia l

99

4. APLICACIONES, BIBLIOGRAFA Y RECURSOS


ELECTRNICOS

Optimizacin de funciones numricas.

Entrenamiento de Redes Neuronales.

Aprendizaje de Sistemas Difusos.

Registrado de Imgenes.

Viajante de Comercio.

Control de Sistemas.

Ingeniera Qumica.

100

4. APLICACIONES, BIBLIOGRAFA Y RECURSOS


ELECTRNICOS (2)

Kennedy, J., Eberhart, R. C.,


and Shi, Y., Swarm intelligence.
San Francisco: Morgan
Kaufmann Publishers, 2001

Pgina personal de R. Eberhart:


http://www.engr.iupui.edu/~eberhart/

Web site de PSO: http://www.particleswarm.org

101

También podría gustarte