# An Improved Self-Adaptive PSO Algorithm with Detection Function for Multimodal Function Optimization Problems

Authors: YingChao Zhang; Xiong Xiong; QiDong Zhang
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

This paper presented an improved self-adaptive particle swarm optimization (IDPSO) algorithm with detection function to solve multimodal function optimization problems. To overcome the premature convergence of PSO in a short time, the evolution direction of each particle is redirected dynamically by tuning the three parameters of IDPSO in the evolution process. Numerical results on several benchmark functions indicate that the IDPSO strategy outperformed other variants of PSO.


---

## Body

## 1. Introduction

Particle swarm optimization (PSO), introduced by Kennedy and Eberhart [1, 2] in 1995, originates from the simulation of birds behavior and fish behavior. Essentially, PSO algorithm is a stochastic global optimization method to find the optimal or global optimum in the landscape of objective function, similar to other intelligent optimization algorithms, such as the mechanism of genetic algorithm (GA) and simulated annealing algorithm (SA). Compared with other evolutionary methods, PSO has an advantage of its implementation and the good tradeoff between exploration and exploitation ability [3–8]. The fundamental idea of PSO is inspired by research done on the behavior of bird flocking and is conducted by means of biological population model put forward by the biologist Heppner [9–11].PSO is inspired from this organism’s behavior characteristic and used to solve the optimization problem. In PSO, each potential solution to the optimization problem can be conceived as a point inN-dimensional search space; we call it “particles" [12, 13]. And all particles have an adaptive value determined by an objective function, and each particle has speed that determines the direction and distance for flying; then the particles search in the solution space following the optimal particles. Through the study of birds flying, scholars found that the birds only trail a limited number of their neighbours, but it seemed that the birds are in control of a certain range; that is to say, the complex global action is caused by the interaction of simple rules.PSO is an algorithm with simple structure, simple parameter setting, and fast convergence speed, which has been widely applied in function optimization, mathematical modeling, system control, and some other areas [14–18]. The research, which has been done since particle swarm optimization was proposed, mainly includes the following aspects:(i)
improvement of PSO,(ii)
theoretical analysis of PSO,(iii)
biological basis of PSO,(iv)
comparative analysis between PSO and other evolutionary algorithms,(v)
application of PSO.How to improve the convergence speed and how to guarantee the convergence of PSO are the main problems of PSO improvement [19] and are gradually turning into a hot topic in this field. In order to weigh the relationship between local search and global search, Shi et al. [20–22] proposed improved particle swarm optimization with inertial weight to control the exploitation and exploration of PSO better, and he also formed a topical improved particle swarm algorithm with inertia factor, which is called topical particle swarm optimization [23].The remainder of this paper is organized as follows. Section2 describes the basic PSO and presents the details of the proposed algorithm. Section 3 introduces the stability and convergence analysis of IDPSO and indicates stability and convergence regions. The parametric analysis for IDPSO is discussed in Section 4. Section 5 presents the test functions, the experimental setting for each algorithm, the results, and discussion. Finally, conclusions are given in Section 6.


## 2. Method

### 2.1. Basic Particle Swarm Optimization

The basic principle of particle swarm optimization [1, 2] is that each individual in the N-dimensional search space is considered as a particle with no weight and volume and that every particle flies at a certain speed; the quality of particle is measured by the fitness function,and particles can modify the speed dynamically according to the flying experience of themselves and other particles, in order to fly to the best position in the group. If Xi=(xi1,xi2,…,xin) is the current position of particle i, Vi=(vi1,vi2,…,vin) is the current speed, Pi=(pi1,pi2,…,pin) is the best position that particle i has visited, and Pg=(pg1,pg2,…,pgn) is the best positions that all particles have visited, then the speed and position of each particle i(1≤i≤N) for each generation are shown as follows:(1)vi(t+1)=ω·vi(t)+c1·rand()·(pi-xi(t))+c2·Rand()·(pg-xi(t)),(2)xi(t+1)=xi(t)+vi(t+1),
where ω is inertia weight, c1 and c2 are positive acceleration factors, and rand() and Rand() are random functions changing in the range of [0,1]. In (1), the first part is the previous speed of particles, the second part is cognition, which stands for particle’s own thinking, and the third part is social component, which represents the information sharing and cooperation of particles. The flight speed of particles is limited by the maximum and minimum speed of all particles. The PSO with larger inertia weight has a faster convergence speed and works well in global search, while the PSO with smaller inertia weight can reach a more accurate optimum value but only works well in local search [24].


