# Opposition-Based Barebones Particle Swarm for Constrained Nonlinear Optimization Problems

Authors: Hui Wang
Journal: Mathematical Problems in Engineering
 (2012)

---

## Abstract

This paper presents a modified barebones particle swarm optimization (OBPSO) to solve constrained nonlinear optimization problems. The proposed approach OBPSO combines barebones particle swarm optimization (BPSO) and opposition-based learning (OBL) to improve the quality of solutions. A novel boundary search strategy is used to approach the boundary between the feasible and infeasible search region. Moreover, an adaptive penalty method is employed to handle constraints. To verify the performance of OBPSO, a set of well-known constrained benchmark functions is used in the experiments. Simulation results show that our approach achieves a promising performance.


---

## Body

## 1. Introduction

Many engineering problems can be converted to constrained optimization problems. The aim of constrained optimization is to find a feasible solution with minimized cost (In this paper, we only consider minimization problems). A general constrained minimization optimization problem can be defined as follows.(1.1)Minimizef(x)
subject to
(1.2)gj(x)≤0,j=1,2,…,q,hj(x)=0,j=q+1,2,…,m,
where g(x) is inequality constraint, h(x) is the equality constraint, m is the number of constraints, q is the number of inequality constraints, and m-q is the number of equality constraints.Particle swarm optimization (PSO) is a population-based stochastic search algorithm developed by Kennedy and Eberhart [1]. Although PSO shares many similarities with evolutionary algorithms (EAs), the standard PSO does not use evolution operators such as crossover and mutation. For PSO's simple concept, easy implementation, and effectiveness, it has been widely applied to many optimization areas.Although PSO has shown a good performance over many optimization problems, it does not work well when solving complex problems. Especially for constrained optimization problems, the standard PSO could hardly search promising solutions. The possible reason is that constrained optimization problems are usually multimodal and having some constraints. PSO could easily fall into local minima and hardly search feasible solutions. To enhance the performance of PSO on constrained optimization problems, many improved PSO variants have been proposed in the past several years.Meng et al. [2] used a quantum-inspired PSO (QPSO) to solve constrained economic load dispatch. The QPSO shows stronger search ability and quicker convergence speed, not only because of the introduction of quantum computing theory, but also due to two-novel strategies: self-adaptive probability selection and chaotic sequences mutation. Coelho [3] presented a novel quantum-behaved PSO (QPSO) to solve constrained engineering design problems. The proposed approach embedded a Gaussian mutation into QPSO to prevent premature convergence to local minima. Sun et al. [4] proposed an improved vector PSO (IVPSO) based on multidimensional search, in which a simple constraint-preserving method is used to handle constraints. Liu et al. [5] used a hybrid PSO called PSO-DE to solve constrained numerical and engineering optimization problems. The PSO-DE integrates PSO with differential evolution (DE) to obtain a good performance. Venter and Haftka [6] proposed a new method to solve constrained optimization problems. The constrained, single objective optimization problem is converted into an unconstrained, biobjective optimization problem that is solved using a multiobjective PSO algorithm. Lu and Chen [7] presented an enhanced PSO by employing a dynamic inertia weight to avoid premature convergence. The inertia weight of every individual is dynamically controlled by the Euclidean distance between individual and the global best individual. Daneshyari and Yen [8] proposed a cultural-based constrained PSO to incorporate the information of the objective function and constraint violation. The archived information facilitates communication among swarms in the population space and assists in selecting the leading particles in three different levels: personal, swarm, and global levels.There have been many modifications to the original PSO algorithm to improve the efficiency and robustness of the search. Although these modified PSO variants have shown good search abilities, their performance greatly depends on the control parameters in the velocity updating model, such as inertia weight (w) and acceleration coefficients (c1 and c2). Recently, a parameter-free PSO, known barebones PSO (BPSO) [9], used Gaussian normal distribution to update the particles in the population. It does not involve inertia weight, acceleration coefficients, and velocity. Its performance has been found to be competitive, and a number of BPSO algorithms have been proposed in the past several years. Omran et al. [10] incorporate the idea of BPSO into DE. Krohling and Mendel [11] employed a jump strategy in BPSO to avoid premature convergence. Motivated by the idea of BPSO, this paper presents an improved BPSO, namely OBPSO, to solve constrained nonlinear optimization problems. In OBPSO, opposition-based learning (OBL) concept [12] is used for population initialization and generation jumping. To verify the performance of OBPSO, a set of well-known constrained benchmark problems are used in the experiments. Results obtained by the proposed OBPSO are compared with those in the literature and discussed.The rest of the paper is organized as follows. In Section2, the standard PSO and barebones PSO are briefly introduced. Section 3 describes our proposed approach. Section 4 presents experimental simulations, results, and discussions. Finally, the work is concluded in Section 5.


