Elite Opposition-Based Social Spider Optimization Algorithm for Global Function Optimization

Abstract: The Social Spider Optimization algorithm (SSO) is a novel metaheuristic optimization algorithm. To enhance the convergence speed and computational accuracy of the algorithm, in this paper, an elite opposition-based Social Spider Optimization algorithm (EOSSO) is proposed; we use an elite opposition-based learning strategy to enhance the convergence speed and computational accuracy of the SSO algorithm. The 23 benchmark functions are tested, and the results show that the proposed elite opposition-based Social Spider Optimization algorithm is able to obtain an accurate solution, and it also has a fast convergence speed and a high degree of stability.

The Social Spider Optimization algorithm (SSO), proposed by Erik Cuevas in 2013 [14], is a novel metaheuristic optimization algorithm that simulates social-spider behavior.Although SSO has obtained good performance on many optimization problems, it still falls easily into a local optimal solution.In order to enhance the performance of SSO on optimization problems, this paper presents a novel SSO algorithm called EOSSO by using OBL and elite selection mechanism.Opposition-based Learning (OBL) is a new concept in computational intelligence, many algorithms have used the OBL mechanism [15,16], and it has been proven to be an effective strategy to improve performance of various optimization algorithms.The main idea behind OBL is to transform solutions in the current search space to a new search space.By simultaneously considering the solutions in the current search space and the transformed search space, OBL can provide a higher chance of finding solutions which are closer to the global optimum.However, OBL could not be suitable for all kinds of optimization problems.For instance, the transformed candidate may jump away from the global optimum when solving multimodal problems.To avoid this case, a new elite selection mechanism based on the population is used after the transformation.The proposed elite opposition-based Social Spider Optimization algorithm is validated by 23 benchmark functions.The results show that the proposed algorithm is able to obtained accurate solution, and it also has a fast convergence speed and a high degree of stability.
The rest of the paper is organized as follows.Section 2 introduces the original Social Spider Optimization algorithm (SSO).Section 3 proposes a new elite opposition-based Social Spider Optimization algorithm (EOSSO).A series of comparison experiments on various benchmarks in Section 4. The results analysis is described in Section 5. Finally, conclusion and future works can be found and discussed in Section 6.

The Social Spider Optimization Algorithm
The SSO algorithm is divided into two different search agents (spiders): males and females.Depending on gender, each individual is conducted by a set of different evolutionary operators which mimic different cooperative behaviors that are commonly assumed within the colony.The SSO algorithm starts by defining the number of female and male spiders that will be characterized as individuals in the search space.The number of females (N f ) is randomly selected within the range of 65%-90% of the entire population (N).Therefore, N f is calculated by the following equation: where, rand is a random number in the range [0, 1], whereas f loor(.)maps a real number to an integer number.The number of male spiders (N m ) is computed as the complement between N and N f .It is calculated as follows: where, the population (S) is composed by N elements and is divided into sub-groups F and M.

Fitness Assignation
In natural metaphor, the spider size is the characteristic that evaluates the individual capacity, every spider receives a weight (w i ) which represents the solution quality that corresponds to the spider (i) of the population (S).The weight of every spider is defined: where, J(s i ) is the fitness value obtained by the evaluation of the spider position (s i ) with regard to the objective function (J(.)).The values of worst s and best s are defined as follows (considering a maximization problem):

