A novel phase performance evaluation method for particle swarm optimization algorithms using velocity-based state estimation

A novel phase performance evaluation method for particle swarm optimization algorithms using velocity-based state estimation

Applied Soft Computing 57 (2017) 517–525 Contents lists available at ScienceDirect Applied Soft Computing journal homepage: www.elsevier.com/locate/...

2MB Sizes 0 Downloads 66 Views

Applied Soft Computing 57 (2017) 517–525

Contents lists available at ScienceDirect

Applied Soft Computing journal homepage: www.elsevier.com/locate/asoc

A novel phase performance evaluation method for particle swarm optimization algorithms using velocity-based state estimation Jun Yan, Weixiong He ∗ , Xunlin Jiang, Zhanliang Zhang Field Engineering College, PLA University of Science and Technology, Nanjing, PR China

a r t i c l e

i n f o

Article history: Received 26 October 2016 Received in revised form 28 March 2017 Accepted 13 April 2017 Available online 24 April 2017 Keywords: PSO Velocity-based state estimation Phase performance evaluation

a b s t r a c t The searching process of particle swarm optimizations (PSO) includes four states: exploration, exploitation, convergence and jump-out. Performance information of each state is essential to learn the characteristics of different algorithms as well as to improve their performances. To this end, this paper discusses a novel performance evaluation method of each phase in PSOs. Firstly, we propose a velocity-based state estimation (VSE) method, which can estimate the real-time state of PSO variants with less computation. Subsequently, we provide a phase performance evaluation based on VSE, which includes phase identification, two kinds of phase performance indicators and ranking method. Finally, we design hybrid algorithm experiments, to compare phase performance of six main PSO algorithms, and the phase replacement experiments is used to verify the experimental results. © 2017 Elsevier B.V. All rights reserved.

1. Introduction Since particle swarm optimization (PSO) algorithm has been proposed in 1995 [1], it has become an efficient method for searching approximate optimal solution due to its simplicity compared with other evolutionary algorithms [2], e.g. genetic algorithm(GA) [3], differential evolution (DE) [4] and biogeography based optimization (BBO) [5]. PSO algorithm inspired from bird foraging has become a new method, which relies on a simple velocity update rules to make the particles move. It has better ability to find the global optimum solution [6] with good performance in both unimodal and multi-modal problems [7]. However, the standard PSO algorithm is easy to premature and fall into local optimal. In order to overcome this shortcoming, many scholars have studied various mechanisms to improve the PSO algorithms, which includes the parameter adaption [8,9], topology variations [10], learning schemes [11,12] and sub-swarms [13–15]. PSO is widely used in the related fields of computational science and applied mathematics, such as artificial neural network training [16,17], business optimization [18]. In the field of optimization, numerous variants of PSO algorithms have been proposed and evaluation between different algorithms has become a hot research direction. Researchers test algorithms on benchmark functions and compare the results to

∗ Corresponding author. E-mail address: [email protected] (W. He). http://dx.doi.org/10.1016/j.asoc.2017.04.035 1568-4946/© 2017 Elsevier B.V. All rights reserved.

learn which algorithms have better offline performances [19,20]. However, this information is not sufficient to help us improve the algorithms or choose algorithm to apply in the hybrid algorithm, and more detailed performance data is needed. Different with other evolutionary algorithms, PSO usually experiences the phases of exploration, exploitation and convergence during the optimization process [21], optimal parameters and strategies of each phase of PSO is different. For example, PSO needs a large inertia weight w and a small global learning factor c2 for wide exploration and diversity of particles in the exploration phase [22]. Similarly, different PSO variants may be more suitable for certain phase. Therefore, the purpose of this paper is to propose an evaluation method that contemplates the performance in every phases to provide detail information about PSO variants. In order to distinguish different phases of PSOs during the optimization process, velocity-based state estimation (VSE) is firstly proposed in this paper, which can estimate the evolutionary state of particles population by the velocity. Then, phase identification method is presented based on VSE. Meanwhile, two phase evaluation indicators and ranking method are introduced to evaluate the performance in certain phase. The phase evaluation method reveals the phase performance and characteristics of the algorithm, which can be verified by the phase replacement experiments. The rest of the paper is organized as follows. Section 2 briefly describes the related work. Section 3 presents the VSE approach in detail. Section 4 proposes the phase identification, two phase evaluation indicators and ranking method. Section 5 presents phase evaluation experiment of six PSO algorithms, phase replacement experiments

518

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525

Fig. 1. The change of population distribution at different vall : (a) 3-D map for 2-D Weierstrass function, (b) Population distribution when vall /Vini = 0.9, (c) Distribution when vall /Vini = 0.7, (d) Distribution when vall /Vini = 0.5, (e) Distribution when vall /Vini = 0.3, (f) Distribution when vall /Vini = 0.1.