### 2.2. Improved Particle Swarm Optimization

Researchers have shown that the three parametersω, c1, and c2 have a significant impact on performance of the algorithm, especially the impact of inertia weight. The impact is different on different conditions and is also different at different times under the same condition. Now dynamic inertia weight modification is used to train the appropriate value of ω, in order to coordinate between search accuracy and search speed. Usually, ω is modified gradually in descending within the limit of 0.8<ω<1.4 [20], so that search space can be changed steadily from the global to the local. Decreasing inertia weight particle swarm optimization is a topical algorithm, of which inertia weight ω decreases linearly from 0.9 to 0.4 [20–22]. Some scholars propose the increasing inertia weight particle swarm optimization of which inertia weight ω increases linearly from 0.4 to 0.9 [25]. The further development of these algorithms is fuzzy adaptive PSO, which optimizes the value of ω dynamically using adaptive fuzzy inertia weight controller and can solve many problems satisfactorily.However, the search process of PSO is a nonlinear complex process, where mechanical linear transformation ofω cannot achieve the accurate balance between local search and global search. Some researchers show that performance, when the inertia weight decreases gradually as the iteration proceeds, is not always better than when the inertia weight is at an appropriate fixed value.In this paper, a self-adapting particle swarm optimization is proposed, which introduces a detection functionφ(t)=|(pg-xi(t-1))/(pi-xi(t-1))|; pg-xi(t-1) is the Euclidean distance from the position Xi of particle i to the best position pg that all particles have passed at time t-1, and pi-xi(t-1) is the Euclidean distance from the position Xi of particle i to the best position pi that the particle i has passed at time t-1. The algorithm may adjust ω, c1, and c2 dynamically via the value of function φ(t), so that it can optimize dynamically by taking both global search and local search into account. The modification of inertia weight in the new algorithm is based on the variable sigmoid function. According to the different values of detection function, the inertia weight is decreasing irregularly in real time to find the optimum solution in a relatively short time and to reduce the time cost. The values of these two acceleration factors c1, c2 are modified dynamically in real time according to detection function φ(t).Improved PSO is shown as follows (it is called IDPSO):(3)vi(t+1)=ω(t)·vi(t)+c1(t)·rand()·(pi-xi(t))+c2(t)·Rand()·(pg-xi(t)),(4)ω(t)=ωinitial-ωfinal1+eφ(t)·(t-((1+ln(φ(t)))·Kmax)/μ)+ωfinal,(5)c1(t)=c1·φ-1(t),(6)c2(t)=c2·φ(t),
where ωinitial and ωfinal represent the initial value and the final value of ω, respectively (in (4), we can obtain that 0<ω<2.), Kmax is the maximum number of evolutionary generation, t is the current number of evolutionary generation, φ(t) is the detection function, and μ is an adjustment factor to ensure that ω, ωinitial, and ωfinal keep the reverse s change.


## 2.1. Basic Particle Swarm Optimization

