Académique Documents
Professionnel Documents
Culture Documents
Es un numero aleatorio que se encuentra en el rango [0, Qmax]
2
Es un numero aleatorio que se encuentra en el rango [0, Qmax]
Vmax
Velocidad mxima que puede alcanzar una partcula
-Vmax
Velocidad mnima que puede tener una partcula
Coeficiente de inercia : valor aleatorio en el rango [0.5, 1]
2.2.2 Pasos del algoritmo
La posicin de una partcula i cualquiera la denotaremos por Xi, donde Xi es un vector que almacena cada una de las
posiciones que tiene la partcula en cada una de las dimensiones que comprende el espacio de bsqueda. Adems,
denotaremos por Vi a la velocidad de la partcula i, la cual tambin es un vector, el cual contiene cada una de las
velocidades que tiene la partcula en cada dimensin. Esta velocidad es aadida a la posicin de la partcula, para mover
la partcula desde un tiempo t-1 a un tiempo t [15].
A continuacin se describen cada uno de los pasos que conlleva este algoritmo:
Paso1: Inicializar una poblacin de partculas con posiciones y velocidades aleatorias en un espacio D-dimensional.
Paso2: Para cada partcula, evaluar la funcin de fitnes en D variables.
Paso3: Comparar el fitness actual de cada partcula con el fitness de su mejor posicin anterior, pbest. Si el valor
actual es mejor que el de pbest, entonces asignarle a pbest al valor actual, y P
i
= X
i
, es decir, la localizacin
actual pasa ha ser la mejor hasta el momento.
Paso4: Identificar la partcula en la vecindad (puede ser todo el conjunto de partculas, o un grupo de ellos) con la
mejor tasa de xito hasta el momento, y asignar su ndice a la variable g.
Paso5: Ajustar la velocidad y posicin de la partcula de acuerdo a las ecuaciones (para cada dimensin) siguientes:
)) t ( x p ( )) t ( x p ( ) t ( v * ) t ( v
id gd id id id id
1 1 1
2 1
+ + =
(3)
4
) ( ) 1 ( ) ( t v t x t x
id id id
+ =
(4)
Paso6:
Verificar si se cumple el criterio de detencin (mximo nmero de iteraciones o valor de fitness alcanzado), si
no ir al Paso2.
La velocidad es una funcin que esta compuesta por la suma de tres partes. La primera parte es la velocidad anterior
de la partcula. A esta parte se le conoce como inercia. La segunda parte es la diferencia entre la mejor posicin
encontrada por la partcula, con la actual posicin. Esta es la parte cognitiva que representa el aprendizaje de su propia
experiencia. Y la ltima parte es la diferencia entre la mejor posicin alcanzada por un vecino, con la posicin actual de
la partcula. Esta parte es la social, que representa el aprendizaje del grupo [15].
3 Patron de Funciones
Se han seleccionado 10 diferentes funciones no lineales para verificar el comportamiento de PSO, las cuales se describen
en la tabla 1.
Tabla 1
Funciones de prueba seleccionadas para comparar sus comportamiento con GA, como con PSO.
Funcion Limites Optimo
F1
=
=
2
1
2
1
i
i
x f
12 5 12 5 . x .
i
0 0
1
= = x , f
F2
2
1
2
2
2
1 2
1 100 ) x ( ) x x ( * f + =
048 2 048 2 . x .
i
0 0
2
= = x , f
F3
=
=
5
1
3
i
i
) x ( entero f
12 5 12 5 . x .
i
0 0
3
= = x , f
F4
=
+ =
30
1
4
1 0
i
i
)) , ( Gauss x * i ( f
28 1 28 1 . x .
i
0 0
4
= = x , f
F5
(
=
+
+ =
=
=
etc ... 16 - 16 - 16 - 16 - 32 - 32 - 32 - 32 - 32 -
etc ... 16 0 16 - 32 - 32 16 0 16 - 32 -
[aij]
1
002 0
25
1
2
1
6
5
j
i
ij i
) a x ( j
. f
536 65 536 65 . x .
i
0 0
5
= = x , f
F6
829101 4189
10
10
1
6
. V
)) x ( seno * x ( V * f
i
i i
=
+ =
=
500 500
i
x
420 3 0
6
= = x , . f
F7
10
2 10 20
20
1
2
7
=
+ =
=
A
)) x * * ( eno cos * x ( A * f
i
i i
12 5 12 5 . x .
i
0 0
7
= = x , f
F8
= =
|
|
.
|
\
|
|
|
.
|
\
|
+ =
10
1
10
1
2
8
4000
1
i i
i i
i
x
eno cos
x
f
C
600 600
i
x
0 0
8
= = x , f
F9
29 1 29
1 1 9
2
2 1
1 2
=
=
= =
i ; / i t
) t * x ( t * x * ) j ( f
i
n
j
n
j
) j (
i j
) j (
i j
31 31
i
x
0 0
9
= = x , f
F10 ) x x ( * f
) i ( i
/ n
i
2
1 2
2
2
10
10
=
=
31 31
i
x
0 0
10
= = x , f
Todas las funciones antes descritas reflejan distintos grados de complejidad. El rango de funciones F1 F4 son las
llamadas funciones unimodal, es decir, cuentan con un solo ptimo. El resto defunciones son multimodal, es decir,
contienen muchos ptimos locales, pero solo un ptimo global. Lo importante es alcanzar el valor ptimo, que en este
caso el ptimo es el valor mnimo, como se especifica en la 3 columna de la tabla anterior [2].
5
4 Resultados Experimentales y Discusiones
Para cada uno de los experimentos con PSO se realizaron 40 pruebas con cada una de las funciones, donde se
tomaba el valor mnimo arrojado por estas pruebas, esto con cada uno de los parmetros a evaluar. Como valor estndar
para el primer experimento, se fijo a 100 el numero de iteraciones, para ser lo mas equivalente posible a los
experimentos con algoritmos genticos. En el segundo experimento, se fijo como valor estndar 1000 iteraciones, para
permitir al algoritmo converger de una buena forma. En cuanto a algoritmos genticos, se utilizaron como valores
estndar, 0.7 probabilidad de cruzamiento, y 0.06 probabilidad de mutacin [9].
4.1 Experimento 1: Algoritmos Genticos versus Particle Swarm Optimization.
Este primer experimento compara los resultados obtenidos al aplicar el Algoritmo Gentico a cada una de las
funciones, como tambin, al aplicar la Optimizacin por Enjambre de Partculas a las mismas. Para cada una de estas
metaheursticas se irn modificando parmetros, para conocer los mejores valores que pueda arrojar cada tipo.
La principal medida del comportamiento de GA es la eficiencia, es decir, la habilidad de alcanzar un valor ptimo
cuando es aumentada la cantidad de individuos, como tambin, si esto ultimo trae como consecuencia la disminucin del
nmero de iteraciones.
El Algoritmo gentico ocupado, selecciona en cada iteracin, solo a los mejores individuos para poder realizar
cruzamiento y mutacin. Al final el proceso, se obtiene una nueva generacin, que desciende solo de los individuos
mejor evaluados.
Lo que se trata de determinar es el efecto que produce en el comportamiento de GA:
El tamao de la poblacin, la probabilidad de cruzamiento de los padres, la probabilidad de mutacin y
la generacin de valores aleatorios. Ms especficamente, el total de parmetros ocupados son:
a) Tamao poblacin : {50, 100, 150, 200, 300, 350, 400}
b) Probabilidad de cruzamiento : {0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95 }
c) Probabilidad de Mutacin : {0.001, 0.02, 0.04, 0.06, 0.08, 0.10, 0.18, 0.20}
d) Mecanismo de cruzamiento : Cruzamiento uniforme
e) Criterio de termino : La ejecucin del algoritmo se terminara cuando luego de 100
iteraciones, el mejor individuo no ha producido grandes cambios.
f) Seleccin : Seleccin por torneo
g) Funcin de Fitness : Misma funcin evaluar
En cuanto a PSO, La principal medida del comportamiento es al igual que en GA la eficiencia, es decir, la
habilidad de alcanzar un valor ptimo cuando es aumentada la cantidad de individuos, como tambin la modificacin de
la velocidad de cada partcula, y si esto trae como consecuencia la disminucin del nmero de iteraciones y el
acercamiento mximo al valor optimo.
Se tratara de definir los parmetros de la manera mas parecida a la forma en que se realizo para GA, para poder
realizar al final, una comparacin lo mas real y equivalente posible.
Usando dicha informacin, se trata de determinar el efecto que produce en el comportamiento de PSO el tamao de
la poblacin, al igual que en GA. Ms especficamente, el total de parmetros ocupados son:
a) Tamao poblacin : {50, 100, 150, 200, 300, 350, 400}
b) Numero de iteraciones : 100
c) Coeficiente de inercia ( ) : 0.5+rand(0-0.5)
d) VMAX : Xmax
e) Criterio de termino : La ejecucin del algoritmo se detendr cuando se alcance el nmero de
iteraciones, o cuando se alcance el valor de fitness deseado.
f) Valor fitness : para el general de las funciones a evaluar, se ocupar 0.00001
g) Funcin de Fitness : Misma funcin a encontrar ptimo.
h) Q1 y Q2 : Valores aleatorios entre 0.0 y 1.0
i) Vecindario : Vecindad global
4.2 Resultados de Experimento 1.
A primera vista se aprecia que tanto para GA como para PSO el tamao de la poblacin es importante, para poblaciones
pequeas, los algoritmos tienen un comportamiento pobre, pero a medida que se aumenta el tamao, se va mejorando el
comportamiento de cada tcnica. Para el caso de GA un tamao muy grande no produce una real mejora en el algoritmo,
por lo que se debera seleccionar una poblacin de tamao medio, que es donde se produce el mejor comportamiento.
Para PSO, una poblacin grande permite acercarse ms al valor optimo, pero la diferencia no es sustancial comparado a
una poblacin de tamao medio. Lo importante aqu es verificar si la mejora que se produce con una poblacin grande
es ms importante que como consecuencia a lo mismo realizar una mayor cantidad de iteraciones.
6
La figura 1 muestra lo descrito anteriormente. El grfico de la izquierda representa el comportamiento de GA para
cada una de las funciones, variando el tamao de la poblacin. El grfico de de la derecha, representa el comportamiento
de PSO para cada una de las funciones, modificando el tamao de la poblacin.
GA applied to all the functions, for every size of
population
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
50 100 150 200 250 300 350 400
Population size
F
(
x
)
F1 F2 F3 F4 F5 F7
F8 F9 F10
(a)
PSO applied to all the functions, for every size of
population
-2
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
50 100 150 200 250 300 350 400
Population size
F
(
x
)
F1 F2 F3 F4 F5 F7
F8 F9 F10
(b)
Figura1
GA y PSO aplicado a cada una de las funciones. Bsqueda de tamao optimo de poblacin. La figura (a) muestra el comportamiento de GA, la figura
(b) muestra el comportamiento de PSO.
Como se puede ver, los algoritmos no se comportan bien para valores pequeos de poblacin. Valores pequeos
proveen muestras insuficientes, lo que hace que los algoritmos acten de una forma pobre. Al contrario, grandes
tamaos de poblacin, mejorar el comportamiento del algoritmo, debido a una bsqueda informada y dirigida. Sin
embargo, una poblacin grande, requiere ms evaluaciones por iteracin, lo que podra demorar encontrar el valor
ptimo. Se deduce fcilmente, que una poblacin de tamao 200 - 250 serian los valores con los que se obtendra el
mejor desempeo del algoritmo GA, aunque en general se puede uno dar cuenta, que el tamao optimo de poblacin,
depende de la complejidad de la funcin. Para el caso de PSO los tamaos de poblacin 200 250 tambin tienen un
buen comportamiento. Con respecto comportamiento de la funcin 3 en el grafico (b), se puede decir que PSO no tiene
un buen desempeo para problemas discretos. Esto se soluciono implementando solo para la funcin 3 PSO binario, el
cual llego al ptimo sin ningn problema.
F6 no aparece en ninguno de los grficos de la figura anterior, debido a que los valores obtenidos por cada uno de
los algoritmos se salen del rango que tienen los grficos, pero el comportamiento es similar a las otras funciones.
La tabla 1 y tabla 2 muestran los valores que obtuvo GA y PSO respectivamente, con cada una de las funciones. Es
fcil apreciar que PSO tiene un mejor comportamiento que GA para la mayora de las funciones.
Tabla 1
Resultados de todas las funciones aplicando GA, para cada uno de los tamaos de poblacin (Ps). Se puede corroborar que los tamaos ptimos
de poblacin para el algoritmo gentico son los tamaos centrales, es decir, 200 -250.
GA Poblacin 50 100 150 200 250 300 350 400
F1 5,25 3,85 1,81 0,6 0,8 0,7 0,75 0,68
F2 4,8 3,75 1,61 0,4 0,5 0,4 0,45 0,48
F3 4 3,8 1,6 0,6 1,74 1,76 1,78 1,8
F4 12,35 6,21 2 1,2 1,95 1,96 1,97 1,98
F5 12 5 1,8 1 1,86 1,87 1,88 1,89
F6 6900 5700 5380 4400 4316,25 4318,25 4320,25 4322,25
F7 65 33,6 10 12,2 10,06 10,07 10,35 10,07
F8 9,8 4,2 1,9 2 1,96 1,97 1,98 1,99
F9 39,25 11,15 4,7 1,01 2,15 2,01 2,15 2,16
F10 22,3 12,1 2,3 1,8 2,37 2,39 2,41 2,43
7
Como se afirmo anteriormente, el tamao de la poblacin afecta tanto el comportamiento final, como la eficiencia
del algoritmo gentico. Una poblacin grande requiere ms evaluaciones por generacin, que posiblemente resulten en
una degradacin del tiempo ocupado por el algoritmo para converger al ptimo. Esto enfatiza que si el tamao de la
poblacin es aumentado suficientemente, puede compensar las diferencias producidas por el cruzamiento. Se pueden
apreciar los resultados de la probabilidad de cruzamiento y la probabilidad de mutacin con GA en [9][11].
Tabla 2
Resultados de todas las funciones aplicando PSO, para cada uno de los tamaos de poblacin, realizando 100 iteraciones. Se puede corroborar que los
tamaos ptimos de poblacin para el algoritmo PSO son los tamaos finales, es decir, 350 -400.
PSO Poblacin 50 100 150 200 250 300 350 400
F1 0 0 0 0 0 0 0 0
F2 0,000006 0,000001 0 0 0 0 0 0
F3 12 0 -4 3 -3 4 -2 1
F4 1,13909 1,013909 1,013909 1,013909 1,013909 1,013909 1,013909 1,013909
F5 0,002000 0,002000 0,002000 0,002000 0,002000 0,002000 0,002000 0,002000
F6 1689,7419 1530,0153 1669,1450 1158,0014 1869,5205 1255,3172 1591,7275 1293,9213
F7 48,005 22,4 7,2 7,0 6,9 6,7 6,0 6,0
F8 0,30382 0,103297 0,029547 0,061512 0,081305 0,086154 0,071268 0,078758
F9 39,25 11,15 4,7 1,01 2,15 2,01 2,15 2,16
F10 45,624 41,063244 3,181109 3,181109 3,181109 3,181109 3,181109 3,181109
4.3 Experimento 2: Variacin de Vmax y en PSO
Este segundo experimento realiza un anlisis particular de PSO para corroborar el comportamiento de este al modificar
algunos de los parmetros que utiliza, y as deducir, cuales son los valores de dichos parmetros que permiten al
algoritmo tener un desempeo eficiente. Lo principal de esta parte del documento es que el algoritmo PSO funciona
bien, como se corroboro anteriormente, pero para que su rendimiento sea el deseado se debe seleccionar aparte del
numero de partculas la cantidad de iteraciones, como tambin el valor de la velocidad mxima (Vmax) que puede
adquirir una partcula, ya que con este parmetro, se asegura que las partculas se acerquen al optimo. Lo complejo de la
seleccin de este parmetro es que, para el caso de aplicar PSO a la bsqueda de ptimos en funciones no lineales, se
debe conocer dicha funcin, ya que Vmax depende directamente de la funcin. Como solucin a este inconveniente
surgi un coeficiente, llamado coeficiente de inercia [8], el cual se multiplica, en la formula de la velocidad, con el valor
de la velocidad anterior. Esto es para solucionar el problema de la convergencia.
Lo que busca es probar con distintas cantidades de iteraciones, distintos valores de coeficiente de inercia, como
tambin valores de Vmax, que permitan realizar una tarea exitosa al algoritmo PSO.
La principal medida del comportamiento de PSO es al igual que el las pruebas anteriores la eficiencia, pero se
verificara por medio de la modificacin de algunos parmetros necesarios.
Usando la informacin generada en la seccin anterior, se trata de determinar el efecto que produce en el
comportamiento de PSO el tamao de la poblacin, la cantidad de iteraciones, el valor de velocidad mxima y la
importancia del coeficiente de inercia. Ms especficamente, el total de parmetros ocupados son:
a) Tamao poblacin : {50, 100, 150, 200, 300, 350, 400}
b) Numero de iteraciones : {100, 500, 1000, 1500, 2000 }
c) Coeficiente de inercia ( ) : {0.9, 0.5, 0.5+rand(0-0.5), 0.9 dec 0.4}
d) VMAX : {Xmax, 0.5Xmax, 0.1Xmax}
e) Criterio de termino : La ejecucin del algoritmo se detendr cuando se alcance el nmero de
iteraciones, o cuando se alcance el valor de fitness deseado.
f) Valor fitness : para el general de las funciones a evaluar, se ocupar 0.00001
g) Funcin de Fitness : Misma funcin a encontrar ptimo.
h) Q1 y Q2 : Valores aleatorios entre 0.0 y 1.0
i) Vecindario : Vecindad global
4.4 Resultados de Experimento 2
La tabla 3 muestra el comportamiento de PSO con cada una de las funciones al variar el nmero de iteraciones. Se
puede apreciar que a mayor numero de iteraciones, el algoritmo ms se acerca al valor ptimo. Esto se debe a que cada
partcula tiene ms oportunidades de ajustar su velocidad y posicin, pero el realizar ms iteraciones tiene un costo
computacional mayor.
8
Tabla 3
Resultados de todas las funciones aplicando PSO, para cada uno de los nmeros de iteraciones (I), con 50 partculas. Se puede corroborar que
los tamaos ptimos de poblacin para el algoritmo PSO son los tamaos finales, es decir, 1500 -2000
PSO
Iteraciones 100 500 1000 1500 2000
F1 0,000002 0,000000 0,000000 0,000000 0,000000
F2 0,000020 0,000001 0,000000 0,000000 0,000000
F3 -1,000000 0,000000 -2,000000 0,000000 -1,000000
F4 2,675971 1,014185 1,013909 1,013909 1,013909
F5 0,002000 0,002000 0,002000 0,002000 0,002000
F6 3244,432617 2201,208252 1416,789185 856,605164 430,144775
F7 89,953804 72,441513 21,176916 11,943318 7,962540
F8 0,814359 0,076409 0,059922 0,044254 0,034780
F9 1,368919 0,477806 0,146488 0,073759 0,059207
F10 18,504878 15,570250 4,000000 1,200000 1,255873
Con respecto a Vmax y se puede apreciar en la figura 2 que la utilizacin de un coeficiente de inercia mejora el
comportamiento de PSO. Una buena eleccin de Vmax permite tener un buen desempeo del algoritmo, pero la
utilizacin de un coeficiente de inercia tambin mejora el comportamiento de PSO, pero lo mantiene general a cualquier
tipo de problema, cosa que no ocurre al configurar Vmax, ya que un buen valor para este parmetro esta directamente
relacionado al problema en si. Este comportamiento se mantiene con el resto de las funciones, es decir, el coeficiente de
inercia permite un mejor comportamiento al algoritmo que cualquier valor de Xmax.
PSO applied to f7 for different Vmax and Inertia
Weight
0
20
40
60
80
100
120
140
160
180
200
50P 100P 150P 200P 250P 300P 350P 400P
Population size
F
(
x
)
CI=0,9 CI=0,5
CI=0,5+Rand CI=0,9-0,4Dec
Vamx=Xmax Vmax=0,5*Xmax
Vmax=0,*Xmax
Figura 2
Algoritmo PSO aplicado a la funcin f7, para los cuatro valores de coeficiente de inercia y los 3 valores de Vmax. Con 1000 iteraciones y 10
dimensiones cada partcula
4.5 Discusin de los Resultados
El tamao de la poblacin es un factor relevante tanto en GA como en PSO. Se aprecia en la figura 1 que valores
pequeos de poblacin traen como consecuencia, un desempeo pobre de estos dos algoritmos. Pero tambin valores
muy grandes de poblacin producen una mejora muy residual comparada a la mejora que se produce al utilizar tamaos
medios de poblacin, pero si aumentan el costo computacional de los algoritmos. Esto es algo muy importante a la hora
de emplear algunas de estas metaheursticas.
PSO tiene un buen desempeo en la optimizacin de funciones no lineales. En la figura 1 se apreci que el
algoritmo se acerca al optimo en 9 de las 10 funciones, e incluso se puede apreciar, al mirar la tabla 1 y la tabla 2, que el
algoritmo se comporta mejor que GA en varias de estas funciones.
En cuanto a los resultados arrojados por la funcin F3, se pueden decir 2 cosas:
9
El valor negativo que pueda arrojar el algoritmo PSO en algn momento, significa que se ha alcanzado
el valor ptimo, debido a que el valor optimo de estas funciones, es el valor mnimo.
La Metaheurstica (algoritmo) PSO ordinario, tiene mejor desempeo en funciones que cuentan con
valores reales. Para el caso de funciones con valores discretos, PSO binario tiene un mejor desempeo,
ya que cada posicin de cada dimensin que tienen las partcula, solo puede tomar el valor 0 o 1, por
lo que en si cada partcula es una cadena binaria, que siempre da un valor positivo al traspasar esa
cadena binaria a un valor numrico, lo que solucionara el problema de los ptimos negativos.
El nmero de iteraciones ayuda a PSO a encontrar el valor ptimo de las funciones. Mientras mayor es el nmero
de iteraciones, ms se acerca el algoritmo, pero, al igual que en el tamao de poblacin, al aumentar la cantidad de
iteraciones tambin se aumenta el costo computacional, lo que se debe tomar en consideracin a la hora de utilizar
alguno de estos algoritmos.
Para un mejor rendimiento de PSO se debe seleccionar, aparte del nmero de partculas, la cantidad de iteraciones,
el valor de la velocidad mxima (Vmax) que puede adquirir una partcula, ya que con este parmetro, se asegura que las
partculas se acerquen al ptimo. Lo complejo de la seleccin de este parmetro es que, para el caso de aplicar PSO a la
bsqueda de ptimos en funciones no lineales, se debe conocer dicha funcin, ya que Vmax depende directamente de la
funcin. Como solucin a este inconveniente surgi un coeficiente, llamado coeficiente de inercia, el cual se multiplica,
en la formula de la velocidad, con el valor de la velocidad anterior. Esto es para solucionar el problema de la
convergencia.
Se deduce fcilmente de la figura 2, que muestra el comportamiento de PSO aplicado a F7, que el coeficiente de
inercia se comporta mucho mejor que los valores de Vmax, obteniendo el peor resultado cuando no se utiliza coeficiente
de inercia, y el valor de Vmax es igual al de Xmax. Por otro lado, de manera particular, el valor de coeficiente de inercia
0.9 y el valor 0.5+ aleatorio [0-0.5] tienen un buen comportamiento, y permiten al algoritmo PSO converger al valor
ptimo, por medio de la explotacin del espacio de bsqueda.
5 Conclusiones
En este artculo se present el estudio de la metaheurstica PSO y la comparacin de los resultados experimentales entre
PSO y GA para algunos problemas numricos de optimizacin. Para lograr esto, se tomo una muestra representativa de
funciones patrones no lineales, a las cuales se deba encontrar el valor mnimo. Primero se realizo un experimento en
donde se compar el comportamiento de PSO con el ofrecido por GA, al buscar el mnimo en las mismas funciones.
Luego se realizaron pruebas particulares a PSO, modificando parmetros como nmero de iteraciones, Vmax y , para
as obtener una configuracin general, que permitiera resolver una gran gama de problemas.
Se ha demostrado que PSO tiene el potencial de ser utilizado en la optimizacin de diversas funciones unimodal y
multimodal, que se consideran difciles para otras tcnicas. De los resultados experimentales de PSO se puede deducir
tambin, que los valores de ciertos parmetros afectan fuertemente su comportamiento. Un parmetro sensible es el
nmero de iteraciones; a mayor cantidad de iteraciones, mejor es el comportamiento de PSO. Sin embargo, no se
produce una mejora significativa al aumentar el tamao de la poblacin. Un tamao medio de poblacin (250-350
partculas) permite conseguir un buen comportamiento de la metaheuristica, a muy bajo costo computacional. Por otro
lado, el ajuste de la velocidad es uno de los factores de xito mas critico. Una buena configuracin de Vmax ayuda a la
convergencia del algoritmo; se obtienen los mejores resultados con un valor de Vmax igual a 10% de Xmax. Un buen
coeficiente de inercia tambin mejora el desempeo de PSO. Un coeficiente de inercia igual a 0,9 +0,5*aleatorio(0-0,5)
muestra el mejor resultado de PSO.
En resumen, es posible concluir que PSO es una metaheuristica que parece ser eficaz y eficiente para optimizar una
amplia gama de funciones. PSO tiene semejanza con la computacin evolutiva. Es altamente dependiente de procesos
estocsticos; el ajuste de los parmetros de PSO es conceptualmente similar a la operacin de cruce utilizada por GA, y
PSO utiliza el concepto retroalimentacin (fitness) tambin.
Como trabajo futuro se espera aplicar PSO a problemas de asignacin de recursos, los cuales se pueden modelar a
travs de problemas combinatoriales. Esto debido a la simplicidad de PSO, que tiene como consecuencia un bajo costo
computacional para encontrar las soluciones ha dichos problemas.
6 Referencias
[1] Collins J.J. A Global Representation Scheme for Genetic Algorithms. Proceedings of the International
Conference on Computational Intelligence. Vol 1226, 1997, pp. 1-15
[2] Colorni A., Dorigo M. and Maniezzo V. An Investigation of some Properties of an Ant Algorithm.
Proceedings of the Parallel Problem Solving from Nature Conference (PPSN 92), Brussels. Elsevier
Publishing, 1992, pp.509-520
[3] Digalakis J. and Margaritis K. An Experimental Study of Benchmarking Function for Genetic Algorithms.
Deparment of apllied informatics, University of Macedonia. International Journal Computer Math. Vol. 79,
10
2002, pp. 403416.
[4] Digalakis J. and Margaritis K. On Benchmarking functions for genetic algorithms. Deparment of apllied
informatics, University of Macedonia. International Journal Computer Math. Vol. 00, 2002, pp. 1-27.
[5] Dorigo M. and L.M. Gambardella. Ant Colonies for the Traveling Salesman Problem. BioSystems, in press.
(Also Technical Report TR/IRIDIA/1996-3, IRIDIA, Universit Libre de Bruxelles. 1997
[6] Dorigo M. and L.M. Gambardella. Ant Colony System: A Cooperative Learning Approach to the Traveling
Salesman Problem. IEEE Transactions on Evolutionary Computation. Vol.1, No.1, 1997. In press.
[7] Dorigo M., V. Maniezzo and A. Colorni. The Ant System: Optimization by a colony of cooperating agents.
IEEE Transactions on Systems, Man, and Cybernetics-Part B. Vol 26, N 1, 1996, pp.29-41.
[8] Eberhart, R. and Shi, Y. Comparing inertia weights and constriction factors in particle swarm optimization.
Proceedings of the IEEE Congress on Evolutionary Computation (CEC 2000). San Diego, CA, 2000, pp. 84-
88.
[9] Glover F. and Kochenberger G.G. Handbook of Metaheuristics. Kluwer Aca-demic Publishers. 2003.
[10] Goldberg David E. Genetic Algorithms in search, optimization and machine learning. Adison Wesley, 1989
[11] Heppner F. and U. Grenander. A stochastic nonlinear model for coordinated bird flocks. In S.Krasner, Ed.,
The Ubiquity of Chaos. AAAS Publications. Washington, DC. 1990, pp. 233-238.
[12] Holland, John. Genetic algorithms. Scientific American. Vol 267, No 1, 1992, pp. 66-72.
[13] Kalyanmoy Deb. Genetic algorithms in multimodal function optimization. TCGA report no. 89002, The
University of Alabama, Dept. of Engineering mechanics. 1989
[14] Kennedy J and Eberhart R. Particle Swarm Optimization. Proceedings of IEEE International Conference on
Neural Networks. 1995, pp. 1942-1948.
[15] Kennedy J. and Eberhart, R. Swarm Intelligence. Morgan Kaufmann Publishers. 2001
[16] Kennedy J. Thinking is social: Experiments with the adaptive culture model. Journal of Conflict Resolution.
Vol 42, N 1, 1998, pp. 56-76.
[17] Melin B, Moreno Perez J and Moreno Vega J. Metaheuristics: A global view. Revista Iberoamericana de
Inteligencia Artificial. Vol 2, N 19, 2003, pp. 7-28.
[18] Chambers L. Practical Handbook of Genetic Algorithms: Applications, volume 1. CRC Press, 1995.
[19] Settles, M., Rodebaugh, B., and Soule, T. Comparison of genetic algorithm and particle swarm optimizer
when evolving a recurrent neural network. Proceedings of the Genetic and Evolutionary Computation
Conference 2003 (GECCO 2003), Chicago, IL, USA. 2003, pp. 151-152.
[20] Tang, K.S., Man K.F. and Kwong S. Genetic algorithms and their applications. IEEE Signal Processing
Magazine. Vol 13, N 6, 1996, p.22-37.
[21] Vesterstrom J. and Thomsen R. A Comparative Study of Differential Evolution, Particle Swarm Optimization,
and Evolutionary Algorithms on Numerical Benchmark Problems. Congress on Evolutionary Computation.
CEC04, Vol, N 1, 2004, pp. 1980-1987.