and discussions. Finally, Section 6 presents the conclusions and suggests some directions of future work. 2. Related work 2.1. PSO framework In PSO algorithm, each particle is represented as a potential solution, and particles achieve global optimum by moving their position in a D-dimension search space. The velocity vi and the position xi are updated as follows: v i (t + 1) = v i (t) + c1 r1 (pi − xi ) + c2 r2 (g − xi )

(1)

xi (t + 1) = xi (t) + v i (t)

(2)

where xi = (xi1 , xi2 , . . ., xiD ) is the position of the ith particle, v i = (vi1 , vi2 , . . ., viD ) is the velocity of particle i, t represents the generation number, c1 and c2 are local and global learning factors respectively, r1 , r2 are random numbers between [0,1], pi (also express as pbesti ) stands as the previous best position for the particle i, g (also express as gbest) is the global best position found so far in the entire swarm. The particle position is updeted by Eq. (2). Added with an inertia weight factor w, the algorithm can have a better control over the search scope, and can achieve better results in the application of certain issues [23], and the particle velocity is adjusted to: v i (t + 1) = w · v i (t) + c1 r1 (pi − xi ) + c2 r2 (g − xi )

(3)

2.2. Performance evaluation methods There are two common methods to evaluate algorithm performance so far. One is to test the results of algorithm on benchmark functions until algorithm reach the prepared maximum iteration,

and then to learn offline performance of algorithms on certain functions. For example, N. Hansen el. tested 11 kinds of evolutionary algorithm on CEC benchmark functions [24], A. Al-Dujaili el. performed experiments about eight kinds of PSO variants on benchmark functions for performance comparison [7]. The other one is to combine different PSO modifications to find better PSO variants. For example, M. Jakubcováel. combined three distributions of the population and nine types of inertia weight to 27 PSO variants [25]. B. Qi and F. Shen formed five different algorithms with combination of different factors c1 and c2 [26].

2.3. Evolutionary state estimation Evolutionary State Estimation (ESE) is a method used to estimate the state of evolutionary algorithms in real time. It is important because the requirement of each state is different. In PSO algorithm, a successful search process usually consists of the following states [21]. At first, particles search in the problem space in large scale, and then update the global best particle with mutual comparison of fitness value, which is called the state of exploration. After finding a relatively stable global best position, particles gradually gathered to the position for local search, and we call it exploitation. If global best position is very close to the global optimal solution, particles will continue to search in the region and converge to the global optimum, and this state is called convergence. Otherwise, if particles fall into a local optimal region, they may find better area with the random perturbation, to jump out of the local optimum to search the new region, and this state is called jump-out. J. Zhang et al. firstly propose ESE in the GA [27]. Subsequently, Z.H. Zhan et al. applied it in PSO due to PSO and GA are both evolutionary algorithm [28]. This method is to cluster all particles into three groups by K-means clustering algorithm according to Euclidean distance, and estimate the evolutionary state by judging

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525

the global best and worst particle in different group. Based on this, Zhan Z. extended the method, and calculated the distance between every two particles to get evolutionary factor (all details in Ref. [21]). In most cases, the evolutionary state can be roughly estimated by the above methods. However, these approaches still bear obvious defects, which are mainly lied in the following aspects. Firstly, those methods need great amount of calculation. Whether to use K-means clustering or the distance between every particle, the complexity of the calculation increases exponentially with the number of particles. Secondly, gbest particle are used in both methods. As a result, the methods above cannot be used in cognitive-only model in the PSO variants, because the gbest particle is not included. 3. Velocity-based state estimation 3.1. Investigation of particles behavior and velocity

v i (t + 1) =  · (v i (t) + c1 r1 (pi − xi ) + c2 r2 (g − xi ))

(4)

According to Clerc’s simplification of the system [29], the above formula can be compressed into the following equivalent form: v i (t + 1) =  · (v i (t) + c (pm − xi ))

(5)

c1 r1 pi +c2 r2 g c1 r1 +c2 r2 . From the above formula, the

where c = c1 r1 + c2 r2 , pm = movement of each particle is the process of getting close to pm , and pm is called target position. When the population distribution is scattered, it shows that the current position of the particle xi is far from the target position pm , and the value of pm − xi is large. Those lead to the increase of velocity v i (t + 1). Similarly, in the exploitation state, particles are around the position pm for local search and the value of pm − xi is small. Those lead to the decrease of v i (t + 1) in some degree. In order to calculate the particles velocity comprehensively, the average velocity of all particles vall is introduced:

vall

1 N = N i=1



Dim

v2 d=1 id

Fig. 2. The framework of VSE.

population distribution is more scattered. As a result, the particles have a great possibility to be in an exploration state. In the same way, a smaller vall shows that the population is very likely to be in an exploitation state. Therefore, in order to compare the relative size of vall , initial velocity Vini are introduced, which are determined by the median value of the vall in initial iterations. We use initial iteration of 3rd to 7th because it has good stability empirically, and then the Vini is defined as.



In general, estimating the evolutionary state is to identify the current search behavior of particles. It is known that the velocity v is equal to the search step by Eq. (2), v is big and search scope is large, vice versa. Moreover, the velocity v is also related to the particles population distribution. In PSO, the velocity iteration Eq. (3) can be converted to the following form:

(6)

where vid is the velocity particle i in dth dimension, Dim is the dimension number of problem space, N is the particles number. vtall is defined as average velocity of all particles in tth generation. In calculating the velocity of single particle, r1 and r2 are two random numbers. Obviously, if r1 and r2 are gained small values randomly (e.g. 0.01), no matter how far from xi to gbest, the velocity vi is small. To prevent this case, we do not pay attention to the velocity of single particle, but take the velocity of all the particles into consideration and propose vall instead. There are two advantages of using vall . Firstly, vall can reduce the impact of random number on the velocities of particles. If there are more particles, r1 and r2 will get closer to the expectations. Secondly, we take the collective behavior into consideration when estimating the state, because PSO is a swarm intelligence (SI) algorithm. For example, there are 30 particles in total, and 28 particles are in local search around gbest while the other two particles are carrying out a global search in distance, this indicates that the population is now in the exploitation state. The velocity of all particles can be represented by vall . A larger vall indicates that most of the particles have larger search steps, and the

519



Vini = med vtall , t = 3, 4, . . ., 7

(7)

where med ( · ) denotes median of variables. Vini is the median vall in the initial iteration of 3th to 7th. The reason for using such approach is to get the initial velocity more accurately. During the initialization of the PSO, the velocity of each particle is often assigned random numbers, and we use the median value after initial two iterations to avoid getting random value. Obviously, vall /Vini can represent the relative size of vall . The following tests are performed on the 2-dimension multi-modal Weierstrass function [30] with the standard PSO algorithm of 30 particles. The vall /Vini is traced on each generation. The population of particles are shown in Fig. 1 when vall /Vini = 0.9, 0.7, 0.5, 0.3, 0.1. As seen in Fig. 1, with the decrease of vall , the population distribution is gradually convergent to the gbest, It also implies that we can estimate the state with vall /Vini . 3.2. VSE The proposed VSE method is further discussed in this section. As seen in Fig. 2, the framework of VSE is illustrated. The main problem is how to use vall /Vini to estimate the evolutionary state of PSO. Four cases of vall /Vini can be concluded in estimating the evolutionary state where 1 ,2 ,3 are the thresholds of exploitation state, convergence state and jump-out state, respectively (3 > 1 > 2 ). The evolutionary states are shown as follow. Case (a): vall /Vini > 1 . The larger vall means larger step size of particles. For most particles, the current position xi is far from the target position pm , and the population distribution is more dispersed. In this case, the PSO is more likely to be in the state of exploration. Case (b): 1 ≥ vall /Vini > 2 . The average velocity of particles is small but not tiny. It means that moving distance of particles is short at each generation. For most particles, there is a short distance between current position xi and the target position pm , and the population distribution is more concentrated. In this case, the PSO is more likely to be in the state of exploitation. Case (c): vall /Vini ≤ 2 . The velocity of the particles is tiny, and the moving distance of particles is very short at each generation. The current position xi and the target position pm almost overlap, and the population distribution is very concentrated. In this case, the PSO is more likely to be in the state of convergence. /Vini > 3 . If the average particle Case (d): vtall /Vini ≤ 1 ,vt+1 all velocity is less than 1 , it means the population is more likely to be in the exploitation or convergence state in tth generation. However, the pm has been greatly changed in the next generation because that the new better position is found by particles. Positions of particles have a large-scale change, and moving distance of particles is

520

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525

Fig. 3. the changes of vall /Vini.

Fig. 4. Results of indicators stability test.

larger at the same time. As a result, vall increases dramatically, and the PSO is more likely to be in the state of jump-out. It is worth noted that the divisions of four evolutionary states are not strictly defined. A larger vall /Vini indicates it is more likely to be in an exploration state, and a smaller vall /Vini means the possibility of exploitation or convergence state is higher. In order to verify feasibility of the method. A time-varying 2-D sphere function is used to fully show the four states: f (x, r) = (x1 + r)2 + (x2 + r)2

Table 1 The corresponding conditions of four evolutionary state and vall /Vini. average velocity

condition

evolutionary state

large small small then larger tiny

vall /Vini > 0.1 0.1 ≥ vall /Vini > 0.005 vtall /Vini ≤ 0.1, vt+1 /Vini > 0.2 all vall /Vini ≤ 0.005

exploration state exploitation state jump-out state convergence state

(8)

When the generation of PSO is less than 200, r = − 10 and global optimum is (10, 10). When the generation of PSO is greater or equal to 200, r = 10 and the global optimum is (−10, −10). Obviously, the particle swarm should jump out from local optimal when t = 200. vall /Vini is tracked as shown in Fig. 3. As seen in Fig. 3, the vall decreases with oscillation and PSO gradually changes from exploration state to exploitation state when generation is less than 200. When generation reaches to 200, the change of r makes the global optimum changes. At this time, particles jump out from the local optimum and the vall increases dramatically. As the generation proceeds, the particles converge gradually.