The basic principle of particle swarm optimization [1, 2] is that each individual in the N-dimensional search space is considered as a particle with no weight and volume and that every particle flies at a certain speed; the quality of particle is measured by the fitness function,and particles can modify the speed dynamically according to the flying experience of themselves and other particles, in order to fly to the best position in the group. If Xi=(xi1,xi2,…,xin) is the current position of particle i, Vi=(vi1,vi2,…,vin) is the current speed, Pi=(pi1,pi2,…,pin) is the best position that particle i has visited, and Pg=(pg1,pg2,…,pgn) is the best positions that all particles have visited, then the speed and position of each particle i(1≤i≤N) for each generation are shown as follows:(1)vi(t+1)=ω·vi(t)+c1·rand()·(pi-xi(t))+c2·Rand()·(pg-xi(t)),(2)xi(t+1)=xi(t)+vi(t+1),
where ω is inertia weight, c1 and c2 are positive acceleration factors, and rand() and Rand() are random functions changing in the range of [0,1]. In (1), the first part is the previous speed of particles, the second part is cognition, which stands for particle’s own thinking, and the third part is social component, which represents the information sharing and cooperation of particles. The flight speed of particles is limited by the maximum and minimum speed of all particles. The PSO with larger inertia weight has a faster convergence speed and works well in global search, while the PSO with smaller inertia weight can reach a more accurate optimum value but only works well in local search [24].


## 2.2. Improved Particle Swarm Optimization

Researchers have shown that the three parametersω, c1, and c2 have a significant impact on performance of the algorithm, especially the impact of inertia weight. The impact is different on different conditions and is also different at different times under the same condition. Now dynamic inertia weight modification is used to train the appropriate value of ω, in order to coordinate between search accuracy and search speed. Usually, ω is modified gradually in descending within the limit of 0.8<ω<1.4 [20], so that search space can be changed steadily from the global to the local. Decreasing inertia weight particle swarm optimization is a topical algorithm, of which inertia weight ω decreases linearly from 0.9 to 0.4 [20–22]. Some scholars propose the increasing inertia weight particle swarm optimization of which inertia weight ω increases linearly from 0.4 to 0.9 [25]. The further development of these algorithms is fuzzy adaptive PSO, which optimizes the value of ω dynamically using adaptive fuzzy inertia weight controller and can solve many problems satisfactorily.However, the search process of PSO is a nonlinear complex process, where mechanical linear transformation ofω cannot achieve the accurate balance between local search and global search. Some researchers show that performance, when the inertia weight decreases gradually as the iteration proceeds, is not always better than when the inertia weight is at an appropriate fixed value.In this paper, a self-adapting particle swarm optimization is proposed, which introduces a detection functionφ(t)=|(pg-xi(t-1))/(pi-xi(t-1))|; pg-xi(t-1) is the Euclidean distance from the position Xi of particle i to the best position pg that all particles have passed at time t-1, and pi-xi(t-1) is the Euclidean distance from the position Xi of particle i to the best position pi that the particle i has passed at time t-1. The algorithm may adjust ω, c1, and c2 dynamically via the value of function φ(t), so that it can optimize dynamically by taking both global search and local search into account. The modification of inertia weight in the new algorithm is based on the variable sigmoid function. According to the different values of detection function, the inertia weight is decreasing irregularly in real time to find the optimum solution in a relatively short time and to reduce the time cost. The values of these two acceleration factors c1, c2 are modified dynamically in real time according to detection function φ(t).Improved PSO is shown as follows (it is called IDPSO):(3)vi(t+1)=ω(t)·vi(t)+c1(t)·rand()·(pi-xi(t))+c2(t)·Rand()·(pg-xi(t)),(4)ω(t)=ωinitial-ωfinal1+eφ(t)·(t-((1+ln(φ(t)))·Kmax)/μ)+ωfinal,(5)c1(t)=c1·φ-1(t),(6)c2(t)=c2·φ(t),
where ωinitial and ωfinal represent the initial value and the final value of ω, respectively (in (4), we can obtain that 0<ω<2.), Kmax is the maximum number of evolutionary generation, t is the current number of evolutionary generation, φ(t) is the detection function, and μ is an adjustment factor to ensure that ω, ωinitial, and ωfinal keep the reverse s change.


## 3. Stability and Convergence Analysis for IDPSO

