Skip to main content
Log in

Particle swarm optimization with crossover: a review and empirical analysis

  • Published:
Artificial Intelligence Review Aims and scope Submit manuscript

Abstract

Since its inception in 1995, many improvements to the original particle swarm optimization (PSO) algorithm have been developed. This paper reviews one class of such PSO variations, i.e. PSO algorithms that make use of crossover operators. The review is supplemented with a more extensive sensitivity analysis of the crossover PSO algorithms than provided in the original publications. Two adaptations of a parent-centric crossover PSO algorithm are provided, resulting in improvements with respect to solution accuracy compared to the original parent-centric PSO algorithms. The paper then provides an extensive empirical analysis on a large benchmark of minimization problems, with the objective to identify those crossover PSO algorithms that perform best with respect to accuracy, success rate, and efficiency.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

Notes

  1. http://www.cilib.net.

References

  • Abdelbar A, Abdelshahid S (2003) Swarm optimization with instinct-driven particles. In: Proceedings of the IEEE congress on evolutionary computation. IEEE, Piscataway, pp 777–782

  • Cleghorn C, Engelbrecht A (2014) A generalized theoretical deterministic particle swarm model. Swarm Intell 8(1):35–59

    Article  Google Scholar 

  • Clerc M, Kennedy J (2002) The particle swarm-explosion, stability, and convergence in a multidimensional complex space. IEEE Trans Evol Comput 6(1):58–73

    Article  Google Scholar 

  • Deb K, Padhye N (2010) Development of efficient particle swarm optimizers by using concepts from evolutionary algorithms. In: Proceedings of the 12th annual conference on genetic and evolutionary computation. ACM, New York, pp 55–62

  • Deb K, Joshi D, Anand A (2002) Real-coded evolutionary algorithms with parent-centric recombination. In: Proceedings of the IEEE congress on evolutionary computation. IEEE, Piscataway, pp 61–66

  • Dong Y, Yang H (2010) A new approach for reactive power/voltage optimization control of regional grid. In: Proceedings of the Asia-Pacific power & energy conference, pp 1–5

  • Duong S, Konjo H, Uezato E, Yamamoto T (2010) Particle swarm optimization with genetic recombination: a hybrid evolutionary algorithm. Artif Life Robot 15(4):444–449

    Article  Google Scholar 

  • Eberhart RC, Shi Y (2000) Comparing inertia weights and constriction factors in particle swarm optimization. In: Proceedings of the IEEE congress on evolutionary computation, vol 1. IEEE, Piscataway, pp 84–88

  • Engelbrecht A (2005) Fundamentals of computational swarm intelligence. Wiley, Chichester

    Google Scholar 

  • Engelbrecht A (2012) Particle swarm optimization: velocity initialization. In: Proceedings of the IEEE congress on evolutionary computation

  • Engelbrecht A (2013a) Particle swarm optimization: global best or local best?. In: Proceedings of the first BRICS countries congress on computational intelligence

  • Engelbrecht A (2013b) Particle swarm optimization with discrete crossover. In: Proceedings of the IEEE congress on evolutionary computation

  • Engelbrecht A (2013c) Roaming behavior of unconstrained particles. In: Proceedings of the first BRICS countries congress on computational intelligence

  • Engelbrecht A (2014) Asynchronous particle swarm optimization with discrete crossover. In: Proceedings of the IEEE swarm intelligence symposium

  • Eshelman L, Schaffer J (1993) Real-coded genetic algorithms and interval schemata. In: Whitley D (ed) Foundations of genetic algorithms, vol 2. Morgan Kaufmann, San Mateo, pp 187–202

    Google Scholar 

  • Garden R, Engelbrecht A (2014) Analysis and classification of function optimisation benchmark function and benchmark suites. In: Proceedings of the IEEE congress on evolutionary computation, IEEE

  • Higashi H, Iba H (2003) Particle swarm optimization with gaussian mutation. In: Proceedings of the IEEE swarm intelligence symposium. IEEE, Piscataway, pp 72–79

  • Kennedy J (1999) Small worlds and mega-minds: effects of neighborhood topology on particle swarm performance. In: Proceedings of the IEEE congress on evolutionary computation, vol 3. IEEE, Piscataway, pp 1931–1938

  • Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of the IEEE international joint conference on neural networks. IEEE, Piscataway, pp 1942–1948

  • Kennedy J, Mendes R (2002) Population structure and particle performance. In: Proceedings of the IEEE congress on evolutionary computation. IEEE, Piscataway, pp 1671–1676

  • Løvberg M, Rasmussen T, Krink T (2001) Hybrid particle swarm optimiser with breeding and subpopulations. In: Proceedings of the genetic and evolutionary computation conference. Morgan Kaufmann, San Fransisco, pp 469–476

  • Miranda V, Fonseca N (2002) EPSO-best-of-two-worlds meta-heuristic applied to power system problems. In: Proceedings of the IEEE congress on evolutionary computation, vol 2. IEEE, Piscataway, pp 1080–1085

  • Ono I, Kobayashi S (1997) A real-coded genetic algorithm for function optimization using unimodal normal distribution crossover. In: Proceedings of the seventh international conference on genetic algorithms. Morgan Kaufmann, San Fransisco, pp 246–253

  • Padhye N (2010) Development of efficient particle swarm optimizers and bound handling methods. Master’s thesis, Indian Institute of Technology

  • Park JB, Jeong YW, Shin JR, Lee K (2010) An improved particle swarm optimization for nonconvex economic dispatch problems. IEEE Trans Power Syst 25(1):156–166

    Article  Google Scholar 

  • Poli R, Kennedy J, Blackwell T (2007) Particle swarm optimization. Swarm Intell 1(1):33–57

    Article  Google Scholar 

  • Salomon R (1996) Reevaluating genetic algorithm performance under coordinate rotation of benchmark functions. BioSystems 39:263–278

    Article  Google Scholar 

  • Sedighizadeh D, Masehian E (2009) Particle swarm optimization methods, taxonomy and applications. Int J Comput Theory Eng 1(5):486–502

    Article  Google Scholar 

  • Shi Y, Eberhart R (1998) A modified particle swarm optimizer. In: Proceedings of the IEEE congress on evolutionary computation. IEEE, pp 69–73

  • Stacey A, Jancic M, Grundy I (2003) Particle swarm optimization with mutation. In: Proceedings of the IEEE congress on evolutionary computation, vol 2. IEEE, Piscataway, pp 1425–1430

  • Suganthan P, Hansen N, Liang J, Deb K, Chen YP, Auger A, Tiwari S (2005) Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization. Technical Report, Nanyang Technological University, Singapore

  • Trelea I (2003) The particle swarm optimization algorithm: convergence analysis and parameter selection. Inf Process Lett 85(6):317–325

    Article  MATH  MathSciNet  Google Scholar 

  • van den Bergh F, Engelbrecht A (2002) A new locally convergent particle swarm optimizer. In: Proceedings of the IEEE international conference on systems, man, and cybernetics. IEEE, Piscataway, pp 96–101

  • van den Bergh F, Engelbrecht A (2006) A study of particle swarm optimization particle trajectories. Inf Sci 176(8):937–971

    Article  MATH  Google Scholar 

  • Wang W, Wu Z, Liu Y, Zeng S (2008) Particle swarm optimization with a novel multi-parent crossover operator. In: Proceedings of the fourth international conference on natural computation. IEEE, Piscataway, pp 664–668

  • Wei C, He Z, Zheng Y, Pi W (2002) Swarm directions embedded in fast evolutionary programming. In: Proceedings of the IEEE congress on evolutionary computation, vol 2. IEEE, Piscataway, pp 1278–1283

  • Worasucheep C, Pipopwatthana C, Srimontha S, Phanmak W (2012) Enhanced performance of particle swarm optimization with generalized generation gap model with parent-centric recombination operator. ECTI Trans Electr Eng Electron Commun 6(2):166–175

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. P. Engelbrecht.