With repeated experiments on different functions, we set 1 = 0.1,2 = 0.005,3 = 0.2 empirically. The corresponding conditions of four evolutionary state and vall /Vini are shown in Table 1. From the analysis above, we can tell the advantages of VSE are less computation and well-targeted. On one hand, the calculation of vall needs to use the existing velocity in PSO and calculate Euclidean distance once only. On the other hand, vall directly determines the particle’s search behavior, and it represents the distribution of particles population. In addition, the VSE does not need gbest and it can be used in cognitive-only model of PSO. Therefore, VSE can be used in most PSO variants, as long as they use the velocity formula for iteration.

0

0 [−50,50]n

0 [−600,600]n

n

0 [−32,32]n

0

−12569

[−50,50]

[−5.12,5.12]

n

0

[−500,500]n

0 [−100,100]

[−1.28,1.28]n

0

0

n

[−30,30]n

[−100,100]

0

n

0

[−100,100]

0

[−10,10]n

n

target

[−100,100]n

30

30

i=1

1 + sin (3xi ) + (xn − 1) 1 + sin (2xn ) i=1

 n

f11 (x) =

f12 (x) =

f13 (x) = 0.1

Griewank Function

Penalized Functions 1

Penalized Functions 2

Ackley’s Function

Rastrigin’s Function

Schwefel’s Problem 2.26

Quartic Function

Step Function

1 4000

n

xi2 −

n

sin (3x1 ) +

cos

xi



(xi − 1)

+1

i=1 n 2 f6 (x) = (|xi + 0.5|) i=1 n 2 f7 (x) = i · xi + rand()   i=1 n f8 (x) = −xi sin |xi | i=1  n  2 f9 (x) = x − 10 cos (2xi ) + 10 i=1 i  n  1 n  1 −0.2 x2 n cos(2xi ) i=1 i n i=1 f10 (x) = −20 · e − e + 20 + e   

n−1

Rosenbrock’s Function

Schwefel Problem 2.21

f5 (x) =

i=1

Schwefel Problem 1.2

Schwefel Problem 2.22

f3 (x) =

n

i

xj

100 xi+1 − xi2

 j=1  f4 (x) = max |xi |, 1 ≤ i ≤ n  2 

+ (xi − 1)2

+

i=1

i=12  n−1 i 2  n 2 10sin (yi ) + u (xi , 10, 100, 4) (yi − 1) 1 + 10sin2 (yi+1 ) + (yn − 1) + i=1

2     i=1  n−1 n 2 2 2

u (xi , 5, 100, 4)

30

30

30

30

30

30

30

30

30

30

n 2 xi i=1 n n f2 (x) = |xi | + |xi | i=1  i=1   2

function

f1 (x) = Sphere

name

Table 2 Set of benchmark functions.

521

Fig. 5. An example of ranking method. Four methods (a, b, c, d) run on three benchmark functions (f1 , f2 , f3 ). The rank table is made and get the average rank of each methods. From the results, method b has the best performance that ranks in 1st, 2rd, 1 st in f1 , f2 , f3 .

4. Phase performance evaluation 30

dimension

range

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525

4.1. Phase identification PSO is a kind of evolutionary algorithm, and its search process is carried out like “exploration—exploitation—convergence”. Therefore, we can divide the whole search process into three phases, and jump-out is interspersed throughout the process. Similarly, the optimal parameters and strategies are not the same at different phase of the algorithm [28]. If the phase of PSO can be identified, we can compare the phase performance of algorithms and get detail information about PSO variants. As mentioned above, VSE can estimate the real-time states of PSO. However, how to use it to identify the phase of PSO during the optimization process? In order to solve this problem, the 3C (Critical Condition satisfied Continuously) principle is adopted. The 3C principle is that if vall meets the critical conditions of next phase c iterations continuously (c=3, empirically), PSO enter the next phase, otherwise algorithm stay in the original phase. For example, PSO is in the exploration phase currently, if particles meet 0.1 ≥ vall /Vini > 0.005 in consecutive iterations, algorithm enters into the exploitation phase. The reason why adopting 3C principle is that vall decreases with oscillation, and reaching critical condition only once may be the normal fluctuations of the particles. 4.2. Evaluation indicators In order to evaluate the performance of different phase, we introduce two evaluation indicators, which represents the offline performance in phase and the ability to escape from local optimal, respectively. The two evaluation indicators are illustrated as follows. 4.2.1. Phase optimization value (POV) The fitness of gbest is directly related to the performance of the PSO, so the phase optimization value is introduced. In minimizing the objective function, phase optimization value is the decline of the gbest’s fitness value from begin to end in the phase. The smaller the phase optimization value is, the better algorithm performance is. Let gbest1 is the fitness of gbest in the beginning of phase, and gbest2 is the fitness of gbest in the end. The phase optimization value is log10 (gbest2 )- log10 (gbest1 ). 4.2.2. Jump-out count (JOC) This is an accumulator for recording the times of jump-out. Unlike exploration or exploitation phase, the jump-out state is always a short time movement. However, the occurrence of jumpout will be repeatedly considered due to oscillation of particles. To prevent this, 50 iterations is set as a cycle in the calculation process, and jump-out counts only once in the same cycle.