Convergence analysis plays a great role in understanding the essence and convergence condition of PSO algorithm [26–30]. In this paper we reduce a multidimensional system to one-dimensional for discussion when we analyze the stability and convergence of IDPSO. This is decided by the independence of the multidimensional variables in IDPSO. In (3), (4), (5), and (6), ω is inertia weight, c1 and c2 are positive acceleration factors, and rand() and Rand() are random functions fluctuating in the range of [0,1]. Suppose that φ0=ω(t), φ1=c1(t)·rand() and  φ2=c2(t)·rand(); then we have
(7)vi(t+1)=φ0·vi(t)+φ1·(pi-xi(t))+φ2·(pg-xi(t)).By formula transformation, we have(8)vi(t+1)=φ0·vi(t)+(-φ1-φ2)·xi(t)+φ1·pi+φ2·pg.Taking (8) and (2) together, one obtains
(9)xi(t+1)=φ0·vi(t)+(1-φ1-φ2)·xi(t)+φ1·pi+φ2·pg,xi(t+1)=xi(t)+vi(t+1).Equation (9) can also be rewritten as the matrix form as follows:
(10)[vi(t+1)xi(t+1)]=[φ0-(φ1+φ2)φ01-(φ1+φ2)]·[vi(t)xi(t)]+[φ1φ2φ1φ2]·[pi(t)pg(t)].Here, the parametersφ0 and (φ1+φ2) are assumed to be constants. Then the IDPSO system is a linear time-invariant discrete system. When t→∞ and vi(t) and xi(t) approach fixed values, the necessary and sufficient condition for the IDPSO system reaching stability is that λ1, λ2 amplitudes should be less than one, where λ1, λ2 are the eigenvalues of the vector matrix [φ0-(φ1+φ2)φ01-(φ1+φ2)] and we obtain
(11)λ1,2=1+φ0-(φ1+φ2)±(φ1+φ2-φ0-1)2-4φ02.From (11), we will discuss the following three cases.(1)
When|φ1+φ2-φ0-1|>2φ0, λ1, λ2 are both real roots. For the IDPSO system to be stable, the amplitudes of the two real roots must be less than one; then we have
(12)-2φ0<1+φ0-(φ1+φ2)+(φ1+φ2-φ0-1)2-4φ0<2φ0,(13)-2φ0<1+φ0-(φ1+φ2)-(φ1+φ2-φ0-1)2-4φ0<2φ0.Combining (12) and (13), we obtain
(14)-2φ0<φ1+φ2-φ0-1<2φ0.It is obvious that the contradiction between (14) the assumption that |φ1+φ2-φ0-1|>2φ0, which leads to the system (10) being unstable.(2)
When|φ1+φ2-φ0-1|<2φ0, λ1, λ2 are both complex roots; their amplitude is
(15)ϑ=2(1+φ0-φ1-φ2)2-4φ02.It is clear that if2(1+φ0-φ1-φ2)2-4φ0/2<1, the system (10) is stable. Transforming the formula2(1+φ0-φ1-φ2)2-4φ0/2<1, we obtain
(16)1+φ0-2+2φ0<φ1+φ2<1+φ0+2+2φ0.Combining (16) and |φ1+φ2-φ0-1|<2φ0, we discuss the parameter φ0 section by section as follows:(i)
when0<φ0<1, we have
(17)0<φ1+φ2<1+φ0+2+2φ0;(ii)
when1≤φ0≤2, we obtain
(18)φ0-1<φ1+φ2<3+φ0.Then when|φ1+φ2-φ0-1|<2φ0 and if φ0, (φ1+φ2) satisfy the condition, as the shaded part shown in Figure 1, it will make the system (10) stable.(3)
When|φ1+φ2-φ0-1|=2φ0 and λ1=λ2=±φ0, the system (10) is stable.Figure 1
The stability region, when|φ1+φ2-φ0-1|<2φ0.From the above, we analyze the stability of IDPSO for the case of one-dimensional particles, which is also suitable for its convergence problem. In this case, we ignore the subscript ofvi and denote the local best position and global best position as pb and gb. By (2) and (7), we obtain
(19)v(t+2)=φ0·v(t+1)+φ1·(pb-x(t+1))+φ2·(gb-x(t+1)),(20)x(t+2)=x(t+1)+v(t+2).Combining (19) and (20), we obtain
(21)x(t+2)=x(t+1)+v(t+2)=x(t+1)+φ0·v(t+1)+φ1·(pb-x(t+1))+φ2·(gb-x(t+1))=(1-φ1-φ2)·x(t+1)+φ0·v(t+1)+φ1·pb+φ2·gb.According tox(t+1)=x(t)+v(t+1), we have
(22)x(t+2)=(1-φ1-φ2)·x(t+1)+φ0·v(t+1)+φ1·pb+φ2·gb=(1+φ0-φ1-φ2)·x(t+1)-φ0·x(t)+φ1·pb+φ2·gb.Obviously, (22) is a two-order constant coefficient homogeneous difference equation and its characteristic equation is
(23)λ2=(1+φ0-φ1-φ2)·λ-φ0.
And the solution of (23) is
(24)λ1,2=1+φ0-(φ1+φ2)±(φ1+φ2-φ0-1)2-4φ02.Then we have the following.(1)
When|φ1+φ2-φ0-1|>2φ0, λ1 and λ2 are both real roots:
(25)λ1=λ2=1+φ0-(φ1+φ2)±(φ1+φ2-φ0-1)2-4φ02.
Solving (22), we obtain
(26)x(t)=c-1·(φ1·pb+φ2·gb)+λ2·b1-b2λ2-λ1·λ1k+b2-λ1·b1λ2-λ1·λ2k,b1=x(0)-c·(φ1·pb+φ2·gb),b2=(1-c)·x(t)+φ0·v(0)+φ1·pb+φ2·gb-c·(φ1·pb+φ2·gb),
where c is a nonzero constant.(2)
When|φ1+φ2-φ0-1|<2φ0, λ1 and λ2 are both complex roots:
(27)λ1=λ2=1+φ0-(φ1+φ2)±i-(φ1+φ2-φ0-1)2+4φ02.
Solving (22), we obtain
(28)x(t)=c-1·(φ1·pb+φ2·gb)+λ2·b1-b2λ2-λ1·λ1k+b2-λ1·b1λ2-λ1·λ2k,b1=x(0)-c·(φ1·pb+φ2·gb),b2=(1-c)·x(t)+φ0·v(0)+φ1·pb+φ2·gb-c·(φ1·pb+φ2·gb),
where c is a nonzero constant.(3)
When|φ1+φ2-φ0-1|=2φ0, λ1 and λ2 are two equal roots:
(29)λ=λ1=λ2=1+φ0-φ1-φ22.
Solving (22), we obtain
(30)x(t)=x(0)+(1-c)·x(0)+φ0·v(0)·φ1·pb+φ2·gbλ.
In (30), c is a nonzero constant.For the above, three cases can be identified; ift→∞ and x(t) has its limit, then IDPSO converges algorithm. Generally, if we want to prove that algorithms converge with probability 1, we just need ∥λ1∥<1 and ∥λ2∥<1. Then we obtain the following:(1)
when|φ1+φ2-φ0-1|>2φ0, if 0<(φ1+φ2) and 0<2φ0-(φ1+φ2)+2, then we wish to show that IDPSO is convergent;(2)
when|φ1+φ2-φ0-1|<2φ0, if φ0<1, then we wish to show that IDPSO is convergent;(3)
when|φ1+φ2-φ0-1|=2φ0, if 0≤φ0<1, then we wish to show that IDPSO is convergent.