Appendix: Benchmark functions and performance tables

Appendix: Benchmark functions and performance tables

This appendix provides detail on the functions included in the benchmark set and provides the detailed performance tables.

Table 15 summarizes the characteristics of these functions. A function, \(f_l\), that is shifted, rotated, or shifted and rotated, is respectively referred to as \(f_l^{Sh}, f_l^R\) and \(f_l^{ShR}\), where l is the index of the function.

Table 15 Characteristics of benchmark functions
Table 16 Comparison of solution accuracy wins and losses for crossover PSO algorithms (results are given as wins/losses/sum of wins and losses)
Table 17 Comparison of success rate wins and losses for crossover PSO algorithms (results are given as wins/losses/sum of wins and losses)
Table 18 Comparison of efficiency wins and losses for crossover PSO algorithms (results are given as wins/losses/sum of wins and losses)

A function, \(f_l\), was shifted using

$$\begin{aligned} f_l^{Sh}({\mathbf x}) = f_l({\mathbf z}) + \beta \end{aligned}$$

where \({\mathbf z} = {\mathbf x} - \gamma \); \(\gamma \) and \(\beta \) are constants. Table 15 lists the values by which each function was shifted. Two approaches to rotation were implemented: Where an entry in the rotation column of Table 15 indicates “ortho”, the function \(f_l\) was rotated by a randomly generated orthonormal rotation matrix. The second approach, indicated by “linear” rotates the function using a linear transformation matrix. For both approaches the condition number is given in the table in parentheses, and rotation was done using Salomon’s method Salomon (1996). A new rotation matrix was computed for each of the 50 independent runs of the algorithm. The rotated function, referred to as \(f_l^R\), was computed by multiplying the decision vector \({\mathbf x}\) with the transpose of the rotation matrix.

