Vous êtes sur la page 1sur 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 a su

volver

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 =
donde:

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

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 - Jk(r) es el conjunto de nodos alcanzables desde r no visitados an por la hormiga k - rs es la inf. heurstica del arco ars - 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:
k rs (t ) = (1 ) rs (t 1) + rs k =1 m

1 , si la hormiga k ha visitado el arco a rs k rs = C (Sk ) en otro caso 0,


- 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
L[k][1] nodo inicial /* Construccin de soluciones por las hormigas */

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

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

2
-

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 1 2 3 5 6 4
0.322 0.231 0.227 0.612 1.000

2
-

3
-

0.227 0.161 0.144 0.144 0.365 0.231 0.172 0.453 0.388 0.320 -

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)

Probabilidades de transicin 1 3 2 1 5 4
0.417 -

2
-

3
-

0.169 0.267

0.267 0.169 0.126 0.208 0.186 0.186 0.267 0.309 0.434 0.585 0.415 1.000

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)
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 1 2 3 4 5 6

C(Sk) 10.53 10.53 9.05 11.12 10.88 9.47

Aporte 9.49 9.49 11.04 8.99 9.19 10.55

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

Arcos afectados {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:
k rs (t ) = (1 ) rs (t 1) + rs k =1 m

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:
k mejor _ global rs (t ) = (1 ) rs (t 1) + rs + e rs k =1 m

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

S es una ciudad aleatoria seleccionada segn la regla de transicin del SH (exploracin dirigida)

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
L[k][1] nodo inicial /* Construccin de soluciones por las hormigas */

1. Para k=1 hasta Nmero_de_Hormigas hacer

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 5. Para i=1 hasta Nmero_de_Nodos hacer

C(Mejor_Global)

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:
mejor rs (t ) = (1 ) rs (t 1) + rs

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 de

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


donde:

COGNITIVO

SOCIAL

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 x o r p i
Aqu estoy!

Xi

pBesti

Mi mejor solucin

pg

La mejor solucin de mis vecinos

d a d i m i g-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 8 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 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 I4 I1

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

Vous aimerez peut-être aussi