# Opposition-Based Animal Migration Optimization

Authors: Yi Cao; Xiangtao Li; Jianan Wang
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

AMO is a simple and efficient optimization algorithm which is inspired by animal migration behavior. However, as most optimization algorithms, it suffers from premature convergence and often falls into local optima. This paper presents an opposition-based AMO algorithm. It employs opposition-based learning for population initialization and evolution to enlarge the search space, accelerate convergence rate, and improve search ability. A set of well-known benchmark functions is employed for experimental verification, and the results show clearly that opposition-based learning can improve the performance of AMO.


---

## Body

## 1. Introduction

Many real world problems can be summarized as optimization problems. Optimization problems play an important role in both industrial application and scientific research. In the past decades, different optimization algorithms have been proposed. Among them, genetic algorithm may be the first and popular algorithm inspired by natural genetic variation and natural selection [1, 2]. Inspired by the social behavior of bird flocking or fish school, particle swarm algorithm was developed by Kennedy and Eberhart in 1995 [3, 4]. Artificial bee colony algorithm was proposed by Karaboga and Basturk in 2005, which simulates the foraging behavior of bee swarm [5, 6]. Ant colony optimization (ACO) which simulates the action of ants was first introduced by Dorigo [7, 8]. Animal Migration Optimization (AMO) as a new optimization algorithm inspired by animal migration behavior was first proposed by Li et al. in [9]. AMO simulates the widespread migration phenomenon in the animal kingdom, through the change of position, replacement of individual, and finding the optimal solution gradually. AMO has obtained good experimental results on many optimization problems.Optimization algorithms often begin from an initial set of variables which are generated randomly and through iteration to obtain the global optimal solutions or the maximum of the objective function. It is known that the performance of these algorithms is highly related to diversity of particles; it may easily fall into local optima and has slow convergence rate and poor accuracy in the later stage of evolution. In recent years, many efforts have been done to improve the performance of different algorithms.The concept of opposition-based learning (OBL) was first introduced by Tizhoosh [10]. The main idea is to consider current candidate solution and its opposite candidate in order to enlarge the search scope, and it also uses elite selection mechanism to speed up the convergence speed and find the optimal solution. It has been proved in [11], an opposite learning mechanism has more chance to be closer to the global optimum solution than a random candidate solution. The opposition-based learning idea has been successfully applied on GA [11] that PSO [12–16], DE [17, 18], artificial neural networks (ANN) [19, 20], and ant colony optimization (ACO) [21]; experimental results show that opposition-based learning can improve the search capabilities of the algorithm to some extent.This paper presents an algorithm to improve the performance of AMO. In the absence of priori information about the population, we employ opposition-based learning during population initialization and population evolution. Through the introduction of opposition-based learning mechanism, it can transform solutions from current search space to a new search space to enlarge the search space. By means of selecting the better solution between current solution and the opposite solution, it will improve search ability and accelerate convergence rate, and it has more chance to find the global optima.The rest of this paper is organized as follows. Section2 briefly introduces the animal migration optimization algorithm. Section 3 gives a simple description of opposition-based learning. Section 4 explains an implementation of the proposed algorithm, opposition-based AMO algorithm. Section 5 presents a comparative study among AMO, OPAMO, and other optimization algorithms on 23 benchmark problems. Finally, the work is concluded in Section 6.


## 2. Animal Migration Optimization