## 4. Parametric Analysis for IDPSO

### 4.1. Analysis of the Value ofω in IDPSO

Usually, the variants of PSO setω(t)=ωinitial-((ωinitial-ωfinal)/Kmax)·k. When Kmax is 6000, ωinitial is 0.9, and ωfinal is 0.4 [25], the changes of ω are shown in Figure 2.Figure 2
The linear change of inertia weight.The improvedω in (3) modifies the momentum factor dynamically in real time, while the iteration goes on and chooses the step length corresponding with the current condition according to the detection function and then achieves the self-adaptive changes according to the numerical feedback. When ω(t)=(ωinitial-ωfinal)/(1+eφ(t)·(t-((1+ln(φ(t)))·Kmax)/μ))+ωfinal, the values of ωinitial, ωfinal, Kmax, φ(t), and μ have great influence on inertia weight ω, which is shown in Figure 3.Figure 3
The nonlinear change of inertia weight with the detection functionφ(t)=|(pg-xi(t-1))/(pi-xi(t-1))|.We can draw a conclusion from Figures2 and 3 that when Kmax=6000, ωinitial=0.9, and ωfinal=0.4, ω of topical PSO decreases linearly, while ω of improved IDPSO reflects a decrease that resembles a reversed “S." The algorithm should be searched in a larger step size at the early iteration stage and should ensure the ability of global search and strengthen the capability of “exploration." While the iteration goes on, the algorithm should search with a smaller step size at the later iteration stage and should ensure the ability of local search and strengthen the capability of “exploitation." The adjusting strategies of inertia weight ω take full advantage of the flexible coordination of detection function and sigmoid function. The inertia weight adjusts the proportion of “exploration" and “exploitation" based on the value of the detection function. If detection function φ(t)≥1, that is to say, |pg-xi(t-1)|>|pi-xi(t-1)|, then the algorithm prefers “exploration," chooses the larger step size, and favors global search. If detection function φ(t)<1; that is to say, |pg-xi(t-1)|<|pi-xi(t-1)|, and the algorithm prefers “exploitation," chooses the smaller step size with improved local search, so that it can achieve the smooth transition from “exploration" to “exploitation" adaptively based on sigmoidal function.