522

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525

Fig. 6. results of evaluation in different phase: (a) phase optimization value in the exploration phase, (b) phase optimization value in the exploitation phase, (c) phase optimization value in the convergence phase, (d) jump-out count. The X-axis is the test functions, and the Y-axis are the average value of 50 tests.

The Phase optimization value can be used to measure the performance of the PSO variants in exploration, exploitation and convergence phase. In addition, jump-out count is used to measure the ability of the particles jumping out of local optimum. PSO is a random search optimization algorithm, so the recognized offline performance indicator is quite different in several times with the same algorithm on the same test function. In most cases, the indicator is acceptable as long as it is relatively stable. Therefore, the stability of the above-mentioned indicators will be tested, to ensure that they do represent the performance and characteristics of the algorithm in phase. Tested algorithm is a standard PSO with a budget of 2 × 104 function evaluations, where the number of particles is set to 20, w = 0.71, c1 = c2 = 1.4, and neighborhood topology is ring structure. Benchmark functions are set as shown in Table 2, mainly in unimodal and multimodal high-dimensional problem. The standard PSO has been tested on the first ten benchmark functions 20 times. It is worth noted that we measure the phase optimization value, jump-out count and offline performance in the same running process to eliminate the difference between the settings and random values on the impact of the experiment. The results are shown in Fig. 4. In order to evaluate the degree of dispersion of each indicators, we mainly focus on the |CV| (Coefficient of Variance), in which the greater |CV| means worse stability. |CV | = |/|

(9)

According to the results, the stability of the two kinds of test indicators introduced in this paper can represent the performance of the PSO algorithm in certain phase. 4.3. Ranking method Noted that there are numbers of algorithms running on benchmark functions during the evaluation. In the comparison of algorithm performance, the average ranking method is used. This method is inspired by the Friedman Test [31], which is a nonparametric statistical test developed by Milton Friedman. The following steps process the results after phase evaluation. Step 1: make a rank table. Step 2: Sum ranks of the factor that you want to test and get the average value. An example is shown in Fig. 5, which includes three benchmark functions and four methods. The more forward the average rank is, the better the performances are. 5. Experiments and discussion In this section, we design experiments to illustrate the effectiveness of phase evaluation method. At first, six PSO algorithms are evaluated by proposed method. Secondly, the ranking method is used to analysis the results. Finally, hybrid algorithm experiments are designed to validate the method and more details are discussed. 5.1. Evaluation and results analysis

where  is standard deviation and  is mean value. Generally, the stability of phase optimization value (average |CV| = 0.089, 0.37, 0.564) is almost identical to the jump-out count (average |CV| = 0.53), and the stability of two indicators proposed are better than the recognized offline performance indicators (average |CV| = 1.495).

Six main PSO algorithms for the phase performance evaluation are standard PSO, FIPSO, CPSO, CLPSO, aiwPSO and barebones PSO. The description of each algorithm is shown in Table 3. The above six algorithms are run 50 times on the benchmark functions with a budget of 2 × 104 function evaluations, and all the

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525

523

Table 3 PSO variants in this paper. PSO variants

Description

Standard PSO FIPSO [32] CPSO [33] CLPSO [34] aiwPSO [8] barebones PSO [35]

the classical algorithm, a population of candidate solutions mimics the collective behavior of bird swarm. introduces a novel update mechanism through weighted sum average of all the particles instead of gbest. By using multiple swarms to optimize different components of the solution vector cooperatively. Cognitive-only model, particles learn from any better performing particle. introduces a new adaptive inertia weight w approach which uses the success rate of the swarm. introduces a novel velocity update mechanism through an approximate normal distribution.

Table 4 Average ranking of PSO variants in phase performance. indicators

phase/state

PSO

FIPSO

CPSO

CLPSO

aiwPSO

barebones PSO

phase optimization value

exploration exploitation convergence jump-out

3.08 3.54 2.92 2.40

2.00 2.64 1.78 3.67

1.08 2.85 2.62 5.00

5.92 5.08 2.92 1.08

4.77 3.85 4.08 4.00

4.08 2.77 4.54 3.00

jump-out count

