Particle swarm optimization using multi-information characteristics of all personal-best information

Convergence stagnation is the chief difficulty to solve hard optimization problems for most particle swarm optimization variants. To address this issue, a novel particle swarm optimization using multi-information characteristics of all personal-best information is developed in our research. In the modified algorithm, two positions are defined by personal-best positions and an improved cognition term with three positions of all personal-best information is used in velocity update equation to enhance the search capability. This strategy could make particles fly to a better direction by discovering useful information from all the personal-best positions. The validity of the proposed algorithm is assessed on twenty benchmark problems including unimodal, multimodal, rotated and shifted functions, and the results are compared with that obtained by some published variants of particle swarm optimization in the literature. Computational results demonstrate that the proposed algorithm finds several global optimum and high-quality solutions in most case with a fast convergence speed.

performance of PSO algorithm. In recent research, multiple swarms or multiple layers strategies had already been proved to be an effective strategy to improve the performance of PSO (Sun and Li 2014;Yadav and Deep 2014;Lim and Isa 2014a;Wang et al. 2014). Sun and Li presented a cooperative particle swarm optimization (TCPSO) with two-swarm (the slave swarm and the master swarm) for optimization problem in large scale search space (Sun and Li 2014) and two subswarms using shrinking hypersphere PSO (SHPSO) and DE were also used in new co-swarm PSO for constrained optimization problems (Yadav and Deep 2014). Multiple layers strategies, such as adaptive twolayer particle swarm optimization algorithm with elitist learning strategy (ATLPSO-ELS) (Lim and Isa 2014a) and multi-layer particle swarm optimization (MLPSO) (Wang et al. 2014), were also used to solve complex problems. PSO with different topologies has different exploration/exploitation ability and performance (Bonyadi et al. 2014;Lim and Isa 2014b, c). Many new topology strategies [time-adaptive topology (Bonyadi et al. 2014), adaptive time-varying topology connectivity (Lim and Isa 2014b), increasing topology connectivity (Lim and Isa 2014c)] were also applied to PSO. Comparing with fully-connected topology or regular topology, these topologies could lead to a different optimization process. In recent years, new techniques such as Levy flight (Haklı and Uğuz 2014), parallel cell coordinate system (Hu and Yen 2015), competitive and cooperative (Li et al. 2015) and orthogonal design (Qin et al. 2015) had also been adopted in PSO.
Many learning strategies are introduced to PSO to enhance the adaptability for complex optimization problems as learning behavior stemming from social animals plays a key role in animals' adaptation to the changing environment (Cheng and Jin 2015;Rao and Patel 2013;Lim and Isa 2014d;e;Shi and Eberhart 1999). Cheng and Jin presented a modified particle swarm optimization using social learning mechanism (SL-PSO) (Cheng and Jin 2015) and some concept of teachers, tutorial training and self motivated learning was proposed in teaching-learning-based PSO by Rao and Patel for performance enhancements (Rao and Patel 2013). Using teaching and peer-learning behaviors, a bidirectional teaching and peer-learning PSO (BTPLPSO) (Lim and Isa 2014d) and a two learning phases PSO (TPLPSO) (Lim and Isa 2014e) were proposed by Lim and Isa simultaneously. Communication and learning behavior is a distinguishing feature among social animals and it improves social efficiency. Sharing information mechanism plays a key role in this behavior. To share personal-best information fairness, a particle swarm optimizer using several multi-information characteristics of all personal-best information is developed in this paper. In the proposed PSO, two representative positions, which represent the features of all personal-best positions, are defined to acquiring the information of all personal-best positions. Then the cognition term in velocity update equation is formed by three positions. Due to the effect of all personal-best fitnesses, each particle can update its velocity and position by the distribution of personal-best fitnesses. This strategy could make full use of all personal-best information and correct some error guided directions of personal-best positions.
The structure of rest paper is as follows. Section "Particle swarm optimizer" presents the theory and formulation of PSO algorithm and linearly decreasing inertia weight. In section "Particle swarm optimization using all personal-best information", the details of two representative positions are described and the proposed PSO using several multiinformation characteristics of all personal-best positions is provided. Numerical results and statistical analysis are shown in section "Experiments and results". In section "Conclusions", we conclude this paper.