Some functions were both shifted and rotated, with the resulting function referred to as \(f_l^{ShR}\). Noisy functions were generated by multiplying each decision variable, \(x_j\), by zero-mean noise sampled from a Gaussian distribution with deviation of one. These functions are referred to as \(f_l^N\). Functions that are shifted and noisy are referred to as \(f_l^{ShN}\).

Note that \(f_{27}\) is indicated as a non-separable function, even though it is separable near the optimum.

Rotations for functions \(f_{26}\)\(f_{37}\) and function \(f_{15}^{ShRE}\) were by linear transformation matrix, with condition numbers that differ for each component function. Also the severity of shifts differ for the different component functions. For the detail of these parameters, the reader is referred to Suganthan et al. (2005). For these functions, the entry “yes” simply indicates if a transformation of the expanded or composition function was done. An entry of “CEC05” refers the reader to the definition of the function as in Suganthan et al. (2005).

The definitions of the benchmark functions used in this study is provided below together with detail on the domain of each function. Many of the functions below are equivalent to functions defined in the IEEE Congress on Evolutionary Computation (CEC) 2005 competition benchmark set Suganthan et al. (2005). Such equivalencies are indicated by giving the CEC 2005 benchmark number with the superscript CEC (Tables 16, 17, 18).

\(f_1\),:

the absolute value function, defined as

$$\begin{aligned} f_1({\mathbf x})=\sum _{j=1}^{n_x}|x_i| \end{aligned}$$
(7)

with each \(x_j \in [-100,100]\).

\(f_2\),:

the ackley function, defined as

$$\begin{aligned} f_2({\mathbf x})=-20e^{-0.2\sqrt{\frac{1}{n}\sum _{j=1}^{n_x}x_j^2}} -e^{\frac{1}{n}\sum _{j=1}^{n_x}\cos (2\pi x_j)}+20+e \end{aligned}$$
(8)

with each \(x_{j} \in [-32.768,32.768]\). Shifted, rotated, and rotated and shifted verions of the ackley function were used, respectively referred to as \(f_2^{Sh}, f_2^R\) and \(f_2^{ShR}\). Function \(f_2^{ShR}\) is equivalent to function \(f_8^{CEC}\).

\(f_3\),:

the alpine function, defined as

$$\begin{aligned} f_3({\mathbf x})=\left( \prod _{j=1}^{n_x}\sin (x_j)\right) \sqrt{\prod _{j=1}^{n_x}x_j} \end{aligned}$$
(9)

