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:

$${\text{Min}}\,f(x):\varvec{l} \le \varvec{x} \le \varvec{u}$$

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

    Evaluating the performance of SOS on a wide range of problems.

  2. 2.

    Applying statistical tests in order to validate conclusions.

  3. 3.

    Comparing SOS with other similar representative methods.

  4. 4.

    Studying the effect of its only parameter and providing guidance on how to set this parameter.

  5. 5.

    Investigating the use of different random distributions in order to generate new solutions.

  6. 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. 1.

    Mutualism phase where an interaction benefits both organisms.

  2. 2.

    Commensalism phase where an interaction benefits one organism, while does not harm the other.

  3. 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:

$$\varvec{x}_{i\rm{new}} = \varvec{x}_{i} + \epsilon_{1} \circ \left[{\varvec{x}_{\rm{best}} - \theta \varvec{x}_{m}}\right]$$
(1)
$$\varvec{x}_{j\rm{new}} = \varvec{x}_{j} + \epsilon_{2} \circ \left[{\varvec{x}_{\rm{best}} - \gamma \varvec{x}_{m}}\right]$$
(2)
$$\varvec{x}_{m} = \frac{{\varvec{x}_{i} + \varvec{x}_{j} }}{2}$$
(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:

$$\varvec{x}_{i\rm{new}} = \varvec{x}_{i} + \epsilon_{3} \circ \left[{\varvec{x}_{\rm{best}} - \varvec{x}_{j}}\right],$$
(4)

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 f1f14), 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., F1F6). 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.,

$${\text{err}}. \, = \left| {f\left( {\varvec{x}^{*} } \right) - f\left( {\varvec{x}^{\prime} } \right)} \right|$$

The effectiveness of a method is measured using three metrics:

  1. 1.

    The median of the best-of-run error.

  2. 2.

    The mean and the standard deviation of the best-of-run error.

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

Table 1 Comparing SOS, JADE, SPSO2011 and BSA on the CEC05 functions (D = 10)

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 2 Comparing SOS, JADE, SPSO2011 and BSA on the CEC08 functions (D = 50)

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.

Table 3 Comparing SOS, JADE, SPSO2011 and BSA on the engineering problems

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.

Fig. 1
figure 1

Mean best error curves of SOS, JADE, SPSO2011 and BSA for selected problems. a CEC05 f4, b CEC05 f9, c CEC08 F3, d Lennard-Jones

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.

Table 4 Effect of eco_size on the performance of SOS on the CEC05 functions (D = 10)
Table 5 Effect of eco_size on the performance of SOS on the CEC08 functions (D = 50)
Table 6 Effect of eco_size on the performance of SOS on the engineering problems

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.

Fig. 2
figure 2

Mean best error curves of different eco_size values for selected problems. a CEC05 f2, b CEC05 f13, c CEC08 F6, d Lennard-Jones

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.

Table 7 Effect of using different distributions in the commensalism phase of SOS when applied to the CEC05 functions (D = 10)

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.

Table 8 Effect of using different distributions in the commensalism phase of SOS when applied to the CEC08 functions (D = 50)

On engineering problems, Table 9 generally shows that no significant difference is observed between the three distributions.

Table 9 Effect of using different distributions in the commensalism phase of SOS when applied to the engineering problems

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.

Fig. 3
figure 3

Mean best error curves of SOS using different random distributions for selected problems. a CEC05 f5, b CEC05 f10, c CEC08 F5, d Frequency Modulation

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

    Fig. 4
    figure 4

    Ring topology

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

Table 10 Comparing SOS, lbest_SOS, pbest_SOS and eco_min_max_SOS on the CEC05 functions (D = 10)

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.

Table 11 Comparing SOS, lbest_SOS, pbest_SOS and eco_min_max_SOS on the CEC08 functions (D = 50)

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.

Table 12 Comparing SOS, lbest_SOS, pbest_SOS and eco_min_max_SOS on the engineering problems

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.

Fig. 5
figure 5

Mean best error curves of SOS, lbest_SOS, pbest_SOS and eco_min_max_SOS for selected problems. a CEC05 f2, b CEC05 f6, c CEC08 F3, d Lennard-Jones

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.