parameters of PSOs are set to standard values provided in their papers. The results of evaluation in different phase are shown in Fig. 6. It can be seen from Fig. 6(a) that the phase performances of algorithms are consistent on different benchmark functions. More specifically, CPSO is ranked 1st in 12 test functions of all 13 benchmark functions, and FIPSO is ranked 2nd in 10 functions during the exploration phase. The performances of PSOs in the exploitation and convergence phases are shown on Fig. 6(b) and (c). In general, the consistent of the phase performance on different functions still exists, but not as obvious as it is in the exploration phase. For example, the performance of CPSO ranks first in 6 functions, but fifth in 3 functions and sixth in 1 function. The main reason is the different of initial status. In the exploration phase, each algorithm has the same initial status, but it is quite different in the exploitation phase. In order to make the comparison between the algorithms accurately, we use the average ranking method for data processing, and the result is shown in Table 4. The algorithm that ranks first among six is shown in bold. From the average ranking point of view, CPSO has the best average rank value (1.08) in the exploration phase, and is significantly ahead of the second ranked FIPSO (average rank value is 2.0). In the exploitation phase, the average rank of FIPSO, barebones PSO and CPSO is less than 3, where FIPSO (average rank is 2.64) is at the first place with a small margin. In the convergence phase, FIPSO ranks first with an average rank value of 1.78. In the jump-out state, CLPSO ranks first and significantly ahead of the second PSO algorithm. It is worth noted that some algorithms have no jump-out count on several functions, because they do not have big change of velocity and cannot achieve the jump-out condition in the exploitation or convergence phase.

5.2. Validation In order to prove the validity of the phase evaluation results, we construct phase replacement experiment, which is a pair comparison of two algorithms. One is the original algorithm, and the other one is phase-replaced algorithm that replaces certain phase with the higher ranked algorithm while the other phases remain the same. If the results of evaluation are correct, then the performance of phase-replaced algorithm should be significantly better than the original algorithm. Therefore, three pairs of representative algorithms are selected and the setting of pair comparison experiments is shown in Table 5. Three experiments are designed to replace the original algorithms in the exploration, exploitation and convergence phase respectively. In addition, the difference of rank between original algorithm

and phase-replaced algorithm decreases progressively from Exp. 1 to Exp. 3. Table 6 presents the means of 50 runs of each algorithm on thirteen test functions and each result is taken the bottom 10 of the logarithm. All the parameters of PSOs in every phases are set to standard values provided in their papers. The results with more than one grade difference between two algorithms are shown in bold. As is shown in Table 6, the phase-replaced algorithms are significantly better than original algorithms among half of the benchmark functions, and almost the same as original algorithm in the other functions except one (f4 in Exp.1, f5 in Exp.2 and f3 in Exp.3). This fully shows that the performance of phase-replaced algorithms is better than original algorithm in certain phase. 6. Discussion In general, the phase evaluation results are consistent with the phase replacement experiments. We replace the original algorithm with a higher rank algorithm in a certain phase to improve the performance significantly. As is shown in Table 6, noted that the larger difference of average rank leads to higher performance gains. For example, the rank of CPSO is 1.08 and the rank of barebones PSO is 4.08 in Exp.1, so the difference between two algorithms is 3.0 (4.08-1.08). This difference leads to an improvement of more than 10 grade in f2 , f3 , f7 , f10 , f12 , f13 . In Exp.2, the difference between the aiwPSO and FIPSO is 1.21 (3.85-2.64) in the exploitation phase. There is a significant increase in 8 functions, but the improvement of more than 10 grade only exists in f7 , f13 . In Exp.3, the difference between FIPSO and CPSO are 0.84 (2.62-1.78), so only four benchmark functions are significantly better than the original algorithm, and no function has an improvement of more than 10 grade. Moreover, the algorithm characteristics are consistent with the original paper. For example, CLPSO is proved in [34] that it has remarkable ability to jump out from the local optimum since the comprehensive learning strategy and learning probability are introduced. As a result, CLPSO is the best in jump-out count from phase evaluation accordingly. From comprehensive comparison of the six PSO algorithms in different phase, the algorithms have the following characteristics: • CPSO performs best in the exploration phase, and well the exploitation phase • FIPSO performs well in the exploration, and best in the exploitation, convergence phase • CLPSO has the strongest ability to jump out of the local optimum

524

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525

Table 5 Design of the phase replacement experiments. The algorithm’s name below the phase means the algorithm is used in the phase, and the bold parts are the different between original algorithm and phase-replaced algorithm. The average rank of algorithm of the corresponding phase is in brackets. Exp.

algorithms

Methods used in different phase of the algorithm

original algorithm phase-replaced algorithm original algorithm phase-replaced algorithm original algorithm phase-replaced algorithm

Exp. 1 Exp. 2 Exp. 3

exploration phase

exploitation phase

convergence phase

barebones PSO(4.08) CPSO(1.08) aiwPSO aiwPSO CPSO CPSO

barebones PSO barebones PSO aiwPSO(3.85) FIPSO(2.64) CPSO CPSO

barebones PSO barebones PSO aiwPSO aiwPSO CPSO(2.62) FIPSO(1.78)

Table 6 Offline performance comparison of original algorithm and phase-replaced algorithm. Exp.

algorithms

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

Exp. 1

original algorithm phase-replaced algorithm

4.47 4.3

1 −108.48

3.88 −18.02

−5.73 0.02

0.3 1.21

−27.6 −31.91

−263.16 −300.33