### 4.2. Analysis of the Value ofc1 and c2 in IDPSO

The values ofc1 and c2 are modified dynamically according to the detection function φ(t) in IDPSO. If φ(t)≥1, the weight of social component in (3) should be increased to improve the information sharing and cooperation of particles, so the value of c1 is decreased and the value of c2 is increased. If φ(t)<1, weight of “cognition" in (3) should be increased to strengthen the particle’s own influence, so the value of c1 is increased and the value of c2 is decreased.In IDPSO, particles can “rationally” control the “exploration” and “exploitation” of PSO based on the dynamic modification of parametersω, c1, and c2, play a critical role in the performance of the algorithm, and effectively avoid falling into the local minimum quickly.


## 4.1. Analysis of the Value ofω in IDPSO

Usually, the variants of PSO setω(t)=ωinitial-((ωinitial-ωfinal)/Kmax)·k. When Kmax is 6000, ωinitial is 0.9, and ωfinal is 0.4 [25], the changes of ω are shown in Figure 2.Figure 2
The linear change of inertia weight.The improvedω in (3) modifies the momentum factor dynamically in real time, while the iteration goes on and chooses the step length corresponding with the current condition according to the detection function and then achieves the self-adaptive changes according to the numerical feedback. When ω(t)=(ωinitial-ωfinal)/(1+eφ(t)·(t-((1+ln(φ(t)))·Kmax)/μ))+ωfinal, the values of ωinitial, ωfinal, Kmax, φ(t), and μ have great influence on inertia weight ω, which is shown in Figure 3.Figure 3
The nonlinear change of inertia weight with the detection functionφ(t)=|(pg-xi(t-1))/(pi-xi(t-1))|.We can draw a conclusion from Figures2 and 3 that when Kmax=6000, ωinitial=0.9, and ωfinal=0.4, ω of topical PSO decreases linearly, while ω of improved IDPSO reflects a decrease that resembles a reversed “S." The algorithm should be searched in a larger step size at the early iteration stage and should ensure the ability of global search and strengthen the capability of “exploration." While the iteration goes on, the algorithm should search with a smaller step size at the later iteration stage and should ensure the ability of local search and strengthen the capability of “exploitation." The adjusting strategies of inertia weight ω take full advantage of the flexible coordination of detection function and sigmoid function. The inertia weight adjusts the proportion of “exploration" and “exploitation" based on the value of the detection function. If detection function φ(t)≥1, that is to say, |pg-xi(t-1)|>|pi-xi(t-1)|, then the algorithm prefers “exploration," chooses the larger step size, and favors global search. If detection function φ(t)<1; that is to say, |pg-xi(t-1)|<|pi-xi(t-1)|, and the algorithm prefers “exploitation," chooses the smaller step size with improved local search, so that it can achieve the smooth transition from “exploration" to “exploitation" adaptively based on sigmoidal function.