with each \(x_j \in [-10,10]\).

\(f_4\),:

the egg holder function, defined as

$$\begin{aligned} f_4({\mathbf x})= & {} \sum _{j=1}^{n_x-1}\left( -(x_{j+1}+47) \sin \left( \sqrt{|x_{j+1}+x_j/2+47|}\right) \right. \nonumber \\&\left. +\sin \left( \sqrt{|x_j-(x_{j+1}+47)|}\right) (-x_j)\right) \end{aligned}$$
(10)

with each \(x_j\in [-512,512]\).

\(f_5\),:

the elliptic function, defined as

$$\begin{aligned} f_5({\mathbf x}) = \sum _{j=1}^{n_x}(10^6)^{\frac{j-1}{n_x-1}} \end{aligned}$$
(11)

with each \(x_{j} \in [-100,100]\). Shifted, rotated, and rotated and shifted verions of the elliptic function were used, respectively referred to as \(f_5^{Sh}, f_5^R\) and \(f_5^{ShR}\). Function \(f_5^{ShR}\) is equivalent to function \(f_3^{CEC}\).

\(f_6\),:

the griewank function, defined as

$$\begin{aligned} f_6({\mathbf x})=1+\frac{1}{4000}\sum _{j=1}^{n_x}x_j^2- \prod _{j=1}^{n_x}\cos \left( \frac{x_j}{\sqrt{j}}\right) \end{aligned}$$
(12)

with each \(x_j \in [-600,600]\). Shifted, rotated, and rotated and shifted verions of the elliptic function were used, respectively referred to as \(f_6^{Sh}, f_6^R\) and \(f_6^{ShR}\). For function \(f_6^{ShR}\), each \(x_j \in [0,600]\), which means that the global minimum is outside of the bounds. Function \(f_6^{ShR}\) is equivalent to function \(f_7^{CEC}\). with bounds as given above.

\(f_7\),:

the hyperellipsoid function, defined as

$$\begin{aligned} f_7({\mathbf x})=\sum _{j=1}^{n_x}jx_j^2 \end{aligned}$$
(13)

with each \(x_j \in [-5.12,5.12]\).

\(f_8\),:

the michalewicz function, defined as

$$\begin{aligned} f_8({\mathbf x}) = -\sum _{j=1}^{n_x}\sin (x_j)\left( \sin \left( \frac{jx_j^2}{\pi }\right) \right) ^{2m} \end{aligned}$$
(14)

with each \(x_j \in [0,\pi ]\) and \(m=10\).

\(f_9\),:

the norwegian function, defined as

$$\begin{aligned} f_9({\mathbf x}) = \prod _{j=1}^{n_x}\left( \cos \left( \pi x_j^3\right) \left( \frac{99+x_j}{100}\right) \right) \end{aligned}$$
(15)

with each \(x_j \in [-1.1,1.1]\).

\(f_{10}\),:

the quadric function, defined as

$$\begin{aligned} f_{10}({\mathbf x})=\sum _{i=1}^{n_x}\left( \sum _{j=1}^ix_j\right) ^2 \end{aligned}$$
(16)

with each \(x_j \in [-100,100]\).

\(f_{11}\),:

the quartic function, defined as

$$\begin{aligned} f_{11}({\mathbf x}) = \sum _{j=1}^{n_x}jx_j^4 \end{aligned}$$
(17)

with each \(x_j \in [-1.28,1.28]\). A noisy version of the quartic function, referred to as de jong’s f4 function, was generated as follows:

$$\begin{aligned} f_{11}^N({\mathbf x}) = \sum _{j=1}^{n_x}\left( jx_j^4+N(0,1)\right) \end{aligned}$$
(18)

The domain was the same as that of the quartic function.

\(f_{12}\),:

the rastrigin function, defined as

$$\begin{aligned} f_{12}({\mathbf x}) = 10n_x + \sum _{j=1}^{n_x}\left( x_j^2-10\cos (2\pi x_j)\right) \end{aligned}$$
(19)