Velocity and position formulation
Particle swarm optimizer is inspired by fish's and birds' foraging behaviors, which are simplified as a swarm of particles by mimicking their key behaviors. As a swarm of n particles search in the feasible space, each particle's position represents a potential solution for the optimization problem and the swarm can find high-quality solution though the particles update their velocities and positions. Assuming the decision has m variables, the position and velocity of particle i are represented by m-dimensional vector . Two positions, named personal-best position and global-best position, are defined in PSO to update the velocities and guide the swarm. Personal-best position of particle i is denoted as p best,i = (p best,i1 , p best,i2 , . . . , p best,im ) and global-best position of particle i is denoted as g best = (g best,1 , g best,2 , . . . , g best,m ). To sum up, the formulations of the velocity v t+1 i and the position x t+1 i of particle i can be expressed by the Eq. (1) and (2). where c 1 , c 2 are cognitive factor and social factor. ω is inertia weight. r 1 , r 2 are two real numbers randomly in (0, 1). t is the current generation. According to the theory of PSO, the personal experience and global experience make the particle move closer to them to get a new promising position.

Linearly decreasing inertia weight
Appropriate selection of inertia weight can balance global exploration and local exploitation during the evolution process. Large ω can benefit the global search while small value can contribute to local exploitation. Linearly decreasing inertia weight adopted in PSO (LPSO) significantly improves the performance of PSO for solving various optimization problems and the inertia weight ω is advised by the Eq. (3): where T is the maximal generation. ω min and ω max are the upper limit and lower limit. Numerical experiments illustrated the impact of ω, and 0.9 (upper value) and 0.4 (lower value) are suggested (Shi and Eberhart 1999).
From the above description, LPSO pseudo-code is shown in Algorithm 1.

Analysis of personal-best information
Learning behavior is a special skill for social animals, which can share the information with their members. Cooperative behavior of a swarm is more efficient than one taking an action alone due to their fruitful information and communication. In PSO, each particle can provide its personal-best position information to guide its flying direction. The whole personal-best positions of the swarm imply the distribution of fruitful goodfitness-related information. To take full advantage of multi-information characteristics of all personal-best information will contribute to ignoring several particles' error information trapping in local optima. In the theory of PSO, personal-best position is only used for its own particle in evolutionary process, not reflecting the influence of fitness distribution in landscape. Misguided information of personal-best positions, which have no opportunities to be corrected, will make PSO premature. Therefore, two positions, which add the influence of personal-best fitness distribution, are defined to strengthen the particle's ability to learn from other particles' experience. Then cognition term with three defined personal-best positions in velocity update equation is formed to reduce the misguided opportunity. The details of the improved cognition term and the proposed PSO algorithm are as follows.