Modeling of the Vibrations through the Communal Web
The communal web is used as a mechanism to transmit information among the colony members.The vibrations depend on the weight and distance of the spider which has generated them.The vibrations perceived by the individual (i) as a result of the information transmitted by the member (j) are modeled as the following equation: where, d i,j is the Euclidian distance between the spiders i and j, such that d i,j = s i − s j .
Although it is virtually possible to compute perceived vibrations by considering any pair of individuals, but only three special relationships are considered within the SSO approach: (1) Vibrations (Vibc i ) are perceived by the individual (i) as a result of the information transmitted by the member (c) who is an individual that has two characteristics: it is the nearest member to individual (i) and possesses a higher weight in comparison to individual (i) (w c > w i ).
( . (3) The vibrations (Vib f i ) perceived by the individual (i) as a result of the information transmitted by the member ( f ), with individual ( f ) being the nearest female individual to individual (i).

Initializing the Population
The SSO algorithm begins by initializing the set (S) of N social-spider positions.Each social-spider position, f i or m i , is an n-dimensional vector containing the parameter values to be optimized.Such values are randomly and uniformly distributed between the pre-specified lower initial parameter bound (p low j ) and the upper initial parameter bound (p high j ), just as it described by the following expressions: where k and j are the individual indexes, whereas zero signals the initial population.The function (rand(0, 1)) generates a random number between 0 and 1.

Female Cooperative Operator
To emulate the cooperative behavior of the female spider, the operator considers the position change of the female spider (i) at each iteration process.The position change is computed as a combination of three different elements.The first one involves the change in regard to the nearest member to individual (i) that holds a higher weight and produces the vibration (Vibc i ).The second one considers the change regarding the best individual of the entire population (S) who produces the vibration (Vibb i ).Finally, the third one incorporates a random movement.
For this operation, a uniform random number (r m ) is generated within the range [0, 1].If random number (r m ) is smaller than a threshold (PF), an attraction movement is generated; otherwise, a repulsion movement is produced.Therefore, such operator can be modeled as follows: where, α, β, δ and rand are random numbers between 0 and 1, whereas k represents the iteration number.The individual (s c ) represent the nearest and holds a higher weight of member to individual (i), the individual (s s ) represent that the social-spider with a highest weight in the entire population (S).

Male Cooperative Operator
In the natural, male population of social-spider is divided into two classes: dominant members (D) and non-dominant members (ND) of male spiders.Male members, with a weight value above the median value within the male population, are considered the dominant individuals (D).On the other hand, those under the median value are labeled as non-dominant (ND) males.
In order to implement this computation, the male population (M = {m 1 , m 2 , . . . ,m N m }) is arranged according to their weight value in decreasing order.Thus, the individual whose weight (w N f +m ) is located in the middle is considered the median male member.Since indexes of the male population (M) in regard to the entire population (S) are increased by the number of female members (N f ), the median weight is indexed by N f + m.According to this, the male spider positions change as follows: where, the individual (s f ) represents the nearest female individual to the male member (i), whereas h=1 w N f +h ) correspond to the weighted mean of the male population (M).

Mating Operator
Mating in a social-spider colony is performed by dominant males and the female members.Under such circumstances, when a dominant male (m g ) spider (g ∈ D) locates a set of female members (E g ) within range of mating (r), it mates, forming a new brood (s new ) which is generated considering all the elements of the set (T g ), which has been generated by the union (E g ∪ m g ).It is emphasized that if the set (E g ) is empty, the mating operation is canceled.The range (r) is defined as a radius which depends on the size of the search space.Such radius (r) is computed according to the following model: In the mating process, the weight of each involved social-spider (elements of T g ) defines the probability of influence for each individual into the new brood.The social-spider holding a heavier weight is more likely to influence the new product, while elements with lighter weight have a lower probability.The influence probability (Ps i ) of each member is assigned by the roulette method, which is defined as follows: where i ∈ T g .
Once the new spider is formed, it is compared to holding the worst spider (s wo ) of the colony, according to their weight values (where w wo = min(w l ) l∈{1,2,...,N} ).If the new spider is better than the worst spider, the worst spider is replaced by the new one.Otherwise, the new spider is discarded and the population does not suffer changes.

Computational Procedure
The computational procedure for the Algorithm 1 can be summarized as follow: Algorithm 1: The Social spider optimization algorithm Step 1: Think N as the total number of n-dimensional colony members, define the number of male (N m ) and females spiders (N f ) in the entire population (S).
Where rand is a random number in the range [0, 1], whereas f loor(.)maps a real number to an integer number.
Step 3: Calculation the weight of every spider of S.
For (i =1; i < N +1; i++) w i = J(s i )−worsts bests −worsts , where best s = max(J(s k )) Step 5: Move the male spiders according to the male cooperative operator Find the median male individual (w N f +m ) from M.
Step 7: if the stop criteria is met, the process is finished; otherwise, go back to Step 3.

