You are on page 1of 14

Comparación entre el algoritmo Evolución Diferencial y Particle Swarm

Optimization
Luis Angel Fernández Hernández
Ricardo Fernández Hernández
Mauricio Medina Garcı́a
Monica Cecilia Moncada Landeros
26 de Noviembre de 2020

1. Abstract
In computational science, particle swarm optimization (PSO) is a computational method that optimizes a problem by
iteratively trying to improve a candidate solution with regard to a given measure of quality. It solves a problem by having a
population of candidate solutions, here dubbed particles, and moving these particles around in the search-space according
to simple mathematical formulae over the particle’s position and velocity. Each particle’s movement is influenced by its
local best-known position but is also guided toward the best-known positions in the search-space, which are updated as
better positions are found by other particles. This is expected to move the swarm toward the best solutions.
PSO is originally attributed to Kennedy, Eberhart and Shi and was first intended for simulating social behavior, as a
stylized representation of the movement of organisms in a bird flock or fish school. The algorithm was simplified, and it
was observed to be performing optimization. The book by Kennedy and Eberhart describes many philosophical aspects of
PSO and swarm intelligence. An extensive survey of PSO applications is made by Poli. Recently, a comprehensive review
on theoretical and experimental works on PSO has been published by Bonyadi and Michalewicz.
PSO is a metaheuristic as it makes few or no assumptions about the problem being optimized and can search very
large spaces of candidate solutions. However, metaheuristics such as PSO do not guarantee an optimal solution is ever
found. Also, PSO does not use the gradient of the problem being optimized, which means PSO does not require that
the optimization problem be differentiable as is required by classic optimization methods such as gradient descent and
quasi-newton methods.
In 1995, Rainer Storn and Kenneth V. Price developed an evolutionary algorithm for global optimization over con-
tinuous search spaces which was called “Differential Evolution”. This algorithm performs a recombination among three
parents and tends to converge very rapidly to the optimum (or its vicinity) in unconstrained single-objective problems.
Further-more, the performance of this algorithm relies on the control of few parameters, which facilitates its use in diverse
problems. These characteristics make differential evolution an ideal candidate for solving multi objective problems. In
multi objective problems, we aim to optimize two or more objective functions, which conflict with each other.
To evaluate the performance of the proposed algorithm, we implemented a series of performance measures (or metrics)
which help to determine the closeness of the individuals obtained with respect to the true Pareto front. They also allow
to determine how good (i.e., uniform) is their distribution.
This comparison was performed on a standard set of test functions. In our study, we found that the proposed algorithm
in this work is, on average, highly competitive.
Optimization appears in many aspects of engineering problems. There are quite numbers of modern optimization
algorithms proposed in the last two decades to solve optimization problems. Particle swarm optimization (PSO) and
differential evolution (DE) are among the well-known modern optimization algorithms. This paper presents a comparative
study for min-max constrained optimization using PSO and DE. Here, the constrained optimization is represented by some
selected standard benchmark functions. A new constraint handling and stopping criterion technique is also adopted in the
optimization algorithm. Generally, in terms of repeatability and the quality of the obtained solutions, DE outperforms
PSO.

2. Introduction
La optimización por enjambre de partı́culas (Particle Swarm Optimization, PSO) es un método de optimización
heurı́stica orientado a encontrar mı́nimos o máximos globales. Su funcionamiento está inspirado en el comportamiento
que tienen las bandadas de pájaros o bancos de peces en los que, el movimiento de cada individuo (dirección, velocidad,
aceleración...), es el resultado de combinar las decisiones individuales de cada uno con el comportamiento del resto.
Formalmente hablando, se supone que tenemos una función desconocida, f(x,y), que podemos evaluar en los puntos
que queramos pero a modo de caja negra, por lo que no podemos conocer su expresión. El objetivo es el habitual en