AMO is a new heuristic optimization algorithm inspired by the behavior of animal migration which is a ubiquitous phenomenon that can be found in all major animal groups, such as birds, mammals, fish, reptiles, amphibians, insects, and crustaceans [9].In this algorithm, there are mainly two processes. In the first process the algorithm simulates how the groups of animals move from current position to a new position. During this process, each individual should obey three main rules:(1) move in the same direction as its neighbors; (2) remain close to its neighbors; (3) avoid collisions with its neighbors. We select one neighbor randomly and update the position of the individual according to this neighbor, as can be seen in the following formula:
(1)xi,G+1=xi,G+δ(xneighborhood,G-xi,G),
where xneighborhood,G is the current position of the neighborhood, δis produced using a random number generator controlled by a Gaussian distribution, xi,Gis the current position of ith individual, and xi,G+1 is the new position of ith individual.In the following process, the algorithm simulates how new animals are introduced to the group during the migration. During the population updating process, some animals will leave the group and some new animals will join the new population. We assume that the number of available animals is fixed. The animals will be replaced by some new individuals with a probability Pa. The probability is used according to the quality of the fitness. For the best fitness, the probability Pa is 1/NP. For the worst fitness, the probability is 1. This process can be shown in Algorithm1, where r1,r2∈[1,…,NP] are randomly chosen integers andr1≠r2≠i. After producing a new solution, it will be evaluated and compared with xi,G. If the objective fitness of xi,G+1 is smaller than the fitness of xi,G, xi,G+1 is accepted as a new basic solution; otherwise, xi,G would be obtained.Algorithm 1
Fori=1 to NP
For j=1 to D
If rand > Pa
xi,G+1=xr1,G+rand·(xbest,G-xi,G)+rand·(xr2,G-xi,G)
End if
End for
End forTo verify the performance of AMO, 23 benchmark functions chosen from the literature are employed. The results show that the proposed algorithm clearly outperforms some evolution algorithms from the literature.


## 3. Opposition-Based Learning

In the evolutionary algorithm, algorithm often starts from random initial population until a satisfactory solution is found. If no population prior information is known, the speed of evolution is relation to the distance between the initial particles and the best particle. If we select some initial particles close to the best individual, we can accelerate the convergence of the algorithm to some extent.The opposition learning algorithm is a new type of reinforcement learning algorithm, and it has been proven to be an effective concept to enhance various optimization approaches [22]. This algorithm utilizes opposition learning mechanism to generate opposite population and employs elite selection to choose the individual closer to the best individual as the member of initial population, thus facilitating the overall evolutionary convergence speed.For ease of description, we give the definition of the opposition point first.Definition 1.
Letx∈[a,b] be a real number; the opposite point x* is defined as
(2)x*=a+b-x.
Similarly, the definition can be extended to high dimensional space.Definition 2.
Letx=[x1,x2,…,xD] as a point in D-dimension space, wherexi∈[ai,bi], for all i∈{1,2,3,…,D};  the point x*=(x1*,x2*,…,xD*) is defined as the opposition value of x, in which
(3)xi*=ai+bi-xi.
Through the two previous definitions, we can conclude that the opposite learning algorithm is defined as follows.Definition 3.
x
=
[
x
1
,
x
2
,
…
,
x
D
] is a candidate solution in D-dimension space; assume f(x) is the fitness function which is used to evaluate the fitness of the candidate. According to the definition of the opposite point, x*=(x1*,x2*,…,xD*) is the opposite of x. If f(x*) is better than f(x), then choose x* as candidate instead of x; otherwise, x is obtained, through evaluating the fitness of x and the opposite x* to get the better individual.


## 4. Enhanced AMO Using Opposition-Based Learning

### 4.1. Basic Concept

According to the probability principle, each randomly generated candidate solution has fifty percent probability chance away from the optimal solution compared to its opposition solution; AMO algorithm usually generates candidate solutions randomly in the search space as initial population because of the lack of prior information. During the optimization process, the calculation time of finding optimal solution will be changed according to the distance between the candidate solution and the optimal solution. By applying opposition-based learning, we not only evaluate the current candidatex but also calculate its opposition candidate x*; this will provide more chance of finding the solution closer to the global optimal value.Letx be a solution in current search space, x∈[a,b]; the new solution x* in the opposite space is
(4)x*=Δ-x.From the above definition, we can inferx*∈[Δ-b,Δ-a]. Obviously, through the opposite transformation, the center of search space is changed from (a+b)/2 to (2Δ-a-b)/2.LetΔ=k(a+b), where k is a real number in [0,1], and it is often generated randomly; this denotes the probability of reverse learning.


