Particle swarm optimization (PSO) is an efficient optimization algorithm and has been applied to solve various real-world problems. However, the performance of PSO on a specific problem highly depends on the velocity updating strategy. For a real-world engineering problem, the function landscapes are usually very complex and problem-specific knowledge is sometimes unavailable. To respond to this challenge, we propose a multipopulation ensemble particle swarm optimizer (MPEPSO). The proposed algorithm consists of three existing efficient and simple PSO searching strategies. The particles are divided into four subpopulations including three indicator subpopulations and one reward subpopulation. Particles in the three indicator subpopulations update their velocities by different strategies. During every learning period, the improved function values of the three strategies are recorded. At the end of a learning period, the reward subpopulation is allocated to the best-performed strategy. Therefore, the appropriate PSO searching strategy can have more computational expense. The performance of MPEPSO is evaluated by the CEC 2014 test suite and compared with six other efficient PSO variants. These results suggest that MPEPSO ranks the first among these algorithms. Moreover, MPEPSO is applied to solve four engineering design problems. The results show the advantages of MPEPSO. The MATLAB source codes of MPEPSO are available at https://github.com/zi-ang-liu/MPEPSO.
ASJC Scopus subject areas