## 2. Belief Descriptions of PSO and Barebones PSO

In traditional PSO, a member in the swarm, called a particle, represents a potential solution in theD-dimensional search space. Each particle has two vectors: velocity and position. It is attracted by its previous best particle (pbest) and the global best particle (gbest) during the evolutionary process. The velocity vij and position xij of the jth dimension of the ith particle are updated according to (2.1) [13]:
(2.1)vij(t+1)=w⋅vij(t)+c1⋅rand1ij⋅(pbestij(t)-xij(t))+c2⋅rand2ij⋅(gbestj(t)-xij(t)),xij(t+1)=xij(t)+vij(t+1),
where i=1,2,…,N is the particle's index, N is the population size, Xi=(xi1,xi2,…,xiD) is the position of the ith particle; Vi=(vi1,vi2,…,viD) represents the velocity of the ith particle; the pbesti=(pbesti1,pbesti2,…,pbestiD) is the best previous position yielding the best fitness value for the ith particle; gbest=(gbest1,gbest2,…,gbestD) is the global best particle found by all particles so far. The parameter w, called inertia factor, which is used to balance the global and local search abilities of particles [13], rand1ij and rand2ij are two random numbers generated independently within the range of [0,1], c1 and c2 are two learning factors which control the influence of the social and cognitive components, and t=1,2,… indicates the iteration number.Recently, Kennedy [9] developed the barebones PSO (BPSO). This new version of PSO eliminates the velocity term, and the position is updated as follows. 						(2.2)xij(t+1)=G(gbestj(t)+pbestij(t)2,|gbestj(t)-pbestij(t)|),
where xij(t+1) is the position of the ith particle in the population, and G represents a Gaussian distribution with mean (gbestj(t)+pbestij(t))/2 and standard deviation |gbestj(t)-pbestij(t)|.Note that the particle positions are sampled by the above Gaussian distribution. The BPSO facilitates initial exploration, due to large deviation (initially,pbest will be far from the gbest). As the number of generation increases, the deviation approaches to zero, by focussing on exploitation of the pbest and gbest [14].


## 3. Opposition-Based Barebones PSO (OBPSO)

### 3.1. Opposition-Based Learning

Opposition-based learning (OBL) developed by Tizhoosh [12] is a new concept in computational intelligence. It has been proven to be an effective concept to enhance various optimization approaches [15–17]. When evaluating a solution x to a given problem, simultaneously computing its opposite solution will provide another chance for finding a candidate solution which is closer to the global optimum.LetX=(x1,x2,…,xD) be a candidate solution in a D-dimensional space, where x1,x2,…,xD∈R and xj∈[aj,bj], j∈1,2,…,D. The opposite solution X*=(x1*,x2*,...,xD*) is defined by [15]
(3.1)xj*=aj+bj-xj.By staying within variables’ interval static boundaries, we would jump outside of the already shrunken search space and the knowledge of the current converged search space would be lost. Hence, we calculate opposite particles by using dynamically updated interval boundaries[aj(t),bj(t)] as follows [15]. 								(3.2)xij*=aj(t)+bj(t)-xij,(3.3)aj(t)=min⁡(xij(t)),bj(t)=max⁡(xij(t)),(3.4)xij*=rand(aj(t),bj(t)),ifxij*<xmin⁡‖xij*>xmax⁡,i=1,2,…,N,j=1,2,…,D,
where xij is the jth position element of the ith particle in the population, xij* is the opposite particle of xij, aj(t) and bj(t) are the minimum and maximum values of the jth dimension in current search space, respectively, rand(aj(t),bj(t)) are random numbers within [aj(t),bj(t)], [xmin,xmax] is the box-constraint of the problem, and N is the population size, and t=1,2,…, indicates the generations.


### 3.2. Adaptive Constraint Handling

