Abstract
Comprehensive Learning Particle Swarm Optimizer (CLPSO) is a state-of-the-art variant of PSO, which maintains the diversity of its swarm by learning from different exemplars on different dimensions. Preserving the swarm diversity enables CLPSO to address the premature convergence problem associated with the canonical PSO. In this paper, the performance of the recently proposed fuzzy-controlled CLPSO (FC-CLPSO) is investigated on 24 problems; five of them are real-world engineering problems and six high-dimensional problems. In addition, two new CLPSO variants inspired by the Artificial Bee Colony (ABC) algorithm are proposed, CLPSO-ABC and FC-CLSPO-ABC. These two methods are compared with CLPSO and FC-CLPSO. The results show that FC-CLPSO-ABC outperforms the other three methods. FC-CLSPO-ABC is then compared with three other state-of-the-art swarm intelligence approaches on 24 problems. The results show that FC-CLPSO-ABC generally outperforms the other approaches.
Keywords
Introduction
Problem definition
Many optimization algorithms have been proposed for solving the continuous nonlinear function optimization problem:
The vector X = (x1, …, x D ) is composed of D real-valued variables, and the vectors Xmin and Xmax are assumed finite and to satisfy Xmin < Xmax. The function f (X) is typically multimodal, so that local optima do not in general correspond to global optima. Examples for some well-known optimization methods used to solve this problem are evolutionary competition algorithms (e.g. Evolution Strategies (ES) [17], Genetic Algorithms (GA) [5], Differential Evolution (DE) [19] and Backtracking Search Algorithm (BSA) [2]) and swarm intelligence algorithms (e.g. Particle Swarm Optimization (PSO) [9], Artificial Bee Colony (ABC) [8], Flower Pollination Algorithm (FPA) [25] and Symbiotic Organism Search (SOS) [1]). For more details, interested readers are referred to [22–24].
Critical review
Swarm intelligence techniques are inspired by the collective behavior of the individuals in a population (swarm). While evolutionary competition methods focus on competition between individuals, swarm intelligence methods emphasize cooperation. The most popular swarm intelligence method for numerical optimization is PSO. PSO models the social behavior of bird flocking. In PSO, a swarm of particles fly through the search space. The position of a particle refers to a potential solution to the function to be optimized. A particle moves to a new position calculated by the velocity updated at each time step. This velocity is affected by the best personal experience of the particle and the best experience of the swarm. The velocity update is performed as follows,
The new position of particle i is determined as follows,
PSO is easy to implement, requires no gradient information, and computationally inexpensive given its low memory and CPU requirements [13]. Nevertheless, the canonical PSO suffers from premature convergence when applied to multimodal functions. One reason for this deficiency is poor swarm diversity [15]. Comprehensive Learning PSO (CLPSO) [11] addresses this problem and its results on multimodal functions show that it has a good balance between high and low diversity.
Another issue with PSO is the fact that its success depends on selecting the appropriate values for its control parameters (i.e. w, c1 and c2). Tuning these parameters for each problem is a time consuming task. Several PSO variants were proposed to automatically adapt these parameters. For example, a fuzzy system has been used to adapt w [18]. Pasupuleti and Battiti [14] proposed an adaptive variant of PSO called gregarious PSO. Ismail and Engelbrecht [6] proposed a self-adaptive variant for CLPSO. Omran et al. [12] proposed to use a fuzzy controller to adapt the parameters of CLPSO.
This work is an extension of the ideas first presented at the International Conference on Swarm Intelligence Based Optimization (ICSIBO’2014) [12]. Our two main objectives for this work are: To investigate the performance of FC-CLPSO on more problems. To further improve the performance of CLPSO and FC-CLPSO.
To achieve the first objective FC-CLPSO was tested on 24 problems (5 of them are real-world engineering problems). To achieve the second objective, two new CLPSO variants approaches were proposed. Both approaches have been inspired by the Artificial Bee Colony (ABC) algorithm [8].
The rest of the paper is organized as follows: Section 2 provides an overview of CLPSO and FC-CLPSO. The two new proposed methods are presented in Section 3. The methodology and experiments set up is explained in Section 4. The experiments and their results are presented and discussed in Section 5. Section 6 concludes the paper and Section 7 briefly describes future research works.
Related work
Comprehensive learning particle swarm optimizer (CLPSO)
The Comprehensive Learning Particle Swarm Optimizer (CLPSO) [11] addresses the premature convergence problem of the basic PSO by allowing each particle to learn from the personal best position of other particles. Each dimension of a particle can potentially learn from the best experience of a different particle (referred to as an exemplar). Hence, the velocity updating equation is modified as follows,
According to [11], different learning probabilities affect the exploration/exploitation abilities of the particles.
Liang and Suganthan [10] proposed a self-adaptive technique to adapt the learning probability. In addition, the historical information is used in Equation (3) to search more effectively. However, the results were not very promising to merit further investigation. Ismail and Engelbrecht [6] proposed a self-adaptive variant of CLPSO (SACLPSO). In SACLPSO, position vectors are augmented to contain the inertia weight, w, and the acceleration coefficient, c. These two parameters are updated with the decision variables using Equation (3). Thus, in SACLPSO, the position, velocity, personal best position and global best position are all (D + 2)-dimensional vectors. The learning probability, Pc i , is updated using Equation (4). SACLPSO outperformed CLPSO on ten well-known test functions.
Omran et al. [12] proposed a fuzzy controlled CLPSO (FC-CLPSO) where each particle has its own learning probability, inertia weight and acceleration coefficient. A fuzzy controller is used to adapt these three control parameters (i.e. Pc
i
, w and c
i
). The controller takes the normalized rank of each particle as its input and generates three control parameters as outputs. The rank is determined by first sorting the swarm’s particles according to their cost function. The best particle (one with the smallest error) is given a rank of 1 (i.e. R1 = 1), while the worst particle (with the biggest error) is given a rank of N (i.e. R
N
= N). The rank is then normalized to a value between 0 and 1 using,
The normalized ranks are then assigned as membership grades in 3 fuzzy subsets as follows: LOW, MEDIUM and HIGH. The membership functions for Pc i , w i and c are also defined in a similar way. There are many alternative membership functions that can be used. In this study, a Gaussian curve membership function is chosen for the input and outputs of the fuzzy controller. Figure 1 shows these membership functions.
The fuzzy rules of the fuzzy controller are defined as follows:
The rationale behind the above rules is that if a particle has a low rank this means it has a low performance, thus, it needs to learn from other particles. This can be done by increasing its Pc i and c i . Moreover, such a particle needs to focus more on exploring the search space, thus, its w i should be increased. On the other hand, good particles should focus more on exploitation (i.e. local search), thus, w i should be decreased. Moreover, such particles do not need to learn often from other particles, hence, Pc i and c i should be decreased.
The fuzzy controller is called whenever new exemplars are needed for a particle (i.e. initially and when a particle failed to improve for m iterations).
FC-CLPSO was compared with CLPSO and SPSO2011 on 11 benchmark functions. The results showed that FC-CLPSO generally outperformed CLPSO and SPSO2011 [13].
Problem formulation and proposed methods
CLPSO-ABC
Inspired by the onlooker stage of the Artificial Bee Colony (ABC) [8], a new approach, CLPSO-ABC, is proposed here. In the onlooker stage of ABC, solutions are randomly chosen based on their fitness values. One way to do this is by roulette wheel selection where each slice is proportional in size to the fitness value:
Where fit i is the fitness value of solution i and i ∈ {1, 2, …, N}. The fitness, fit i , is inversely proportional to the objective function, f (x i ).
An update process is then performed for each selected solution as follows,
In CLPSO-ABC, an onlooker stage is added after the position update Equation (2) step. In this stage, personal best positions are randomly chosen based on Equation (5) where the fitness, fit i , is inversely proportional to the objective function, f (pbest i ).
Then the selected personal best positions are updated as follows,
If the solution generated by this operation, , is better than the old value, pbest i , (i.e.) then replaces pbest i (i.e.).
The CLPSO-ABC algorithm is shown in Algorithm 1. A MATLAB ® implementation can be requested from the corresponding author.
The FC-CLPSO-ABC algorithm is exactly the same as CLPSO-ABC but with the three CLPSO control parameters (i.e. Pc i , w and c i ) adapted by the fuzzy controller used in FC-CLPSO.
Methodology
To test the performance of the proposed methods, we have chosen 24 functions: 13 CEC05 functions (namely, f1-f13), five real-world engineering problems (namely, Gear Train, Compression Spring, Pressure Vessel, Lennard-Jones, and Frequency Modulation Sound Parameter Identification) and the 6 CEC08 large-scale global optimization problems (i.e. F1-F6). The 13 CEC functions have different characteristics (e.g., rotated, non-separable, shifted, unimodal, multimodal, composite, etc.). We did not test the full 25 CEC05 benchmark set because functions f14-f25 require a very long running time (e.g. few days for 30 runs of each function) and we are using a normal desktop computer (iMac 2.7 GHz Intel Core i5 with 8GB RAM) to conduct the experiments. These functions are generally complex compositional functions. We hope to investigate the performance of the different methods on these functions in the future when we have better computing power. For more details about the CEC05 functions, the reader is referred to [20]. More information on the first three real-world problems can be found in [16]. For the Lennard-Jones and Frequency Identification problems, see [4]. For more details about the CEC08, refer to [21].
For all functions (except the CEC08 functions) we have used 100,000 function evaluations (FEs). For the CEC08 functions, 5000D FEs were used as suggested by [21]. A swarm size of 40 particles was used for the CLPSO and its variants as suggested by [11]. The results of all methods have been obtained using 30 independent runs of the algorithms against eachproblem.
Given the best-of-run error, which is defined as the absolute difference between the best-of-the-run f (X*) value and the actual optimum of a given function, i.e.
The effectiveness of a method is measured using two metrics: The median of the best-of-run error. Success rate (SR): The number of successful runs, where a run is successful if err. ≤admissible error. In this paper the admissible error is set to 1e-4.
In solving real-world problems, the Fitness Evaluation (FE) time overwhelms the algorithm overhead. Hence, the mean number of FEs needed to reach acceptable accuracy would be much more interesting than the CPU time [26]. Hence, the efficiency of a method is measured in terms of the number ofFEs.
All programs are implemented using MATLAB version 8.1.0.604 (R2013a), and machine epsilon is 2.2204e-16. The result of any computation that needs numbers smaller than the epsilon-machine is questionable. In particular, numbers smaller than the epsilon-machine cannot be trusted. For the pseudo-random number generator (RNG), the rand built-in function provided by MATLAB has been used. The RNG was warmed by calling it 10,000 at the start of the program as suggested by [7]. The non-parametric Friedman’s test with α= 0.05 and the Dunn-Sidak correction as a post-hoc test have been used to compare the difference in performance of the different algorithms. In this study, the Null Hypothesis, H0, states that there is no difference between the medians of errors of the different algorithms.
Experimental results and discussions
Comparison with CLPSO and FC-CLPSO
In this subsection, the two proposed variants of CLPSO, namely CLPSO-ABC and FC-CLPSO-ABC, are compared with the original CLPSO and FC-CLPSO. Ranking of algorithms is done based on the median error. If two or more methods have the same median error, their ranks are determined by the meanerror.
Table 1 shows the results of CLPSO, CLPSO-ABC, FC-CLPSO and FC-CLPSO-ABC on the CEC05 benchmark functions. For unimodal problems, FC-CLPSO generally performs better than the other methods while for multimodal functions, CLPSO-ABC generally outperforms the rest. The FC-CLPSO-ABC, which is a hybridization of FC-CLPSO and CLPSO-ABC, seems to benefit from both approaches by ranking second or even first on some problems. So, in general, FC-CLPSO-ABC shows the best performance while CLPSO is the worst method on theseproblems.
Table 2 shows the results on high-dimensional CEC08 functions. The results show that CLPSO-ABC and FC-CLPSO-ABC perform comparably and better than CLPSO and FC-CLPSO. The results suggest that CLPSO suffers when applied to high-dimensional problems and that hybridizing it with ABC helps in improving CLPSO performance on this type of problems.
Table 3 shows the results on the five engineering problems. The results show the superiority of the FC-CLPSO-ABC method on this type of problems. CLPSO-ABC and FC-CLPSO perform comparably on the five engineeringproblems.
Figure 2 shows the progress of the mean best errors found by the four approaches over 30 runs for selected problems.
Overall, the results show that FC-CLPSO-ABC is the best approach. Thus, in the rest of the paper, we will only focus on this algorithm.
Comparison with other PSO variants
In this subsection, the performance of FC-CLPSO-ABC is compared with three variants of PSO, namely, Gregarious PSO (G-PSO) [14], SPSO2011 [3] and SACLPSO [6]. G-PSO uses only social knowledge and “reactively” determines the step size based on feedback from the last iterations. SPSO2011 is the most recent standard version of PSO. SACLPSO is chosen because it is a very recent and self-adaptive variant of CLPSO. The parameter settings for these three algorithms are based on the suggestions in the corresponding references.
Table 4 shows the results of the competing methods on the CEC05 benchmark functions. Compared to G-PSO, FC-CLPSO-ABC performs worse on two functions only. SPSO2011 outperforms FC-CLPSO-ABC on three functions. These three functions, viz. f2, f3 and f4, are unimodal functions. For multimodal functions, which are more interesting, FC-CLPSO-ABC generally outperforms SPSO2011. FC-CLPSO-ABC clearly outperforms SACLPSO on most functions.
Table 5 shows the results on high-dimensional CEC08 functions. The results show that FC-CLPSO-ABC outperforms G-PSO on all problems. Moreover, FC-CLPSO-ABC performs better than or equal to SPSO2011 and SACLPSO. These results suggest that FC-CLPSO-ABC can handle high-dimensional problems better than the other threePSO-variants.
Table 6 shows the results on the five engineering problems. For compression spring, SPSO2011 generates the best result. FC-CLPSO-ABC and G-PSO manage to do well on pressure vessel while SPSO2011 and SACLPSO fail. FC-CLPSO-ABC outperforms the other approaches on frequency modulation while G-PSO clearly obtains the best result on Lennard-Jones. In general, FC-CLPSO-ABC seems to be the best method on the engineering problems.
Figure 3 shows the progress of the mean best errors found by the four approaches over 30 runs for selected problems.
Effect of swarm size
In this subsection, the effect of the swarm size on the performance of FC-CLPSO-ABC is investigated.
The results (tables are not shown due to limited space) show that using a relatively small swarm size (20 or 40) generally improves the performance of FC-CLPSO-ABC.
Conclusions
In this paper, the performance of FC-CLPSO was investigated on 24 problems. The results show that FC-CLPSO generally improves the performance of CLPSO except for high-dimensional problems. Inspired by ABC, two new CLPSO variants were proposed, CLPSO-ABC and FC-CLPSO-ABC, in which an onlooker stage is added to exchange information between personal best positions. Based on the experiments conducted, FC-CLPSO-ABC outperformed CLPSO, FC-CLPSO and CLPSO-ABC on most problems. FC-CLPSO-ABC was then compared with three other PSO variants where it obtained the best results. Finally, the effect of the swarm size on the performance of FC-CLPSO-ABC was investigated and it was shown the using a relatively small swarm size (e.g. 20 particles) yielded the best results.
Future works
In ongoing research, in addition to investigating the performance of FC-CLPSO-ABC in other sets of problems (including real-world problems), ways to automatically adapt the swarm size of FC-CLPSO-ABC is being explored. The performance of the proposed approach on even higher-dimensional problems (e.g. D > 100) will be investigated.
Footnotes
Acknowledgments
The authors would like to thank the anonymous reviewers for their constructive and helpful comments and suggestions.