with \(x_j \in [-5.12,5.12]\). Shifted, rotated, and rotated and shifted verions of the rastrigin function were used, respectively referred to as \(f_{12}^{Sh}, f_{12}^R\) and \(f_{12}^{ShR}\). Function \(f_{12}^{ShR}\) is equivalent to function \(f_{10}^{CEC}\).

\(f_{13}\),:

the rosenbrock function, defined as

$$\begin{aligned} f_{13}({\mathbf x}) = \sum _{j=1}^{n_x-1}\left( 100\left( x_{j+1}-x_j^2\right) ^2+(x_j-1)^2\right) \end{aligned}$$
(20)

with \(x_j \in [-30,30]\). Shifted, rotated, and rotated and shifted verions of the rosenbrock function were used, respectively referred to as \(f_{13}^{Sh}, f_{13}^R\) and \(f_{13}^{ShR}\). Function \(f_{13}^{Sh}\)’s domain was \([-100,100]\) to be equivalent to \(f_6^{CEC}\). Function \(f_{13}^R\)’s domain was also set to \([-100,100]\). \(f_{10}^{CEC}\).

\(f_{14}\),:

the salomon function, defined as

$$\begin{aligned} f_{14}({\mathbf x}) = -\cos \left( 2\pi \sum _{j=1}^{n_x}x_j^2\right) +0.1\sqrt{\sum _{j=1}^{n_x}x_j^2} + 1 \end{aligned}$$
(21)

with \(x_j \in [-100,100]\).

\(f_{15}\),:

the schaffer 6 function, defined as

$$\begin{aligned} f_{15}({\mathbf x})=\sum _{j=1}^{n_x-1}\left( 0.5+\frac{sin^2\left( x_j^2+x_{j+1}^2\right) -0.5}{\left( 1+0.001\left( x_j^2+x_{j+1}^2\right) \right) ^2}\right) \end{aligned}$$
(22)

with each \(x_j \in [-100,100]\). A shifted and rotated, expanded version of the schaffer 6 function was used, referred to as \(f_{15}^{ShRE}\), which is equivalent to \(f_{14}^{CEC}\).

\(f_{16}\),:

the schwefel 1.2 function, defined as

$$\begin{aligned} f_{16}({\mathbf x}) = \sum _{j=1}^{n_x}\left( \sum _{k=1}^jx_k\right) ^2 \end{aligned}$$
(23)

with \(x_j \in [-100,100]\). Shifted, rotated, and noisy shifted verions of the schwefel 1.2 function were used, respectively referred to as \(f_{16}^{Sh}, f_{16}^R\) and \(f_{16}^{ShN}\). Function \(f_{16}^{Sh}\) is equivalent to \(f_2^{CEC}\), and \(f_{16}^{ShN}\) is equivalent to \(f_4^{CEC}\), defined as

$$\begin{aligned} f_{16}({\mathbf x}) = \sum _{j=1}^{n_x}\left( \sum _{k=1}^jx_k\right) ^2(1+0.4|N(0,1)|) \end{aligned}$$
(24)
\(f_{17}\),:

the schwefel 2.6 function, defined as

$$\begin{aligned} f_{17}({\mathbf x}) = \max _{j}\{|{\mathbf A}_j{\mathbf x}-{\mathbf B}_j|\} \end{aligned}$$
(25)

with \(x_j \in [-100,100]\), \(a_{ji} \in {\mathbf A}\) is uniformly sampled from \(U(-500,500)\) such that \(\text{ det }({\mathbf A}) \ne 0\), and each \({\mathbf B}_j = {\mathbf A}_j{\mathbf x}\). Function \(f_{17}\) is equivalent to \(f_5^{CEC}\). A shifted version of schwefel 2.6 was also implemented, referred to as \(f_{17}^{Sh}\).

\(f_{18}\),:

the schwefel 2.13 function, defined as

$$\begin{aligned} f_{18}({\mathbf x}) = \sum _{j=1}^{n_x}({\mathbf A}_j - {\mathbf B}_j({\mathbf x}))^2 \end{aligned}$$
(26)

with each \(x_j \in [-\pi ,\pi ]\), and