## 4.2. Analysis of the Value ofc1 and c2 in IDPSO

The values ofc1 and c2 are modified dynamically according to the detection function φ(t) in IDPSO. If φ(t)≥1, the weight of social component in (3) should be increased to improve the information sharing and cooperation of particles, so the value of c1 is decreased and the value of c2 is increased. If φ(t)<1, weight of “cognition" in (3) should be increased to strengthen the particle’s own influence, so the value of c1 is increased and the value of c2 is decreased.In IDPSO, particles can “rationally” control the “exploration” and “exploitation” of PSO based on the dynamic modification of parametersω, c1, and c2, play a critical role in the performance of the algorithm, and effectively avoid falling into the local minimum quickly.


## 5. Experiments

### 5.1. Benchmark Functions

In this section, three variants of PSO are compared with the IDPSO. In the first variant of PSO(PSO+SIW), the inertia weight was set to 0.6 [6]. In the second variant of PSO(PSO+LIW), the inertia weight was set to 0.9 at the beginning of the run and was made to decrease linearly to 0.4 at the maximum number of iterations [2]. In the second variant of PSO(PSO+NLIW), the inertia weight was set to 0.9 at the beginning of the run and made to decrease nonlinearly to 0.4 at the maximum number of iterations [14]. For comparison, four benchmark functions were used to compare the performance of the IDPSO algorithm with the three variants of PSO above:Multimodal function(31)f(x,y)=x·sin(4πx)-y·sin(4πy+x+1);Schaffer function(32)f(x1,x2)=0.5+(sinx12+x22)2-0.5(1+0.001(x12+x22))2;Griewank function(33)f(xi)=∑i=1N‍xi24000-∏i=1N‍cos(xii)+1;Shubert function(34)f(x,y)={∑i=15‍icos[(i+1)x+1]}×{∑i=15‍icos[(i+1)y+1]}.The basic characters of the four benchmark functions are summarized in Table1. In all cases, the population size was set to 20, and the maximum number of iterations was set to 1000. The acceleration constants c1=c2=2.0. In all cases for which IDPSO was used, ωinitial=0.9, ωfinal=0.4, and μ=100.Table 1
Basic characters of the benchmark functions.
Function
Range
Opt. value
Opt. position
Multimodal function
[
-
1,2
]
3.3099
(
1.64
,
2
)
Schaffer function
[
-
10,10
]
0
(
0
,
0
)
Griewank function
[
-
600,600
]
0
(
0,0
,
…
,
0
)
Shubert function
[
-
10,10
]
−186.7309
(
-
1.43
,
0.8
)


### 5.2. Results and Discussion

The numerical results using the four different methods for the four benchmark test functions are shown in Figures4–7. In all cases, the numerical results show that PSO+SIW can reach a local optimum and suffer from premature convergence in a short time. According to Figures 4 and 7, IDPSO significantly outperforms other algorithms for the benchmark functions. In Figure 4, only IDPSO can reach the global optimum and effectively avoid premature convergence. In Figure 7, both PSO+NLIW and IDPSO can reach the global optimum and converge to the criteria for the Shubert function. But IDPSO performs better than PSO+NLIW and IDPSO reaches the global optimum and converges to the criteria faster than PSO+NLIW. From Figures 5(b)–5(d) and 6(b)–6(d), IDPSO performs better than other algorithms in reaching the global optimum. And the average values of fitness present a vibration state, especially in Figure 5(d). From the above, it can be easily observed that the proposed variant IDPSO outperforms other variants of PSO significantly by providing a more accurate optimal solution and converges to the criteria with a greater probability.Evolution of the optimal value and average value of multimodal function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)Evolution of the optimal value and average value of Schaffer function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)Evolution of the optimal value and average value of Griewank function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)Evolution of the optimal value and average value of Shubert function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)