### 4.2. Opposition-Based AMO Algorithm

In this paper, we introduce a novel algorithm which combines opposition learning algorithm with AMO algorithm. Through the introduction of opposition learning mechanism, we consider the candidate solution in both current search space and its opposite space simultaneously. By selecting the better individuals in the two search spaces, it can provide more chance to find the global optimal solution and largely speed up the convergence.During the process of population initialization and evolution, through the introduction of opposition learning mechanism, more candidate solutions will be considered, and we choose the most likely candidate solutions for evolution.We described the opposition-based population initial process in detail.(1)
Initialize the populationP(NP) in the search space [a,b] randomly.(2)
Calculate opposition population according to initial population; each dimension is calculated as follows:(5)OPij=k(aj+bj)-Pij,i=1,2,…,NP;j=1,2,…,D,
where Pij and OPij denote the jth variable of the ith vector of the population and opposite population, respectively,  and k is a real number in [0,1] which denotes the probability of reverse learning.(3)
ChooseNP fittest individual as initial population from the union of random population P and opposition population OP according to the value of fitness.During the evolution process, we still adopt opposition learning method to increase the opportunity of finding the optimal solution. When a new individual is generated or joined, its opposition value is considered; if the fitness of opposite solution is better than the new individual, the opposite solution is adopted; otherwise, the new individual is obtained.However, opposition learning method could not be suitable for all kinds of optimization problems. For instance, when calculating the opposition candidate, the solution may jump away from the solution space. If this happens, the solution will be invalid; to avoid this case, the transformed candidate is assigned to a random value as follows:(6)x*=rand(a,b)ifx<a∥x>b,
where rand (a,b) is a random number between a and b.The opposition learning based AMO algorithm is described in Algorithm2.Algorithm 2:Opposition-based AMO algorithm.
(1)  Begin
(2)  Set the generation counterG=0, and randomly initialize with a population of NP animal Xi.
(3)  Evaluate the fitness for each individualXi.
(4)  Fori=1 to NP do
(5)   Forj=1 to D do
OPXi,j=k(aj+bj)-Xi,j
(6)   End for
(7)Calculate the fitness value of OPXi
(8)  End for
(9)  Select NP fittest individual from{Xi}∪{OPXi} as an initial population;
(10) While stopping criteria is not satisfied do
(11)  Fori=1 to NP do
(12)  For j=1 to D do
(13)   Xi,G+1=Xi,G+δ·(Xneighborhood,G-Xi,G)
(14) End for
(15) If rand < Pa then
(16) For j=1 to D do
(17)  OPXi,G+1=k(aj+bj)-Xi,G+1
(18) End for
(19)  End for
(20) Select NP fittest particles from{XG}∪{XG+1}∪{OPXG+1} as current population;
(21) Fori=1 to NP
(22)  Forj=1 to D
(23)       Select randomlyr1≠r2≠i
(24)   If rand > Pa then
(25)Xi,G+1=Xr1,G+rand·(Xbest,G-Xi,G)+rand·(Xr2,G-Xi,G)
(26)   End if
(27)  End for
(28) Fori=1 to NP do
(29)  Evaluate the offspringxi,G+1
(30)   Ifxi,G+1 is better than xi then
(31)xi=xi,G+1
(32)   End If
(33) End for
(34) Memorize the best solution achieved so far
(35) End while
(36) End


## 4.1. Basic Concept

According to the probability principle, each randomly generated candidate solution has fifty percent probability chance away from the optimal solution compared to its opposition solution; AMO algorithm usually generates candidate solutions randomly in the search space as initial population because of the lack of prior information. During the optimization process, the calculation time of finding optimal solution will be changed according to the distance between the candidate solution and the optimal solution. By applying opposition-based learning, we not only evaluate the current candidatex but also calculate its opposition candidate x*; this will provide more chance of finding the solution closer to the global optimal value.Letx be a solution in current search space, x∈[a,b]; the new solution x* in the opposite space is
(4)x*=Δ-x.From the above definition, we can inferx*∈[Δ-b,Δ-a]. Obviously, through the opposite transformation, the center of search space is changed from (a+b)/2 to (2Δ-a-b)/2.LetΔ=k(a+b), where k is a real number in [0,1], and it is often generated randomly; this denotes the probability of reverse learning.