Elite Opposition-Based Social Spider Optimization Algorithm (EOSSO)
When the SSO calculates unimodal function and multimodal function, we can clearly discover that the solutions obtained by SSO are not good enough.In order to enhance accuracy of the algorithm, we append one optimization strategy to SSO.There is global elite opposition-based learning strategy (GEOLS).In this part, we introduce opposition-based learning (OBL) and global elite opposition based learning strategy (GEOLS).

Opposition Based Learning (OBL)
OBL is, basically, a machine intelligence strategy which was proposed by Tizhoosh in [17].It considers the current individual and its opposite individual simultaneously in order to get a better approximation at the same time for a current candidate solution.It has been also proved that an opposite candidate solution has a greater opportunity to be closer to the global optimal solution than a random candidate solution [17].Therefore, the concept of OBL has been utilized to enhance population based algorithms in [18][19][20][21].The general, OBL concept has been, successfully, applied in some areas of research work such as in reinforcement learning [22], window memorization for morphological algorithms [23], image processing using the opposite fuzzy sets [24,25] and also in some popular optimization techniques like ant colony optimization [26][27][28], GA [29], artificial neural networks with opposite transfer function and back propagation [30,31], DE, PSO with Cauchy mutation [32], gravitational search algorithm [33], harmonic search algorithm [34], and BBO [35,36].In proposing this technique, some definitions are clearly defined below:

A. Opposite number:
Let p ∈ [x, y] be a real number.The opposite number of p(p * ) is defined by:

C. Opposition based population initialization:
By utilizing opposite points, a suitable starting candidate solution may be obtained even when there is not a priori knowledge about the solution.The main steps of the proposed approach are listed as follows: Step 1 Initialize the population set in a random manner.
Step 2 Calculate opposite population by: where a = 1, 2, . . ., N, b = 1, 2, . . ., n and p a,b and op a,b denote the bth variable of the ath vector of the population and opposite population, respectively.
Step 3 Select the fittest N individuals from {p ∪ op} as initial population.

D. Opposition based generation jumping
If we apply similar approach to the current population, the whole evolutionary process can be forced to jump to a new solution candidate who is more suitable than the current one.From this comparison, the fittest N individuals are selected.In each generation, search space is reduced to calculate the opposite points, i.e.,

Global Elite Opposition-Based Learning Strategy (GEOLS)
The Social Spider Optimization algorithm use cooperation among female groups in global search process.It is simulated by changes in the position of female spiders.As we know that it is a stochastic process, the probability of getting a good solution is relatively low.For increasing the probability of obtained a better solution to the problem in global search process and expand the searching space, this strategy is applied to the proposed EOSSO.
Elite opposition-based Learning is a new technique in the field of intelligence computation.Its main ideology is: for a feasible solution, calculate and evaluate the opposite solution at the same time, and choose the better one as the individual of next generation.In this paper, individual with the best fitness value in the population is viewed as the elite individual.For explaining the definition of elite opposition-based solution, an example should be exhibited.If we suppose that the elite individual of the population is X e = (x e,1 , x e,2 , . . .., x e,n ).For the individual X i = (x i,1 , x i,2 , . . .., x i,n ), the elite opposition-based solution of X i which can be defined as In addition, it can be obtained by following equation: where N is the population size, n is the dimension of X, k ∈ U(0, 1) and (da j db j ) is the dynamic bound of jth decision variable.da j , db j can be obtained by following equation: As we know that the shrink of searching space may cause algorithm stuck in local minimal.Thus, in this proposed algorithm, we will update da j and db j every 50 generations.Dynamic bound is good at restoring searching experience.However, it can make x * i,j jump out of (da j db j ), if that happened, equation below should be used to reset x * i,j .
x * i,j = rand(da j , db j ), if x * i,j < da j or x * i,j > db j (20) In global searching process, this strategy expands the searching space of algorithm and it can strengthen the diversity of the population, thus the proposed global searching ability can be enhanced by this optimization strategy.

