Opposition-Based Animal Migration Optimization

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 oppositionbasedAMOalgorithm. 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.


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][13][14][15][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.Section 2 briefly introduces the animal migration optimization algorithm.Section 3 gives a simple description of

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: where  neighborhood, is the current position of the neighborhood,  is produced using a random number generator controlled by a Gaussian distribution,  , is the current position of th individual, and  ,+1 is the new position of th 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 Algorithm 1, where  1 ,  2 ∈ [1, . . .,   ] are randomly chosen integers and  1 ̸ =  2 ̸ = .After producing a new solution, it will be evaluated and compared with  , .If the objective fitness of  ,+1 is smaller than the fitness of  , ,  ,+1 is accepted as a new basic solution; otherwise,  , would be obtained.
To 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.

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.Let  ∈ [, ] be a real number; the opposite point  * is defined as Similarly, the definition can be extended to high dimensional space.
Through the two previous definitions, we can conclude that the opposite learning algorithm is defined as follows.(10) While stopping criteria is not satisfied do (11) For  = 1 to NP do (12) For  = 1 to D do ( 13)

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 candidate  but also calculate its opposition candidate  * ; this will provide more chance of finding the solution closer to the global optimal value.Let  be a solution in current search space,  ∈ [, ]; the new solution  * in the opposite space is From the above definition, we can infer  * ∈ [Δ−, Δ−].Obviously, through the opposite transformation, the center of search space is changed from ( + )/2 to (2Δ −  − )/2.
Let Δ = ( + ), where  is a real number in [0, 1], and it is often generated randomly; this denotes the probability of reverse learning.

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.
(2) Calculate opposition population according to initial population; each dimension is calculated as follows: where   and OP  denote the th variable of the th vector of the population and opposite population, respectively, and  is a real number in [0, 1] which denotes the probability of reverse learning.
(3) Choose   fittest individual as initial population from the union of random population  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: where rand (, ) is a random number between  and .
The opposition learning based AMO algorithm is described in Algorithm 2.

Experimental Results
To evaluate the performance of our algorithm, we applied it to 23 standards benchmark functions as shown in Table 1 As seen from Table 2 to Table 4, opposition-based AMO algorithm significantly improves the results on functions  1 ,  2 ,  3 ,  5 ,  6 , and  7 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.
Figure 1 shows the evolutionary process of test function  2 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 oppositionbased AMO is obviously accelerated and the accuracy of optimization is also enhanced.

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.

Table 1 :
Benchmark functions based on our experimental study.

Table 2 :
Minimization result of benchmark functions 1-7 for different algorithms.

Table 3 :
Minimization result of benchmark functions 8-13 for different algorithms.

Table 4 :
Minimization result of benchmark functions 14-23 for different algorithms.