Improved Particle Swarm Optimization with a Collective Local Unimodal Search for Continuous Optimization Problems
Martins Akugbe Arasomwan^{1} and Aderemi Oluyinka Adewumi^{1}
^{1}School of Mathematics, Statistics, and Computer Science, University of Kwazulu-Natal South Africa, Private Bag X54001, Durban 4000, South Africa
Academic Editor: T. Chen
Received31 Oct 2013
Accepted29 Dec 2013
Published25 Feb 2014
Abstract
A new local search technique is proposed and used to improve the performance of particle swarm optimization algorithms by addressing the problem of premature convergence. In the proposed local search technique, a potential particle position in the solution search space is collectively constructed by a number of randomly selected particles in the swarm. The number of times the selection is made varies with the dimension of the optimization problem and each selected particle donates the value in the location of its randomly selected dimension from its personal best. After constructing the potential particle position, some local search is done around its neighbourhood in comparison with the current swarm global best position. It is then used to replace the global best particle position if it is found to be better; otherwise no replacement is made. Using some well-studied benchmark problems with low and high dimensions, numerical simulations were used to validate the performance of the improved algorithms. Comparisons were made with four different PSO variants, two of the variants implement different local search technique while the other two do not. Results show that the improved algorithms could obtain better quality solution while demonstrating better convergence velocity and precision, stability, robustness, and global-local search ability than the competing variants.
1. Introduction
Optimization comes to focus when there are needs to plan, take decisions, operate and control systems, design models, or seek optimal solutions to varieties of problems faced from day to day by different people. A number of these problems, which can be formulated as continuous optimization problems, are often approached with limited resources. Dealing with such problems, most especially when they are large scale and complex, has attracted the development of different nature-inspired optimization algorithms. These algorithms display problem-solving capabilities for researchers to solve complex and challenging optimization problems with many success stories. Swarm-based techniques are a family of nature-inspired algorithms and are population-based in nature; they are also known as evolutionary computation techniques. Particle swarm optimization (PSO) technique is a member of swarm-based techniques which is capable of producing low cost, fast, and robust solutions to several complex optimization problems. It is a stochastic, self-adaptive, and problem-independent optimization technique and was originally proposed in 1995 by Eberhart and Kennedy as simulation of a flock of bird or the sociological behavior of a group of people [1, 2]. From the time this concept was brought into optimization, it has been used extensively in many fields which include function optimization and many difficult real-world optimization problems [3–5].
PSO technique was initially implemented with few lines of codes using basic mathematical operations with no major adjustment needed to adapt it to new problems and it was almost independent of the initialization of the swarm [6]. It needs few parameters to operate with for successful and efficient behavior in order to obtain quality solutions. To implement this technique, a number of particles, which are characterized by positions and velocities, called swarm are required to be randomly distributed in a solution search space depending on the boundaries defined for the design variables of the problem being optimized. The number of design variables determines the dimensionality of the search space. If -dimensional space is considered, the position and velocity of each particle are represented as the vectors and , respectively. Every particle has a memory of its personal experience which is communicated to all reachable neighbours in the search space to guide the direction of movement of the swarm. Also, the quality of each particle (solution) is determined by the objective function of the problem being optimized and the particle with best quality is taken as the global solution towards which other particles will converge. The common practice is for the technique to maintain a single swarm of particles throughout its operation. This process of seeking optimal solution involves the adjustments of the position and velocity of each particle in each iteration using
In (1), and are vectors representing the th particle personal best and swarm global best positions, respectively; and ; and are acceleration factors known as cognitive and social scaling parameters that determine the magnitude of the random forces in the direction of and ; and are random numbers between 0 and 1; is iteration index. The symbol is the inertia weight parameter which was introduced into the original PSO in [7]. The purpose of its introduction was to help the PSO algorithm balance its global and local search activities.
There are possibilities of the positions and velocities of the particles in the swarm increasing in value beyond necessary when they are updated. As a measure, the positions are clamped in each dimension to the search range of the design variables, where and represent the lower and upper bounds of a particle's position, respectively, while their velocities are controlled to be within a specified range , where and represent the lower and upper bounds of a particle's velocity, respectively. The idea of velocity clamping which was introduced by [1, 2, 8] and extensively experimented with in [9] has led to significant improvement as regards the performance of PSO. This is so because the particles could concentrate, taking reasonably sized steps to search through the search space rather than bouncing about excessively.
A major feature that characterizes an efficient optimization algorithm is the ability to strike a balance between local and global search. Global search involves the particles being able to advance from a solution to other parts of the search space and locate other promising candidates while local search means that the particle is capable of exploiting the neighbourhood of the present solution for other promising candidates. In PSO, as the rate of information sharing increases among the particles they migrate towards the same direction and region in the search space. If any of the particles could not locate any better global solution after some time, they will eventually converge about the existing one which may not be the global minimum due to lack of exploration power; this is known as premature convergence. This type of behaviour is more likely when the swarm of particles is overconcentrated. It could also occur when the optimization problem is of high dimension and/or nonconvex. One of the possible ways to prevent this premature convergence is to embed a local search technique into PSO algorithm to help improve the quality of each solution by searching its neighbourhood. After the improvement, better information is communicated among the particles thereby increasing the algorithm's ability to locate better global solution in course of optimization. Hill climbing, modified Hooke and Jeeves, gradient descent, golden ratio, Stochastic local search, adaptive local search, local interpolation, simulated annealing, and chaotic local search are different local search techniques that have been combined with PSO to improve its local search ability [10–18].
In this paper, a different local search technique was proposed to harness the global search ability of PSO and improve on its local search efforts. This technique is based on the collective efforts of randomly selected (with replacement) particles a number of times equal to the size of the problem dimension. When a particle is selected, it is made to contribute the value in the position of its randomly selected dimension from its personal best. The contributed values are then used to form a potential global best solution which is further refined. This concept could offer PSO the ability to enhance its performance in terms of convergence speed, local search ability, robustness, and increased solution accuracy. The local search technique was hybridized with two of the existing PSO variants, namely, random inertia weight PSO (RIW-PSO) and linear decreasing inertia weight PSO (LDIW-PSO), to form two new variants. Numerical simulations were performed to validate the efficiencies of each of them and some statistical analyses were performed to ascertain any statistically significant difference in performance between the proposed variants and the old ones. From the results obtained it was shown that the proposed variants are very efficient.
In the sections that follow, RIW-PSO and LDIW-PSO are briefly described in Section 2; the motivation and description of the proposed local search technique are presented in Section 3 while the improved PSO with local search technique is described in Section 4. Numerical simulations are performed in Section 5 and Section 6 concludes the paper.
2. The Particle Swarm Optimization Variants Used
Two PSO variants were used to validate the proposed improvement of the performance of PSO technique. The variants are LDIW-PSO and RIW-PSO. These were chosen because of the evidence available in the literature that they are less efficient in optimizing many continuous optimization problems [19–21]. These variants are succinctly described below.
2.1. PSO Based on Linear Decreasing Inertia Weight (LDIW-PSO)
This variant was proposed in [9] after the inertia weight parameter was introduced into the original PSO by [7]. It implements the linear decreasing inertia weight strategy represented in (3) which decreases from some high which facilitates exploration to a low value which on the other hand promotes exploitation. This greatly improved the performance of PSO. LDIW-PSO does global search at the beginning and converges quickly towards optimal positions but lacks exploitation power [9] and the ability required to jump out of the local minimum most especially when being in the multimodal landscape. Some improvements on LDIW-PSO exist in the literature [6, 9, 22]:
where and are the initial and final values of inertia weight, is the current iteration number, MAX_{itr} is the maximum iteration number, and is the inertia weight value in the th iteration. Apart from the problem of premature convergence, this variant was found inefficient in tracking a nonlinear dynamic system because of the difficulty in predicting whether exploration (a larger inertia weight value) or exploitation (a smaller inertia weight) will be better at any given time in the search space of the nonlinear dynamic system [23].
2.2. PSO Based on Random Inertia Weight (RIW-PSO)
Due to the improved performance of PSO when the constant inertia weight was introduced into it [7], a new era of research was indirectly initiated and this has attracted the attentions of many researchers in the field. The inefficiency of linear decreasing inertia weight, which linearly decreases from 0.9 to 0.4, in tracking a nonlinear dynamic system prompted the introduction of RIW which randomly varies within the same range of values. Random adjustment is one of the strategies that have been proposed to determine the inertia weight value to further improve on the performance of PSO. This strategy is nonfeedback in nature and the inertia weight takes different value randomly at each iteration, from a specified interval. In line with this, random inertia weight strategy represented in (4) was introduced into PSO by [23] to enable the algorithm track and optimize dynamic systems. In the equation, rand() is a uniform random number in the interval which make the formula generate a number randomly varying between 0.5 and 1.0, with a mean value of 0.75. When and are set to 1.494, the algorithm seems to demonstrate better optimizing efficiency. The motivation behind the selection of these values was Clerc's constriction factor [23]:
Not much is recorded in the literature regarding the implementation of this variant of PSO. Some of the few implementations found in the literature are recorded in [6, 20–22].
3. Proposed Local Search Technique
The basic principle underlying the optimizing strategy of PSO technique is that each particle in the swarm communicates their discoveries to their neighbours and the particle with the best discovery attracts others. While this strategy looks very promising, there is the risk of the particles being susceptible to premature convergence, especially when the problem to be optimized is multimodal and high in dimensionality. The reason is that the more the particles share their discoveries among themselves, the higher their identical behaviour is until they converge to the same area in the solution search space. If none of the particle could discover better global best, after some time all the particles will converge about the existing global best which may not be the global minimizer.
One of the motivations for this local search technique is the challenge of premature convergence associated with PSO technique which affects its reliability and efficiency. Another motivation is the decision-making strategy used by the swarm in searching for optimal solution to optimization problems. The decision is dictated by a single particle in the swarm; that is, other particles follow the best particle among them to search for better solution. Involving more than one particle in the decision making could lead to a promising region in the search space where optimal solution could be obtained.
The description of the local search technique is as follows: after all the particles have obtained their various personal best positions, each particle has an equal chance of being selected to contribute its idea towards how a potential location in the search space where better global best could be obtained. As a result, a number of particles equal to the dimension of the problem being optimized are randomly selected (with replacement). Each selected particle contributes an idea by donating the value in the location of its randomly selected dimension from its personal best. All the ideas contributed by the selected particles are collectively used (hybridized) to construct a potential solution in the solution search space. After constructing the potential solution, some searches are locally done around its neighbourhood with the hope of locating a better solution in comparison with the current global solution. If a better solution is found, it is then used to replace the current global solution; otherwise no replacement is made.
In this local search, the potential new position is denoted by and is sampled from the neighbourhood of the collectively constructed potential global solution represented as by
where is a random vector picked uniformly from the range and is the search radius which is initially set to max (maximum radius for local search). The local search technique moves from position to position when there is improvement to the fitness. If there is no improvement on the fitness of by , the search radius is linearly decreased by multiplying it with a factor using
where max is the maximum number of times the neighbourhood of is to be sampled, is the current time the neighbourhood is being sampled, and min is the minimum radius for the local search.
This proposed local search technique has been named collective local unimodal search (CLUS) technique. It has some trace of similarity in operation with local unimodal sampling (LUS) technique [24]. But they are quite different in the sense that, while LUS randomly picks a potential solution from the entire population, CLUS constructs a potential solution using the collective efforts of a randomly selected number of particles from the swarm. Also, CLUS uses a linear method to decrease the search radius (step size) in the neighbourhood of the potential solution which is different from the method applied by LUS during optimization. The CLUS technique is presented in Algorithm 1. In the technique, and represent the current global fitness value and its corresponding position in the search space.
new arrays, each of length Dim
While do
for to problem Dimension
randomly select any particle
randomly select a dimension from the personal best of the selected particle
end for
validate for search space boundary
else
end if
end while
Return and
4. Improved PSO with Collective Unimodal Local Search (PSO_{CLUS})
The RIW-PSO increases convergence in early iterations and does more of global search activities but soon gets stuck in local optima because of lack of local search ability. Also, LDIW-PSO does global search at earlier part of its iteration but lacks enough momentum to do local search as it gets towards its terminal point of execution. The aim of this paper is to make a general improvement on the performance of PSO which can be applied to any of its variants. To achieve this, the two PSO variants were hybridized with the proposed collective local unimodal search (CLUS) technique which takes advantage of their global search abilities to do some neighbourhood search for better results. The improved PSO algorithm is presented in Algorithm 2.
Begin Algorithm
Step 1. Definition Phase
(1.1) function to optimize as
(1.2) Parameter
(1.2.1) swarm size
(1.2.2) problem dimension
(1.2.3) solution search space
(1.2.4) particle velocity range
Step 2. Initialized phase
For all particles randomly initialized in search space
(2.1) position
(2.2) velocity ,
(2.3)
(2.4) best of
(2.5) evaluate using objective function of problem
Step 3. Operation Phase
Repeat until a stopping criterion is satisfied
(3.1). Compute inertia weight using any inertia weight formula
(3.4). Implement local search using CLUS in Algorithm 1
Step 4. Solution Phase
(4.1).
(4.2).
(4.3). Return and
End Algorithm
5. Numerical Simulations
In this section, the improved algorithm (PSO_{CLUS}) was implemented using the inertia weight strategy of RIW-PSO and the variant was labeled R-PSO_{CLUS}. It was also implemented using the inertia weight strategy of LDIW-PSO and the variant was labeled L-PSO_{CLUS}. The performances of R-PSO_{CLUS} and L-PSO_{CLUS} were experimentally tested against those of RIW-PSO and LDIW-PSO, respectively. The maximum number of iterations allowed was 1000 for problems with dimensions less than or equal to 10, 2000 for 20-dimensional problems, and 3000 for 30-dimensional problems. A swarm size of 20 was used in all the experiments and twenty-five independent runs were conducted to collect data for analysis. The termination criteria for all the algorithms were set to be as maximum number of iterations relative to the problems' dimensions. A run, in which an algorithm is able to satisfy the set success criteria (see Table 1) before or at the maximum iteration, is considered to be successful. To further prove the efficiency of the proposed local search technique, the proposed PSO variants were also compared with some existing PSO variants hybridized with different local search techniques. They are PSO with golden ratio local search [15] and PSO with local interpolation search [18]. A total of 6 different experiments were conducted.(i)R-PSO_{CLUS} was compared with PSO with golden ratio local search (GLSPSO);(ii)R-PSO_{CLUS} was compared with PSO with local interpolation search (PSOlis);(iii)R-PSO_{CLUS} was compared with RIW-PSO;(iv)L-PSO_{CLUS} was compared with PSO with golden ratio local search (GLSPSO);(v)L-PSO_{CLUS} was compared with PSO with local interpolation search (PSOlis);(vi)L-PSO_{CLUS} was compared with LDIW-PSO.
Parameter
minR
maxR
maxT
Value
0.9
0.4
1.494
0.05 *
0.05 *
0.01
2.0
100
The application software was developed in Microsoft Visual C# programming language.
5.1. Test Problems
A total of 21 problems were used in the experiments. These problems have different degrees of complexity and multimodality which represents diverse landscapes enough to cover many of the problems which can arise in global optimization problems. Shown in Table 2 are the problems dimensions, optimal fitness values, and success thresholds. Presented in Table 3 are the definitions, characteristics (US: unimodal separable, UN: unimodal nonseparable, MS: multimodal separable, and MN: multimodal nonseparable), and search ranges of the problems. More details on the benchmark problems can be found in [22, 25–27].
Number
Problem
Dimensions
Optimal value
Success threshold
1
Ackley
10, 20, 30
0
2
Booth
2
0
3
Easom
2
−1
−1
4
Griewank
10, 20, 30
0
5
Dixon-Price
10, 20, 30
0
6
Levy
10, 20, 30
0
7
Michalewicz
5
−4.687
−4.687
8
Noisy Quartic
10, 20, 30
0
9
Noncontinous Rastrigin
10, 20, 30
0
20
10
Rastrigin
10, 20, 30
0
20
11
Rosenbrock
10, 20, 30
0
20
12
Rotated Ellipsoid
10, 20, 30
0
13
Salomon
5
0
14
Schaffer's f6
2
0
15
Schwefel
10, 20, 30
16
Schwefel P2.22
10, 20, 30
0
17
Shubert
2
−186.7309
−186.7309
18
Sphere
10, 20, 30
0
19
Step
10, 20, 30
0
20
Sum Squares
10, 20, 30
0
21
Trid
6
−50
−50
Number
Problem
Formulation
Feature
Search range
1
Ackley
MN
±32
2
Booth
MN
±10
3
Easom
UN
±100
4
Griewank
MN
±600
5
Dixon-Price
UN
±10
6
Levy
where
MN
±10
7
Michalewicz
MS
0,
8
Noisy Quartic
US
±1.28
9
Noncontinous Rastrigin
MS
±5.12
10
Rastrigin
MS
±5.12
11
Rosenbrock
UN
±30
12
Rotated Ellipsoid
UN
±100
13
Salomon
MN
±100
14
Schaffer's f6
MN
±100
15
Schwefel
MS
±500
16
Schwefel P2.22
UN
±10
17
Shubert
MN
±10
18
Sphere
US
±100
19
Step
US
±10
20
SumSquares
US
±10
21
Trid
UN
±d ^{2}
5.2. Parameter Setting
The additional parameters that were set in the experiment are inertia weight threshold for LDIW-PSO ( and ), acceleration coefficients ( and ), velocity thresholds ( and ), minimum radius (min), and maximum radius (max) for local search as well as the maximum number of neighbourhood sampling (max) during the local search. The respective settings of these parameters are shown in Table 1. The parameters and were randomly generated using the uniform random number generator. The values of and were chosen for LDIW-PSO based on the experiments conducted in [9]; values for and were chosen for RIW-PSO based on the recommendation in [23] and it was also used for LDIW-PSO because it was discovered in course of the experiments in this paper that these values make LDIW-PSO perform better than the commonly used value of 2.0. The settings for and were done based on the outcome of experimental studies in [8].
5.3. Performance Measurement
The efficiency of the algorithms was tested against the set of benchmark problems given in Table 2 and numerical results obtained were analyzed using the criteria that are listed below. All the results are presented in Tables 4 to 20.(i)Best fitness solution: the best of the fitness solution among the solutions obtained during the runs.(ii)Mean best fitness solution: this is a measure of the precision (quality) of the result that the algorithm can get within given iterations in all the 25 runs.(iii)Standard deviation (Std. Dev.) of mean best fitness solution over 25 runs: this measures the algorithm's stability and robustness.(iv)Average number of iterations an algorithm was able to reach the success threshold.(v)Success rate (SR) = : this is the rate at which the success threshold is met during the independent number of runs and is a reflection of the global search ability and robustness of the algorithm.
Problem
Ackley
Griewank
Rastrigin
Rosenbrock
Sphere
Algorithm
GLSPSO
-PSO_{CLUS}
GLSPSO
-PSO_{CLUS}
GLSPSO
-PSO_{CLUS}
GLSPSO
-PSO_{CLUS}
GLSPSO
-PSO_{CLUS}
Best fitness
0.0364
0.0000
8.8062
0.0000
2.6188
0.0000
Mean fitness
0.3413
17.1371
0.0041
0.0016
29.4936
0.0000
9.0025
1.9971
0.0142
0.0000
Worst fitness
1.2653
20.0888
0.0419
0.0791
50.4781
0.0000
18.9887
3.1444
0.0476
0.0000
Std. Dev.
0.2762
6.7543
0.0061
0.0111
10.4372
0.0000
0.034
0.7262
0.0123
0.0000
Statistical analysis using the Wilcoxon signed rank nonparametric test with 0.05 level of significance [28, 29] was also performed using the numerical results obtained by the algorithms, while box plots were used to analyze their variability in obtaining fitness values in all the runs.
5.4. Results and Discussions
Results obtained from all the experiments are discussed in this subsection to show the overall performance of the various algorithms. Presented in Tables 4, 5, 6, 7, 8, and 9 are the numerical results obtained and used to compare R-PSO_{CLUS} and L-PSO_{CLUS} with GLSPSO. R-PSO_{CLUS} and L-PSO_{CLUS} were also compared with PSOlis using the results presented in Table 10. The results in Tables 11–18 were obtained for the scaled and nonscaled test problems listed in Table 3; the results were used to validate RIW-PSO, R-PSO_{CLUS}, LDIW-PSO, and L-PSO_{CLUS}. In each of the tables, for ease of observation, bold values represent the better results and “–” means that the algorithm could not satisfy the success threshold in any of the runs. The Wilcoxon sign rank nonparametric test, which is used as an alternative to the paired -test when the results cannot be assumed to be normally distributed, was applied to test the statistical significance differences between RIW-PSO and R-PSO_{CLUS} as well as LDIW-PSO and L-PSO_{CLUS}.