3.55 3.27

2.02 1.58

0.58 −13.25

−1.76 −1.53

−1.24 −30.83

−2.26 −31.42

Exp. 2

original algorithm phase-replaced algorithm

3.48 2.02

−3.11 −5.41

1.82 0.78

0.57 −0.79

0.89 1.95

−28.13 −27.37

−158.26 −171.47

3.75 3.65

2.01 1.97

0.98 0.06

-0.91 −2.13

−0.05 −1.93

−0.4 −21.89

Exp. 3

original algorithm phase-replaced algorithm

4.35 4.34

−50.43 −68.3

−33.38 −8.91

-2.03 -3.64

1.04 1.19

−300 −300

−198.68 −200.55

3.36 3.3

1.61 1.6

−13.69 −14.21

−1.53 −1.57

−30.85 −30.85

−31.87 −31.87

From the evaluation results, all the better PSO variants have a common point that they directly change the value of one or more dimensions on the gbest or pbest particle. CPSO uses the cooperative learning technique, which splits n-dimensional vector into K parts and uses one part replace the same dimension of gbest, and it performs best in the exploration phase. FIPSO performs best in the exploitation and convergence phase, it uses the fully informed particle instead of pm , where each dimension of the fully informed particle is constructed by randomly weighting the same dimension of all pbest. Comprehensive learning strategy is introduced by CLPSO, which compares the pbest of two particles randomly and selects one dimension of better pbest to replace the worse one. From this point of view, CPSO has the greatest degree of changing in dimensions. It replaces a part of the dimensions each time and is suitable for exploitation phase. In comparison, the change of FIPSO and CLPSO are relatively small. FIPSO will reduce the change of dimension with the increase of the similarity of all pbest, and is suitable for exploitation and convergence phase. CLPSO will randomly replace one dimension, and it is suitable for jumping out from local optimum. It implies that in order to improve the performance of PSOs, one possible way is to modify the value of dimensions of gbest or pbest by descending order. The common method to modify the value of dimensions is to replace or average the other particles.

7. Conclusion This paper provides a new perspective for the evaluation of PSO variants in order to get detail information during the optimization process. For the first time we propose VSE method, which can estimate the real-time state of PSO variants with flexibility and less computation. Then, we present phase evaluation approach based on VSE, which includes phase identification method, two kinds of phase performance indicators and ranking method. Finally, we design hybrid algorithm experiments to verify the evaluation approach. In our study, the phase evaluation method is feasible as long as the PSO variants use the velocity formula for iteration. The approach proposed can provide us all phase performance of PSOs, which plays an important role in understanding the characteristics of different algorithms and choosing appropriate strategies to improve the performance. It can be expected that the phase performance evaluation

method will bring a certain impact on the overall evaluation of the algorithm, and the future work will focus on the study of adaptive phase identification method and application to other swarm intelligence algorithms. References [1] R.C. Eberhart, J. Kennedy, et al., A new optimizer using particle swarm theory, in: Proceedings of the Sixth International Symposium on Micro Machine and Human Science, New York, NY, 1995, pp. 39–43 (Vol. 1). [2] R. Poli, J. Kennedy, T. Blackwell, Particle swarm optimization, Swarm Intell. 1 (1) (2007) 33–57. [3] H. John Holland, Adaptation in Natural and Artificial Systems, 6, MIT Press, 1992, pp. 126–137 (2). [4] R. Storn, K. Price, Differential evolution-a simple and efficient heuristic for global optimization over continuous spaces, J. Glob. Optim. 11 (4) (1997) 341–359. [5] Y.J. Zheng, H.F. Ling, X.B. Wu, J.Y. Xue, Localized biogeography based optimization, Soft Comput. 18 (11) (2014) 2323–2334. [6] W. Deng, R. Chen, B. He, Y. Liu, L. Yin, J. Guo, A novel two-stage hybrid swarm intelligence optimization al-gorithm and application, Soft Comput. 16 (10) (2012) 1707–1722. [7] A. Al-Dujaili, M. Tanweer, S. Suresh, De vs. pso: a performance assessment for expensive problems, in: Computational Intelligence, 2015 IEEE Symposium Series On, IEEE, 2015, pp. 1711–1718. [8] A. Nickabadi, M.M. Ebadzadeh, R. Safabakhsh, A novel particle swarm optimization algorithm with adap-tive inertia weight, Appl. Soft Comput. 11 (4) (2011) 3658–3670. [9] Y.-J. Zheng, H.-F. Ling, Q. Guan, Adaptive Parameters for a Modified Comprehensive Learning Particle Swarm Optimizer, Mathematical Problems in Engineering, 2012. [10] W.H. Lim, N.A.M. Isa, Particle swarm optimization with adaptive time-varying topology connectivity, Appl. Soft Comput. 24 (2014) 623–642. [11] Y. Tang, Z. Wang, J. Fang, Feedback learning particle swarm optimization, Appl. Soft Comput. 11 (8) (2011) 4713–4725. [12] G.S. Piperagkas, G. Georgoulas, K.E. Parsopoulos, C.D. Stylios, A.C. Likas, Integrating particle swarm optimization with reinforcement learning in noisy problems, Proceedings of the 14th Annual Conference on Genetic and Evolutionary Computation (2012) 65–72 (ACM). [13] X. Jiang, H. Ling, A new multi-objective particle swarm optimizer with fuzzy learning sub-swarms and self-adaptive parameters, Adv. Sci. Lett. 7 (1) (2012) 696–699. [14] X. Zhao, Z. Liu, X. Yang, A multi-swarm cooperative multistage perturbation guiding particle swarm optimizer, Appl. Soft Comput. 22 (5) (2014) 77–93. [15] X. Xu, Y. Tang, J. Li, C. Hua, X. Guan, Dynamic multi-swarm particle swarm optimizer with coop-erative learning strategy, Appl. Soft Comput. 29 (2015) 169–183. [16] M. Meissner, M. Schmuker, G. Schneider, G. Schneider, Optimized Particle Swarm Optimization (OPSO) and its application to artificial neural network training, BMC Bioinf. 7 (1) (2006) 1–11. [17] F. Valdez, P. Melin, O. Castillo, Modular Neural Networks architecture optimization with a new nature in-spired method using a fuzzy combination of Particle Swarm Optimization and Genetic Algorithms, Appl. Soft Comput. 270 (2014) 143–153.