Detail of improved PSO algorithm
Step 1 Calculate all personal-best positions' fitnesses, and then figure out the minimal fitness and the maximal fitness among these personal-best fitnesses. The way to find the minimal fitness and the maximal fitness is as follows: where f min and f max stand for the minimal fitness and the maximal fitness of personalbest positions. f denotes the fitness function.
Step 2 Normalization method of personal-best fitness. As the fitness value varies with a wide range in various optimization problems, a robust way to suitably reflect the influence of fitness is to normalize personal-best fitness. For minimization problem, the smaller the fitness value, the stronger the influence of personal-best position. According this feature, the normalization method is as Eq. (6).
where r i stands for the normalized value of the ith personal-best fitness.
Step 3 After normalized the personal-best fitness, we should also acquire the proportions of these fitnesses. The proportion of the ith personal-best fitness is denoted as θ i . Thus, for the normalized value of the ith personal-best fitness, θ i can be obtained as follows: Step 4 Calculate centroid position p centr of all personal-best positions: Centroid position is defined as weighted sum form of p best with θ to reflect the influence of personal-best fitnesses. Similar to the relation of an object's density and mass in physics, by regarding personal-best fitness as 'the density of an object' and personal-best position as 'the location in the object' , the position p centr can be seen as 'the centroid of the object' . The centroid of an object is important factor to reflect the distribution of mass and thus p centr reflects the distribution of high quality fitness. The centroid position is always close to the area where most good fitnesses locate.
Step 5 Calculate median position p med of all personal-best positions. p med represents the position of the median personal-best fitness. p med also reflects the distribution of high quality fitness from another perspective. p med is obtained without weighted sum form and can avoid the influence of some bad personal-best positions. Algorithm 2 is Pseudo-code to find the median fitness θ med and the median position p med .
(4) f min = min{f (p best,i )|i = 1, 2, . . . , n} (5) f max = max{f (p best,i )|i = 1, 2, . . . , n} Step 6 Cognitive guiding position p ′ best . In the proposed PSO, cognitive guiding position using the above defined positions is calculated according to the following equations: The cognitive guiding position includes three positions, the personal-best position p best , the centroid position p centr and the median position p med . p best and p centr − p med are used to 'pull' the particle to escape local optimum because some error information of p best and g best may accelerate premature convergence. p centr and p med carry all personalbest information and can guide particles to a better direction. The experimental coefficient of 1/2 makes the cognitive guiding position suitable for the improved cognition term.
Step 7 Improved cognition term a cog .
The improved cognition term a cog will make full use of all personal-best fitnesses.
Step 8 Modified velocity update equation. In this step, the work is to replace original cognition term with the improved cognition term a cog in velocity update equation of PSO and LPSO algorithm. Therefore, particle swarm optimizer using multi-information characteristics of all personal-best information (PSO-API) and Linearly decreasing inertia weight PSO-API (LPSO-API) can be obtained using this modified velocity update equation. Take LPSO-API algorithm for example, each particle's velocity updates as Eq. (10).
Not considering the influence of the current velocity and all the coefficients, there are four positions (p best ,g best ,p centr and p med ) to influence the velocity update in Eq. (10).
In PSO, v ′ = g best + p best,i is introduced to show the influence of g best and p best,i . As is illustrated in Fig. 1b, if the current iteration g best is local optimum, v ′ will accelerate the particles fall into local optimum region. Comparing with PSO, p centr and p med is added to velocity update equation in PSO-API. In Fig. 1a, the white circle points represents the personal-best positions with worse fitnesses and the grey circle points represents the personal-best positions with better fitnesses. From the distribution of these above points, the location of p centr and p med , which are calculated by Eq. (7) and Algorithm 2, are shown by the yellow circle points in Fig. 1. Defined by all personalbest positions and their fitnesses, p centr is more close to the region which locates many personal-best positions with good fitnesses. Although the fitness around the real globalbest position is worse than that of local optimum g best , the personal-best positions are also prone to distribute in these positions with good fitnesses around real global-best position, which is the black rhombic point in Fig. 1a. Regard p centr as a reference point, and v ′′ = p best,i − p med , which carrys all personal-best information, represents the influence of good fitness distribution. As is illustrated in Fig. 1c, α represents the direction adjusted by v ′′ and v ′′ makes particles adjust their directions to the real globalbest position. Constantly adjusted by α in the search process, the particles have a greater probability of flying to the real global-best position. Besides, | v ′′ | will be small value when an uniform fitness distribution occurs in the search process and | v ′′ | makes little effect on particles. That is, PSO-API only has p best and g best influence particles' trajectory and PSO-API has the same performance as PSO in that case. Therefore, three terms ( v ′′ ,p best and g best ) contribute to adjusting the velocity and different 'pull' and 'push' influence make PSO-API have a stable performance over a variety of problems. The flowchart of LPSO-API algorithm is shown in Fig. 2.

Test benchmark functions
In order to assess the performance of the proposed algorithm, twenty benchmark problems including unimodal, multimodal, rotated and shifted functions selected from the literature (Deep and Thakur 2007;Liang et al. 2006;Suganthan et al. 2005;Yao et al. 1999) are used to verify it. Note that all the problems are minimum problems and only one global optimum exists. The function name, dimensions, search range and global optimum value are listed in Table 1 and the formulations of these problems are listed as follows: Initialize the positions and velocities, and find and best p best g Find , by Equations (4) and (5) and caculate by Equations (6). Then calculate .
Update the velocity and position of each particle : max f r θ Evaluate fitness of particle and update the and t=t+1 Is the stopping criterion met?