Simulation Experiments
In this section, 23 benchmark test functions [37] are applied to evaluate the optimal performance of EOSSO.The space dimension, scope and optimal value of 23 functions are shown in Tables 1-3.The rest of this section is organized as follows: experimental setup is given in Section 4.1 and the comparison of each algorithm performance is shown in Section 4.2.
They are f 1 -f 7 for unimodal benchmark functions, f 8 -f 13 for multimodal benchmark functions and f 14 -f 23 for fixed-dimension multimodal benchmark functions.

Experimental Setup
The proposed elite opposition-based Social Spider Optimization algorithm (EOSSO) compared with ABC, BA, DA, GGSA and SSO, respectively using the mean and standard deviation to compare their optimal performance.The parameters settings of algorithms are as follows: for all the optimization algorithms, population size N = 50, the iteration number is 1000 and execute 30 independent experiments.All of algorithms were programmed in MATLAB R2012a, simulated with an Inter (R) Core(TM) i5-4590 CPU and 4 GB memory.

Comparison of Each Algorithm Performance
The 30 independent runs were made for the six algorithms, the results obtained by six algorithms are presented in Tables 4-6 In Tables 4-6, The "Function" represents test function, "Dim" represents dimension size, each number in the column "mean" is the average global optimal value of 30 time independent operation, the "best" is the best global optimal value of 30 time independent operation, the "worst" is the worst global optimal value of 30 time independent operation, each number in the column "std."represents standard deviation value of 30 time independent operation.

Result Analysis
Seen from Table 4, in unimodal benchmark functions, EOSSO can get a better optimal solution for f and has a very strong robustness.For 6 f , the precision of optimal fitness value and mean fitness value of GGSA are higher than other algorithms.For the seven functions in unimodal benchmark functions, standard deviation of EOSSO is less than that of other algorithm.In addition, this means that in the optimization of unimodal function, EOSSO has better stability.Similarly, seen from Table 5, EOSSO can find the optimal solution for 9 f and 11 f .In addition, the standard deviations are zeros.For

Result Analysis
Seen from Table 4, in unimodal benchmark functions, EOSSO can get a better optimal solution for f and has a very strong robustness.For 6 f , the precision of optimal fitness value and mean fitness value of GGSA are higher than other algorithms.For the seven functions in unimodal benchmark functions, standard deviation of EOSSO is less than that of other algorithm.In addition, this means that in the optimization of unimodal function, EOSSO has better stability.Similarly, seen from Table 5, EOSSO can find the optimal solution for 9 f and 11 f .In addition, the standard deviations are zeros.For

Result Analysis
Seen from Table 4, in unimodal benchmark functions, EOSSO can get a better optimal solution for f 1 , f 2 , f 3 , f 4 , f 5 and f 7 and has a very strong robustness.For f 6 , the precision of optimal fitness value and mean fitness value of GGSA are higher than other algorithms.For the seven functions in unimodal benchmark functions, standard deviation of EOSSO is less than that of other algorithm.In addition, this means that in the optimization of unimodal function, EOSSO has better stability.
Similarly, seen from Table 5, EOSSO can find the optimal solution for f 9 and f 11 .In addition, the standard deviations are zeros.For f 9 , f 10 and f 11 , the precision of mean fitness value, best fitness value, worst fitness value and standard deviation of EOSSO are better than other algorithms.These results mean that EOSSO has a strong searching ability and a great stability for solving multimodal function optimization.
For f 14 -f 23 , we can see from Table 6 above that the best fitness value, the worst fitness value, mean fitness value and standard deviation produced by EOSSO are better than other algorithms.
In addition, for, EOSSO can get better best fitness value and mean fitness value and worst fitness value, but standard deviation are worse than that of SSO.After analyzing Tables 4-6, a conclusion can be easily drawn that EOSSO has a great ability for solving function optimization problems according to the experimental results.
Figures 1-10 show the evolution curves of fitness value for f 1 , f 4 , f 7 , f 9 , f 10 , f 11 , f 16 , f 18 , f 19 and f 23 .From these Figures, we can easily find that EOSSO converge faster than other population based algorithms mentioned above, and the values obtained by EOSSO are closer to the optimal value of benchmark functions.These show that EOSSO has a faster convergence speed and a better precision than SSO and other population based algorithms.show the anova test of global minimum for f 1 , f 4, f 7 , f 9 , f 10 , f 11 , f 16 , f 18 , f 19 and f 23 .From these figures, we can discover that the standard deviation of EOSSO is much smaller, and the number of outlier is less than other algorithms.These imply that EOSSO has a great performance with a high degree of stability.In sum, proposed EOSSO is an algorithm with fast convergence speed, high level of precision and a great performance of stability.
In Section 4.2, 23 standard benchmark functions are selected to evaluate the performance of elite opposition-based Social Spider Optimization algorithm (EOSSO).f 1 -f 7 are unimodal function, f 8 -f 13 are multimodal function, f 14 -f 23 are fixed-dimension multimodal benchmark function.Experiment results are listed in Tables 4-6.Figures 1-20 are evaluation curves of fitness values and anova test of global minimum for f 1 , f 4, f 7 , f 9 , f 10 , f 11 , f 16 , f 18 , f 19 and f 23 .The results in tables show that a more precise solution can be found by EOSSO.Figures listed in paper reflect a fact that EOSSO has a faster convergence speed and a higher stability.

