Abstract
Many nature-inspired optimization algorithms have recently been proposed to solve difficult optimization problems where the mathematical gradient-based approaches could not be used. However, those approaches were often not tested on a proper set of problems. Moreover, statistical tests are sometimes not used to validate the conclusions. Therefore, empirical analyses of such approaches are needed. In this paper, a very recent nature-inspired approach, symbiosis organisms search (SOS), is investigated. A set of unbiased and characteristically different problems are used to study the performance of SOS. In addition, a comparison with some recent optimization methods is conducted. Then, the effect of SOS only parameter, eco_size, is studied, and the use of different random distributions is also explored. Finally, three simple SOS variants are proposed and compared to the original SOS. Conclusions are validated using nonparametric statistical tests.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
Optimization is paramount in many applications (e.g., engineering, business and industry). The aim is to minimize (or maximize) an objective function. Mathematically speaking, the continuous nonlinear function optimization problem can be expressed as follows:
The vector \(\varvec{x} = \left( {x_{1} , \ldots ,x_{D} } \right)\) is composed of D real-valued components that are called design or decision variables, and the vectors l and u are assumed finite and to satisfy <u, the objective function f(x) is typically multimodal, so that local optima do not in general correspond to global optima. The objective function may have a nonlinear, complex or non-differentiable form. Thus, classic gradient-based optimization algorithms cannot be used in this case and non-gradient algorithms are preferred.
Nature-inspired optimization algorithms, typically non-gradient approaches, have recently become very popular. Too many algorithms have been proposed in the past 20 years. Examples are differential evolution (DE) [15], particle swarm optimization (PSO) [8], artificial bee colony (ABC) [6], flower pollination algorithm (FPA) [18], backtracking search algorithm (BSA) [2] and symbiosis organism search (SOS) [1]. For more details, the reader is referred to Simon [12] and Yang [19].
Unfortunately, many new algorithms are developed without holistic testing on a proper set of benchmark functions and without using rigorous statistical analysis. This has resulted in a “metaheuristics bubble” with too many similar and inefficient algorithms [13, 14]. In this paper, the recently proposed SOS is empirically studied, and some of its strengths and weaknesses are identified.
The objectives of this paper are:
-
1.
Evaluating the performance of SOS on a wide range of problems.
-
2.
Applying statistical tests in order to validate conclusions.
-
3.
Comparing SOS with other similar representative methods.
-
4.
Studying the effect of its only parameter and providing guidance on how to set this parameter.
-
5.
Investigating the use of different random distributions in order to generate new solutions.
-
6.
Proposing simple variants of the original SOS algorithm.
The remainder of this paper is structured as follows: Sect. 2 provides an overview of the SOS algorithm. Section 3 discusses our experimental setup. A comparison with some state-of-the-art methods is presented in Sect. 4. The effect of the SOS parameter is studied in Sect. 5. Different random distributions are used in Sect. 6. Section 7 presents and compares three simple SOS variants. Section 8 concludes the paper.
2 The symbiosis organisms search (SOS) algorithm
SOS simulates the interactive behavior of organisms in nature. Organisms rely on other species for survival. This reliance-based relationship is called “symbiosis.” SOS maintains a population of potential solutions. The initial population is called the ecosystem. Organisms in the ecosystem is randomly generated which each organism is representing a candidate solution to the given problem. A fitness function is assigned to each organism to reflect its degree of adaptation to the desired objective. SOS consists of three phases that resemble real-world biological interactions between two organisms:
-
1.
Mutualism phase where an interaction benefits both organisms.
-
2.
Commensalism phase where an interaction benefits one organism, while does not harm the other.
-
3.
Parasitism phase where one organism is benefited, while the other is harmed.
Thus, the following algorithm outlines the SOS approach:
A detailed description of the three phases is given next.
2.1 Mutualism phase
For each organism, x i , another organism, x j , is randomly chosen from the ecosystem to interact with x i where \(\varvec{x}_{i} \ne \varvec{x}_{j}\). The goal of this interaction is to increase the survival chances of both organisms. New candidate solutions are generated according to Eqs. 1, 2 and 3:
where x best is the best organism in the ecosystem, x m is a mutual vector which represents the relationship characteristic between x i and x j , \(\epsilon_{1}\) and \(\epsilon_{2}\) are two random vectors, and each entry takes the values between 0 and 1, ∘ is the Hadamard (i.e., elementwise) product, θ and γ are benefit factors that are determined randomly as either 1 or 2. These factors represent a level of benefit to each organism of the interaction.
The x best organism is used in SOS to model the highest degree of adaptation, which is the objective for both organisms.
The modified organisms, x inew and x jnew, replace the original organisms, x i and x j , if they are fitter than them. Thus, a greedy selection is used in SOS.
2.2 Commensalism phase
As in the mutualism phase, an organism, x j , is randomly selected to interact with x i . However, in this case, x i tries to benefit of the interaction while x j neither benefits nor suffers from the relationship. The x i is updated using the following equation:
where \(\epsilon_{3}\) is a random vector and each entry takes the values between 0 and 1. The x inew organism replaces x i if it is fitter.
2.3 Parasitism phase
A parasite vector, x p , is created in the search space by duplicating organism x i and modifying randomly chosen dimensions using a random number. Another organism, x j , is randomly selected from the ecosystem. The x p replaces x j if it is fitter.
From the above discussion, it is clear that each iteration of SOS requires four function evaluations. In addition, the only SOS parameter that needs to be tuned is the population size (eco_size in SOS terminology).
SOS was compared to several optimization approaches on 26 benchmark problems and 6 engineering design optimization problems from the structural engineering field [1]. However, the 26 problems are typically biased and relatively easy to solve. A biased function is a function whose minimum lies on a special line, like an axis of the system coordinates, or a symmetry axe of the search space, or a diagonal when the search space is a D-rectangle. Very common biased functions are those whose minimum is at the center of the search space, which is, at the same time, the origin of the system coordinates. Moreover, statistical tests were not used to validate the conclusions drawn from the experiments. Therefore, those conclusions are questionable.
In the next section, the experimental setup is described where a set of 25 problems are used to test the performance of SOS. This set consists of different types of problems with different characteristics that are typically not biased. In addition, the statistical test used to validate the results of the experiments is briefly stated.
3 Experimental setup
To test the performance of the competing methods, we have chosen 25 functions: 14 CEC05 functions (namely f1–f14), five real-world engineering problems (namely Gear Train, Compression Spring, Pressure Vessel, Lennard-Jones and Frequency Modulation Sound Parameter Identification) and the 6 CEC08 large-scale global optimization problems (i.e., F1–F6). The 14 CEC05 functions have different characteristics (e.g., rotated, non-separable, shifted, unimodal, multimodal, composite). For more details about the CEC05 functions, the reader is referred to Suganthan et al. [16]. More information on the first three real-world problems can be found in Sandgren [11]. For the Lennard-Jones and Frequency Identification problems, see Das and Suganthan [3]. For more details about the CEC08, refer to Tang et al. [17].
For all functions (except the CEC08 functions), we have used 100,000 function evaluations (FEs). For the CEC08 functions, 5000D FEs were used as suggested by Tang et al. [17]. The results of all methods have been obtained using 30 independent runs of the algorithms against each problem.
Given the best-of-run error, which is defined as the absolute difference between the best-of-the-run \(f\left( {\varvec{x}^{*} } \right)\) value and the actual optimum \(f\left( {\varvec{x^{\prime}}} \right)\) of a given function, i.e.,
The effectiveness of a method is measured using three metrics:
-
1.
The median of the best-of-run error.
-
2.
The mean and the standard deviation of the best-of-run error.
-
3.
Success rate (SR): The number of successful runs, where a run is successful if err. ≤ admissible error. In this paper, the admissible error is set to 1e−4.
In solving real-world problems, the function evaluation time overwhelms the algorithm overhead. Hence, the mean number of FEs needed to reach acceptable accuracy will be much more interesting than the CPU time [21]. Hence, the efficiency of a method is measured in terms of the number of FEs.
All programs are implemented using MATLAB version 8.1.0.604 (R2013a), and machine epsilon is 2.2204e−16. For the pseudo-random number generator (RNG), we have used the rand built-in function provided by MATLAB. This function implements the Mersenne Twister RNG [9]. We warmed the RNG by calling it 10,000 at the start of the program as suggested by Jones [5]. The nonparametric Friedman’s test with α = 0.05 and the Dunn–Sidak correction as a post hoc test have been used to compare the difference in performance of the different algorithms. The post hoc statistical analysis could help up to detect concrete differences between the competing algorithms. In this study, the null hypothesis, H 0, states that there is no difference between the medians of errors of the different algorithms. Nonparametric statistics do not need prior assumptions related to the sample of data being analyzed [4].
4 SOS versus state-of-the-art methods
In this section, we have compared SOS to three representative population-based optimization methods, namely DE, PSO and BSA. For DE, a self-adaptive DE, called JADE, proposed by Zhang and Sanderson [20] is used. JADE can be considered as a good performing DE variant and it is one of the best evolutionary algorithms for global optimization [22] and this is why we have chosen it. For PSO, the most recent standard SPSO2011 is used. A MATLAB implementation of SPSO2011 can be downloaded from http://www.particleswarm.info. BSA, on the other hand, is a very recent and simple metaheuristic that has shown to perform well on a wide range of problems [2]. The three optimization methods have been used to check if SOS can compete with some similar and recent approaches.
Table 1 shows that JADE clearly outperforms SOS on the 14 CEC05 benchmark functions. However, compared to SPSO2011, SOS manages to perform better on 5 functions while performing worse on two. SOS and BSA perform comparably on this set of benchmark problems. Comparing the efficiency of the four approaches, SOS seems to require less number of function evaluations to reach an “optimal” solution.
On high-dimensional problems, Table 2 shows that JADE outperforms SOS on almost all functions. SOS performs comparably to SPSO2011, while BSA generally performs better than SOS especially on multimodal functions. In addition, Table 2 shows that JADE is the most efficient approach when applied to the CEC08 problems.
Table 3 compares the performance of the four methods on real-world engineering problems. Based on the reported results, SOS is the best approach for these problems. The other three methods could not beat SOS on any single problem.
To summarize the results of Tables 1, 2 and 3, we can say that JADE is the best approach on the benchmark functions especially on high-dimensional problems. SOS, on the other hand, works particularly well on real-world engineering problems. In addition, SOS generally performs better than SPSO2011 on the standard benchmark functions. BSA performs better than SOS on high-dimensional problems.
The results reported in this section suggest that SOS needs further improvement in order to compete well with other state-of-the-art approaches.
Figure 1 shows the progress of the mean best errors found by the four approaches over 30 runs for selected problems.
5 Effect of eco_size
In this section, the effect of the population size, eco_size, on the performance of SOS is investigated.
Tables 4, 5 and 6 present the effect of eco_size on the performance of SOS when applied to CEC05 functions, CEC08 functions and the engineering problems, respectively. Table 4 shows that using a relatively small eco_size (i.e., 25) generally improves the performance of SOS on multimodal functions.
On the other hand, on high-dimensional CEC08 problems, Table 5 suggests that using a relatively big value of eco_size (i.e., 100) yields better solutions.
For the engineering problems, results reported in Table 6 show that generally no significant difference is noted between the different values of eco_size except for the Lennard-Jones problem, where a relatively small value of eco_size (≤50) significantly generates better solutions.
Therefore, based on the results reported in this section, a relatively small value of eco_size should be used for low-dimensional problems, while a relatively big value should be used for high-dimensional problems (i.e., eco_size is proportionally to D).
Figure 2 shows the convergence curves of SOS using different values of eco_size over 30 runs for selected problems. The figure shows that using 25 organisms enables SOS to converge to a better solution faster than bigger values of eco_size on low-dimensional problems (Fig. 2a, b, d). However, Fig. 2c shows that for a high-dimensional function, the performance improves as eco_size increases.
6 Commensalism phase: effect of using different distributions
Randomization plays an important role in both exploration and exploitation of a metaheuristic algorithm. Simple random numbers are often drawn from either a uniform distribution or a Gaussian normal distribution. Equation (4) in the commensalism phase uses a uniform distribution to generate the vector, \(\epsilon_{3}\), of random numbers between 0 and 1. In this section, we investigate the use of distributions with “infinite” support by the search space like normal and Lévy distributions to generate \(\epsilon_{3}\). If \(\epsilon_{3}\) is drawn from a normal distribution (i.e., \(r_{3,d} \sim\,N\left( {0,1} \right)\) where \(\epsilon_{3,d}\) is the dth component of \(\epsilon_{3}\)), the random walk (which is a random process consists of taking a series of consecutive random steps) is called a Brownian random walk. However, if Lévy distribution is used, the random walk is called a Lévy flight. Lévy flights are more efficient than Brownian random walks in exploring unknown, large-scale search spaces [19].
Table 7 compares the three distributions on the CEC05 functions. The results show that on unimodal functions, there is generally no significant difference between the three distributions. On multimodal functions, however, Lévy distribution outperforms uniform and normal distributions given that Lévy flights are efficient in exploring search spaces and thus more suitable for multimodal functions.
However, Table 8 shows that on high-dimensional problems, uniform and normal distributions outperform Lévy distribution. This suggests that Lévy distributions require more time (i.e., more function evaluations) to reach good solutions when applied to high-dimensional problems.
On engineering problems, Table 9 generally shows that no significant difference is observed between the three distributions.
From Tables 7, 8 and 9, we can conclude that using a distribution with infinite support does not mean that an optimization algorithm become better. It is true on some problems (like CEC05 multimodal functions when D = 10), but it is false on other problems (e.g., CEC08 using D = 50) because such a distribution may need far more iterations to find an “optimal” solution.
Similar analysis could be carried in the mutualism phase where \(\epsilon_{1}\) and \(\epsilon_{2}\) in Eqs. (1) and (2) can be drawn from normal and Lévy distributions.
Figure 3 shows the convergence curves of SOS using the three random distributions for some representative problems.
7 Enhanced SOS algorithm
In this section, three new variants are proposed and compared with the original SOS. The three SOS variants are explained next.
-
1.
lbest_SOS
The original SOS uses the best organism in the ecosystem, \(\varvec{x}_{best}\), in the mutualism and commensalism phases. However, using this model (i.e., a fully connected network structure or a star topology [7] the propagation is very fast. All the individuals in the population will be affected by the best solution found in iteration t, immediately in iteration \(t + 1\). This fast propagation may result in a premature convergence problem. However, using a ring topology, as depicted in Fig. 4, will slow down the convergence rate because the best solution found has to propagate through several neighborhoods before affecting all individuals in the population. This slow propagation will enable the individuals to explore more areas in the search space and thus decrease the chance of premature convergence. This is particularly useful for multimodal functions [10].
-
2.
pbest_SOS
The best organism in the ecosystem, x best, in Eqs. 1, 2 and 4 is replaced with, \(\varvec{x}_{best}^{p}\), which is randomly chosen as one of the top 100p % organisms in the current ecosystem with p ∊ (0, 1] as in JADE. The p parameter determines the greediness of the approach. In this paper, p is set to 0.1 that is within the [0.05,0.2] range suggested by Zhang and Sanderson [20].
-
3.
eco_min_max_SOS
In the parasitism phase, the parasite vector, x p , is created in the search space by duplicating organism x i and modifying randomly chosen dimensions using a random number, i.e.,
$$x_{p,d} = l_{d} + \epsilon_{4} \left[{u_{d} - l_{d}} \right]$$where \(\epsilon_{4} \sim U\left({0,1}\right)\), l d and u d are the lower and upper bounds of the dth decision variable. In the proposed variant, l d and u d are replaced with the minimum and maximum values of the dth decision variable in the current ecosystem.
Table 10 shows that the three proposed methods perform better than or equal to the original SOS on the CEC05 functions. On unimodal functions, there is generally no significant difference between the four methods. However, on the more interesting multimodal functions, eco_min_max_SOS is the best approach. The results show also that eco_min_max_SOS is the most efficient approach since it requires less number of function evaluations to reach the “optimal” solution. This is another advantage for this variant.
For high-dimensional CEC08 functions, Table 11 shows that on multimodal functions eco_min_max_SOS performs better on two out of the four functions. In addition, eco_min_max_SOS is the most efficient approach as in Table 10.
On the engineering problems, Table 12 shows that there is no significant difference between the four approaches. However, as in Tables 10 and 11, eco_min_max_SOS is the most efficient approach.
Based on the results reported in Tables 10, 11 and 12, it seems that eco_min_max_SOS is generally a viable and efficient alternative to the original SOS.
Figure 5 shows the convergence behavior of SOS and its variants on four representative problems. It is clear from the figure that SOS exhibits faster convergence.
Therefore, we can conclude from the results reported in this section that l and u may give exceedingly “loose” bounds on the decision variables, and hence, the parasitism phase (and consequently SOS) can be improved by a process that successively revises l and u based on solution history.
8 Conclusions
In this paper, the symbiosis organisms search (SOS) algorithm was empirically studied on a wide range of problems. First, SOS has been compared to three recent metaheuristic algorithms. The results showed that SOS suffered when used to solve high-dimensional problems. However, it worked well on the five engineering problems used in this study. Second, the effect of the only SOS parameter, eco_size, is investigated. The results suggested that as the problem’s dimension increases, eco_size should be increased. Hence, an adaptive formula could be used to automatically tune the eco_size parameter. Third, different random walks have then been used in the commensalism phase. In general, it seems that uniform and normal distributions are better than the Lévy distribution except for the low-dimensional multimodal functions. Finally, three simple SOS variants have been proposed and the results suggest that eco_min_max_SOS is a promising alternative to SOS.
References
Cheng M, Prayogo D (2014) Symbiotic organism search: a new metaheuristic optimization algorithm. Comput Struct 139:98–112
Civicioglu P (2013) Backtracking search optimization algorithm for numerical optimization problems. Appl Math Comput 219(15):8121–8144
Das S, Suganthan P (2010) Problem definitions and evaluation criteria for CEC 2011 competition on testing evolutionary algorithms on real world optimization problems. Technical Report, Jadavpur University, Nanyang Technological University
Garcia S, Molina D, Lozano M, Herrera F (2009) A study on the use of non-parametric tests for analyzing the evolutionary algorithms’ behaviour: a case study on the CEC’2005 special session on real parameter optimization. J Heuristics 15(6):617–644
Jones D (2010) Good practice in (pseudo) random number generation for bioinformatics applications. Technical Report, UCL Bioinformatics Group
Karaboga D (2005) An idea based on honey bee swarm for numerical optimization. Technical Report TR06, Erciyes University, Engineering Faculty, Computer Engineering Department
Kennedy J (1999) Small worlds and mega-minds: effects of neighborhood topology on particle swarm performance. In: Proceedings of IEEE congress on evolutionary computation, Washington DC, USA, pp 1931–1938
Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of the IEEE international joint conference on neural networks. IEEE Press, pp. 1942–1948
Matsumoto M, Nishimura T (1998) Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans Model Comput Simul 8(1):3–30
Peer E, Van den Bergh F, Engelbrecht A (2003) Using neighborhoods with the guaranteed convergence PSO. In: Swarm intelligence symposium, Piscataway, New Jersey, USA, IEEE Service Center, pp. 235–242
Sandgren E (1990) Non linear integer and discrete programming in mechanical design optimization. J Mech Des 112(2):223–229
Simon D (2013) Evolutionary optimization algorithms. Wiley, New York
Sorensen K (2015) Metaheuristics—the metaphor exposed. Int Trans Oper Res 22(1):3–18
Sorensen K, Sevaux M, Glover F (2016) History of metaheuristics. Handbook of heuristics. Springer, New York
Storn R, Price K (1995) Differential evolution—a simple and efficient adaptive scheme for global optimization over continuous spaces. Technical Report TR-95-012, International Computer Science Institute, Berkeley, CA
Suganthan P, Hansen N, Liang J, Deb K, Chen Y, Auger A, Tiwari S (2005) Problem definitions and evaluation criteria for the CEC2005 special session on real-parameter optimization. Technical Report, Nanyang Technology University, Singapore
Tang K, Yao X, Suganthan PN, MacNish C, Chen YP, Chen CM, Yang Z (2008) Benchmark functions for the CEC’2008 special session and competition on large scale global optimization. Technical Report, Nature Inspired Computation and Applications Laboratory, USTC, China
Yang X (2012) Flower pollination algorithm for global optimization. Lect Notes Comput Sci 7445:240–249
Yang X (2014) Nature-inspired optimization algorithms. Elsevier, Amsterdam
Zhang J, Sanderson A (2009) JADE: adaptive differential evolution with optional external archive. IEEE Trans Evol Comput 13(5):945–958
Zhan Z, Zhan J, Li Y, Chung H (2009) Adaptive particle swarm optimization. IEEE Trans Syst Man Cybern Part B 39(6):1362–1381
Zhou A, Sun J, Zhang Q (2015) An estimation of distribution algorithm with cheap and expensive local search methods. IEEE Trans Evol Comput 19(6):807–822
Acknowledgments
The authors would like to thank the anonymous reviewers for their constructive and helpful comments and suggestions.
Author information
Authors and Affiliations
Corresponding author
Additional information
Salah Al-Sharhan and Mahamed G. H. Omran have contributed equally to this work.
Rights and permissions
About this article
Cite this article
Al-Sharhan, S., Omran, M.G.H. An enhanced symbiosis organisms search algorithm: an empirical study. Neural Comput & Applic 29, 1025–1043 (2018). https://doi.org/10.1007/s00521-016-2624-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00521-016-2624-x