## 4.2. Opposition-Based AMO Algorithm

In this paper, we introduce a novel algorithm which combines opposition learning algorithm with AMO algorithm. Through the introduction of opposition learning mechanism, we consider the candidate solution in both current search space and its opposite space simultaneously. By selecting the better individuals in the two search spaces, it can provide more chance to find the global optimal solution and largely speed up the convergence.During the process of population initialization and evolution, through the introduction of opposition learning mechanism, more candidate solutions will be considered, and we choose the most likely candidate solutions for evolution.We described the opposition-based population initial process in detail.(1)
Initialize the populationP(NP) in the search space [a,b] randomly.(2)
Calculate opposition population according to initial population; each dimension is calculated as follows:(5)OPij=k(aj+bj)-Pij,i=1,2,…,NP;j=1,2,…,D,
where Pij and OPij denote the jth variable of the ith vector of the population and opposite population, respectively,  and k is a real number in [0,1] which denotes the probability of reverse learning.(3)
ChooseNP fittest individual as initial population from the union of random population P and opposition population OP according to the value of fitness.During the evolution process, we still adopt opposition learning method to increase the opportunity of finding the optimal solution. When a new individual is generated or joined, its opposition value is considered; if the fitness of opposite solution is better than the new individual, the opposite solution is adopted; otherwise, the new individual is obtained.However, opposition learning method could not be suitable for all kinds of optimization problems. For instance, when calculating the opposition candidate, the solution may jump away from the solution space. If this happens, the solution will be invalid; to avoid this case, the transformed candidate is assigned to a random value as follows:(6)x*=rand(a,b)ifx<a∥x>b,
where rand (a,b) is a random number between a and b.The opposition learning based AMO algorithm is described in Algorithm2.Algorithm 2:Opposition-based AMO algorithm.
(1)  Begin
(2)  Set the generation counterG=0, and randomly initialize with a population of NP animal Xi.
(3)  Evaluate the fitness for each individualXi.
(4)  Fori=1 to NP do
(5)   Forj=1 to D do
OPXi,j=k(aj+bj)-Xi,j
(6)   End for
(7)Calculate the fitness value of OPXi
(8)  End for
(9)  Select NP fittest individual from{Xi}∪{OPXi} as an initial population;
(10) While stopping criteria is not satisfied do
(11)  Fori=1 to NP do
(12)  For j=1 to D do
(13)   Xi,G+1=Xi,G+δ·(Xneighborhood,G-Xi,G)
(14) End for
(15) If rand < Pa then
(16) For j=1 to D do
(17)  OPXi,G+1=k(aj+bj)-Xi,G+1
(18) End for
(19)  End for
(20) Select NP fittest particles from{XG}∪{XG+1}∪{OPXG+1} as current population;
(21) Fori=1 to NP
(22)  Forj=1 to D
(23)       Select randomlyr1≠r2≠i
(24)   If rand > Pa then
(25)Xi,G+1=Xr1,G+rand·(Xbest,G-Xi,G)+rand·(Xr2,G-Xi,G)
(26)   End if
(27)  End for
(28) Fori=1 to NP do
(29)  Evaluate the offspringxi,G+1
(30)   Ifxi,G+1 is better than xi then
(31)xi=xi,G+1
(32)   End If
(33) End for
(34) Memorize the best solution achieved so far
(35) End while
(36) End


## 5. Experimental Results