$$\begin{aligned} {\mathbf A}_j= & {} \sum _{i=1}^{n_x}(a_{ji}\sin \alpha _i + b_{ji}\cos \alpha _i)\\ {\mathbf B}_j({\mathbf x})= & {} \sum _{i=1}^{n_x}(a_{ji}\sin x_i + b_{ji}\cos x_i \end{aligned}$$

where \(a_{ji} \in {\mathbf A}\) and \(b_{ji} \in {\mathbf B}\) with \(a_{ji}, b_{ji} \sim U(-100,100)\), and \(\alpha _i \sim U(-\pi ,\pi )\). This function is equivalent to \(f_{12}^{CEC}\). A shifted version of schwefel 2.13 was also implemented, referred to as \(f_{18}^{Sh}\).

\(f_{19}\),:

the schwefel 2.21 function, defined as

$$\begin{aligned} f_{19}({\mathbf x}) = \max _j\{|x_j|, 1\le j\le n_x\} \end{aligned}$$
(27)

with each \(x_j \in [-100,100]\).

\(f_{20}\),:

the schwefel 2.22 function, defined as

$$\begin{aligned} f_{20}({\mathbf x}) = \sum _{j=1}^{n_x}|x_j| + \prod _{j=1}^{n_x}|x_j| \end{aligned}$$
(28)

with each \(x_j \in [-10,10]\).

\(f_{21}\),:

the shubert function, defined as

$$\begin{aligned} f_{21}({\mathbf x}) = \prod _{j=1}^{n_x}\left( \sum _{i=1}^5(i\cos ((i+1)x_j+i)\right) \end{aligned}$$
(29)

with each \(x_j \in [-10,10]\).

\(f_{22}\),:

the spherical function, defined as

$$\begin{aligned} f_{22}({\mathbf x}) = \sum _{j=1}^{n_x}x_i^2 \end{aligned}$$
(30)

with each \(x_j \in [-5.12,5.12]\). A shifted version was implemented, referred to as \(f_{22}^{Sh}\) and equivalent to \(f_{1}^{CEC}\).

\(f_{23}\),:

the step function, defined as

$$\begin{aligned} f_{23}({\mathbf x}) = \sum _{j=1}^{n_x}\left( \lfloor x_j+0.5\rfloor \right) ^2 \end{aligned}$$
(31)

with each \(x_j \in [-100,100]\).

\(f_{24}\),:

the vincent function, defined as

$$\begin{aligned} f_{24}({\mathbf x}) = -\left( 1+\sum _{j=1}^{n_x}\sin (10\sqrt{x_j})\right) \end{aligned}$$
(32)

with each \(x_j \in [0.25,10]\).

\(f_{25}\),:

the weierstrass function, defined as

$$\begin{aligned} f_{25}({\mathbf x})= & {} \sum _{j=1}^{n_x}\left( \sum _{i}^{20}(a^i\cos (2\pi b^i(x_j+0.5)))\right) \nonumber \\&-n_x\sum _{i=1}^{20}(a^i\cos (\pi b^i)) \end{aligned}$$
(33)

with each \(x_j \in [-0.5,0.5]\), \(a=0.5\) and \(b=3\). A shifted and rotated version of the weierstrass function was implemented, referred to as \(f_{25}^{ShR}\), equivalent to \(f_{11}^{CEC}\).

\(f_{26}\),:

a shifted expansion of the griewank and rosenbrock functions (\(f_{6}\) and \(f_{13}\) respectively), equivalent to \(f_{13}^{CEC}\). Each \(x_j \in [-3,1]\).

\(f_{27}-f_{37}\),:

which are all composition functions, respectively equivalent to \(f_{15}^{CEC}\) to \(f_{25}^{CEC}\). All functions have \(x_j \in [-5,5]\), except \(f_{37}\) for which \(x_j \in [2,5]\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Engelbrecht, A.P. Particle swarm optimization with crossover: a review and empirical analysis. Artif Intell Rev 45, 131–165 (2016). https://doi.org/10.1007/s10462-015-9445-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10462-015-9445-7

Keywords

Navigation