J. Yan et al. / Applied Soft Computing 57 (2017) 517–525 [18] X.S. Yang, S. Deb, S. Fong, Accelerated particle swarm optimization and support vector machine for business optimization and applications, Commun. Comput. Inf. Sci. 136 (2012) 53–66. [19] T. Liao, T. Stutzle, Benchmark results for a simple hybrid algorithm on the CEC 2013 benchmark set for real-parameter optimization, Evol. Comput. (2013) 1938–1944. [20] M.R. Tanweer, S. Suresh, N. Sundararajan, Improved SRPSO algorithm for solving CEC 2015 computa-tionally expensive numerical optimization problems, Evol. Comput. (2015) 1943–1949. [21] Z. Zhan, J. Zhang, Adaptive particle swarm optimization, IEEE Trans. Syst. Man Cyber-netics Part B Cybern. A Publ. IEEE Syst. Man Cybern. Soc. 5579 (2011) 202–211. [22] R.C. Eberhart, Y. Shi, Comparing inertia weights and constriction factors in particle swarm optimization, Proceedings of the Congress on Evolutionary Computation (2000) 84–88 (1). [23] Y. Shi, R. Eberhart, Modified Particle Swarm Optimizer 1998 IEEE World Congress on Computational Intel-ligence, 1998, pp. 69–73. [24] N. Hansen, Compilation of Results on the 2005 CEC Benchmark Function Set, IEEE Congress on Evolu-tionary Computation, 2006. [25] M. Jakubcová, P. Máca, P. Pech, A comparison of selected modifications of the particle swarm optimiza-tion algorithm, J. Appl. Math. 3 (2014). [26] B. Qi, F. Shen, Performance comparison of partical swarm optimization variant models, Eleventh Interna-tional Conference on Information Technology: New Generations (2014) 575–580.

525

[27] J. Zhang, S.H. Chung, W.L. Lo, Clustering-based adaptive crossover and mutation probabilities for genetic algorithms, Evolut. Comput. IEEE Trans. (2007) 326–335. [28] Z.H. Zhan, J. Xiao, J. Zhang, W.N. Chen, Adaptive control of acceleration coefficients for particle swarm optimization based on clustering analysis, IEEE Congress on Evolutionary Computation 2007 (2007) 3276–3282. [29] M. Clerc, J. Kennedy, The particle swarm − explosion, stability, and convergence in a multidimensional complex space, IEEE Trans. Evol. Comput. 6 (2010) 58–73. [30] J.J. Liang, B.Y. Qu, P.N. Suganthan, Problem Definitions and Evaluation Criteria for the CEC 2014 Special Session and Competition on Single Objective Real-parameter Numerical Optimization, 2013. [31] D. Kerby, The simple difference formula: an approach to teaching nonparametric correlation, Compr. Psychol. 3 (2014). [32] R. Mendes, J. Kennedy, J. Neves, The fully informed particle swarm: simpler, maybe better, IEEE Trans-Actions Evolut. Comput. 8 (3) (2004) 204–210. [33] F. VandenBergh, A.P. Engelbrecht, A cooperative approach to particle swarm optimization, IEEE Trans. Evol. Comput. 8 (2004) 225–239. [34] J.J. Liang, A.K. Qin, P.N. Suganthan, S. Baskar, Comprehensive learning particle swarm optimizer for global optimization of multimodal functions, IEEE Trans. Evol. Comput. 10 (3) (2006) 281–295. [35] J. Kennedy, Bare bones particle swarms, 2003, Swarm Intelligence Symposium (2003) 80–87.