To handle the constraints in solving constrained optimization problems, this paper employs an adaptive penalty method (APM) which was early considered in [18–20]. It aims to help users avoid manually defining the coefficients of penalty functions. In the APM, each constraint of the candidate solutions is monitored. If a constraint seems to be more difficult to satisfy, then a larger penalty coefficient is added.For each candidate solution, itsjth constraint violation cvj(x) is computed as follows:
(3.5)cvj(x)={|hj(x)|min⁡{0,gj(x)},
where hj(x) is the jth equality constraint, and gj(x) is the jth inequality constraint.The fitness value of candidate solution is defined by(3.6)F(x)={f(x),ifxisfeasiblef^(x)+∑j=1m‍(kj⋅cvj(x)),otherwise,
where m is the number of constraints, kj is a penalty coefficient for each constraint, and f^(x) is defined by
(3.7)f^(x)={f(x),iff¯(x)isbetterthanf(x)f¯(x),otherwise,
where f¯(x) is the average objective function values in the current swarm, and it is computed as
(3.8)f¯(x)=1N⋅∑i=1N‍f(xi),
where N is the population size.For the penalty coefficientkj, it determines the scaled factor of the jth constraint. Every generation, the kj is adaptively adjusted as follows. 								(3.9)kj=|f¯(x)|⋅cvj¯(x)∑l=1m(cvl¯(x))2,
where cvl¯(x) is the violation of the lth constraint averaged over the current swarm, and it is computed by
(3.10)cvj¯(x)=1N⋅∑i=1N‍cvij(x),
where cvij(x) is the violation of ith particle on the jth constraint.


### 3.3. Boundary Search Strategy

For constrained optimization problems, the solution search space can be divided into two parts: feasible space and infeasible space. In some cases, the global optimum is located at the boundaries of feasible space. It is difficult to find this kind of solutions. Because many algorithms can hardly judge the boundaries of feasible space. To tackle this problem, this paper employs a boundary search strategy as follows.If the current population containsM feasible solutions and N-M infeasible solutions (M<N), then we randomly select one feasible solution x and one infeasible solution y. Based on x and y, a new solution z is generated by
(3.11)zj=0.5⋅xj+0.5⋅yj,
where j=1,2,…,D.Note that the boundary search strategy works when the current population contains feasible and infeasible solutions. Figure1 clearly illustrates the boundary search. As seen, if the new solution z is infeasible, then replace y with z. Because z is nearer to the boundary than y. If z is feasible, then replace x with z. Because z is nearer to the boundary than x.Figure 1
The boundary search strategy.


### 3.4. The Proposed Approach

The proposed approach (OBPSO) uses a similar procedure to that of opposition-based differential evolution (ODE) for opposition-based population initialization and dynamic opposition [15]. To handle the constraints, we define a new fitness evaluation function as described in (3.6). Moreover, we also use a boundary search strategy to find the solutions located at the margin of the feasible region. The framework of OBPSO is shown in Algorithm 1, where P is the current population, OP is the population after using OBL, Pi is the ith particle in P, OPi is the ith particle in GOP, po is the probability of opposition, N is the population size, D is the dimension size, [aj(t),bj(t)] is the interval boundaries of current population, FEs is the number of fitness evaluations, and MAX_FEs is the maximum number of fitness evaluations.Algorithm 1:The proposed OBPSO algorithm.
1Uniform randomly initialize each particle in the swarm;
2
Initialize pbest  and gbest;
3
While
FEs										≤
MAX_FEs
do
/*  Barebones PSO                         */
4
for  i=1 to N  do
5
Calculate the position of the ith particle Pi according to   (2.2);
6
Calculate the fitness value of Pi according to (3.6);
7
FEs++;
8
end
/*  Opposition-based learning                   */
9
if  rand(0,1)≤po  then
10
Update the dynamic interval boundaries [aj(t),bj(t)] in P according to (3.3);
11
for  i=1 to N  do
12
Generate the opposite particle of Pi according to   (3.2)
13    Calculate the fitness value of Pi according to   (3.6)
14    FEs++;
15   end
16   Select N fittest particles from {P, OP} as current population P;
17  end
/*  Boundary search strategy                   */
18  if  M<N  then
19   K=min{M,N-M}
20   for  i=1 to K  do
21    Randomly select a feasible solution x and an infeasible solution y;
22    Generate a new solution z according to   (3.11);
23    Calculate the fitness value of z according to   (3.6);
24
FEs++;
25
if  z is feasible  then
26
x=z;
27
end
28
else
29
y=z;
30
end
31
end
32
end
33
Update pbest and gbest;
34 end


## 3.1. Opposition-Based Learning

Opposition-based learning (OBL) developed by Tizhoosh [12] is a new concept in computational intelligence. It has been proven to be an effective concept to enhance various optimization approaches [15–17]. When evaluating a solution x to a given problem, simultaneously computing its opposite solution will provide another chance for finding a candidate solution which is closer to the global optimum.LetX=(x1,x2,…,xD) be a candidate solution in a D-dimensional space, where x1,x2,…,xD∈R and xj∈[aj,bj], j∈1,2,…,D. The opposite solution X*=(x1*,x2*,...,xD*) is defined by [15]
(3.1)xj*=aj+bj-xj.By staying within variables’ interval static boundaries, we would jump outside of the already shrunken search space and the knowledge of the current converged search space would be lost. Hence, we calculate opposite particles by using dynamically updated interval boundaries[aj(t),bj(t)] as follows [15]. 								(3.2)xij*=aj(t)+bj(t)-xij,(3.3)aj(t)=min⁡(xij(t)),bj(t)=max⁡(xij(t)),(3.4)xij*=rand(aj(t),bj(t)),ifxij*<xmin⁡‖xij*>xmax⁡,i=1,2,…,N,j=1,2,…,D,
where xij is the jth position element of the ith particle in the population, xij* is the opposite particle of xij, aj(t) and bj(t) are the minimum and maximum values of the jth dimension in current search space, respectively, rand(aj(t),bj(t)) are random numbers within [aj(t),bj(t)], [xmin,xmax] is the box-constraint of the problem, and N is the population size, and t=1,2,…, indicates the generations.


## 3.2. Adaptive Constraint Handling

To handle the constraints in solving constrained optimization problems, this paper employs an adaptive penalty method (APM) which was early considered in [18–20]. It aims to help users avoid manually defining the coefficients of penalty functions. In the APM, each constraint of the candidate solutions is monitored. If a constraint seems to be more difficult to satisfy, then a larger penalty coefficient is added.For each candidate solution, itsjth constraint violation cvj(x) is computed as follows:
(3.5)cvj(x)={|hj(x)|min⁡{0,gj(x)},
where hj(x) is the jth equality constraint, and gj(x) is the jth inequality constraint.The fitness value of candidate solution is defined by(3.6)F(x)={f(x),ifxisfeasiblef^(x)+∑j=1m‍(kj⋅cvj(x)),otherwise,
where m is the number of constraints, kj is a penalty coefficient for each constraint, and f^(x) is defined by
(3.7)f^(x)={f(x),iff¯(x)isbetterthanf(x)f¯(x),otherwise,
where f¯(x) is the average objective function values in the current swarm, and it is computed as
(3.8)f¯(x)=1N⋅∑i=1N‍f(xi),
where N is the population size.For the penalty coefficientkj, it determines the scaled factor of the jth constraint. Every generation, the kj is adaptively adjusted as follows. 								(3.9)kj=|f¯(x)|⋅cvj¯(x)∑l=1m(cvl¯(x))2,
where cvl¯(x) is the violation of the lth constraint averaged over the current swarm, and it is computed by
(3.10)cvj¯(x)=1N⋅∑i=1N‍cvij(x),
where cvij(x) is the violation of ith particle on the jth constraint.


## 3.3. Boundary Search Strategy

For constrained optimization problems, the solution search space can be divided into two parts: feasible space and infeasible space. In some cases, the global optimum is located at the boundaries of feasible space. It is difficult to find this kind of solutions. Because many algorithms can hardly judge the boundaries of feasible space. To tackle this problem, this paper employs a boundary search strategy as follows.If the current population containsM feasible solutions and N-M infeasible solutions (M<N), then we randomly select one feasible solution x and one infeasible solution y. Based on x and y, a new solution z is generated by
(3.11)zj=0.5⋅xj+0.5⋅yj,
where j=1,2,…,D.Note that the boundary search strategy works when the current population contains feasible and infeasible solutions. Figure1 clearly illustrates the boundary search. As seen, if the new solution z is infeasible, then replace y with z. Because z is nearer to the boundary than y. If z is feasible, then replace x with z. Because z is nearer to the boundary than x.Figure 1
The boundary search strategy.


## 3.4. The Proposed Approach

The proposed approach (OBPSO) uses a similar procedure to that of opposition-based differential evolution (ODE) for opposition-based population initialization and dynamic opposition [15]. To handle the constraints, we define a new fitness evaluation function as described in (3.6). Moreover, we also use a boundary search strategy to find the solutions located at the margin of the feasible region. The framework of OBPSO is shown in Algorithm 1, where P is the current population, OP is the population after using OBL, Pi is the ith particle in P, OPi is the ith particle in GOP, po is the probability of opposition, N is the population size, D is the dimension size, [aj(t),bj(t)] is the interval boundaries of current population, FEs is the number of fitness evaluations, and MAX_FEs is the maximum number of fitness evaluations.Algorithm 1:The proposed OBPSO algorithm.
1Uniform randomly initialize each particle in the swarm;
2
Initialize pbest  and gbest;
3
While
FEs										≤
MAX_FEs
do
/*  Barebones PSO                         */
4
for  i=1 to N  do
5
Calculate the position of the ith particle Pi according to   (2.2);
6
Calculate the fitness value of Pi according to (3.6);
7
FEs++;
8
end
/*  Opposition-based learning                   */
9
if  rand(0,1)≤po  then
10
Update the dynamic interval boundaries [aj(t),bj(t)] in P according to (3.3);
11
for  i=1 to N  do
12
Generate the opposite particle of Pi according to   (3.2)
13    Calculate the fitness value of Pi according to   (3.6)
14    FEs++;
15   end
16   Select N fittest particles from {P, OP} as current population P;
17  end
/*  Boundary search strategy                   */
18  if  M<N  then
19   K=min{M,N-M}
20   for  i=1 to K  do
21    Randomly select a feasible solution x and an infeasible solution y;
22    Generate a new solution z according to   (3.11);
23    Calculate the fitness value of z according to   (3.6);
24
FEs++;
25
if  z is feasible  then
26
x=z;
27
end
28
else
29
y=z;
30
end
31
end
32
end
33
Update pbest and gbest;
34 end


## 4. Experimental Verifications

### 4.1. Test Problems

To verify the performance our proposed approach, we employ a set of 13 benchmark functions from the literature [21, 22]. The main characteristics of these benchmark functions are summarized in Table 1. For specific definitions of these functions, please refer to [23].Table 1
Summary of main characteristics of benchmark problems, whereF means the feasible region, S is the whole search region, NE represents nonlinear equality, NI indicates nonlinear inequality, LI means linear inequality, and α is the number of active constraints at optimum.
Problems
D
Type
|
F
|
/
|
S
|
LI
NE
NI
α
G
0
1
13
Quadratic
0.011%
9
0
0
6
G
02
20
Nonlinear
99.990%
1
0
1
1
G
03
10
Polynomial
0.002%
0
1
0
1
G
04
5
Quadratic
52.123%
0
0
6
2
G
05
4
Cubic
0.000%
2
3
0
3
G
06
2
Cubic
0.006%
0
0
2
2
G
07
10
Quadratic
0.000%
3
0
5
6
G
08
2
Nonlinear
0.856%
0
0
2
0
G
09
7
Polynomial
0.512%
0
0
4
2
G
10
8
Linear
0.001%
3
0
3
3
G
11
2
Quadratic
0.000%
0
1
0
1
G
12
3
Quadratic
4.779%
0
0
9
3
0
G
13
5
Exponential
0.000%
0
3
0
3


### 4.2. Comparison of OBPSO with Similar PSO Algorithms

In this section, we compare the performance of OBPSO with standard PSO, barebones PSO (BPSO), and OBPSO without boundary search strategy (OBPSO-1). To have a fair comparison, the same settings are used for common parameters. The population sizeN is set to 40. For PSO, The inertia weight w is set to 0.72984. The acceleration coefficients c1 and c2 are set to 1.49618. The maximum velocity Vmax was set to the half range of the search space for each dimension. For OBPSO-1 and OBPSO, the probability of opposition po is set to 0.3. For each test functions, both OBPSO and PSO stop running when the number of iterations reaches to 1,000.Table2 presents average results of the four PSO algorithms over 30 runs, where Mean represents the mean best function values. As seen, PSO outperforms BPSO on only one problem G05. BPSO achieves better results than PSO on 7 problems. Both of them can find the global optimum on 5 problems. It demonstrates that the barebones PSO is better than standard PSO for these problems.Table 2
Mean best function values achieved by PSO, BPSO, OBPSO-1, and OBPSO, and the best results among the four algorithms are shown in bold.
Functions
Optimum
PSO mean
BPSO mean
OBPSO-1 mean
OBPSO mean
G
0
1
−15
−13.013
−14.46
−15
−15
G
02
−0.803619
−0.47191
−0.58944
−0.70536
−0.79973
G
03
−1.0
−1.00468
−1.00339
−1.00287
−1.00126
G
04
−30665.539
−30665.5
−30665.5
−30665.5
−30665.5
G
05
5126.4981
5213.14
5228.32
5154.76
5126.68
G
06
−6961.814
−6961.81
−6961.81
−6961.81
−6961.81
G
07
24.306
25.9185
25.3492
24.8576
24.4196
G
08
−0.095825
−0.095825
−0.095825
−0.095825
−0.095825
G
09
680.630
680.679
680.630
680.630
680.630
G
10
7049.248
7639.4
7474.5
7292.82
7049.2605
G
11
0.750
0.749
0.749
0.749
0.749
G
12
−1.0
−1.0
−1.0
−1.0
−1.0
G
13
0.05395
0.819146
0.61415
0.52312
0.33837For the comparison of OBPSO with BPSO, both of them obtain the same results on 6 problems. For the rest 7 problems, OBPSO performs better than BPSO. It demonstrates that the opposition-based learning is helpful to improve the quality of solutions.To verify the effects of the boundary search strategy, we compare the performance of OBPSO with OBPSO-1. For the OBPSO-1 algorithm, it does not use the proposed boundary search strategy. As seen, OBPSO outperforms OBPSO-1 on 6 problems, while they obtain the same results for the rest 7 problems. These results demonstrate the effectiveness of the boundary search strategy.Figure2 shows the evolutionary processes on four representative problems. It can be seen that OBPSO converges faster than other 3 PSO algorithms. The OBPSO-1 shows faster convergence rate than PSO and BPSO. This confirms that the opposition-based learning is beneficial for accelerating the evolution [15].The evolutionary processes of PSO, BPSO, OBPSO-1, and OBPSO on four selected problems.
(a)
G1
(b)
G2
(c)
G10
(d)
G13


### 4.3. Comparison of OBPSO with Other State-of-the-Art PSO Variants

In this section, we compare the performance of OBPSO with three other PSO variants on the test suite. The involved algorithms and parameter settings are listed as follows.(i)
New vector PSO (NVPSO) [4].(ii)
Dynamic-objective PSO (RVPSO) [21].(iii)
Self-adaptive velocity PSO (SAVPSO) [22].(iv)
Our approach OBPSO.The parameter settings of NVPSO are described in [4]. For RVPSO and SAVPSO, their parameter settings are given in [22]. For OBPSO, we use the same parameter values as described in the previous section. For each test functions, all algorithms stop running when the number of iterations reaches to the maximum value 1,000.Table3 presents average results of NVPSO, RVPSO, SAVPSO, and OBPSO over 30 runs, where Mean represents the mean best function values. The comparison results among OBPSO and other algorithms are summarized as w/t/l in the last row of the table, which means that OBPSO wins in w functions, ties in t functions, and loses in l functions, compared with its competitors.Table 3
Comparison results of OBPSO with other three PSO algorithms, where “w/t/l” means that OBPSO wins in w functions, ties in t functions, and loses in l functions, compared with its competitors. The best results among the four algorithms are shown in bold.
Functions
Optimum
NVPSO [4]   mean
RVPSO [21]  mean
SAVPSO [22]  mean
OBPSO  mean
G
0
1
−15
−13.871875
−14.7151
−14.4187
−15
G
02
−0.803619
−0.336263
−0.74057
−0.413257
−0.79973
G
03
−1.0
−1.00484
−1.0034
−1.0025
−1.00126
G
04
−30665.539
−30665.5
−30665.5
−30665.5
−30665.5
G
05
5126.4981
5126.4957
5202.3627
5241.0549
5126.68
G
06
−6961.814
−6961.81
−6961.81
−6961.81
−6961.81
G
07
24.306
25.1301
24.989
24.317
24.4196
G
08
−0.095825
−0.095825
−0.095825
−0.095825
−0.095825
G
09
680.630
680.634430
680.653
680.630
680.630
G
10
7049.248
7409.065752
7173.2661
7049.2701
7049.2606
G
11
0.750
0.749
0.749
0.749
0.749
G
12
−1.0
−1.0
−1.0
−1.0
−1.0
G
13
0.05395
0.465217
0.552753
0.681123
0.33837
w
/
t
/
l
—
7
/
5
/
1
8
/
5
/
0
6
/
6
/
1
—From the results of Table3, OBPSO outperforms NVPSO on 7 problems, while NVPSO only achieves better results on a single problem. For the rest 5 problems, both OBPSO and NVPSO can find the global optimum. OBPSO performs better than RVPSO on 8 problems, while both of them obtain the same results for the rest 5 problems. For the comparison of SAVPSO and OBPSO, both of them achieve the same results on 6 problems. For the rest 7 problems, OBPSO wins 6, while SAVPSO wins only 1.


## 4.1. Test Problems

To verify the performance our proposed approach, we employ a set of 13 benchmark functions from the literature [21, 22]. The main characteristics of these benchmark functions are summarized in Table 1. For specific definitions of these functions, please refer to [23].Table 1
Summary of main characteristics of benchmark problems, whereF means the feasible region, S is the whole search region, NE represents nonlinear equality, NI indicates nonlinear inequality, LI means linear inequality, and α is the number of active constraints at optimum.
Problems
D
Type
|
F
|
/
|
S
|
LI
NE
NI
α
G
0
1
13
Quadratic
0.011%
9
0
0
6
G
02
20
Nonlinear
99.990%
1
0
1
1
G
03
10
Polynomial
0.002%
0
1
0
1
G
04
5
Quadratic
52.123%
0
0
6
2
G
05
4
Cubic
0.000%
2
3
0
3
G
06
2
Cubic
0.006%
0
0
2
2
G
07
10
Quadratic
0.000%
3
0
5
6
G
08
2
Nonlinear
0.856%
0
0
2
0
G
09
7
Polynomial
0.512%
0
0
4
2
G
10
8
Linear
0.001%
3
0
3
3
G
11
2
Quadratic
0.000%
0
1
0
1
G
12
3
Quadratic
4.779%
0
0
9
3
0
G
13
5
Exponential
0.000%
0
3
0
3


## 4.2. Comparison of OBPSO with Similar PSO Algorithms

In this section, we compare the performance of OBPSO with standard PSO, barebones PSO (BPSO), and OBPSO without boundary search strategy (OBPSO-1). To have a fair comparison, the same settings are used for common parameters. The population sizeN is set to 40. For PSO, The inertia weight w is set to 0.72984. The acceleration coefficients c1 and c2 are set to 1.49618. The maximum velocity Vmax was set to the half range of the search space for each dimension. For OBPSO-1 and OBPSO, the probability of opposition po is set to 0.3. For each test functions, both OBPSO and PSO stop running when the number of iterations reaches to 1,000.Table2 presents average results of the four PSO algorithms over 30 runs, where Mean represents the mean best function values. As seen, PSO outperforms BPSO on only one problem G05. BPSO achieves better results than PSO on 7 problems. Both of them can find the global optimum on 5 problems. It demonstrates that the barebones PSO is better than standard PSO for these problems.Table 2
Mean best function values achieved by PSO, BPSO, OBPSO-1, and OBPSO, and the best results among the four algorithms are shown in bold.
Functions
Optimum
PSO mean
BPSO mean
OBPSO-1 mean
OBPSO mean
G
0
1
−15
−13.013
−14.46
−15
−15
G
02
−0.803619
−0.47191
−0.58944
−0.70536
−0.79973
G
03
−1.0
−1.00468
−1.00339
−1.00287
−1.00126
G
04
−30665.539
−30665.5
−30665.5
−30665.5
−30665.5
G
05
5126.4981
5213.14
5228.32
5154.76
5126.68
G
06
−6961.814
−6961.81
−6961.81
−6961.81
−6961.81
G
07
24.306
25.9185
25.3492
24.8576
24.4196
G
08
−0.095825
−0.095825
−0.095825
−0.095825
−0.095825
G
09
680.630
680.679
680.630
680.630
680.630
G
10
7049.248
7639.4
7474.5
7292.82
7049.2605
G
11
0.750
0.749
0.749
0.749
0.749
G
12
−1.0
−1.0
−1.0
−1.0
−1.0
G
13
0.05395
0.819146
0.61415
0.52312
0.33837For the comparison of OBPSO with BPSO, both of them obtain the same results on 6 problems. For the rest 7 problems, OBPSO performs better than BPSO. It demonstrates that the opposition-based learning is helpful to improve the quality of solutions.To verify the effects of the boundary search strategy, we compare the performance of OBPSO with OBPSO-1. For the OBPSO-1 algorithm, it does not use the proposed boundary search strategy. As seen, OBPSO outperforms OBPSO-1 on 6 problems, while they obtain the same results for the rest 7 problems. These results demonstrate the effectiveness of the boundary search strategy.Figure2 shows the evolutionary processes on four representative problems. It can be seen that OBPSO converges faster than other 3 PSO algorithms. The OBPSO-1 shows faster convergence rate than PSO and BPSO. This confirms that the opposition-based learning is beneficial for accelerating the evolution [15].The evolutionary processes of PSO, BPSO, OBPSO-1, and OBPSO on four selected problems.
(a)
G1
(b)
G2
(c)
G10
(d)
G13


## 4.3. Comparison of OBPSO with Other State-of-the-Art PSO Variants

In this section, we compare the performance of OBPSO with three other PSO variants on the test suite. The involved algorithms and parameter settings are listed as follows.(i)
New vector PSO (NVPSO) [4].(ii)
Dynamic-objective PSO (RVPSO) [21].(iii)
Self-adaptive velocity PSO (SAVPSO) [22].(iv)
Our approach OBPSO.The parameter settings of NVPSO are described in [4]. For RVPSO and SAVPSO, their parameter settings are given in [22]. For OBPSO, we use the same parameter values as described in the previous section. For each test functions, all algorithms stop running when the number of iterations reaches to the maximum value 1,000.Table3 presents average results of NVPSO, RVPSO, SAVPSO, and OBPSO over 30 runs, where Mean represents the mean best function values. The comparison results among OBPSO and other algorithms are summarized as w/t/l in the last row of the table, which means that OBPSO wins in w functions, ties in t functions, and loses in l functions, compared with its competitors.Table 3
Comparison results of OBPSO with other three PSO algorithms, where “w/t/l” means that OBPSO wins in w functions, ties in t functions, and loses in l functions, compared with its competitors. The best results among the four algorithms are shown in bold.
Functions
Optimum
NVPSO [4]   mean
RVPSO [21]  mean
SAVPSO [22]  mean
OBPSO  mean
G
0
1
−15
−13.871875
−14.7151
−14.4187
−15
G
02
−0.803619
−0.336263
−0.74057
−0.413257
−0.79973
G
03
−1.0
−1.00484
−1.0034
−1.0025
−1.00126
G
04
−30665.539
−30665.5
−30665.5
−30665.5
−30665.5
G
05
5126.4981
5126.4957
5202.3627
5241.0549
5126.68
G
06
−6961.814
−6961.81
−6961.81
−6961.81
−6961.81
G
07
24.306
25.1301
24.989
24.317
24.4196
G
08
−0.095825
−0.095825
−0.095825
−0.095825
−0.095825
G
09
680.630
680.634430
680.653
680.630
680.630
G
10
7049.248
7409.065752
7173.2661
7049.2701
7049.2606
G
11
0.750
0.749
0.749
0.749
0.749
G
12
−1.0
−1.0
−1.0
−1.0
−1.0
G
13
0.05395
0.465217
0.552753
0.681123
0.33837
w
/
t
/
l
—
7
/
5
/
1
8
/
5
/
0
6
/
6
/
1
—From the results of Table3, OBPSO outperforms NVPSO on 7 problems, while NVPSO only achieves better results on a single problem. For the rest 5 problems, both OBPSO and NVPSO can find the global optimum. OBPSO performs better than RVPSO on 8 problems, while both of them obtain the same results for the rest 5 problems. For the comparison of SAVPSO and OBPSO, both of them achieve the same results on 6 problems. For the rest 7 problems, OBPSO wins 6, while SAVPSO wins only 1.


## 5. Conclusion

This paper proposes a modified barebones particle swarm optimization to solve constrained nonlinear optimization problems. The proposed approach is called OBPSO which employs two novel strategies including opposition-based learning and boundary search. Compared to other improved PSO variants, OBPSO is almost a parameter-free algorithm (except for the probability of opposition). Moreover, an adaptive penalty method is used to handle constraints. Experimental verifications on a set of constrained benchmark functions show that OBPSO achieves a promising performance compared to four other PSO variants. The parameterpo may affect the performance of OBPSO. To determine the best choice of po, different values of po will be investigated. This will be conducted in the future work.



---

*Source: 761708-2012-08-15.xml*