To evaluate the performance of our algorithm, we applied it to 23 standards benchmark functions as shown in Table1. These functions have been widely used in the literature.Table 1
Benchmark functions based on our experimental study.
Test function
D
Range
Optimum
f
01
=
∑
i
=
1
n
x
i
2
30
[−100, 100]
0
f
02
=
∑
i
=
1
n
|
x
i
|
+
∏
i
=
1
n
|
x
i
|
30
[−10, 10]
0
f
03
=
∑
i
=
1
n
(
∑
j
=
1
i
x
j
)
2
30
[−100, 100]
0
f
04
=
max
i
{
|
x
i
|
,
1
≤
i
≤
D
}
30
[−100, 100]
0
f
05
=
∑
i
=
1
D
-
1
[
100
(
x
i
+
1
-
x
i
2
)
2
+
(
x
i
-
1
)
2
]
30
[−30, 30]
0
f
06
=
∑
i
=
1
D
(
⌊
x
i
+
0.5
⌋
)
2
30
[−100, 100]
0
f
07
=
∑
i
=
1
D
i
x
i
4
+
random
[
0,1
)
30
[−1.28, 1.28]
0
f
08
=
∑
i
=
1
D
-
x
i
sin
(
|
x
i
|
)
30
[−500, 500]
−418.9829 *n
f
09
=
∑
i
=
1
D
[
x
i
2
-
10
cos(
2
π
x
i
)
+
10
]
30
[−5.12, 5.12]
0
f
10
=
-
20
exp

(
-
0.2
(
1
/
D
)
∑
i
=
1
D
x
i
2
)
-
exp