1
optimización, encontrar valores de x e y para los que la función f(x,y) sea máxima (o mı́nima, o bien verifica alguna
relación extremal respecto a alguna otra función). Como ya hemos visto en otras entradas similares, a f(x,y) se le suele
llamar función de fitness, ya que va a determinar cómo de buena es la posición actual para cada partı́cula (a la función de
fitness a veces también se le llama ”paisaje de fitness”, ya que puede verse como un paisaje con valles y colinas formados
por los valores que toma la función).
Una primera aproximación para resolver este problema de calcular valores extremales de una función bidimensional
podrı́a ser la selección aleatoria de valores de x e y, y almacenar el mayor de los resultados encontrados, lo que se
conoce como una búsqueda aleatoria. Para muchos espacios de búsqueda (normalmente, todos aquellos interesantes) este
método es altamente ineficiente, por lo que es imprescindible encontrar otros métodos más ı̈nteligentes”que, a pesar del
desconocimiento de la función a optimizar, ofrezcan más posibilidades de éxito que la simple búsqueda aleatoria.
La idea que vamos a seguir en PSO comienza de forma similar, situando partı́culas al azar en el espacio de búsqueda,
pero dándoles la posibilidad de que se muevan a través de él de acuerdo con unas reglas que tienen en cuenta el conocimiento
personal de cada partı́cula y el conocimiento global del enjambre. Veremos que proporcionándoles una capacidad simple
de movimiento por este paisaje y de comunicación entre ellas pueden llegar a descubrir valores particularmente altos para
f(x,y) gastando pocos recursos computacionales (cálculos, memoria y tiempo).
Por otro lado en 1995, Rainer Storn y Kenneth V. Price desarrollaron un algoritmo evolutivo para optimización
global sobre espacios continuos llamado Evolución Diferencial. Este algoritmo realiza una cruza entre tres padres y suele
converger rápidamente al óptimo (o a su vecindad) en problemas con una sola función objetivo y sin restricciones. Además,
el desempeño de este algoritmo depende del control de pocos parámetros, lo cual facilita su uso en diversos problemas.
Estas caracterı́sticas hacen de la evolución diferencial un candidato idóneo para resolver problemas multiobjetivo. En los
problemas multiobjetivo se busca optimizar dos o más funciones las cuales se encuentran en conflicto unas con otras, es
decir, el mejorar una función significa empeorar el desempeño de las otras.
La Evolución Diferencial (ED) es un método de optimización perteneciente a la categorı́a de computación evolutiva,
aplicado en la resolución de problemas complejos. Al igual que otros algoritmos de esta categorı́a, la ED mantiene una
población de soluciones candidatas, las cuales se recombinan y mutan para producir nuevos individuos los cuales serán
elegidos de acuerdo con el valor de su función de desempeño. Lo que caracteriza a la ED es el uso de vectores de prueba,
los cuales compiten con los individuos de la población actual a fin de sobrevivir.
El algoritmo asume que las variables del problema a optimizar están codificadas como un vector de números reales. La
longitud de estos vectores (n)es igual al número de variables del problema, y la población está compuesta de NP (Número
de padres) vectores. Se define un vector x9p , en donde p es el ı́ndice del individuo en la población (p = 1...NP) y g es la
generación correspondiente. Cada vector está a su vez compuesto de las variables del problema x9p,m en donde m es el
ı́ndice de la variable en el individuo (m = 1...n).
Se asume que el dominio de las variables del problema está restringido entre valores mı́nimos y máximos xmin m y xmax
m ,
respectivamente.
ED se compone básicamente de 4 pasos:

Inicialización.
Mutación.

Recombinación.
Selección

La inicialización se realiza al principio de la ejecución de la búsqueda, y los pasos de mutación-recombinación-selección


se realizan repetidas veces, hasta que una condición de término sea satisfecha (número de generaciones, tiempo transcu-
rrido, o calidad de solución alcanzada, entre otras).

Inicialización La población es inicializada (primera generación) aleatoriamente, considerando los valores mı́nimos y
máximos de cada variable: x1p,m = xmin
m + rand(0,1) . (xmax min
m -xm ) para p = 1...NP, m = 1...n, y rand(0,1) un número
aleatorio en el rango [0,1].