Validity of the proposed strategy
To validate the proposed strategy, PSO-API and LPSO-API algorithms are implemented on matlab 2011a to compare with PSO and LPSO algorithms. All twenty benchmarks are tested in the experiments. Parameter settings of the four algorithms are as follows: The size of the population is 30. c 1 and c 2 are both equal to 2 in PSO and LPSO algorithms, and c is equal to 2 in PSO-API and LPSO-API algorithms. ω is equal to 0.7 in PSO and PSO-API algorithms and uses the suggested linearly decreasing version of section "Linearly decreasing inertia weight" in LPSO and LPSO-API algorithms (Shi and Eberhart 1999). 20, 30 and 50 dimensions are adopted in our experiments and the generations are 5000. Also, 20 independent trials are implemented on these problems. Tables 7, 9 and 11 in "Appendix" show the comparisons of 20, 30, 50 dimensions' results of average best fitness(AVE), rank(Rank) of average best fitness, median best fitness (MED), standard deviation (SD), average rank (AR) and final rank (FR) of average best fitness. Wilcoxon's rank sum test is commonly used to analyze whether two data sets are statistically different from each other, and p value(p), h-value(h) and zval(z) are acquired in Wilcoxon's rank sum test. In this test, significance level needs to be set and a value of 0.05 significance level indicates that something occurs more than the probability of 95 %. In Wilcoxon's rank sum test, h-value only has three value, 1, 0, −1, which indicate that the proposed algorithm have a significantly better, same and worse performance than the compared algorithm, respectively (Beheshti et al. 2013). Tables 8, 10 and 12 in "Appendix" show the comparisons of 20, 30, 50 dimensions' results of Wilcoxon's rank sum test. In details, the last three rows of Tables 8, 10 and 12 list the numbers of 1, 0 or −1 that h-value equals. Note that the best results for each benchmark function are marked in bold in Tables 7-12. From 20, 30 and 50 dimensions' results in Tables 7, 9 and 11, it is clearly that LPSO-API algorithm obtains the minimum value in terms of AVE on twelve, fourteen, and fifteen of twenty benchmark problems, respectively and PSO-API algorithm obtains the minimum value of AVE on ten, ten and eight of twenty benchmark problems, respectively. It is obviously that LPSO-API algorithm and PSO-API algorithm obtains more minimum results than LPSO algorithm and PSO algorithm in terms of AVE on the suite of benchmark problems. It is worth pointing out that several global optimums are also obtained by LPSO-API algorithm and PSO-API algorithm. The numbers of best AVE obtained by four algorithms are described in Fig. 3. For three different dimensions, final rank obtained by LPSO-API algorithm all takes the first place and that obtained by PSO-API algorithm are all the second. The final rank can reflect the comprehensive performance of algorithm on a suite of benchmark problems. From the rank, it is clearly seen that LPSO-API algorithm and PSO-API algorithm shows the superiority than LPSO algorithm and PSO algorithm in high-quality solutions.
From the data in Tables 8, 10 and 12, the number of h-value = 1 is 16, 17 and 17 for PSO-API algorithm and 13, 14 and 17 for LPSO-API algorithm on 20, 30 and 50 dimensions' problems. A few h-value = − 1 and h-value = 0 exist. It means that the results of LPSO-API and PSO-API algorithm statistically significantly outperform that of the PSO and LPSO algorithm. Also, by comparing the number of h-value = 1 with 20, 30, 50 dimensions' problems, we can seen that the higher the dimension, the larger the number of h-value = 1 of LPSO-API algorithm and PSO-API algorithm. It illustrates that the LPSO-API algorithm and PSO-API algorithm perform better on high-dimension problem than low-dimension problem to some degree. From the above analysis, the proposed strategy of using all personal-best information is valid and efficient for solving most optimization problems, especially in high dimensions.
Six representative benchmark problems, two unimodal problems f 1 (x) and f 5 (x), two multimodal problems f 7 (x) and f 11 (x), a rotated problems f 14 (x), a shifted problems f 18 (x) are chosen for describing the process of fitness evolution. The evolutions of average fitness on these six problems are shown in Figs. 4a-f, 5a-f, 6a-f, respectively. Note that it is the logarithm of average fitness on vertical axis. It is clearly seen from these figures that PSO-API algorithm and LPSO-API algorithm obtain better solution with a fast convergence speed.