(
(
1
/
D
)
∑
i
=
1
D
cos
2
π
x
i
)
+
20
+
e
30
[−32, 32]
0
f
11
=
(
1
/
400
)
∑
i
=
1
D
x
i
2
-
∏
i
=
1
D
cos
(
x
i
/
i
)
+
1
30
[−600, 600]
0
f
12
=
(
π
/
D
)
{
10
sin
2
(
π
y
i
)
+
∑
i
=
1
D
-
1
(
y
i
-
1
)
2
[
1
+
10
sin
2
(
π
y
i
+
1
)
]
+
(
y
D
-
1
)
2
+
∑
i
=
1
D
u
(
x
i
,
10,100,4
)
}  yi=1+((xi+1)/4)u(xi,a,k,m)={k(xi-a)mxi>a0-a<xi<ak(-xi-a)mxi<-a
30
[−50, 50]
0
f
13
=
0.1
{
10
sin
2
(
π
y
i
)
+
∑
i
=
1
D
-
1
(
y
i
-
1
)
2
[
1
+
10
sin
2
(
π
y
i
+
1
)
]
+
(
y
D
-
1
)
2
}
+
∑
i
=
1
D
u
(
x
i
,
10,100,4
)
30
[−50, 50]
0
f
14
=
[
(
1
/
500
)
+
∑
j
=
1
25
(
1
/
(
j
+
∑
i
=
1
2
(
x
i
-
a
i
j
)
6
)
)
]
-
1
2
[−65.53, 65.53]
0.998004
f
15
=
∑
i
=
1
11
[
a
i
-
x
1
(
b
i
2
+
b
i
x
i
)
/
(
b
i
2
+
b
1
x
3
+
x
4
)
]
2
4
[−5, 5]
0.0003075
f
16
=
4
x
1
2
-
2.1
x
i
4
+
(
1
/
3
)
x
1
6
+
x
1
x
2
-
4
x
2
2
+
4
x
2
4
2
[−5, 5]
−1.0316285
f
17
=
(
x
2
-
(
5.1
/
4
π
2
)
x
1
2
+
(
5
/
π
)
x
1
-
6
)
2
+
10
(
1
-
(
1
/
8
π
)
)
cos
x
1
+
10
2
[−5, 10] * [0, 15]
0.398
f
18
=
[
1
+
(
x
1
+
x
2
+
1
)
2
(
19
-
14
x
1
+
3
x
1
2
-
14
x
2
+
6
x
1
x
2
+
3
x
2
2
)
]
×
[
30
+
(
2
x
1
-
3
x
2
)
2
(
18
-
32
x
1
+
12
x
1
2
+
48
x
2
-
36
x
1
x
2
+
27
x
2
2
)
]
2
[−5, 5]
3
f
19
=
-
∑
i
=
1
4
c
i
exp
(
-
∑
j
=
1
3
a
i
j
(
x
j
-
p
i
j
)
2
)
3
[0, 1]
−3.86
f
20
=
-
∑
i
=
1
4
c
i
exp
(
-
∑
j
=
1
6
a
i
j
(
x
j
-
p
i
j
)
2
)
6
[0, 1]
−3.32
f
21
=
-
∑
i
=
1
5
[
(
X
-
a
i
)
(
X
-
a
i
)
T
+
c
i
]
-
1
4
[0, 10]
−10.1532
f
22
=
-
∑
i
=
1
7
[
(
X
-
a
i
)
(
X
-
a
i
)
T
+
c
i
]
-
1
4
[0, 10]
−10.4029
f
23
=
-
∑
i
=
1
10
[
(
X
-
a
i
)
(
X
-
a
i
)
T
+
c
i
]
-
1
4
[0, 10]
−10.5364The maximum numbers of generations are 1500 forf1, f6, f10, f12, and f13, 2000 for f2 and f11, 3000 for f7, f8, and f9, and 5000 for f3, f4,andf5, 400 for f15, 100 for f14, f16, f17,  f19, f21, f22, and f23, 30 for f18, and 200 for f20. The population size is 50 because this algorithm has two phases. The results of the algorithm on the 23 test problems are presented in Tables 2, 3, and 4.Table 2
Minimization result of benchmark functionsf1–f7 for different algorithms.
Function
Algorithm
PSO
DE
FA
GSA
ABC
AMO
OP-AMO
f
0
1
Mean
3.3340
e
-
10
5.6016
e
-
14
0.0017
3.3748
e
-
18
2.9860
e
-
20
8.6464
e
-
40
1.4222
E
-
61
Rank
6
5
7
4
3
2
1
f
02
Mean
6.6598
e
-
11
4.7348
e
-
10
0.0453
8.92115
e
-
09
1.4213
e
-
15
8.2334
e
-
32
1.534
2
E
-
40
Rank
4
5
7
6
3
2
1
f
03
Mean
2.9847
2.8038
e
-
11
0.0182
0.1126
2.4027
e
+
03
8.8904
e
-
04
1.0303
E
-
60
Rank
6
2
4
5
8
3
1
f
04
Mean
7.9997
0.2216
0.0554
9.930
2
e
-
10
18.5227
2.8622
e
-
05
0.6132
Rank
6
4
3
1
7
2
5
f
05
Mean
46.9202
0.2657
38.1248
20.0819
0.0441
4.1817
2.911
4
E
-
06
Rank
7
3
6
5
2
4
1
f
06
Mean
3.6925
e
-
10
4.5028
e
-
14
0.0017
3.3385
e
-
18
3.0884
e
-
20
0
0
Rank
6
5
7
4
3
1
1
f
07
Mean
0.0135
0.0042
0.0082
0.0039
0.0324
0.0017
0.0004
Rank
6
4
5
3
7
2
1
Average rank
5.86
4
5.57
4
4.71
2.28
1.57
Overall rank
7
3
6
3
5
2
1Table 3
Minimization result of benchmark functionsf8–f13 for different algorithms.
Function
Algorithm
PSO
DE
FA
GSA
ABC
AMO
OP-AMO
f
8
Mean
-
8.8278
e
+
03
-
1.1276
e
+
04
-
6.2238
e
+
03
-
3.0499
e
+
03
-
1.2507
e
+
04
-
1.2569
e
+
04
-
1
.
1562
E
+
04
Rank
5
4
6
7
3
2
1
f
9
Mean
18.2675
134.6789
23.5213
7.2831
0
0
0
Rank
5
8
6
4
1
1
1
f
10
Mean
3.8719
e
-
06
7.4739
e
-
08
0.0094
1.4717
e
-
09
1.1946
e
-
09
4.4409
e
-
15
1.7183
Rank
5
4
6
3
2
1
7
f
11
Mean
0.0168
0
0.0025
0.01265
0
0
1
Rank
6
1
4
5
1
1
7
f
12
Mean
0.0083
4.7114
e
-
15
8.8694
e
-
06
2.0358
e
-
20
1.1928
e
-
21
1.5705
e
-
32
1.5704
E
-
32
Rank
7
5
6
4
3
2
1
f
13
Mean
4.6694
e
-
07
3.1598
e
-
14
1.2812
e
-
04
5.699
1
e
-
33
2.2990
e
-
20
1.3498
e
-
32
1.3496
E
-
32
Rank
6
5
7
1
4
3
2
Average rank
5.67
4.5
5.83
4
2.33
1.67
3.17
Overall rank
6
4
5
3
2
1
3Table 4
Minimization result of benchmark functionsf14–f23 for different algorithms.
Function
Algorithm
PSO
DE
FA
GSA
ABC
AMO
OP-AMO
F
14
Mean
0.9980
0.9980
3.0273
5.9533
0.9980
0.9980
0.9980
Rank
3
2
6
7
1
4
4
F
15
Mean
6.5867
e
-
04
4.5400
e
-
04
0.0010
0.0048
7.4715
e
-
04
3.9738
e
-
04
3
.
0748
E
-
04
Rank
4
3
6
7
5
2
1
F
16
Mean
−1.0316
−1.0316
−1.0314
−1.03163
−1.0316
−1.0316
−1.0316
Rank
4
3
7
1
2
5
5
f
17
Mean
0.3979
0.3979
0.3979
0.3979
0.3979
0.3979
0.3979
Rank
5
1
6
1
7
1
1
f
18
Mean
3.0001
3.0000
3.0123
3.7403
3.0000
3.0018
2.9999
Rank
4
2
5
7
2
6
1
f
19
Mean
−3.8628
−3.8628
−3.8613
−3.8625
−3.8628
−3.8628
−3.8629
Rank
4
3
8
7
4
2
1
F
20
Mean
−3.2554
−3.2174
−3.2741
−3.3220
−3.3220
−3.3220
−3.3223
Rank
6
7
5
1
2
3
4
F
21
Mean
−7.6393
−10.1532
−6.5633
−4.784
−10.1528
−10.0592
−10.1532
Rank
5
1
6
7
3
4
1
F
22
Mean
−7.3602
−10.4029
−10.4027
−6.5797
−10.4012
−10.3899
−10.4029
Rank
6
1
3
7
4
6
1
F
23
Mean
−8.9611
−10.5364
−10.2297
−8.2651
−10.5339
−10.4990
−10.5364
Rank
5
1
6
7
3
4
1
Average rank
4.6
2.4
5.8
5.2
3.3
3.7
2
Overall rank
5
2
7
6
3
4
1As seen from Table2 to Table 4, opposition-based AMO algorithm significantly improves the results on functions f1, f2, f3, f5, f6, andf7 and achieves the same performance with AMO on most other functions, and it is better than PSO, DE, ABC, and FA. This denotes that the algorithm can accelerate convergence rate and find better solutions for some optimization problems, and it did not lead to the premature of algorithm.Figure1 shows the evolutionary process of test function f2 by AMO and opposition learning based AMO. The horizontal ordinate denotes the evolution iterations, and the vertical ordinate is the optimal value of objective function. We can see from the graph that the convergence rate of opposition-based AMO is obviously accelerated and the accuracy of optimization is also enhanced.Figure 1
Evolutionary process of the two algorithms on functionf2.


## 6. Conclusions

A novel opposition-based AMO algorithm is proposed in this paper. This approach can provide more chance to find better solutions by transforming candidate solutions from current search space to a new search space. Experimental results show that, compared with previous AMO, the proposed algorithm is efficient in most of the test functions. However, we can also see from the experimental results that this algorithm is not suitable for all kinds of problems; for some optimization problems, algorithm has no significant improvement. How to improve the algorithm to adapt to a more optimization problem is worth of further study.



---

*Source: 308250-2013-10-29.xml*