## 5.1. Benchmark Functions

In this section, three variants of PSO are compared with the IDPSO. In the first variant of PSO(PSO+SIW), the inertia weight was set to 0.6 [6]. In the second variant of PSO(PSO+LIW), the inertia weight was set to 0.9 at the beginning of the run and was made to decrease linearly to 0.4 at the maximum number of iterations [2]. In the second variant of PSO(PSO+NLIW), the inertia weight was set to 0.9 at the beginning of the run and made to decrease nonlinearly to 0.4 at the maximum number of iterations [14]. For comparison, four benchmark functions were used to compare the performance of the IDPSO algorithm with the three variants of PSO above:Multimodal function(31)f(x,y)=x·sin(4πx)-y·sin(4πy+x+1);Schaffer function(32)f(x1,x2)=0.5+(sinx12+x22)2-0.5(1+0.001(x12+x22))2;Griewank function(33)f(xi)=∑i=1N‍xi24000-∏i=1N‍cos(xii)+1;Shubert function(34)f(x,y)={∑i=15‍icos[(i+1)x+1]}×{∑i=15‍icos[(i+1)y+1]}.The basic characters of the four benchmark functions are summarized in Table1. In all cases, the population size was set to 20, and the maximum number of iterations was set to 1000. The acceleration constants c1=c2=2.0. In all cases for which IDPSO was used, ωinitial=0.9, ωfinal=0.4, and μ=100.Table 1
Basic characters of the benchmark functions.
Function
Range
Opt. value
Opt. position
Multimodal function
[
-
1,2
]
3.3099
(
1.64
,
2
)
Schaffer function
[
-
10,10
]
0
(
0
,
0
)
Griewank function
[
-
600,600
]
0
(
0,0
,
…
,
0
)
Shubert function
[
-
10,10
]
−186.7309
(
-
1.43
,
0.8
)


## 5.2. Results and Discussion

The numerical results using the four different methods for the four benchmark test functions are shown in Figures4–7. In all cases, the numerical results show that PSO+SIW can reach a local optimum and suffer from premature convergence in a short time. According to Figures 4 and 7, IDPSO significantly outperforms other algorithms for the benchmark functions. In Figure 4, only IDPSO can reach the global optimum and effectively avoid premature convergence. In Figure 7, both PSO+NLIW and IDPSO can reach the global optimum and converge to the criteria for the Shubert function. But IDPSO performs better than PSO+NLIW and IDPSO reaches the global optimum and converges to the criteria faster than PSO+NLIW. From Figures 5(b)–5(d) and 6(b)–6(d), IDPSO performs better than other algorithms in reaching the global optimum. And the average values of fitness present a vibration state, especially in Figure 5(d). From the above, it can be easily observed that the proposed variant IDPSO outperforms other variants of PSO significantly by providing a more accurate optimal solution and converges to the criteria with a greater probability.Evolution of the optimal value and average value of multimodal function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)Evolution of the optimal value and average value of Schaffer function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)Evolution of the optimal value and average value of Griewank function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)Evolution of the optimal value and average value of Shubert function for the algorithms (a) PSO+SIW, (b) PSO+LIW, (c) PSO+NLIW, and (d) IDPSO.
(a)
(b)
(c)
(d)


## 6. Conclusions

A self-adapting particle swarm optimization with detection functions, referred to IDPSO algorithm, is presented in this paper, which may adjust the values ofω, c1, and c2 dynamically in different circumstances based on the analysis of the detection function, φ(t). This approach ensures that the PSO explores the search space effectively. Experimental results show that IDPSO achieves better performance than other variants of PSO investigated in this paper.



---

*Source: 716952-2013-12-24.xml*