Comparison experiments with other PSO variants
In recent literatures, various PSO algorithms are also developed and perform well on numerical experiments. To compare with these PSO algorithms, eight PSO variants (PSO-cf (Kennedy and Mendes 2002), FIPS (Mendes et al. 2004), HPSO-TVAC (Ratnaweera et al. 2004), VPSO (Kennedy and Mendes 2006), DMS-PSO , CLPSO (Liang et al. 2006) and APSO (Zhan et al. 2009) are introduced to optimize ten benchmark functions, which are f 1 (x), f 2 (x), f 3 (x), f 5 (x), f 6 (x), f 7 (x), f 8 (x), f 9 (x), f 10 (x) and f 12 (x) in section "Test benchmark functions". Table 2 shows their parameters settings and their results are from the corresponding paper (Zhan et al. 2009). The  Table 3 in terms of average best fitness (Best) and standard deviation (SD), rank (Rank), average rank (AR) and final rank (FR) of average best fitness. Note that the best results for each benchmark function are marked in bold in Table 3. From Table 3, the data of Rank demonstrates that PSO-API algorithm obtains best results on f 1 (x), f 2 (x), f 3 (x), f 5 (x), f 7 (x), f 8 (x), f 9 (x), f 10 (x) and performs worst on f 6 (x) and f 12 (x). Table 3 also shows FR obtained by PSO-API algorithms is better than that obtained by other eight PSO variants. It can be concluded that PSO-API algorithm has the highest comprehensive performance among them. Consequently, the comparisons indicate that PSO-API algorithm has the best overall performance over several existing PSO variants and is an effective method for solving a variety of optimization problems. Time complexity of algorithm also should be considered and a computational experiment of six PSO variants [PSO-cf (Kennedy and Mendes 2002), FIPS (Mendes et al. 2004), DMS-PSO , CLPSO (Liang et al. 2006), LPSO (Shi and Eberhart 1998c) and PSO-API] is performed over 20 independent runs and the execution times of these algorithms are compared. In the experiment, parameters sittings of these algorithms are the same as Table 2. The population, dimension and generations are 20, 30 and 3000, respectively. Table 4 lists CPU times (in seconds) of six PSO algorithms. In Table 4, ' AV(CPU)' and 'Rank' stand for the average CPU time over 20 runs and the ascending order of each ' AV(CPU)' , respectively. ' AR' and 'FR' stand for the average rank of Rank and the ascending order of AR, respectively.
From Rank of LPSO and PSO-API algorithm, we can conclude that our proposed policy adding to the original PSO increases the computational time. In Table 4, AR reflects comprehensive time-consuming order of the algorithm for twenty benchmarks. From  Table 4, the value of AR for PSO-cf and LPSO are smallest among all six algorithms. It illustrates that PSO-cf and LPSO, which are better than our proposed algorithm, have the best CPU time. The value of ' AR' for PSO-API algorithm and CLPSO are highly close to each other and it demonstrates that they have similar overall time consumption. The value of ' AR' for PSO-cf and LPSO are '4.7' and '5.45' , which are both worse than PSO-API algorithm. From the value of 'FR' , although PSO-API algorithm only ranks four, it is worthy of spending time to improve the accuracy of PSO algorithm. It is clear from the above comparisons of the accuracy and time consumption that PSO-API algorithm has a good overall balance between the performance and time complexity.

Comparisons experiments with similar PSO algorithms
In order to compare with FSS (Carmelo Filho et al. 2008) and CenterPSO (Liu et al. 2007), several experiments are carried out in this section. To compare with FSS algorithm, the    Population size of PSO-API sets as 30. 30 runs are conducted for each problem and each run will perform 1 × 10 4 generations. To compare with CenterPSO algorithm, the experiments settings are as follows: Three benchmarks f 7 (x), f 10 (x), f 21 (x) with 30 dimensions are used. The generations is 2000. The population has four sizes of 20, 40, 80, 160. Each experiment will perform 100 runs. Average best fitness (Avg. best fitness) and standard deviation (SD) of PSO-API, FSS and CenterPSO are presented in Tables 5 and  6. It's worth noting that the better results are marked in bold in Tables 5 and 6.

Conclusions
In this work, to make full use of multi-information characteristics of all personal-best information, an improved PSO algorithm using three positions with all personal-best information has been adopted to enhance the performance. In proposed algorithm, an improved cognition term using the personal-best position, the centroid position and the median position is introduced in velocity update process of PSO. To validate this strategy, a set of benchmark functions including unimodal, multimodal, rotated and shifted benchmark functions with 20, 30 and 50 dimensions have been optimized. Experimental results show that the strategy using multi-information characteristics of all personal-best information is a valid strategy for the purposes of improving the PSO's performance. Moreover, PSO-API algorithm has also been used to compare with several PSO variants and some similar algorithms of the proposed algorithm. Numerical results show that the PSO-API algorithm has higher precision and satisfied performance. To sum up, the proposed strategy enhances the search ability of PSO and PSO-API algorithm is an efficient PSO variant to obtain promising solution for most of benchmark functions.
Authors' contributions S.H. carried out the study, collected data, designed the experiments, implemented the simulation, analyzed data and wrote the main manuscript. N.T. provided some intellectual information and revised the manuscript. Y.W. gave technical support and helped to the design of the study. Z.J. made the general supervision of the research. All authors read and approved the final manuscript.  Avg. best fitness/SD 0.000e+000/0.000e+000 1.338e+001/4.005e+000 f 9 (x)