Mutación La mutación consiste en la construcción de NP vectores aleatorios ruidosos (noisy random vectors), los
cuales son creados a partir de tres individuos elegidos al azar, llamados vectores objetivo (target vectors), xa ,xb ,xc . Los
vectores aleatorios ruidosos (xtp ) son obtenidos de la siguiente manera: ngp = xc + F · (xa − xb ) con p, a, b y c distintos
entre sı́, y p=1...NP F es un parámetro que controla la tasa de mutación, y se encuentra en el rango [0,2].

Recombinación Una vez obtenidos los NP vectores aleatorios ruidosos, la recombinación se efectúa de manera
aleatoria, comparándolos con los vectores originales (xp ,g ), obteniendo los vectores de prueba (trial vectors, tgm ) de la
siguiente manera:

2
(
ngp,m si rand(0, 1) < GR
tgp,m = para p = 1...NP, m = 1...n.
xgp,m en otro caso

GR es un parámetro que controla la tasa de recombinación. Nótese que la comparación se hace variable por variable,
por lo que el vector de prueba será una mezcla de los vectores aleatorios ruidosos y original.

Selección Finalmente, la selección se realiza simplemente comparando los vectores de prueba con los originales, de
manera que el vector de la generación siguiente será aquel que tenga el mejor valor de función de desempeño fit:

(
tg si f it(tgp ) > f it(xgp )
xg+1
p = pg
xp en otro caso

3. Metodologı́a

Aunque existen variaciones, algunas de las cuales se describen a lo largo de este documento, en términos generales, la
estructura de un algoritmo PSO para optimizar (maximizar o minimizar) una función con una o múltiples variables sigue
los siguientes pasos:

1- Crear un enjambre inicial de n partı́culas aleatorias. Cada partı́cula consta de 4 elementos: una posición que
representa una determinada combinación de valores de las variables, el valor de la función objetivo en la posición donde
se encuentra la partı́cula, una velocidad que indica cómo y hacia donde se desplaza la partı́cula, y un registro de la mejor
posición en la que ha estado la partı́cula hasta el momento.

2- Evaluar cada partı́cula con la función objetivo.

3- Actualizar la posición y velocidad de cada partı́cula. Esta es la parte que proporciona al algoritmo la capacidad de
optimización. En el apartado Mover partı́cula se describe con detalle el proceso.

4- Si no se cumple un criterio de parada, volver al paso 2.

Se puede observar de mejor manera en la figura 1 como es el proceso que se lleva a cabo al realizar este tipo de
algoritmo.

Formalmente hablando, se supone que tenemos una función desconocida, f(x,y), que podemos evaluar en los puntos
que queramos pero a modo de caja negra, por lo que no podemos conocer su expresión. El objetivo es el habitual en
optimización, encontrar valores de x e y para los que la función f(x,y) sea máxima (o mı́nima, o bien verifica alguna
relación extremal respecto a alguna otra función). Como ya hemos visto en otras entradas similares, a f(x,y) se le suele
llamar función de fitness, ya que va a determinar cómo de buena es la posición actual para cada partı́cula (a la función de
fitness a veces también se le llama ”paisaje de fitness”, ya que puede verse como un paisaje con valles y colinas formados
por los valores que toma la función).

¿Cómo funciona?

Cada partı́cula (individuo) tiene una posición, p (que en 2 dimensiones vendrá determinado por un vector de la forma
(x,y)), en el espacio de búsqueda y una velocidad, v (que en 2 dimensiones vendrá determinado por un vector de la forma
(vx,vy)

3
Inicialización
del enjambre

Busqueda del
minimo local
mas cercano

Almacenar el
valor del minimo
local encontrado

Proceso de dis-
persión median-
te vorticidad

¿Maxima
disper-
sión?

No

¿Se
encontro
No No Si
un menor
valor?

Finalizar
modelo

Figura 1: Algoritmo PSO

), que determina su movimiento a través del espacio. Además, como partı́culas de un mundo real fı́sico, tienen una
cantidad de inercia, que los mantiene en la misma dirección en la que se movı́an, ası́ como una aceleración (cambio de
velocidad), que depende principalmente de dos caracterı́sticas:

Cada partı́cula es atraı́da hacia la mejor localización que ella, personalmente, esto puede verse en la imagen 2, ha
encontrado en su historia (mejor personal). Cada partı́cula es atraı́da hacia la mejor localización que ha sido encontrada
por el conjunto de partı́culas en el espacio de búsqueda (mejor global).

La fuerza con que las partı́culas son empujadas en cada una de estas direcciones depende de dos parámetros que
pueden ajustarse (atracción-al-mejor-personal y atracción-al-mejor-global) de foma que, a medida que las partı́culas se
alejan de estas localizaciones mejores, la fuerza de atracción es mayor. También se suele incluir un factor aleatorio que
influye en cómo las partı́culas son empujadas hacia estas localizaciones. Formalmente, lo podemos escribir como:


vi (t + 1) = vi (t) + c1 · r1 · pbest
i − pi (t) + c2 · r2 · (pgbest − pi (t))

4
Figura 2: Localización mejor global

donde vi(t) es la velocidad de la partı́cula i en el instante t; c1 y c2 son, respectivamente las constantes de atracción
al mejor personal y mejor global; r1 y r2 son dos números aleatorios en [0,1]; pbesti es la mejor posición por la que ha
pasado la partı́cula a lo largo de su historia (lo almacena en memoria), y pgbest es la mejo posición global de todo el
enjambre. Una vez actualizadas las velocidades de todas las partı́culas, sus posiciones se actualizan siguiendo una ley
simple: pi (t + 1) = pi (t) + vi (t)

El método de evolución diferencial (originalmente llamado Differential Evolution), al igual que el enjambre de partı́cu-
las, pertenece a las metaheurı́sticas basadas en población. En este marco, se ajusta mucho a la plantilla de las Estrategias
Evolutivas de optimización, destacándose por su aplicación a los espacios con métricas definidas (las operaciones de suma
y multiplicación por un escalar deben existir), como por ejemplo conjuntos de números reales o enteros, o combinaciones
de estos.

En las Estrategias Evolutivas, una población de soluciones candidatas evolucionaiterativamente hasta que se alcanza
el optimo deseado o hasta que se termina el tiempo. Dicha evoluciónes llevada a cabo en tres etapas por cada generación,
a saber: mutación, cruce y selección. La mutación crea una población alterna de candidatos a partir de la información de
la población actual. En el cruce, ambas poblaciones son combinadas para crear una tercera población, llamada de hijos.
En la selección, se discrimina entre los padres(la población original) y los hijospara formar la población que pasea la
siguiente generación. La evolución diferencial implementa estas estrategias en la siguiente forma:

1- Mutación: Para cada miembro en la población se crea un mutante, a partir de la combinación de las posiciones de
varios individuos seleccionados aleatoriamente.

ui = x1 + F r (x2 − x3 )

2- Cruce: Cada padre xi y su respectivo mutante ui combinan parámetro a parámetro, según una distribución de
probabilidad uniforme, produciendo el hijo vi :

uij si r ≤ Cr o j = jrand
vij =
xij enotrocaso
3- Selección: Para terminar, el lugar en la siguiente generación es tomado por el hijo o el padre, cualquiera de am-
bos que posea el mejor merito:
 k  
vi si f vik ≤ f xki
xk+1 =
i xki enotrocaso

Sphere Function: La función Esfera tiene d mı́nimos locales excepto el global. Es continuo, convexo y unimodal. La
trama muestra su forma bidimensional lo podemos ver en la imagen 4.

Rastrigin Function: La función Rastrigin tiene varios mı́nimos locales. Es muy multimodal, pero las ubicaciones de los
mı́nimos se distribuyen regularmente. Se muestra en el gráfico 5 anterior en su forma bidimensional.

Ellipsoid Function: Un elipsoide es una superficie cuadrática; es decir, una superficie que puede definirse como el

5
Inicio

Inicialización
de la
población

Poblacion
Xi(0)

¿Criterios
de termi-
Y
nación Salida
satisfe-
chos?

Mutación Fin

Transversal

Selección

Nueva
G=G+1 población
xG+1
i

Figura 3: Algoritmo ED

Figura 4: Función Sphere

6
Figura 5: Función Rastrigin

conjunto cero de un polinomio de grado dos en tres variables. Entre las superficies cuádricas, un elipsoide se caracteriza
por cualquiera de las dos propiedades siguientes. Cada sección transversal plana es una elipse, está vacı́a o se reduce a
un solo punto (esto explica el nombre, que significa ”similar a una elipse”). Está acotado, lo que significa que puede estar
encerrado en una esfera suficientemente grande como se ve en la imagen 6.

Figura 6: Función Ellipsoid

Rosenbrock Function: La función Rosenbrock, también conocida como función Valley o Banana, es un problema
de prueba popular para los algoritmos de optimización basados en gradientes. Se muestra en el gráfico 7 en su forma
bidimensional.

Figura 7: Función Rosenbrock

7
4. Experimentos

Como una de los primeros experimentos se llevaron a cabo las pruebas para las funciones correspondientes 8.

Funcion de rosenbrock

Figura 8: Función Rosenbrock

Figura 9: Prueba Rosenbrock

Funcion de Sphere

Figura 10: Función Sphere

Figura 11: Prueba Sphere

Funcion de Rastrigin

Funcion de Ellipsoid

Experimentacion para PSO

8
Figura 12: Función Rastrigin

Figura 13: Prueba Rastrigin

Figura 14: Función Ellipsoid

Figura 15: Prueba Ellipsoid

Una vez que se prueban estas funciones se crea una especial para poder obtener los mejores datos de las funciones,
esto puede verse en la imagen 16. La funcion utilizada es bastante simple, se le pasa x y un dato de activacion.

Figura 16: Funcion para detección y utilizacion de mejor dato

Realizar cada uno de los casos 2, 10, 20 y 30 para PSO, esto puede verse como proceso en la imagen 17. Para el caso
de esta prueba se hizo con la funcion de Rastrigin, pero en la parte de resultados, en las tablas pueden verse los datos
obtenidos para cada poblacion y funcion.

Prueba final de 30 dimensiones, continua el proceso hasta llegar a 30 vueltas cada uno, obteniendo resultados parecidos,
se puede ver en la imagen 18

9
Figura 17: Usar las funciones para comenzar a ver resultado en procesamiento

Figura 18: Finalización de prueba para Sphere de 2, 10, 20 y 30 dimensiones

Experimentación para ED

5. Resultados

PSO En la imagen 19 se obervan los datos obtenidos del mejor dato, con ello se iran realizando las pruebas para
cada funcion y obteniendo estos datos de manera detallada, puede verse que uno de los mejores y en los que mas se
puede observar satisfacción es por la parte de sphere, se puede dicernir que es debido a la aplicacion de la formula,
ademas de que fue muy rápido. Este tipo de proceso puede tardar un buen tiempo ya que realiza 30 vueltas para cada
una de las dimensiones identificando al mejor individuo. ED Las pruebas que se realizaron para ED fueron bastante
rapidas, las funciones ejecutadas terminaban mas rápido que con PSO En la imagen 20 puede verse una corrida de 2
dimensiones. En la imagen 21 se obervan los datos obtenidos del mejor dato, con ello se iran realizando las pruebas para
cada funcion y obteniendo estos datos de manera detallada, puede verse que uno de los mejores y en los que mas se puede
observar satisfacción es por la parte de sphere, se puede dicernir que es debido a la aplicación de la formula, ademas de
que fue muy rápido. Este tipo de proceso puede tardar un buen tiempo ya que realiza 30 vueltas para cada una de las
dimensiones identificando al mejor individuo. Como puede verse los datos no varian mucho en cuanto a los numeros, pero
es importante visualizar que se llegan a resultados muy similares. Considerando que ED termina mas rápido que PSO es
mejor implementar estas cuatro para cada funcion como se ve en la imagen 22 donde se pueden ver los datos de todas las
funciones, esto se pudo realizar ya que el procesamiento es demasiado rápido.

10
Figura 19: Finalización de prueba para todas las dimensiones de PSO

Figura 20: Corrida de 2 dimensiones para ED utilizando la funcion de rosenbrock

Figura 21: Finalizacion de prueba para todas las dimensiones de ED

Graficas de media, mediana y moda para PSO y ED

11
Figura 22: Datos de las 3 funciones restantes, con los datos obtenidos respectivamente

Sphere
2 dimensiones 10 dimensiones 20 dimensiones 30 dimensiones
Fitness PSO ED PSO ED PSO ED PSO ED
Media 0.00048 0.48491 0.00083 0.00081 0.00089 0.00088 0.00092 0.00089
Mediana 0.00041 0.00046 0.00084 0.00083 0.00091 0.00091 0.00095 0.00091
Desv. Est. 0.00035 2.42075 0.00012 0.00012 0.0009 0.0009 0.00008 0.00007
FFFE
Media 1628.33 51625 6153.33 18551.66 11275 78636.66 17675 243401.66
Mediana 1700 2075 6050 18700 11225 78700 17825 242150
Desv. Est. 354.89 111077.32 405.1611 1108.86 758.5897 3414.33 1248.982 8237.88

Cuadro 1: Resultado Sphere

·10−4

0
1 2 3 4 5 6 7 8 9
En esta grafica se pueden apreciar los datos obtenidos en la tabla de manera de barras acerca de los datos obtenidos en
la media, mediana y la moda del PSO para las función Sphere 23

Figura 23: Grafica que ayuda a mostrar los datos de media, mediana y moda de PSO para las funciones correspondientes

6. Conclusión

Un algoritmo popular reciente que cae en el paradigma de los algoritmos evolutivos (EA) es la evolución diferencial
(DE), que surge como un algoritmo EA robusto y eficiente. Por otro lado, otro algoritmo de optimización que es popular
debido a su simplicidad y eficiencia es la optimización de enjambre de partı́culas (PSO). Aunque PSO pertenece a la
inteligencia de enjambre, tanto DE como PSO pueden clasificarse en algoritmos de optimización estocástica. Ambos
algoritmos se introdujeron a principios de la década de 1990. DE es una estrategia de búsqueda basada en la población
desarrollada por Storn y Price en 1995. Si bien DE comparte similitudes con otros algoritmos evolutivos (EA) como
el algoritmo genético (GA), difiere significativamente en el sentido de que la información de distancia y dirección de la
población actual se utiliza para guiar el proceso de búsqueda. Junto con el algoritmo DE vino una notación para clasificar

12
Rosenbrock
2 dimensiones 10 dimensiones 20 dimensiones 30 dimensiones
Fitness PSO ED PSO ED PSO ED PSO ED
Media 0.0004494 0.090779 0.0009807 0.0007575 2.2568 10.910866 13.657151 373.6747
Mediana 0.0004155 0.00065485 0.0009921 0.0008192 0.0009997 10.856951 7.886358 333.8987
Desv. Est. 0.0002307 0.381711 0.0003182 0.0001904 12.120962 0.603834 21.617815 164.8855
FFFE
Mediana 2900 4150 92925 158575 274025 300000 3000003 300000
Desv. Est. 829.53 110204.91 44778.78 10255.91 61556.53 0 48516.28 0

Cuadro 2: Resultado Rosenbrock

Ellipsoid
2 dimensiones 10 dimensiones 20 dimensiones 30 dimensiones
Fitness PSO ED PSO ED PSO ED PSO ED
Media 0.00045 3210786141.59 0.00080 0.00076 0.00089 0.00086 0.00091 0.00134
Mediana 0.00031 11.69037 0.00083 0.00082 0.00091 0.00090 0.00093 0.00103
Desv. Est. 0.00031 11897804541.15 0.00013 0.00015 9.73027 0.00010 6.46959 0.00065
FFFE
Media 6100 201611.66 8646 23535 14665 96645 22441 297928.33
Mediana 6125 300000 8600 23575 14525 95950 22450 299850
Desv. Est. 544.6711 139142.56 596.5083 1223.597 921.4255 4648.805 1543.647 3406.358

Cuadro 3: Resultado Ellipsoid

0,6

0,4

0,2

0
1 2 3 4 5 6 7 8 9
En esta grafica se detallan a manera de barras los datos obtenidos en ED para en cuanto a la media, mediana y moda
para apreciar mejor los resultados 24.

Figura 24: Grafica que ayuda a mostrar los datos de media, mediana y moda de ED para las funciones correspondientes

las diversas variantes de DE. Por otro lado, PSO es bien conocido por su simplicidad en el concepto y su eficiencia
computacional en comparación con otros algoritmos de optimización como GA. Hay al menos dos versiones principales de
PSO; uno es PSO con parámetro llamado peso de inercia, y otro es PSO con factor de constricción propuesto por Clerc.
Estas dos famosas versiones de PSO pueden considerarse una versión estándar de PSO. Posteriormente, PSO ha atraı́do a
muchos investigadores para mejorar su desempeño. La eficacia de PSO y DE para problemas de optimización restringida
se muestra en base a experimentos con funciones de referencia. Los resultados también muestran la efectividad del manejo
de restricciones y la técnica de criterio de detención utilizada en la optimización restringida. En segundo lugar, DE supera
a PSO en términos de repetibilidad (robustez) y el número requerido de iteraciones para llevar la solución candidata a la
región factible.

Y en resumen para finalizar despues de la ejecucion de ambos algoritmos se nota claramente que ED es considerablemte
mas rapida su ejecucion ya que se pueden ver los resultados de una manera mas inmedita sin esperar un largo proceso en
comparacion con PSO.

13
Rastrigin
2 dimensiones 10 dimensiones 20 dimensiones 30 dimensiones
Fitness PSO ED PSO ED PSO ED PSO ED
Media 0.00051 0.087166 0.00098 0.00079 0.00099 10.86671 20.06687 467.04232
Mediana 0.00047 0.00071 0.00099 0.00080 5.28016 10.79091 8.64045 362.80218
Desv. Est. 0.00031 66.66696 0.00001 0.00015 16.76321 10.79091 26.69386 397.61383
FFFE
Media 3073.33 102755 90863.33 159846.666 253075 300000 292450 300000
Mediana 3200 4725 97250 159775 289125 300000 300000 300000
Desv. Est. 811.55543 139477.4846 30611.02724 7353.76245 66951.2406 0 31964.27954 0

Cuadro 4: Resultado Rastrigin

Referencias

[1] Dixon, L. C. W., Szego, G. P. (1978). The global optimization problem: an introduction. Towards global optimization,
2, 1-15

[2] Molga, M., Smutnicki, C. Test functions for optimization needs (2005). Retrieved June 2013, from
http://www.zsd.ict.pwr.wroc.pl/files/docs/functions.pdf
[3] Picheny, V., Wagner, T., Ginsbourger, D. (2012). A benchmark of kriging-based infill criteria for noisy optimization.
[4] Shi, Y.; Eberhart, R. (1998). ((A modified particle swarm optimizer)). Proceedings of IEEE International Conference
on Evolutionary Computation. pp. 69-73.

[5] MA. Montes de Oca, T. Stützle, M. Birattari, M. Dorigo, Frankenstein’s PSO: A Composite Particle SwarmOptimi-
zation Algorithm IEEE Transactions on Evolutionary Computation, Vol 13:5 (2009) pp. 1120-1132
[6] Kennedy, J. (1997). ((The particle swarm: social adaptation of knowledge)). Proceedings of IEEE International Confe-
rence on Evolutionary Computation. pp. 303-308.

[7] Z-H Zhan, J. Zhang, Y. Li, Y-H. Shi, OrthogonalLearning Particle Swarm Optimization, IEEE Transactions on
Evolutionary Computation Vol 15:6 pp. 832-847 (2011)
[8] idmer, M., Hertz, A. (1989). A new heuristic method for the flow shop sequencing problem. European Journal of
Operational Research, 41, 186–193.

[9] Shakya, S., McCall, J., Brown, D. (2006). Solving the ising spin glass problem using a bivariate EDA based on Markov
random fields. Proceedings of IEEE Congress on Evolutionary Computation. Vancouver, Canada.: IEEE CEC 2006,
IEEE press.

14

You might also like