Conclusions and Future Works
In order to overcome the disadvantage of Social Spider Optimization algorithm that it is still easy to fall into a local optimal solution, this paper presents a novel SSO algorithm called EOSSO by using OBL and the elite selection mechanism.Opposition-based Learning (OBL) is a new concept in computational intelligence and it has been proven to be an effective strategy to improve performance of various optimization algorithms.The main idea behind OBL is to transform solutions in the current search space to a new search space.By simultaneously considering the solutions in the current search space and the transformed search space, OBL can provide a higher chance of finding solutions that are closer to the global optimum.This kind of mechanism enhances the diversity of the population, which helps to improve its exploration ability.From the results of the 23 benchmark functions, the performance of EOSSO is better than, or at least comparable with other population-based algorithm mentioned in this paper.EOSSO has a fast convergence speed, a relatively high degree of stability and it is also much more accurate in precision.
For EOSSO, there are various issues that still deserve further study.Firstly, multi-objective optimization problems can be seen here and there in the real world.Compared with single objective optimization problems, it is often very challenging to obtain high-equality solution.The proposed elite opposition-based Social Spider Optimization algorithm should be used to solve these multi-objective optimization problems in the future to validate its performance.Secondly, there exist many NP-hard problems in literature, such as the traveling salesman problem, graph coloring problem, radial basis probabilistic neural networks, and finder of polynomials based on root moments.In order to test the performance of EOSSO, it should be used to solve these NP-hard problems in the future.Thirdly, the proposed EOSSO should solve some practical engineering problems in the future, for example, welding beam and spring pressure design problem, vehicle scheduling optimization problem and scheduling optimization of hydropower station, etc.Finally, although the proposed algorithm is tested with 23 benchmark functions, a more comprehensive computational study should be made to test the efficiency of the proposed solution technique in the future.

2 )
The vibrations (Vibb i ) perceived by the individual (i) as a result of the information transmitted by the member (b), with individual (b) being the individual holding the best weight (best fitness value) of the entire population (S), such that w b = max(w k ) k∈{1,2,...,N} a = 1, 2, . . ., N and b = 1, 2, . . .., n. [Min gn b , Max gn b ] is the current interval in the population which is becoming increasingly smaller than the corresponding initial range [x b , y b ].
. The evolution curves and the variance diagram of f 1 , f 4 , f 7 , f 9 , f 10 , f 11 , f 16 , f 18 , f 19 and f 23 obtained by six algorithms are presented in Figures 1-10 and Figures 11-20, respectively.

Table 4 .
Simulation results for test unimodal benchmark function.

Table 5 .
Simulation results for test multimodal benchmark function.

Table 6 .
Simulation results for test fixed-dimension multimodal benchmark function.