1 Introduction

The self-organizing migrating algorithm (SOMA) is the swarm intelligence algorithm described by Zelinka (2000) and Zelinka and Lampinen (2000a), in the period of a massive expansion of the biologically inspired algorithms—particle swarm optimization (Kennedy and Eberhart 1995), differential evolution (Storn and Price 1997), ant colony optimization (Dorigo and Blum 2005) to name some of the most popular.

Since 2004, when the SOMA was presented in Zelinka (2004) as the novel optimization technique for engineering optimization, various research works dealing with improvement or application of the SOMA were published. The performance of the original SOMA (Zelinka 2000; Zelinka and Lampinen 2000a, b) was evaluated on continuous single-objective bound-constrained problems. However, the SOMA was adapted soon for the constrained (Deep et al. 2008), multi-objective (Kadlec and Raida 2011b, 2012) or discrete optimization (Davendra et al. 2013).

In Google Scholar, 1020 records contain the keyword self-organizing migrating algorithm. In Web of Science, there are 154 records, and in Scopus, we can find 678 documents. From the perspective of the title of the paper, in Web of Science, we can find 44 papers having the self-organizing migrating algorithm in the title. In Scopus, there are 82 documents. Every year, the papers focused on the SOMA are published, see Fig. 1a, b. In Table 1, the most cited papers having the self-organizing migrating algorithm in title are mentioned.

Fig. 1
figure 1

a Papers containing keyword self-organizing migrating algorithm and indexed in Scopus. b Papers having self-organizing migrating algorithm in the title and indexed in Scopus

Table 1 The most cited papers dealing with SOMA improvement or application

There are two goals of this paper. First, to provide a thorough review of research publications dealing with SOMA. This work can contribute to a better orientation in the abilities and possibilities of the SOMA. The second goal of this work is to provide additional information about the performance of the SOMA. For this purpose, a series of experiments were conducted. Their results are presented in this work.

The rest of the paper is organized as follows: In Sect. 2, the principle of SOMA, control parameters setting, and migration strategies are described thoroughly. Then the migration strategies are compared based on the well-known single-objective optimization problems. Section 3 provides the review of the publications focused on single-objective optimization, including the enhanced algorithms and SOMA applications. A comparison of the selected enhanced algorithms can be found there too. Section 4 deals with the SOMA and multi-objective optimization. In Sect. 6, the content of the paper is summarized.

2 Self-organizing migrating algorithm

The SOMA is a biologically inspired technique developed for single-objective bound-constrained optimization. It works with a population of individuals \(P =\{\vec {x}_{1}, \vec {x}_{2}, \ldots , \vec {x}_{popSize} \}\), where popSize is the number of individuals within the population. Each individual \(\vec {x}_{i}\) is a D-dimensional vector of variables, where each variable \(x_{i,j} \in [L_{j}, U_{j}]\). \(L_{j}\) and \(U_{j}\) denotes the lower and upper bound for the jth variable. Each individual \(\vec {x}_{i}\) is evaluated by the objective function value \(f(\vec {x}_{i})\).

At the beginning of the algorithm, the individuals are generated randomly within the space of possible solutions. The migration process is carried out in migration loops. At each migration loop ML, an individual migrates to a leader. A leader \(\vec {x}_{L}^{ML}\) is the best individual from the population. Individual \(\vec {x}_{i}^{ML}\) migrates towards a leader \(\vec {x}_{L}^{ML}\) in steps with the length Step. The length of its trajectory is then given by the parameter PathLength. The trajectory of the individual is perturbed by the perturbation vector \(\vec {PRT}Vector\), which is generated based on the perturbation parameter prt.

The perturbation vector is generated as follows:

$$ PRTVector_{i,j} = \left\{ \begin{array}{ll} 1 &{} \text { if } rnd_{j} < prt,\\ 0 &{} \text { otherwise,} \end{array}\right. $$
(1)

where \(rnd_{j}\) is a random uniform number from the interval [0, 1].

A new position of an individual \(\vec {x}_{i}^{ML}\) is calculated according to the following equation:

$$ \vec {x}_{i}^{t} = \vec {x}_{i}^{ML} + (\vec {x}_{L}^{ML} - \vec {x}_{i}^{ML}) \cdot t \cdot \vec {PRT}Vector_{i}, $$
(2)

where t is increased until its value is greater than PathLength. After each step, a new position is evaluated. At the end of the path, the best position is selected. If it is better than the actual one, it will replace it in the new population. Otherwise, the actual one is accepted. At the end of the migration loop, a new population will replace the old one. The pseudo-code of the SOMA with the migration strategy AllToOne is described in Algorithm 1.

figure a

2.1 Control parameters

The population size popSize, step size Step, length of the individual trajectory PathLength and perturbation parameter prt are control parameters of the algorithm. In Zelinka (2004), the following values are suggested for these parameters:

  • \(popSize \ge 10\). For dimensions higher or equal to 100, the recommended values for popSize is 0.2D or 0.5D, where D is the number of dimensions. For unimodal functions, a lower number of individuals is suggested. In the case of the multi-modal functions, \(popSize=D\) seems to be a good initial setting.

  • \(PathLength \in [1.1, 5.0]\). \(PathLength = 3.0\) is considered to be sufficient. If \(PathLength=1.0\), the individual will finish its trajectory at the position of a leader.

  • \(Step \in [0.11, PathLength]\). With the lower values of Step, the number of objective function evaluations increases for one individual.

  • \(prt \in [0.0, 1.0]\). The direction of the individual motion is given by a perturbation vector generated based on prt. If a value of prt equals 1, the individual will move towards a leader directly. The algorithm will tend to premature convergence. On the other hand, with prt close to 0, only a few variables will change their values. The convergence will be affected negatively.

In literature, popSize is usually set based on a problem dimension. Generally, it follows the suggested setting in Zelinka (2004). In the case of PathLength, several values are usually taken into consideration. \(PathLength=3\) is the most often setting (Zelinka et al. 2005a; Deep et al. 2007, 2008; Davendra and Zelinka 2009; Singh and Agrawal 2014b, 2015a, b; Agrawal and Singh 2017; Kadavy et al. 2019a, b; Tomaszek et al. 2019). However, in literature, we can find several others. In Nolle et al. (2005), \(PathLength=2\). In Lin and Juan Wang (2014), \(PathLength = 2.1\). The setting \(PathLength=2.5\) is mentioned in Bao and Zelinka (2019).

In Kadavy et al. (2020), a population is divided into two types of individuals, best individuals of clusters (sub-populations) and the others. For the first group \(PathLength = 2\), for the second one, \(PathLength = 3\). In Skanderova et al. (2019), the value of PathLength is adapting and its value oscillates between 2 and 3. Occasionally, we can see \(PathLength=1.8\) in the literature, for example, dos Santos Coelho (2009a, 2009b) and Mariani et al. (2009).

Step size is usually set to \(Step=0.11\) (Zelinka et al. 2005a; Nolle et al. 2005; Deep et al. 2007; Pospisilik et al. 2011; Oplatkova et al. 2013; Bao and Zelinka 2019; Duary et al. 2020). This value enables to search for the space of possible solutions thoroughly. However, the number of objective function evaluations is relatively high for one individual and migration loop. This setting often leads to the waste of objective function evaluations in unpromising areas. Therefore, the authors experiment with different values of Step. In Zelinka et al. (2006), \(Step=0.3\) and \(Step=0.6\). The setting \(Step=0.3\) was successfully used in dos Santos Coelho (2009a) and Tomaszek and Chadli (2019). The value 0.21 is used in Deep et al. (2008) and in Davendra and Zelinka (2009), \(Step=0.23\).

In Kadavy et al. (2019b), a pool of the step sizes is created. At the beginning of the algorithm, for each individual, the step size is selected randomly. If an individual is not improved for a certain number of migration loops, a new value of Step will be selected based on the roulette selection. Adaptation of the Step is also used in Skanderova et al. (2019).

As mentioned, in Kadavy et al. (2020), there are two types of individuals. The best individuals from the clusters (sub-populations) and the others. For the best individuals, \(Step=0.11\). For the others, \(Step=0.33\). Generally, publications respect the suggestion mentioned in Zelinka (2004) that PathLength should not be fully divisible by Step to avoid premature convergence.

The direction of an individual’s motion is given by perturbation vector \(\vec {PRT}Vector\), which is generated based on perturbation parameter prt. It is a problem-dependent parameter, and its setting significantly affects the convergence of the SOMA. Its value differs from publication to publication. However, \(prt=0.1\) dominates, see (Zelinka et al. 2005b; Nolle et al. 2005; Mariani et al. 2009; Davendra and Zelinka 2009; dos Santos Coelho and Mariani 2010; Kadlec and Raida 2011b; Pospisilik et al. 2011; Holiš et al. 2013; Oplatkova et al. 2013; Bao and Zelinka 2019; Duary et al. 2020). The next frequented value is 1.0, see Deep et al. (2007, 2008), Singh and Agrawal (2015b) and Duary et al. (2020). In Kadavy et al. (2019a, 2019b), the value of \(prt_{i}\) for each individual \(\vec {x}_{i}\) is selected from a predefined pool based on roulette selection. In Kadavy et al. (2020), for the best individuals from the clusters, \(prt=0.3\). For the others, \(prt=0.5\). In Skanderova et al. (2019), the perturbation vectors are generated based on the groups of interacting variables, or the parameter prt is self-adapted. And in Diep (2019), it is self-adapted based on the actual and maximal number of the objective function evaluations.

2.2 Migration strategies

Algorithm 1 describes the SOMA using migration strategy AllToOne. It is a strategy, where at each migration loop, the best individual is selected as a leader, and the others migrate to it. The best positions of the individual path then create a new population. At the end of a migration loop, the old population is replaced by the new one. Besides AllToOne, its adaptive version exists. In AllToOne Adaptive, an individual is moved to a better position immediately. The algorithm works just with one population.

In SOMA AllToRandom (also denoted as AllToOne Random), a leader is selected randomly. For each individual, a different leader is taken. The disadvantage is its slower convergence in comparison with the strategies AllToOne and AllToOne Adaptive, especially in the case of the unimodal problems.

In AllToAll and AllToAll Adaptive, each individual migrates to all others. The difference between the adaptive and non-adaptive version is the same as the difference between the AllToOne and AllToOne Adaptive. The advantage is a massive exploration. However, the combination of these migration strategies and the principle of individuals motion in steps negatively affects the performance. There is a lot of useless evaluations of the objective function. Therefore, these migration strategies are not very effective, and in publications, they are mentioned rarely.

With novel variants of SOMA, novel migration strategies have been developed. In Deep et al. (2007, 2008), the migration strategy ActiveToLeader is introduced, where the leader and active individual is the best and worst individual, respectively. At each migration loop, the only active individual can change its position. The ActiveToLeader was successfully used in Deep et al. (2007), Singh et al. (2014), Singh and Agrawal (2015a) and Agrawal and Singh (2017).

In Tomaszek et al. (2019), authors present the AllToNBest strategy, which seems to be a good compromise between exploration and exploitation. Unlike the AllToOne, a leader is selected randomly from N best individuals. As the optimal setting of the number of the best individuals N, \(N = 0.25popSize\) is presented.

In Skanderova et al. (2019), two migration strategies are used, AllToOne and AllToRandom. For each individual, a new leader is generated. In the AllToOne strategy, a leader is calculated as

$$ \vec {x}_{L,i}^{ML} = \frac{{\vec {x}}_{p}^{ML} + {\vec {x}}_{r_{1}}^{ML} + {\vec {x}}_{r_{2}}^{ML}}{3}, $$
(3)

where \(\vec {x}_{p}^{ML}\) is an individual selected randomly from the N best individuals and \(\vec {x}_{r_{1}}^{ML}\), \(\vec {x}_{r_{2}}^{ML}\) are randomly selected individuals such that \(p \ne r_{1} \ne r_{2}\).

In AllToRandom strategy, a leader is generated as follows:

$$ \vec {x}_{L,i}^{ML} = \frac{\vec {x}_{r_{1}}^{ML} + \vec {x}_{r_{2}}^{ML} + \vec {x}_{r_{P \cup A}}^{ML}}{3}, $$
(4)

where \(\vec {x}_{r_{1}}^{ML}\) and \(\vec {x}_{r_{2}}^{ML}\) are randomly selected individuals and \(\vec {x}_{r_{P \cup A}}^{ML}\) is randomly selected individual from the union of the actual population and external archive A, \(r_{1} \ne r_{2} \ne r_{P \cup A}\).

2.3 Comparison

In Skanderova et al. (2019), the migration strategies AllToOne, AllToRandom, AllToAll, and AllToAll Adaptive are compared based on the selected test functions of CEC 2015 competition on learning-based real-parameter single objective optimization (Liang et al. 2014). The analysis indicates that the best results were provided by the AllToRandom strategy, while the worst by AllToAll and AllToAll Adaptive, where the population often stagnated. In the case of the AllToOne strategy, premature convergence can be observed in some cases. Therefore, it was replaced by the migration strategy AllToNBest (in Skanderova et al. 2019 denoted as AllTo p-best based on Zhang and Sanderson 2009).

In Kadavy et al. (2019b), the strategies AllToOne and AllToAll are compared based on benchmark CEC 2017 special session and competition on single objective real-parameter numerical optimization (Awad et al. 2016a) for different settings of control parameters Step and prt. Step was set to values 0.11 and 0.31. The perturbation parameter prt to values 0.1, 0.3, 0.5, and 0.9. The results indicate that for AllToOne, \(prt=0.1\) or \(prt=0.5\) with combination of the smaller step size brings better results. In the case of AllToAll, higher values of prt seem to be more suitable.

In Skanderova et al. (2019) and Kadavy et al. (2019b), the list of migration strategies taken into account is not complete. In Skanderova et al. (2019), just one control parameters setting is taken into account to demonstrate the efficiency of the migration strategy regardless of the control parameters setting since the control parameters are self-adapted. In Kadavy et al. (2019b), the influence of the PathLength is omitted, and only two migration strategies are compared. To the best of my knowledge, there is no publication dealing with the comparison of the migration strategies of SOMA (including the newest one) using different parameters settings to show the performance of these strategies and the efficiency of the various control parameters settings.

Therefore, in this work, five well-known single-objective optimization problems (unimodal and multi-modal) were selected, see Table 2, and seven migration strategies of SOMA—ActiveToLeader, AllToOne, AllToOne Adaptive, AllToRandom, AllToAll, AllToAll Adaptive, and AllToNBest—using 12 different control parameters settings were compared. The values of the control parameters were set based on the idea to demonstrate the influence of the lower, mean, and higher values regarding the most often ones in publications.

Table 2 Selected single-objective bound-constrained optimization problems for comparison of the migration strategies with different control parameters settings

The goal of this experiment is to investigate which trends of control parameter setting provide the most promising results and which migration strategy performs best for the selected test functions. The selection of the test functions was affected by the period of the SOMA development. The original SOMA was tested especially on these test functions (Zelinka 2000, 2004). The comparison of the novel algorithms of SOMA based on the novel benchmarks will be described later in this paper.

For perturbation parameter prt, values 0.1, 0.5, and 0.9 were selected. As mentioned, 0.1 is the most frequented value of prt. With the setting \(prt=0.5\), there is a 50% probability that a parameter will be perturbed. If \(prt=1.0\), there is no perturbation, therefore the value 1.0 was replaced by 0.9. A perturbation vector can be generated at the beginning of the migration process or for each step of the individual. In this experiment, both possibilities were taken into account.

For step size Step, values 0.11 and 0.33 were selected where 0.11 is used most frequently. The value 0.33 was taken into account based on Zelinka et al. (2006), dos Santos Coelho (2009a) and Tomaszek and Chadli (2019), where \(prt=0.3\) or \(prt=0.33\). In most publications, \(PathLength=3\). However, we will find ones where it is close to 2, see Lin and Juan Wang (2014), dos Santos Coelho (2009a, 2009b), and Mariani et al. (2009). Therefore, in this experiment, values 2 and 3 were taken. The population size was set to be \(popSize=25\) and dimension \(D=30\). For better illustration, control parameters settings are mentioned in Table 3. For each experiment, the number of the objective function evaluations was set to 50,000. For each algorithm, test function, and control parameters setting, the results of 30 independent runs were recorded. The algorithms and experiments were implemented in Python 3.8. The experiments were done on the PC with the Intel Core i7-4770 CPU 3.40 GHz and 16 GB RAM.

Table 3 Settings of control parameters prt, Step, and PathLength

2.3.1 Experimental results

The experiments are divided into two parts based on the principle of a perturbation vector generation. In the first one, for all migration strategies, \(\vec {PRT}Vector\) is generated at the beginning of an individual migration cycle. In the second one, a new \(\vec {PRT}Vector\) is generated at each step of an individual. Therefore, at first, the performance of the SOMA is compared based on this criterion. For this purpose, the Friedman and Wilcoxon rank-sum (level of significance \(\alpha =0.05\)) tests were applied. The SOMA with the one \(\vec {PRT}Vector\) generated at the beginning of the migration process obtained a mean rank of 1.95. The SOMA with different perturbation vectors for each individual achieved the mean rank of 1.05. The results of the Wilcoxon rank-sum test, where p-value < 0.001, indicate that the SOMA with different perturbation vectors for each individual provides significantly better results.

In Table 4, the best and worst results (based on the mean and standard deviation comparison) provided by the SOMA migration strategies with the control parameters setting are mentioned. When the perturbation vector was generated at the beginning of the migration process, the best results were provided by the migration strategies AllToRandom (\(f_{2}\), \(f_{3}\), and \(f_{5}\)) and AllToOne Adaptive (\(f_{1}\) and \(f_{4}\)).

Table 4 The best and worst results (mean and standard deviation), the migration strategy, and control parameters setting (number in the bracket, based on Table 3)

In the case that the perturbation vector was generated at each step of individual, best results were achieved by AllToOneAdaptive (\(f_{2}\) and \(f_{4}\)), ActiveToLeader (\(f_{1}\)), AllToRandom (\(f_{3}\)), and AllToNBest (\(f_{5}\)). On the other hand, the worst results were provided by the migration strategies AllToAll Adaptive and AllToAll. In Table 5, the results of Friedman and Wilcoxon rank-sum tests are mentioned. For each migration strategy and test function, the mean rank is presented. If there is no statistical difference between the corresponding mean rank and the best mean rank, the rank is denoted by \(^{\dagger} \).

Table 5 Comparison of the migration strategies from the perspective of the objective function regardless of control parameters setting

For the test function \(f_{1}\), the best mean rank was achieved by the AllToOne Adaptive for both principles of \(\vec {PRT}Vector\) generation. Based on the Wilcoxon rank-sum test, we can conclude that in the case of the \(\vec {PRT}Vector\) generated at the beginning of the migration loop, the best results were provided by the AllToOne Adaptive, AllToNBest, ActiveToLeader, and AllToRandom. When the perturbation vector was generated for each step, the AllToOneAdaptive and ActiveToLeader obtained the best results. The function \(f_{2}\) is the well-known Ackley function. When we look at Table 5, we will see that there is no difference among the mean ranks for the experiments, where the \(\vec {PRT}Vector\) was generated at the beginning of the migration loop.

For the second group of the experiments, the worst results were achieved by the AllToAll and AllToAll Adaptive. In the case of the test function \(f_{3}\), the best results were provided by the migration strategies AllToRandom, AllToNBest, AllToOne Adaptive, and AllToOne for the first group of experiments (\(\vec {PRT}Vector\) generated at the beginning of the migration loop), and by the migration strategies AllToRandom, AllToNBest, and ActiveToLeader for the second group of experiments. Similar results were achieved in the rest of the test functions. For most test functions, the worst results were provided by the AllToAll and AllToAll Adaptive, see Figs. 2 and 3.

Fig. 2
figure 2

Comparison of the migration strategies based on test functions mentioned in Table 2. The influence of the control parameters setting is not taken into account. Part 1

Fig. 3
figure 3

Comparison of the migration strategies based on test functions mentioned in Table 2. The influence of the control parameters setting is not taken into account. Part 2

The migration strategy ActiveToLeader often obtained the mean rank comparable with the best one. It is the only strategy where one individual (usually the worst one) migrates to a leader at one migration loop. In my opinion, this phenomenon is probably caused by the two mechanisms. At first, it is the often update of a leader. For each active individual, the best individual is selected as a leader. The second reason relates to the distance between the active individual and a leader. The migration of the worst individual to the best one might positively affect the exploration.

The influence of the migration strategy regardless of the control parameters setting and objective function is investigated based on the Friedman and Wilcoxon rank-sum tests. In Table 6, the best and worst results provided by the selected migration strategies are mentioned. The results of the Friedman and Wilcoxon rank-sum test (level of significance \(\alpha =0.05\)) are presented in Table 7.

Table 6 The best and worst values (mean and standard deviation) of the objective functions and migration strategies providing them
Table 7 Comparison of the migration strategies regardless of the test function and control parameter settings

In the case of the perturbation vector generated at the beginning of the migration loop, there is no statistically significant difference among mean ranks of AllToNBest, ActiveToLeader, AllToOne, AllToOneAdaptive, AllToRandom. These migration strategies provided the best results regardless of the objective function and control parameters setting. On the other hand, the worst results were obtained by the AllToAll and AllToAll Adaptive. Similar results were achieved in the case of the perturbation vector generated for each step. The best results were provided by the AllToOneAdaptive, ActiveToLeader, AllToRandom, AllToNBest. The worst results were then provided by the AllToAll and AllToAll Adaptive.

Based on these results, we can conclude that the migration strategies AllToAll and AllToAll Adaptive provide significantly worse results in comparison with strategies where individuals migrate to one leader in the migration loop. These results correspond with numbers mentioned in Table 5. The failure of these strategies is given by a high number of useless objective function evaluations. The exploration dominates, and algorithm often stagnates.

In Tables 8 and 9, the SOMA is compared based on the control parameters setting regardless of the migration strategy. As we can see in Table 9, no control parameters setting provides significantly better results than the others. The experimental results confirm that the setting of the Step, prt, and PathLength is problem-dependent, and there are no universally best values.

Table 8 The best and worst results (mean and standard deviation) and control parameter settings (number based on Table 3) providing them regardless of the migration strategy of SOMA
Table 9 Comparison of the control parameter settings (number based on Table 3) regardless of the migration strategy

3 Single-objective optimization

In history, the first experiments with SOMA were focused on single-objective optimization. The publications dealing with this type of optimization can be divided into two groups. The first one is composed of papers focused on the novel approaches in SOMA. The second one deals with the application of SOMA to solve the selected problems. In this section, the papers describing the novel approaches and applications of the SOMA are mentioned. The publications referenced in this chapter were selected based on several criteria: the number of citations, the novelty of the approaches, and the research contribution.

The number of the novel SOMAs is not negligible. However, there is no comparing publication. Therefore, it is not known whether some SOMA provides significantly better results than others. Then the decision to use a particular algorithm is not probably based on comprehensive information but intuitively. For this reason, in this work, the selected SOMAs will be compared based on the well-known benchmark. The algorithms were selected based on similar criteria as the referenced publications (the number of citations and the novelty of the approach).

Next, this section compares the SOMAs with the evolutionary and swarm algorithms. The SOMAs will be compared with the algorithms providing the best results in the competition CEC 2017 and algorithms presented in the near past (2017–2021). The main criterium for the selection of the particular EA or SI algorithm was the number of citations. In the case of the recently published algorithms, the novelty of the approaches.

3.1 Enhanced versions of SOMA

The enhanced SOMAs can be divided into several groups based on the utilized approaches:

  • hybrid algorithms,

  • algorithms using the additional positions generated based on different principles than migration towards a leader,

  • algorithms applying the pools of the control parameters or some adaptive mechanisms of the control parameters.

In the following sections, all categories will be described thoroughly.

3.1.1 Hybridization

From the perspective of hybridization, we can find the SOMAs hybridized with the genetic or cultural ones. In 2007, Deep and Dipti presented self-organizing migrating genetic algorithm (SOMGA; Deep et al. 2007). The algorithm is divided into two phases. In the first one, individuals are selected based on tournament selection to create offspring using single-point crossover and bitwise mutation. Then, the best individual becomes a leader and the worst one an active individual. The active individual then migrates to the leader. This hybrid algorithm was compared only to the original SOMA and genetic algorithm. Results indicate that it outperformed both of them in most test cases (25 bound-constrained single-objective optimization problems).

One year later, the authors introduced a self-organizing migrating genetic algorithm for constrained optimization (CSOMGA; Deep et al. 2008). Unlike the SOMGA, where the active individual is the worst individual from the population, in the CSOMGA, all individuals except the best one become active and move towards the leader. A new position is accepted if the feasibility criterion is satisfied. The performance of the algorithm was compared to the genetic algorithm and a SOMA from the perspective of accuracy, efficiency, and reliability. Based on the experimental results, the authors concluded that the presented algorithm is more robust.

The normative knowledge is represented by the intervals for decision variables where promising solutions were found to move new solutions towards those intervals. In dos Santos Coelho and Alotto (2009), the cultural SOMA was applied to solve Loney’s solenoid design problem. And its performance was compared to the canonical SOMA and PSO. Both algorithms of SOMA were able to find optima. In comparison with PSO, the cultural SOMA provided the worse solution in the best cases. On the other hand, in the average and worst cases, it achieved better results.

Mariani et al. (2009) introduced a normative SOMA for power economic dispatch of thermal generators with valve-point effects and multiple fuels. The algorithm was compared to the original version of SOMA and six state-of-the-art approaches as dynamic programming (Kelkar and Desai 1999), genetic algorithms (Baskar et al. 2003; Chiang 2005), adaptive Hopfield neural network (Lee et al. 1998), self-adaptive DE (Balamurugan and Subramanian 2007), and differential evolution hybridized by dynamic programming (Balamurugan and Subramanian 2008). Based on the experimental results authors concluded that the normative SOMA provided better best results than the compared algorithms.

Duary et al. (2020) mention that the SOMA itself does not provide a global optimum for the multi-modal continuous optimization problems, and genetic algorithm tends to premature convergence. Therefore, a hybrid algorithm based on a real-coded genetic algorithm and SOMA (RCSOMGA) was developed. The main difference between RCSOMGA and SOMGA (Deep et al. 2007) lies in the crossover and mutation in the genetic algorithm. In the RCSOMGA, the whole-arithmetical crossover and non-uniform mutation operators are used. The algorithm was compared to 22 selected evolutionary and swarm optimization algorithms, including the canonical versions of genetic algorithm, particle swarm optimization, genetic algorithm, tabu search, or differential evolution. From later algorithms, we can mention comprehensive learning PSO (CLPSO; Liang et al. 2006), PSO with systematic mutation (SMPSO1 and SMPSO2; Pant et al. 2008b), hierarchically structured genetic algorithm (HSGA; Toledo et al. 2014), etc. As the test problems, 25 classic optimization problems were selected. Besides them, the performance of RCSOMGA was tested on two real-life problems as the gas transmission compressor design (Sherwood 1963) and the optimal capacities of gas production facilities (Jen et al. 1968). Based on the experimental results authors concluded that the RCSOMGA provides better solutions in terms of reliability, efficiency, accuracy, and consistency.

3.1.2 Control parameters pools and adaptation

This group can be divided into two categories. The first one includes algorithms utilizing the pools of control parameters values or different settings of the control parameters for various individuals. The second one then contains ones with adaptive control parameters.

Dos Santos Coelho described the SOMA approach with a Gaussian operator (GSOMA; dos Santos Coelho 2009a) to solve the reliability–redundancy optimization problem defined as

$$ \begin{aligned}&\text {Maximize } R_{s} = f(\vec {r}, \vec {n})\\&\text {subject to } g(\vec {r}, \vec {n}) \le l\\&0 \le r_{i} \le 1, \quad r_{i} \in {\mathbb {R}}, \quad n_{i} \in {\mathbb {Z}}^{+}, \quad 1 \le i \le m, \end{aligned}$$
(5)

where \(R_{s}\) represents the reliability of the system, \(\vec {r}\) is a vector of the component reliabilities, and \(\vec {n}\) is a vector of the redundancy allocation for the system. f denotes the objective function for the overall system reliability, g is the set of constraint functions usually associated with system weight, volume, and cost. \(r_{i}\) is the reliability in the subsystem, \(n_{i}\) denotes the number of components in the subsystem, and m is the number of subsystems.

In the presented GSOMA, Eq. (2) is modified as follows:

$$ \vec {x}_{i}^{t} = \left\{ \begin{array}{ll} \vec {x}_{i}^{ML} + (\vec {x}_{L}^{ML} - \vec {x}_{i}^{ML}) \cdot t \cdot \vec {PRT}Vector_{i}, &{}\text { if } ud < 0.5,\\ \vec {x}_{i}^{ML} + \vec {G}_{i}(\vec {x}_{L}^{ML} - \vec {x}_{i}^{ML}) \cdot t \cdot \vec {PRT}Vector_{i}, &{}\text { otherwise}, \end{array}\right. $$
(6)

where \(G_{i}\) is a vector of random Gaussian numbers with mean \(\mu =0\) and standard deviation \(\sigma =1\), and \(ud \in [0, 1]\) is a uniformly distributed random value. Besides the modification of the equation of motion, the algorithm uses a tuning method updating PathLength according to the following equation (for maximization problem):

$$ PathLength = \left\{ \begin{array}{ll} \min ((1 + \rho )PathLength, 2), &{}\text { if } f(\vec {r}, \vec {n}) < f_{best}(\vec {r}, \vec {n}),\\ \max ((1 - \rho )PathLength, 1), &{}\text { if } f(\vec {r}, \vec {n}) > f_{best}(\vec {r}, \vec {n}), \end{array}\right. $$
(7)

where \(\rho =0.01\). The PathLength is adjusted based on the improvement of the best value of the objective function checked at the end of every migration loop. Thanks to this mechanism, the exploration and exploitation capabilities of the SOMA are improved. Two versions of the GSOMA are presented in dos Santos Coelho (2009a)—GSOMA1 using the AllToOne and GSOMA2 using the AllToRandom migration strategy.

Both algorithms are compared to the SOMA AllToOne and AllToRandom and selected algorithms as PSO with Gaussian mutation (Higashi and Iba 2003), immune algorithm (Chen 2006), and genetic algorithm (Hsieh et al. 1998). From the perspective of the achieved results, the author concluded that the GSOMA1 provided better results for series and GSOMA2 for the series–parallel system. The GSOMA1 obtained the best performance for the case of over-speed protection systems. On the other hand, the best convergence (mean objective function) was obtained by the original SOMA using the AllToRandom mutation strategy (in the paper denoted as SOMA2). The experimental results indicate that the GSOMA1 provided better results than the selected state-of-the-art algorithms. In dos Santos Coelho (2009b), the GSOMA was applied to machining allocation of the clutch assembly.

In 2019, self-adapting self-organizing migrating algorithm (SASOMA) was introduced in Skanderova et al. (2019). The modifications used in the algorithm can be described as follows:

  • Two migration strategies, AllTo p-best and AllToRandom, are used. The migration strategy is selected based on the number of successful positions.

  • Individuals migrate to centroids of the three selected ones. The principle of selection depends on the migration strategy.

  • Archive of the successful positions is maintained.

  • Use of differential grouping to find out the interacting variables. If an optimization problem can be divided into several groups of interacting variables, then the perturbation vector will be generated based on them.

  • Inspiration in well-known JADE algorithm (Zhang and Sanderson 2009). If an optimization problem cannot be divided into the groups of interacting variables, then the perturbation vector will be generated as follows:

    • For each migration strategy, there is \(\mu _{PRT_{s_{k}}}\), where \(s_{k}\) denotes a migration strategy.

    • Perturbation parameter of an individual \(prt_{i}\) is generated as

      $$ prt_{i} = randc_{i}(mu_{PRT_{s_{k}}}, 0.05), $$
      (8)

      where \(randc_{i}\) is a random number generated in Cauchy distribution.

    • At each step, the archive \(S_{PRT}\) of successful \(prt_{i}\) is created. If the position of the individual i is improved, then \(prt_{i}\) will be added to the archive. The value of \(\mu _{PRT_{s_{k}}}\) is recalculated as

      $$ mu_{PRT_{s_{k}}} = meanw(S_{PRT}), $$
      (9)

      where \(meanw = \sum _{l=1}^{||S_{PRT}||}{w_{l}} \cdot prt_{l}\). The weight of the perturbation parameter \(prt_{l}\) is calculated as

      $$ w_{l} = \frac{\Delta f_{l}}{\sum _{n=1}^{||S_{PRT}||}{\Delta f_{n}}}, $$
      (10)

      and \(\Delta f_{l} = |f(\vec {x}_{l}^{A}) - f(\vec {x}_{l}^{B}) |\). \(f(\vec {x}_{l}^{A})\) and \(f(\vec {x}_{l}^{B})\) is the evaluation of the individual at previous and actual step, respectively.

  • In SASOMA, all individuals migrate in one go. It means that all individuals will make their first step, then the second one, and so on.

  • Step size is adapted based on the position of an individual. If an individual is in a promising area, then the step size will be decreased. Otherwise, it will increase. The minimal size of the step is 0.01, and the maximal is 0.99.

  • A population can be restarted. If the population stagnates, it will be restarted, and a reset of control parameters will be applied.

The performance of the algorithm was tested on well-known benchmark CEC 2015 competition on learning-based real-parameter single objective optimization (Liang et al. 2014) and compared to the algorithms as DMS-PSO (Liang et al. 2015), sDMS-PSO1 (Liang et al. 2015), sDMS-PSO2 (Liang et al. 2015), dynFWACM (Yu et al. 2015a), ed-dynFWACM (Zheng et al. 2015), DEsPA (Awad et al. 2015), and LSHADE (Tanabe and Fukunaga 2014) with 10 and 30 dimensions. The results of Friedman rank test and two post hoc tests indicate that the SASOMA provides competitive results. However, the results of the t-test for individual test problems show that the SASOMA did not outperform the differential evolution algorithms as DEsPA and LSHADE. The authors also point out the higher computational complexity which is given by the restarting mechanisms.

In Kadavy et al. (2019b), the pool of values for parameters prt and Step are created, where prt is selected from the set \(\{0.1, 0.3, 0.5, 0.9\}\) and Step from the set \(\{0.11, 0.21, 0.31, 0.41\}\). In the beginning, for each \(\vec {x}_{i}\), the values of \(prt_{i}\) and \(Step_{i}\) are selected randomly with the uniform distribution. For each individual, the number of unsuccessful migration loops is calculated. In other words, the algorithm calculates how many times the individual’s position was not improved. If this number is higher than a predefined constant gap, then prt and Step are reset based on the roulette selection.

The authors incorporated this principle into AllToOne and AllToAll migration strategies. These modified versions were then compared with the original ones. The experimental results indicate that the modified versions provide comparable results to the original algorithms. However, the authors emphasize that their modification can simplify the initial control parameters setting for inexperienced users.

This work was followed by Kadavy et al. (2019a), where EPS-SOMA was presented. However, unlike the previous algorithm, in EPS-SOMA, Step is a constant. There is a pool of prt values and migration strategies, where AllToOne, AllToAll, and AllToRandom were selected. In the beginning, for each individual, a migration strategy and \(prt_{i}\) are selected randomly with the uniform distribution. As well as in the previous algorithm, the number of unsuccessful migration loops is calculated for each individual. If it is higher than a predefined constant gap, then a new migration strategy and \(prt_{i}\) will be selected based on the roulette selection.

In Tomaszek et al. (2019), the authors discuss the migration strategy AllToNBest (equivalent to AllTo p-best in the SASOMA) and the value of N (number of leaders). The experimental results indicate that the optimal value for N is 0.25popSize.

Diep described a novel principle of leaders and migrants selection in Diep (2019). In his algorithm, SOMAT3A, m random individuals are selected from the population. Then from m individuals, the best n ones are taken, and these individuals become migrants. Finally, the k individuals are selected randomly from the population. And the best one becomes a leader. All migrants migrate to this leader. For better illustration, see Fig. 4.

Fig. 4
figure 4

SOMAT3A organization process scheme. Figure taken from Diep (2019)

Besides the novel principle of individuals organization, control parameters prt and Step are adapted according to Eqs. (11) and (12), where FEs is the actual number of objective function evaluations and MaxFEs is the maximal number of the objective function evaluations.

$$\begin{aligned} prt= & {} 0.05 + 0.90 \frac{FEs}{MaxFEs}, \end{aligned}$$
(11)
$$\begin{aligned} Step= & {} 0.15 + 0.08 \frac{FEs}{MaxFEs}. \end{aligned}$$
(12)

The performance was evaluated on well-known benchmarks CEC 2013 special session on real-parameter optimization (Liang et al. 2013) and CEC 2017 special session and competition on single objective real-parameter numerical optimization (Awad et al. 2016a) and compared to artificial bee colony (ABC; Akay and Karaboga 2012), hybrid firefly and particle swarm optimization (HFPSO; Aydilek 2018), Salp swarm algorithm (Mirjalili et al. 2017), and self-adaptive multi population elitist Jaya (Pandey 2016). The experimental results indicate that the SOMAT3A provided competitive results.

The SOMAT3A (Diep et al. 2019b) belongs to the best four algorithms in the 2019 100-digit challenge on real-parameter, single objective optimization competition (Price et al. 2019). It is the only algorithm belonging to the best ones, which is not based on differential evolution. However, unlike Diep (2019), in Diep et al. (2019b), the control parameters prt and Step are adapted based on Eqs. (13) and (14).

$$\begin{aligned} prt= & {} 0.33 + 0.25 \cos {(0.5 \pi 10^{-7} FEs)}, \end{aligned}$$
(13)
$$\begin{aligned} Step= & {} 0.02 + 0.005 \cos {(0.5\pi 10^{-7} FEs)}. \end{aligned}$$
(14)

The publications describing the SOMAT3A are followed by Diep et al. (2019a), where the ParetoSOMA is presented. In this algorithm, the individuals for the migration process are organized as follows: At each migration loop, the population is divided into two groups. The first one is denoted as A and is composed of the best 20% of individuals. The rest of 80% of the population is denoted as a set B. Then, the best 20% of A will create a set C. From B, the best 20% are selected and denoted as a set D. A leader is taken randomly from C. A randomly selected individual from D will become a migrant. For better illustration, see Fig. 5.

Fig. 5
figure 5

ParetoSOMA organization process scheme. Figure taken from Diep et al. (2019a)

Besides the organization of individuals, authors also modified the adaptation of control parameters prt and Step such that prt is recalculated based on Eq. (15) and Step on Eq. (16). The perturbation vector is not composed of 0 and 1 values. For each jth dimension, a random number from the uniform distribution is generated, and if it is lower than prt, then \(\vec {PRT}Vector_{j} = 1\). Otherwise, \(\vec {PRT}Vector_{j}=\frac{FEs}{MaxFEs}\).

$$\begin{aligned} prt= & {} 0.5 + 0.45 \cos {\left( T_{1}\pi \frac{FEs}{MaxFEs} + \pi \right) }, \end{aligned}$$
(15)
$$\begin{aligned} Step= & {} 0.35 + 0.15 \cos {\left( T_{2} \pi \frac{FEs}{MaxFEs} \right) }. \end{aligned}$$
(16)

The performance of the algorithm was evaluated based on three benchmarks CEC 2013 (Liang et al. 2013), CEC 2015 (Liang et al. 2014), and CEC 2017 (Awad et al. 2016a) and compared to the state-of-the-art algorithms as SMASE (Caraffini et al. 2013b), CMAES-RIS (Caraffini et al. 2013a), DE-APC (Elsayed et al. 2013), fk-PSO (Nepomuceno and Engelbrecht 2013) (CEC 2013); TEBO (Zheng and Wu 2015), ICMLSP (Chen et al. 2015), SaDPSO (Liang et al. 2015), dynFWACM (Yu et al. 2015b) (CEC 2015); SOMA AllToOne and AllToAll, SOMAT3A (Diep 2019), RB-IPOP-CMA-ES (Biedrzycki 2015), PPSO (Tangherloni et al. 2017), TLBO-FL (Kommadath and Kotecha 2017), SAMPE-Jaya (Pandey 2016) (CEC 2017). The results show that the principle of leader and migrants selection and control parameters adaptation significantly improved the performance of the SOMA. Furthermore, ParetoSOMA provided competitive results in comparison with the selected state-of-the-art algorithms.

In Kadavy et al. (2020), authors utilize every generated position. There are two phases of the algorithm. In the first one, each individual migrates to a random leader. Each position is saved into the memory M. Then, the k-means clustering method is used to cluster positions in M into \(NP_{L}\) clusters. From each cluster, the best individual is selected. In the next phase, for each individual, a random cluster leader is selected. For this purpose, a rank selection principle is applied. Besides the control parameter popSize, prt, Step, and PathLength, which are used in the first phase, there are parameters as \(popSize_{L}\), \(prt_{L}\), \(step_{L}\), and \(pathLength_{L}\). These parameters are used in the second phase of the algorithm.

The algorithm is denoted as SOMA-CL, and it was compared to the canonical SOMA and EPS-SOMA based on the benchmark CEC 2020 special session and competition on single objective bound constrained numerical optimization (Yue et al. 2019). Based on the Friedman rank test, it seems that SOMA-CL outperformed the canonical SOMA and EPS-SOMA. However, in the paper, the post-hoc test is missing. Therefore, there is no information about statistical differences between the ranks.

In 2021, the SOMA-CLP (Kadavy et al. 2021a) was introduced. The main difference between this version and the SOMA-CL is the adaptation of the perturbation parameter based on the following equation:

$$ prt = 0.08 + 0.9 (FEs/maxFEs). $$
(17)

When we look at the adaptation of the prt used in the SOMAT3A, we can see some similarity. The algorithm was compared with the SOMA AllToAll, AllToOne, AllToRandom, and SOMA-CL based on the CEC 2021 Special Session and Competition on Single Objective Bound Constrained Optimization (Wagdy et al. 2020). The experimental results show that the SOMA-CLP provided significantly better results than the other algorithms. The adaptive perturbation parameter positively affects the performance of the algorithm. In Kadavy et al. (2021b), the time complexity of the SOMA-CLP is presented.

3.1.3 Additional positions

In this group of algorithms, the algorithms generate some additional positions when the migration process of an individual is finished. For this purpose, different approaches are applied. In 2014, Dipti and Agrawal developed M-SOMA, a hybrid SOMA with mutation for global optimization. At each migration loop, the best and worst individuals are selected. The best individual becomes a leader, and the worst one an active individual, which migrates towards the leader. If a better position is found, the active individual will move there. Then, a new position is generated as follows:

$$ x_{ij}^{0} = \left\{ \begin{array}{ll} x_{ij} + (ub_{j} - x_{ij})\tau (t)&{} \text { if } a_{1} <0.5,\\ x_{ij} - (x_{ij} + lb_{j})\tau (t) &{}\text { if } a_{1} \ge 0.5, \end{array}\right. $$
(18)

where \(\tau (t) = \left( a_{2} \left( \frac{t}{t_{max}}\right) \right) ^{b}\) and \(x_{ij} \in (lb_{j}, ub_{j})\). \(a_{1}\) and \(a_{2}\) are the uniform random numbers, b is a constant, t the time or generation number, \(t_{max}\) is the maximal number of generations, \(lb_{j}\) and \(ub_{j}\) is the lower and upper bound of the jth decision variable. If a new position is better than a position of an active individual, the active individual will accept it to the next migration loop. The comparison of the M-SOMA with the SOMA and genetic algorithm shows that the M-SOMA provides significantly better results than both algorithms.

The SOMAQI described in Singh et al. (2014) applies the quadratic interpolation. The principle of the algorithm is similar to M-SOMA. However, the mutation operator is replaced by the quadratic interpolation. When the migration of an active individual is finished, a new position \(x'\) is generated based on the quadratic interpolation according to the following equation:

$$ x' = \frac{1}{2} \frac{(R_{2}^{2} - R_{3}^{2})f(R_{1}) + (R_{3}^{2} - R_{1}^{2})f(R_{2}) + (R_{1}^{2} - R_{2}^{2})f(R_{3})}{(R_{2}-R_{3})f(R_{1}) + (R_{3} - R_{1})f(R_{2}) + (R_{1} - R_{2})f(R_{3})}, $$
(19)

where \(R_{1}\) is a leader and \(R_{2}\), \(R_{3}\) are randomly selected individuals from the remaining population. If a new position is better than the position of the active individual, the active individual will accept this new position to the next migration loop. Based on the experimental results, the authors concluded that the SOMAQI outperformed PSO, QPSO (Pant et al. 2007), and Q-QPSO (Pant et al. 2008a).

In Singh et al. (2016), the adaptation of the SOMAQI for constrained optimization is presented. The developed algorithm is denoted as C-SOMAQI, and it is compared based on 10 constrained optimization problems with C-SOMA and C-SOMGA. The experimental results indicate a slight advantage of the C-SOMAQI.

SOMAQI for large-scale optimization is described in Singh and Agrawal (2016). The performance of the algorithm was evaluated based on 12 bound-constrained benchmark functions with dimensions from 100 to 300. For comparison, the algorithms as quasi-opposition based learning (QBL) and simulated Nelder–Mead algorithm (SNMRUV), Levy mutated artificial bee colony (L-ABC; Rajasekhar et al. 2011), GA, and PSO were selected. The experimental results show that the SOMAQI provides better results than the algorithms in several test problems.

The SOMA-M (Singh and Agrawal 2014a) works on a similar principle as the M-SOMA and SOMAQI. It differs in the mechanism of a new position generation. When the migration of the active individual is finished, a new position is generated based on the log-logistic mutation operator:

$$ x_{ij}^{new} = \left\{ \begin{array}{ll} x_{ij} + \lambda (ub_{j} - x_{ij}) &{}\text { if } r \ge T,\\ x_{ij} - \lambda (x_{ij} - lb_{j}) &{}\text { if } r < T, \end{array}\right. $$
(20)

where \(r \in [0, 1]\) is a uniformly distributed random number, \(T = \frac{(x_{ij} - lb_{j})}{(ub_{j} - x_{ij})}\) and \(\lambda = b \left( \frac{h}{1-h}\right) ^{\frac{1}{\alpha }}\). \(h \in [0,1]\) is a uniformly distributed random number, \(b > 0\) is a scale parameter and \(\alpha \) controls the mutation.

The M-SOMAQI (Singh and Agrawal 2015a) combines the approaches of both SOMA-M and SOMAQI. At the end of the migration loop of an active individual, a new position is generated based on Eq. (19) (quadratic interpolation). If it is better than the actual position of the active individual, the active individual will accept this position. Then, a population is sorted, the best and worst individuals are selected, and a new position is generated based on Eq. (18). If it is better than the position of the worst individual, it will replace it.

Generation of two new positions affecting the evolution was also utilized in SOMA with Nelder–Mead crossover and log-logistic mutation (NMSOMA-M; Singh and Agrawal 2015b). When the migration strategy ActiveToLeader is finished, the Nelder–Mead simplex search method is used as follows:

  1. 1.

    Set parameters \(\alpha \), \(\beta \), \(\gamma \).

  2. 2.

    Generate randomly three vertices/positions (initial simplex).

  3. 3.

    Evaluate these vertices/positions.

  4. 4.

    Find the worst \(x_{h}\), the second worst \(x_{g}\), and the best \(x_{l}\) position.

  5. 5.

    Calculate a centroid \(x_{c}\) of \(x_{l}\) and \(x_{g}\) as follows:

    $$ \vec {x} = \frac{1}{2}(\vec {x}_{l} + \vec {x}_g). $$
    (21)
  6. 6.

    Calculate a reflection point \(\vec {x}_{r}\) as follows:

    $$ \vec {x}_{r} = \vec {x}_{c} + \alpha (\vec {x}_{c} - \vec {x}_{h}). $$
    (22)
  7. 7.

    Evaluate \(\vec {x}_{r}\)

  8. 8.

    Create a new position \(\vec {x}_{new}\) according to the following equation:

    $$ \vec {x}_{new} = \left\{ \begin{array}{ll} \vec {x}_{new} = (1 + \gamma )\vec {x}_c - \gamma \vec {x}_{h} &{}\text { if } f(\vec {x}-_r)< f(\vec {x}_{l}),\\ \vec {x}_{new} = (1 - \beta )\vec {x}_{c} + \beta \vec {x}_{h} &{}\text { if } f(\vec {x}_r) \ge f(\vec {x}_{h}),\\ \vec {x}_{new} = (1 + \beta )\vec {x}_{c} - \beta \vec {x}_{h} &{}\text { if } f(\vec {x}_{g})< f(\vec {x}_{r}) < f(\vec {x}_{h}). \end{array}\right. $$
    (23)
  9. 9.

    If \(f(\vec {x}_{new})\) is better than \(f(\vec {x}_{h})\) then replace \(\vec {x}_{h}\) by \(\vec {x}_{new}\).

If a new position is better than the position of the active individual, a new position \(\vec {x}_{new}\) will replace the actual one of the active individual. Then a new position is generated using Eq. (20). A new position will replace the position of the active individual if it is better.

In Agrawal and Singh (2017), the modified Nelder–Mead SOMA (mNM-SOMA) is presented. In comparison with NMSOMA-M, there is a difference in Eq. (24) (centroid generation). In mNM-SOMA, the centroid is generated as follows:

$$\vec {x}_{c} = \frac{1}{N}(\vec {x}_{l} + \vec {x}_{g}), $$
(24)

where N is the number of vertices/positions creating simplex.

3.2 Engineering applications

The SOMA was successfully used to solve various real-world optimization problems. One of its first applications was the automated deduction of 14 mutually interacting parameters (7 phases and 7 amplitudes) in a radio-frequency waveform to tune a Langmuir probe, see Nolle et al. (2005). This work follows the previous experiments with differential evolution and simulated annealing. Therefore, the SOMA performance is compared to these algorithms. The experimental results indicate that the SOMA outperformed both of them.

Dorčák et al. (2007) utilized the SOMA to design the fractional-order PI\(\lambda \)D\(\mu \) controllers. In this paper, two optimization methods were used to find out the global minimum. SOMA as the swarm intelligence algorithm and the function FMINCON from the optimization toolbox MATLAB (nonlinear programming solver). From the perspective of the provided solutions, the SOMA is denoted as the more successful in comparison with the FMINCON. However, the authors point out the higher computational complexity of the SOMA and some problems related to more complex types of regulated systems.

In Davendra et al. (2010), the SOMA using the dissipative chaotic Lozi map as a number generator was utilized for the task of PID control. The chaotic numbers generator replaced the random numbers generator. One goal of this study was to investigate whether the chaotic numbers generator is suitable for the different evolutionary/swarm algorithms. The second one was to evaluate their performance and to compare these enhanced algorithms with the Ziegler–Nichols method and selected metaheuristics.

As the test problems, the third order, ball and hoop, and electric DC motor systems were taken into account. Besides the SOMA, the authors implemented a chaotic numbers generator into the differential evolution. The experimental results showed that the chaotic SOMA and DE outperformed the Ziegler–Nichols method and selected metaheuristics as genetic algorithm, PSO, and evolutionary programming.

Hadas et al. (2010) applied the SOMA to optimize the model of vibration power generator parameters. The vibration power generator generates electrical energy from ambient mechanical vibration, and it can serve as the energy source for wireless sensors and remote applications without a physical connection. It consists of a mechanical part, electro-mechanical converter, and electronics with the powered device. It is a complex mechatronic system with feedback between each component. The settings of parameters of each part are mutually affected. The SOMA was used to minimize the volume and maximize the power of the generator.

The SOMA with Gaussian operator (GSOMA) was applied to machining allocation of the clutch assembly (dos Santos Coelho 2009b). The overrunning clutch consists of the hub, roller, and cage. For better illustration, see Fig. 6. The nominal values of the components are:

  • Hub \(x_{1} = 2.17706\) in.

  • Roll \(x_{2} = 0.90000\) in.

  • Cage \(x_{3} = 4.00000\) in

  • Tolerance of angle \(\theta = 7 \pm 2 ^{\circ }\) or \(0.122 \pm 0.035\) rad.

Tolerance boundary values for the components are:

  • Hub \(x_{1}\): \(1 \times 10^{-4} \le t_{1} \le 120 \times 10^{-4}\) in.

  • Roll \(x_{2}\): \(x_{1}\): \(1 \times 10^{-4} \le t_{2} \le 5 \times 10^{-4}\) in.

  • Cage \(x_{3}\): \(1 \times 10^{-4} \le t_{3} \le 120 \times 10^{-4}\) in.

Fig. 6
figure 6

Overrunning clutch. Figure taken from dos Santos Coelho (2009b)

The objective function is based on the combination of the manufacturing cost and the cost relating to quality loss function (dos Santos Coelho 2009b).

The GSOMA1 (AllToOne) and GSOMA2 (AllToRandom) have been applied to reliability–redundancy optimization of systems in dos Santos Coelho (2009a).

As mentioned, the SOMA using normative knowledge (Mariani et al. 2009), the principle used in the cultural algorithms, was applied to power economic dispatch of thermal generators with valve-point effects and multiple fuels. One year later, this work was followed by dos Santos Coelho and Mariani (2010), where the performance of the normative (cultural) SOMA (CSOMA) was compared to 24 selected state-of-the-art algorithms. The experiment was divided into two case studies. In the first one, 13 thermal units of generation with the effects of valve-point loading were taken into consideration. The second one involved 40 thermal units with quadratic cost functions together with the effects of valve-point loading. Based on the provided best solutions, the authors concluded that the CSOMA has a slight advantage in solution quality over the selected algorithms. In dos Santos Coelho and Alotto (2009), the normative (cultural) SOMA was utilized for electromagnetic optimization to solve Loney’s solenoid design problem.

The SOMGA (Deep et al. 2007) described in Sect. 3.1 was integrated into intrusion detection system (IDS) in Folorunso et al. (2010). The novel system was denoted as ID-SOMGA, and in comparison with the IDS with a genetic algorithm, the ID-SOMGA returned lower false positives. However, it was slower than IDS using a GA. The authors concluded that both systems were able to identify new patterns almost in the same way. The ID-SOMGA system improved the security of systems in networked settings allowing for confidentiality, integrity, and availability of system resources.

In Pospisilik et al. (2011), the optimization of single and double-layer spiral planar inductors by SOMA is described. A spiral coil is a geometrical spiral-shaped formation (copper) on the printed circuit board. For better illustration, see Fig. 7. The goal of the experiment was to design a large planar inductor, where a required inductance is achieved with the minimal electrical resistance of the inductor. In SOMA, each individual consisted of four parameters: outer diameter of a spiral \(D_{out}\), trace width w, insulation spacing s, and number of turns n.

Fig. 7
figure 7

Spiral coil inductor geometry. Figure was taken from Pospisilik et al. (2011)

The optimization was conducted for 250 \(\upmu \)H planar spiral coil with single and double layers. Besides the SOMA AllToOne, the authors applied the Maple algorithm (Pospisilik et al. 2011). In the case of the single-layer coil, both algorithms provided acceptable results. However, for the double-layer coil, the SOMA did not provide satisfactory results. The authors concluded that the setting of the control parameters needs revision. This argument seems to be well-founded. For the experiments, the population size and number of migration loops equals 100. For dimension \(D=4\), the number of individuals was relatively high, and the convergence might be negatively affected. Furthermore, the perturbation parameter was set to \(prt=0.1\). There was a relatively low probability of an individual’s motion at least in one direction.

The SOMA was successfully used in the research area of image processing and computer vision. Fusek and Dobeš (2018) utilized the SOMA for pupil localization in images. Mousavirad et al. (2020a) incorporated the SOMAT3A into their novel algorithms for color quantization, image clustering (Mousavirad et al. 2020b), and high-dimensional multi-level image thresholding (Mousavirad et al. 2020c).

In Bao and Zelinka (2019), an obstacle avoidance algorithm for swarm robot based on SOMA was introduced. For better illustration, see Fig. 8. A swarm robot is moving in an unknown environment. But the position of a target is known. A robot cannot see the obstacles until they are detected by its sensors. At the beginning of the algorithm, the individuals are generated around the actual position of a robot. Then, a leader is selected based on the value of the objective function described by the following equation:

$$ f = (a_{atr}d_{target}) +\left( b_{rep} \sum _{0}^{n_{obs}}{e^{-(c-r_{obs})d_{obs}}}\right) , $$
(25)

where \(a_{atr}\) is the equilibrium coefficient of attractive force, \(d_{target}\) denotes the distance from a robot to a target, \(b_{rep}\) is the equilibrium coefficient of repulsive force, and \(n_{obs}\) the number of obstacles. c is the coefficient determining how far the robot will avoid an obstacle, move through a gap between two obstacles (if possible), or move backward. The radius of an obstacle is denoted by \(r_{obs}\), \(d_{obs}\) is the distance from a robot to an obstacle.

Fig. 8
figure 8

The robot model and obstacles. Figure taken from Bao and Zelinka (2019)

This work is followed by Diep et al. (2020), where the SOMA predicts the positions of a drone satisfying the requirement for obstacles avoidance and a short distance to a target.

In Nguyen et al. (2021) the SOMA was used in the optical character recognition (OCR) system. The authors presented a novel OCR post-processing error correction using correction patterns edits.

3.3 Analytic programming

In 2005, the analytic programming (AP; Zelinka et al. 2005b, a) was introduced as the novel method of symbolic regression. Unlike genetic programming (Koza 1994) or grammatical evolution (O’Neill and Ryan 2003), in this algorithm, any evolutionary or swarm algorithm can be utilized for the synthesis of solutions. The first experiments were conducted with a genetic algorithm, simulated annealing, differential evolution (DE), and SOMA (Zelinka and Oplatkova 2004). However, in later publications (Zelinka et al. 2005b, a), the results of SOMA are mentioned.

For experiments, Boolean k-symmetry problems (for \(k=3, 4, 5\)) were selected. The results presented in Zelinka et al. (2005a, 2005b) demonstrate that DE and SOMA can be used in AP as the evolutionary/swarm algorithms. Some aspects of the algorithm are compared to genetic programming, for example, the number of objective function evaluations, population size, etc. However, the presented AP is not compared to the state-of-the-art algorithm from the perspective of the quality of provided solutions. The authors do not compare the DE and SOMA. Therefore, it is not clear, which algorithm is more suitable.

Oplatkova et al. (2013), and Senkerik et al. (2013) used the AP for evolution synthesis of a controller for high order oscillations stabilization of discrete chaotic systems. Two algorithms were used for this purpose, DE and SOMA. The AP utilized the SOMA as the evolutionary/swarm algorithm. The DE was used to find out the optimal values of constants in the evolutionary synthesized control law. Three selected chaotic systems were selected to be stabilized—evolutionary synthesized system, logistic equation, and Hénon map. The AP provided new synthesized control laws, which were able to fully or temporarily stabilize the system.

3.4 Permutation problems and others

Davendra and Zelinka (2009) introduced the SOMA for the quadratic assignment problem. Since the canonical SOMA works with real numbers, it was necessary to adjust the SOMA for the work with integers. For this purpose, two methods were incorporated. The first one relates to the population generation. In the presented algorithm, a permutative population is generated. It means that the initial population is generated randomly, but the solution string contains unique integers. The motion equation transforms the solutions into real values. Therefore, the repairing method rounding these real numbers to integers was applied. Each solution \(\vec {r}_{i}\) is recalculated as

$$ \vec {r}_{i} = int[\vec {r_{i}}]. $$
(26)

In the end, the solution is checked for replicated and missing values. The repairing method assigns a value of 0 to each replicated position. A pool of missing values is created. Then, for each replicated position, a random value from the pool of missing values is selected. Only infeasible solutions (containing real numbers) are repaired.

In Davendra et al. (2013), the discrete SOMA for flow-shop scheduling with no-wait makespan was presented, and its performance was compared to discrete PSO (DPSOVND; Pan et al. 2008). Small and medium Taillard Benchmark Sets (Taillard 1993) were selected as the test problems. The Taillard benchmark sets contain 12 different sets of problems ranging from 20 jobs and 5 machines to 500 and 20 machines. Small and medium problems range from 20 jobs and 5 machines to 50 jobs and 20 machines. The DSOMA obtained comparable results for three test instances. In the rest of the testing problems, the DPSOVND provided significantly better results.

In Davendra et al. (2014), the chaotic dissipative Lozi map replaced the generator of random numbers (Mersenne Twister) in the discrete SOMA (DSOMA). In comparison with the generic DSOMA, the chaotic DSOMA provided significantly better results.

The opportunistic SOMA (OSOMA) was developed to solve the real-time dynamic traveling salesman problem (Dokania et al. 2017). In OSOMA, the motion equation was modified as follows:

$$ \vec {x}_{i+1} = \vec {x}_{i} + (\vec {x}_{L} - \vec {x}_{i})\cdot \vec {\phi } \cdot L, $$
(27)

and the principle of the perturbation vector generation according to the following equation:

$$ \phi _{i,j} =\left\{ \begin{array}{ll} 1, &{} \gamma < prt,\\ \lambda /D_{n},&{} \text {otherwise}, \end{array}\right. $$
(28)

where L is a displacement from the initial position for the current individual \(\vec {x}_{i}\), \(\phi \) denotes the perturbation vector, \(\gamma \in U(0,1)\) and \(\lambda \in U(0.60, 0.85)\) is a random number from the uniform distribution, and \(D_{n}\) denotes the dimensionality of the objective function which stabilizes the perturbation value.

The authors simulated a real-time dynamic traveling salesman problem using real-time data from Google Maps with a varying cost-metric between any two cities. The OSOMA was compared with the SOMA, DE, and PSO. The experimental results showed that the OSOMA outperformed the selected optimization algorithms.

In Kromer et al. (2019), the random key SOMA for permutation problems was introduced, where the random key encoding (Bean 1994; Snyder and Daskin 2006) is used to represent permutations. The random key SOMA was used to solve instances of linear ordering (LOP) and traveling salesman (TSP) problems. Its performance was compared to the PSO. The experimental results indicate that in early migration loops, SOMA provided worse results than the PSO. On the other hand, in later migrations, the solutions of SOMA were significantly improved. In Krömer et al. (2020), a random key SOMA was utilized to solve the single row facility layout problem.

In Skanderova et al. (2021), the SOMA using covariance matrix adaptation evolution strategy (CMA-ES) for dynamic constrained optimization (Arnold and Hansen 2012) was described. The process of optimization is divided into two parts. In the first one, the SOMA is used to detect a feasible region. The CMA-ES for constrained optimization serves as a local search operator. Two clustering methods, quantum particles, and exclusion radius are applied to preserve the diversity of the population. The algorithm tracks a feasible region. To evaluate its performance a novel test suite for the dynamic constrained optimization (Wang et al. 2019) was applied. The algorithm was compared to the state-of-the-art algorithms as CPSO (Yang and Li 2010), LTFR-DSPSO (Bu et al. 2016), and DyCODE (Wang et al. 2019). The experiments were conducted for dimensions \(D=10\) and 30, and the experimental results showed that the presented CMA-ES-SOMA outperformed all algorithms in most test cases.

3.5 Comparison of the selected enhanced self-organizing migrating algorithms

In the literature, I have found no study comparing the performance of the SOMAs developed since 2000 and mentioned in this section. Therefore, it is hard to say which algorithm performs better and why. The comparison of the algorithms might be helpful in the later selection of an appropriate algorithm for the given optimization problem. Furthermore, it might bring valuable knowledge about the effectiveness of already applied enhancements. Therefore, in this section, 13 enhanced versions of SOMA are compared with each other based on the benchmark CEC 2017 special session and competition on single objective real-parameter numerical optimization (Awad et al. 2016b). These algorithms were selected based on the number of citations of the papers presenting them. The next criterium was the novelty of the incorporated approach and the results of the experiments mentioned in the publications.

The benchmark CEC 2017 was selected especially for a high number of different test functions. Unlike, for example, CEC 2020 (Yue et al. 2019) containing 10 test functions, it is composed of 30 ones. The evaluation of the algorithms based on the benchmark CEC 2017 in comparison with CEC 2020 seems to be more objective. Furthermore, some testing problems are used repeatedly in different benchmarks. The benchmark CEC 2020 is even composed of the test functions from the benchmarks published in 2014 and 2017.

In the experiment, the following algorithms are included:

  • SOMGA (Deep et al. 2007)

  • GSOMA1 (dos Santos Coelho 2009a)

  • GSOMA2 (dos Santos Coelho 2009a)

  • SOMAQI (Singh et al. 2014)

  • MSOMAQI (Singh and Agrawal 2015a)

  • MSOMA (Singh and Agrawal 2015a)

  • NMSOMAM (Agrawal and Singh 2017)

  • EPS-SOMA (Kadavy et al. 2019a)

  • ParetoSOMA (Diep et al. 2019a)

  • SASOMA (Skanderova et al. 2019)

  • RCSOMGA (Duary et al. 2020)

  • SOMA-CL (Kadavy et al. 2020)

  • SOMAT3A (Diep 2019)

To improve the performance of the algorithms, the migration strategy AllToOne was replaced by the AllToOne Adaptive following the results mentioned in Sect. 2.2. The dimension was set to \(D=30\) and 50. The control parameters setting can be found in Table 10. In the case of the adaptive versions as ParetoSOMA and SOMAT3A, the initial values of prt were set to \(prt=0.5\). The step size was set to \(Step=0.33\). For SASOMA, the initial value of Step was set to \(Step=0.11\). And in the case of the \(D=50\), the differential grouping was not utilized since the variables were divided into a very small number of groups (typically two or three ones). In the original paper, the authors emphasize the inefficiency of this method in this case. Based on the experiment with the dimension \(D=50\), we can conclude that differential grouping is not a reliable method in the context of the perturbation parameter replacement.

For EPS-SOMA, the perturbation parameter was selected from the pool \(\{0.1, 0.3, 0.5, 0.7, 0.9\}\). The setting of the other parameters for the selected algorithms is mentioned in Table 11. This setting follows the setting recommended in the original publications.

Table 10 Control parameters setting of SOMA for experiments
Table 11 The setting of the parameters of the selected variants of SOMA

The algorithms were implemented following the original publications. For each dimension, algorithm, and test function, 51 independent experiments were conducted. The experiment respects all conditions mentioned in Awad et al. (2016b). The algorithms and experiments were implemented in Python 3.8. The experiments were done on the PC with the Intel Core i7-4770 CPU 3.40 GHz and 16 GB RAM. The benchmark set implementation was taken from Tilley (2020).

3.5.1 Experimental results

In Tables 12, 13, 14, and 15, the mean error and standard deviations are presented for the selected algorithms and dimension \(D=30\). In Tables 16, 17, 18, and 19, the experimental results for the dimension \(D=50\) are mentioned. The algorithms were compared based on the Friedman rank test and Wilcoxon rank-sum post hoc test (level of significance \(\alpha =0.05\)). The results are mentioned in Tables 20 and 21. In Figs. 9, 10, and 11, the convergence rate of the algorithms for the dimension \(D=50\) is presented. Since the results are similar for both dimensions, the convergence rate for higher dimension was selected for illustration.

Table 12 Experimental results (mean and standard deviation) for algorithms SOMGA (Deep et al. 2007), GSOMA1 (dos Santos Coelho 2009a), and GSOMA2 (dos Santos Coelho 2009a) on benchmark CEC 2017
Table 13 Experimental results (mean and standard deviation) for algorithms SOMAQI (Singh et al. 2014), MSOMAQI (Singh and Agrawal 2015a), and MSOMA (Singh and Agrawal 2015a) on benchmark CEC 2017
Table 14 Experimental results (mean and standard deviation) for algorithms NMSOMAM (Agrawal and Singh 2017), EPS-SOMA (Kadavy et al. 2019a), and ParetoSOMA (Diep et al. 2019a) on benchmark CEC 2017
Table 15 Experimental results (mean and standard deviation) for algorithms SASOMA (Skanderova et al. 2019), RCSOMGA (Duary et al. 2020), SOMA-CL (Duary et al. 2020), and SOMAT3A (Diep 2019) on benchmark CEC 2017
Table 16 Experimental results (mean and standard deviation) for algorithms SOMGA (Deep et al. 2007), GSOMA1 (dos Santos Coelho 2009a), and GSOMA2 (dos Santos Coelho 2009a) on benchmark CEC 2017
Table 17 Experimental results (mean and standard deviation) for algorithms SOMAQI (Singh et al. 2014), MSOMAQI (Singh and Agrawal 2015a), and MSOMA (Singh and Agrawal 2015a) on benchmark CEC 2017
Table 18 Experimental results (mean and standard deviation) for algorithms NMSOMAM (Agrawal and Singh 2017), EPS-SOMA (Kadavy et al. 2019a), and ParetoSOMA (Diep et al. 2019a) on benchmark CEC 2017
Table 19 Experimental results (mean and standard deviation) for algorithms SASOMA (Skanderova et al. 2019), RCSOMGA (Duary et al. 2020), SOMA-CL (Duary et al. 2020), and SOMAT3A (Diep 2019) on benchmark CEC 2017
Table 20 Mean ranks of the algorithms based on the Friedman rank test
Table 21 Mean ranks of the algorithms based on the Friedman rank test

For both dimensions, the SOMAT3A achieved the best mean rank. On the other hand, the algorithms as SOMGA, MSOMA, and NMSOMAM achieved the worst ones. Based on the Wilcoxon rank-sum test, we can conclude that for \(D=30\), the SOMGA provided the worst results. However, there is no statistical difference among the mean ranks of the other algorithms (except the SOMGA). For the dimension \(D=50\), we can see some statistical differences. However, the situation is very similar to the previous case. Therefore, the algorithms were compared based on the individual test functions. For this purpose, the Friedman rank and Wilcoxon rank-sum tests were conducted.

In Tables 22 and 23, for each algorithm, the number of the best and worst achieved mean ranks are presented. If there is no statistical difference between the mean ranks of the two algorithms, both algorithms are considered to be comparable from the perspective of the obtained results. The experimental results mentioned in Tables 22, 23, 24, 25, 26, 27 are sorted according to the number of the best mean ranks, and then based on the worst mean ranks. In Tables 24, 25, 26 and 27, the functions, where the best and worst mean ranks were achieved by the given algorithm, are mentioned. Thanks to these tables, we can identify problems where the algorithms achieve promising results, or on the other hand, for which ones the results are not competitive.

Table 22 The number of the best and worst mean ranks achieved by the algorithms for individual test functions
Table 23 The number of the best and worst mean ranks achieved by the algorithms for individual test functions
Table 24 Algorithms and the test functions, where they achieved the best mean rank based on the Friedman and Wilcoxon rank-sum test
Table 25 Algorithms and the test functions, where they achieved the worst mean rank based on the Friedman and Wilcoxon rank-sum test
Table 26 Algorithms and the test functions, where they achieved the best mean rank based on the Friedman and Wilcoxon rank-sum test
Table 27 Algorithms and the test functions, where they achieved the worst mean rank based on the Friedman and Wilcoxon rank-sum test
Fig. 9
figure 9

Convergence rate of the 13 enhanced self-organizing migrating algorithms. Benchmark CEC 2017. Dimension \(D=50\). The evolution of the objective function value of the average best individual (over 51 experiments), where OFE denotes the number of objective function evaluations. Part 1

Fig. 10
figure 10

Convergence rate of the 13 enhanced self-organizing migrating algorithms. Benchmark CEC 2017. Dimension \(D=50\). The evolution of the objective function value of the average best individual (over 51 experiments), where OFE denotes the number of objective function evaluations. Part 2

Fig. 11
figure 11

Convergence rate of the 13 enhanced self-organizing migrating algorithms. Benchmark CEC 2017. Dimension \(D=50\). The evolution of the objective function value of the average best individual (over 51 experiments), where OFE denotes the number of objective function evaluations. Part 3

In the case of the dimension \(D=30\), the SASOMA, SOMAT3A, and GSOMA1 are the most successful from the perspective of the number of the best mean ranks (the first, second, and third place), see Table 22. The SASOMA achieved the best results for unimodal (1/3), multi-modal (5/7), hybrid (5/10), and composition (2/10) functions. On the other hand, there are three hybrid test functions with the worst results for the SASOMA. The SOMAT3A provided the best results for hybrid (4/10) and composition (3/10) problems. And the GSOMA1 achieved the best mean ranks for unimodal (1/3), hybrid (3/10), and composition (2/10) functions.

For the dimension \(D=50\), the best results were provided by the SOMAT3A, ParetoSOMA, GSOMA1, and SASOMA (GSOMA1 and SASOMA have the same number of the best mean ranks). The SOMAT3A achieved the best results for unimodal (1/3), hybrid (5/10), and composition (5/10) functions. The ParetoSOMA provided the best results for multi-modal (3/7), hybrid (2/10), and composition (4/10) problems. However, there are two composition ones, where it achieved the worst mean ranks. The GSOMA1 provided the best results for unimodal (1/3), multi-modal (2/7), hybrid (2/10), and composition (3/10) test functions. The SASOMA then for multi-modal (1/7), hybrid (4/10), and composition (3/10) functions. On the other hand, in the one case of composition functions, the SASOMA achieved the worst results.

The algorithms as SOMAT3A, ParetoSOMA, SASOMA, and GSOMA1 use some mechanism of the preservation of population diversity. In SOMAT3A and ParetoSOMA, there is the principle of the leaders and migrants selection. From the perspective of the dimensions, there is a significant difference between results provided by the ParetoSOMA for \(D=30\) and 50. The ParetoSOMA achieved significantly better results for the higher dimension. This phenomenon probably relates to the number of individuals within the population. The recommended value of the popSize is 100 regardless of the dimension. This value is more convenient for the higher dimensions than for the lower ones. In my opinion, the ParetoSOMA would be more successful for \(D=30\) if the number of individuals was set to a lower value.

The SASOMA preserves the diversity of the population using centroids instead of the best or randomly selected individuals. At the end of each migration loop, it checks the population diversity based on the mutual distance between individuals. Individuals occupying the same area are regenerated. In GSOMA, it is the use of the Gaussian number within the equation of motion. The individual migrates based on the original equation, or the enhanced equation with a Gaussian number is applied with some probability.

The next common feature for these algorithms is the adaptation of the control parameters. The GSOMA adapts the PathLength, SOMAT3A and ParetoSOMA prt and Step, and SASOMA prt, Step, PathLength. Besides the control parameters, in SASOMA, two migration strategies are utilized. Finally, all algorithms use migration strategies, where more than one individuals migrate towards a leader. In other words, there is a leader and some group of active individuals.

For the dimension \(D=30\), the SOMA-CL achieved the best mean rank in five cases—hybrid (3/10) and composition (2/10) functions, and it never provided the worst results. In the case of \(D=50\), it obtained the best results for hybrid (2/10) and composition (3/10) test problems. However, the worst mean rank was achieved for the composition function. The SOMA-CL works in two phases. In the first one, individuals migrate based on the AllToRandom. All generated positions are utilized in the second phase, where they are divided into clusters, the best individuals are selected, and the rest of the population migrates to these leaders. For each type of migration, different control parameters settings are used. The migration strategy AllToRandom positively affects the exploration. The migration to different leaders supports the diversity of the population. However, it seems that it does not suppress the exploitation. Unlike in the SASOMA, SOMAT3A, and GSOMA1, in SOMA-CL, there is no adaptation of the control parameters. The algorithm works with two different control parameters settings based on its phase. This absence can be one reason why the SOMA-CL did not achieve better results from the perspective of the best mean ranks.

RCSOMGA is a hybrid algorithm, which achieved the best results in one test problem from each group for \(D=30\). The worst mean ranks were obtained for four composition functions. In the case of the dimension \(D=50\), it provided the best results for multi-modal (1/7) and composition (2/10) test problems. The worst mean rank was never achieved for this dimension. Comparing the SOMGA, we can conclude that it provided significantly better results. The main differences between these algorithms are the principle of mutation and crossover in the genetic algorithm and the migration strategy of SOMA. In RCSOMGA, the non-uniform mutation and whole arithmetic crossover are utilized. As the migration strategy, AllToOne Adaptive is used in this experiment. On the other hand, SOMGA works with ActiveToLeader. In this case, we can conclude that mechanisms incorporated in the RCSOMGA significantly improved the performance of the hybrid algorithm.

As demonstrated in Sect. 2.3, the SOMA using the migration strategy ActiveToLeader can provide comparable results as the migration strategies, where more individuals migrate towards a leader (AllToOne Adaptive or AllToRandom). This migration strategy is used in the algorithms as SOMAQI, MSOMAQI, NMSOMAM, and MSOMA. However, based on Tables 22 and 23, we can see that they achieved significantly worse results than the best performing algorithms.

The common feature of these algorithms is the additional position or positions, which are generated after the migration process. When an active individual selects the best position, a new one is generated using some additional method. For example, in SOMAQI, the quadratic interpolation is applied, where the best and two randomly selected individuals are used to generate a new position. In MSOMAQI, even two additional positions are generated and compared to the best position of an active individual, etc. The positions will be accepted only if they are better. The question is how many additional positions will be accepted instead of the positions achieved by the migration process. For these algorithms, the quality of the additional positions plays a crucial role and significantly affects the quality of the final solution.

When we look at the difference between results achieved by the GSOMA1 and GSOMA2, we will see that the GSOMA2 provided significantly worse results than GSOMA1. For \(D=30\), it achieved the best mean rank in the cases of multi-modal (2/7) and composition (2/10) functions. On the other hand, the worst mean ranks were obtained in three multi-modal and two composition functions. For \(D=50\), the GSOMA2 provided the best results for multi-modal (2/7), hybrid (1/10), and composition (1/10) test functions. The worst results were provided for three multi-modal, four hybrid, and two composition test problems. Since there is no other difference between the GSOMA1 and GSOMA2 except the migration strategy, we can conclude that the migration strategy AllToRandom in GSOMA2 is responsible for a slower convergence.

For \(D=30\), the EPS-SOMA never achieved the best, as well as the worst mean ranks. In the case of the \(D=50\), the best results were obtained for the multi-modal (1/7) and composition (2/10) test functions. In the EPS-SOMA, the pools of migration strategies and perturbation parameter values are used. At the beginning of the algorithm, they are selected randomly for each individual. And they are changed based on the stagnation of the individual. In other words, if an individual is stagnating for the given number of iterations, they will be selected from the pools randomly using the roulette wheel. When we look at the pool, we will see five discrete values for parameter prt. The migration strategies, AllToOne, AllToRandom, and AllToAll are applied. The EPS-SOMA is the only selected algorithm using the migration strategy AllToAll. Its drawback was demonstrated in Sect. 2.3. However, despite the results mentioned in this section, the EPS-SOMA never achieved the worst mean rank.

3.6 Self-organizing migrating algorithms and CEC 2017 competition

In this part, the three and four algorithms with the best mean rank—SOMAT3A, GSOMA1, and SASOMA for \(D=30\) and SOMAT3A, ParetoSOMA, GSOMA1, and SASOMA for \(D=50\)—were selected to be compared with the following algorithms accepted for CEC 2017 competition on single-objective real-parameter numerical optimization (Awad et al. 2017a):

  • A new version of differential evolution (jSO; Brest et al. 2017),

  • Multi-method based orthogonal experimental design algorithm (MM-OED; Sallam et al. 2017),

  • A new variant of individual-dependent differential evolution (IDEbestNsize; Bujok and Tvrdík 2017),

  • A new variant of IPOP-CMA-ES algorithm (RB-IPOP-CMA-ES; Biedrzycki 2017),

  • LSHADE with semi-parameter adaptation hybrid with CMA-ES (LSHADE-SPACMA; Mohamed et al. 2017),

  • A differential evolution strategy (DES; Jagodziński and Arabas 2017),

  • A new variant of Yin–Yang pair optimization (DYYPO; Maharana et al. 2017),

  • Teaching learning based optimization with focused learning (TLBO-FL; Kommadath and Kotecha 2017),

  • Proactive particles in swarm optimization (PPSO; Tangherloni et al. 2017),

  • Ensemble sinusoidal differential covariance matrix adaptation with Euclidean neighborhood (LSHADE-cnEpSin; Awad et al. 2017b),

  • Improved effective butterfly optimizer using covariance matrix adapted retreat phase (EBOwithCMAR; Kumar et al. 2017).

Based on the competition report (Awad et al. 2017a), the best results were obtained by EBOwithCMAR (1st place), jSO (2nd place), and LSHADE-cnEpSin (3rd place).

3.6.1 Experimental results

In Tables 28, 29, and 30, means and standard deviations provided by the algorithms for the dimension \(D=30\) are mentioned. In Tables 31, 32, and 33, the results for the dimension \(D=50\) are presented. The results of the selected algorithms were taken from the original papers. In the following experiment, the best performing algorithms from the previous experiment are compared to these algorithms. For the comparison, Friedman rank and Wilcoxon rank-sum tests (level of significance \(\alpha =0.05\)) are used. The mean ranks are presented in Tables 34 and 35, where each algorithm is denoted by the number. If there is no statistical difference between mean ranks, the comparable mean ranks are mentioned in the third column of the tables. For example, we can see that there is no statistical difference between mean ranks 1–8 in Table 34.

Table 28 Experimental results (mean and standard deviation) for algorithms jSO (Brest et al. 2017), MMO-ED (Sallam et al. 2017), IDEbestNsize (Bujok and Tvrdík 2017), and RB-IPOP-CMA-ES (Biedrzycki 2017)
Table 29 Experimental results (mean and standard deviation) for algorithms LSHADE-SPACMA (Mohamed et al. 2017), DES (Jagodziński and Arabas 2017), DYYPO (Maharana et al. 2017), and TLBO-FL (Kommadath and Kotecha 2017)
Table 30 Experimental results (mean and standard deviation) for algorithms PPSO (Tangherloni et al. 2017), LSHADE-cnEpSin (Awad et al. 2017b), and EBOwithCMAR (Kumar et al. 2017)
Table 31 Experimental results (mean and standard deviation) for algorithms jSO (Brest et al. 2017), MMO-ED (Sallam et al. 2017), IDEbestNsize (Bujok and Tvrdík 2017), and RB-IPOP-CMA-ES (Biedrzycki 2017)
Table 32 Experimental results (mean and standard deviation) for algorithms LSHADE-SPACMA (Mohamed et al. 2017), DES (Jagodziński and Arabas 2017), DYYPO (Maharana et al. 2017), and TLBO-FL (Kommadath and Kotecha 2017)
Table 33 Experimental results (mean and standard deviation) for algorithms PPSO (Tangherloni et al. 2017), LSHADE-cnEpSin (Awad et al. 2017b), and EBOwithCMAR (Kumar et al. 2017)
Table 34 Mean ranks of the algorithms based on the Friedman rank test
Table 35 Mean ranks of the algorithms based on the Friedman rank test

For both dimensions, the experimental results indicate that the SOMAs belong to the algorithms providing significantly worse results than the algorithms as EBOwithCMAR, jSO, LSHADE-SPACMA, LSHADE-cnEpSin, MMO-ED, DES, and IDEbestNsize. For the dimension \(D=30\), the SOMAT3A and SASOMA achieved the comparable mean rank as the RB-IPOP-CMA-ES, TLBO-FL, and PPSO. The results of the GSOMA1 are comparable with the TLBO-FL, PPSO, and DYYPO. In the case of the dimension \(D=50\), the SOMAT3A achieved the comparable mean rank as the RB-IPOP-CMAES, DYYPO, PPSO, and TLBO-FL. And the ParetoSOMA, GSOMA1, and SASOMA provided comparable results as the DYYPO, PPSO, and TLBO-FL.

3.7 Self-organizing migrating algorithms and recently published algorithms

Every year, novel or enhanced evolutionary and swarm algorithms are published. In Tables 36 and 37, the results of the selected algorithms published from 2017 to 2021 are presented for the dimension \(D=30\). The results of the algorithms are taken from the original papers. In Table 38, the results for the dimension \(D=50\) are mentioned, if they are available in the literature. Some publications did not include the standard deviation in results. For this reason, in Tables 36, 37, and 38 only mean errors are mentioned.

Table 36 Experimental results (mean) for algorithms BSA-SRL (Zhang 2021), DMBA (Alsalibi et al. 2021), GOA (Saremi et al. 2017), EGWO (Long et al. 2021), and PIL-BOA (Long et al. 2021)
Table 37 Experimental results (mean) for algorithms Salp Swarm Alg. (Zhang et al. 2020), SHADE-WOA (Chakraborty et al. 2021), SSA (Ouyang et al. 2021), ISCA (Long et al. 2019), GSK (Mohamed et al. 2020)
Table 38 Experimental results (mean) for algorithms SHADE-WOA (Chakraborty et al. 2021), SSA (Ouyang et al. 2021), GSK (Mohamed et al. 2020)

The algorithms were selected based on the number of citations on Scholar, the novelty of their approach, and then the date of the publication (algorithms published in 2021). In the case of the \(D=30\), the SOMAT3A, GSOMA1, and SASOMA are compared with these algorithms based on the benchmark CEC 2017, Friedman and Wilcoxon rank-sum tests (level of significance \(\alpha =0.05\)). For the dimension \(D=50\), the ParetoSOMA is added. In some publications, the test function \(f_{2}\) was not included. Therefore, in this comparison, the test function \(f_{2}\) is not taken into account. For the experiment, the following algorithms were selected:

  • Grasshopper optimization algorithm (GOA; Saremi et al. 2017), results taken from (Long et al. 2021),

  • An exploration-enhanced grey wolf optimizer (EGWO; Long et al. 2018), results taken from (Long et al. 2021),

  • Improved sine cosine algorithm (ISCA; Long et al. 2019),

  • A multi-strategy enhanced salp swarm algorithm for global optimization (SalpSwarm; Zhang et al. 2020),

  • A novel bat algorithm with dynamic membrane structure (DMBA; Alsalibi et al. 2021),

  • Learning sparrow search algorithm (SSA; Ouyang et al. 2021),

  • Pinhole-imaging-based learning butterfly optimization algorithm (PIL-BOA; Long et al. 2021),

  • SHADE-WOA: a metaheuristic algorithm for global optimization (SHADE-WOA; Chakraborty et al. 2021),

  • Backtracking search algorithm with specular reflection learning (BSA-SRL; Zhang 2021),

  • Gaining-sharing knowledge based algorithm (GSK; Mohamed et al. 2020).

3.7.1 Experimental results

In Tables 39 and 40, the results of the Friedman and Wilcoxon rank-sum tests are presented. Each algorithm is denoted by a number. If there is no statistical difference between mean ranks, the comparable mean ranks are mentioned in the third column of the table. For example, we can see that there is no statistical difference between the first and second mean ranks in the case of the dimension \(D=30\).

Table 39 Mean ranks of the algorithms based on the Friedman rank test
Table 40 Mean ranks of the algorithms based on the Friedman rank test

In Table 39, we can see that the GSK algorithm achieved the best mean rank for the dimension \(D=30\), and there is no statistical difference between mean ranks obtained by the GSK and SOMAT3A. The SOMAs belong to the algorithms providing the best results of the selected benchmark and dimension. The GSOMA1 and SASOMA achieved mean ranks comparable to SOMAT3A, ISCA (published in 2019), and PIL-BOA (published in 2021). In the case of dimension \(D=50\), the best mean rank was achieved by the SOMAT3A. However, there is no statistical difference among mean ranks obtained by the SOMAT3A, GSK, ParetoSOMA, SASOMA, and GSOMA1.

The experimental results mentioned in Table 39 (dimension \(D=30\)) indicate that the SOMAs outperform most selected evolutionary and swarm optimization algorithms. They provide competitive results even in comparison with the newest algorithms. However, in the case of the dimension \(D=50\), this conclusion would not be correct since the performance of only a few algorithms was evaluated for this dimension. For such a conclusion, much more algorithms should be taken into account. Unfortunately, the higher dimensions are used not so often as we would expect in the case of the EAs or SI algorithms. Sadly, this statement includes even the publications focused on the SOMAs.

4 Multi-objective optimization

In 2011, Kadlec and Raida developed MOSOMA for multi-objective optimization (Kadlec and Raida 2011b) with two objectives. In the beginning, a random population Q is generated, and for each individual, the objective functions are evaluated. Then the external archive of the non-dominated solutions is created. Each individual migrates using the migration strategy AllToMany, where the individual in the population migrates to each individual in the external archive of non-dominated solutions. The external archive is updating. If the termination conditions are not fulfilled, the migration process will be repeated. At the end of the algorithm, the external archive represents the best solutions.

The external archive is composed of all meanwhile found solutions from the non-dominated set P. To identify the non-dominated set P, each solution from Q is compared with each solution from the current non-dominated P. It is a repeating process sorting the population into fronts. The solutions in one front are non-nominated.

The minimal size of the external archive EXT is given by the parameter \(N_{ex}\). If the size of the first front P is smaller the solutions from the following front with the best values of a crowding distance will be taken.

The crowding distance estimates the density of solutions surrounding a particular solution. For better illustration, see Fig. 12. It is derived from the positions of the solutions in the objective space. The members of a front are sorted based on all the objectives \(f_{m}\), and the vectors of sorted indices \(\vec {I}_{m}\) are found. The crowding distance c is calculated for each member of the front as follows:

$$ c(I_{m}(i)) = \sum _{m=1}^{M}{c_{m}(I_{m}(i))}, $$
(29)

where

$$ c_{m}(I_{m}(i)) = \frac{f_{m}(I_{m}(i+1)) - f_{m}(I_{m}(i-1))}{f_{m,max} - f_{m, min}}, $$
(30)

where \(I_{m}(i)\) is the ith index from the mth vector of indices, \(f_{m, min}\) and \(f_{m, max}\) are the minimal and maximal values of the mth objective in the actual front, respectively. The crowding distance \(c_{m}\) of these two extremes is set to infinity. The crowding distance is the average length of the side of the cuboid defined by solutions surrounding a particular solution.

Fig. 12
figure 12

Crowding distance measurement. Figure taken from Kadlec and Raida (2011b)

The authors of the MOSOMA took into consideration the demand for a uniformly spread of non-dominated set along the Pareto front. Therefore, they improved the crowding strategy using an additional approach measuring Euclidean distance among the non-dominated solutions. The crowding strategy assumes that the number of non-dominated solutions in P is higher than \(N_{exf}\). The non-dominated solutions in P are sorted according to the first objective in the ascending order. Next, the length of the Pareto front e is calculated according to the following equation:

$$ e = \sum _{p=2}^{|P|}{\sqrt{\sum _{m=1}^{M}{\left( f_{m}(p) - f_{m}(p-1)\right) ^{2}}}}, $$
(31)

where \(f_{m}(p)\) denotes the mth objective function of the pth solution, and M is the number of objectives. Then, the ideal distance between two uniformly spread solutions \(e_{u}\) is computed as

$$ e_{u} = \frac{e}{N_{exf} - 1}, $$
(32)

where \(N_{exf}\) is the desired number of Pareto solutions. The first member of the final non-dominated set \(P_{f}\) is the solution with the minimal value of the objective function. The last one is the solution with the maximal value of the objective function. The jth member of the P is a solution with the minimal value of dlt, which is calculated as follows:

$$ dlt(j) = |e_{j} - (j-1)e_{u} |, $$
(33)

where \(j = 2, 3, \ldots , N_{exf}-1\) and \(e_{j}\) is calculated according to Eq. (31), where p is replaced by j. However, the authors point out this approach has to be extended for the problems with more objective functions. If the Pareto front consists of more parts, all discontinuous ones have to be treated separately.

In Kadlec and Raida (2012), the MOSOMA was adjusted for a general number of objectives, where a new method for selection of the final non-dominated set P from the external archive EXT was presented. In the beginning, M solutions with minimal values of particular \(f_{m}\) are saved to P. The particular solutions are then saved into P until P does not contain the predefined number of solutions. The sum of Euclidean distances towards all members of the current P is calculated as

$$ D = \sum _{p=1}^{|P|}{\sqrt{\sum _{m=1}^{M}{\left( f_{m}(p) - f_{m}(q)\right) ^{2}}}}. $$
(34)

The qth solution from the external archive EXT with the maximal D is selected. To measure the ratio between a sum of deviations from average distances among neighboring Pareto-optimal solutions and a sum of all distances, the spread metric \(\Delta \) (Deb et al. 2002) can be used. It is defined as

$$ \Delta = \frac{\sum _{m=1}^{2}{d_{e,m} + \sum _{p=1}^{|P |-1}{|d^{2} - d_{avg} |}}}{\sum _{m=1}^{2}{d_{e,m} + (|P |-1)d_{avg}}}, $$
(35)

where \(d^{2}\) denotes the Euclidean distance between pth and \((p+1)\)th solution from P, \(d_{e,m}\) is the distance between the found extreme solutions and true ones, and \(d_{avg}\) denotes the average distance among all found solutions. When \(\Delta = 0\), the solution are spread ideally. However, the authors concluded that this metric cannot be applied on Pareto fronts of problems with more than two objectives because there is a problematic definition of neighboring solutions. Therefore, they proposed an approach utilizing a minimum spanning tree (MST) of the solutions in set P. To find out the MST, the Kruskal algorithm (1956) is used. The extended M-dimensional spread metric \(\Delta _{M}\) is then calculated as follows:

$$ \Delta _{M} = \frac{\sum _{m=1}^M{d_{e,m} + \sum _{p=1}^{|MST |}{|d^{2} - d_{avg} |}}}{\sum _{m=1}^M{d_{e,m} + |MST |d_{avg}}}. $$
(36)

The performance of the MOSOMA for the problems with two objectives was tested on the simple convex, Schaffer’s, Fonseca’s, Poloni’s, ZDT1, ZDT2 test problems. From the area of electromagnetics, the partially filled waveguide design and Debye model order reduction were selected. The algorithm was compared with the well-known NSGA II (Deb et al. 2002), and SPEA2 (Zitzler et al. 2001). In the case of the test problems and generational distance GD (Van Veldhuizen 1999), the MOSOMA provided comparable results. From the perspective of the spread among the obtained set of a non-dominated set of solutions P, the MOSOMA achieved significantly better results than the NSGA II and SPEA2. For the electromagnetic problems, the MOSOMA provided better or comparable results. The performance of the extended MOSOMA was tested on five three-dimensional benchmark problems and the problem of dielectric filter design and compared to NSGA II and SPEA2. The MOSOMA obtained comparable results in the case of generational distance and better results from the perspective of the spread.

In Kadlec and Raida (2011a), the MOSOMA was compared with the conventional methods as weighted sum method (WSM) and rotated weighted metric method (RWMM). The two-objective two-variable problem was selected as the test problem. The MOSOMA found the whole Pareto front with the best spread. However, the mean value of GD was slightly worse than RWMM. The authors concluded that this was caused by a small number of objective function evaluations. MOSOMA was successfully used to design the electromagnetic components as dielectric filters and Yagi–Uda antenna (Kadlec and Raida 2013).

5 Self-organizing migrating algorithm and drawbacks

Despite the relatively positive results presented in the previous sections, several bottlenecks in the SOMA can be found. First of all, it is the principle of the motion of the individuals. In the SOMA, there is a higher number of objective function evaluations in one migration/generation cycle comparing algorithms such as DE, PSO, or GA. Individuals move in steps, and the SOMA profits from the thorough search of the search space, especially in the lower dimensions. However, for the higher dimensions, the principle of motion of individuals can become a drawback, which relates to the increasing distances between individuals. Furthermore, usually, each individual moves towards a single leader at one migration loop. It means that the direction of motion (if prt is neglected) changes less often in comparison with other EAs or SI algorithms. Both features can negatively affect the convergence rate of the algorithm.

Another aspect affecting the performance of the SOMA is the migration strategy. In Sect. 2, the disadvantages of the migration strategies, where each individual migrates towards each other, are described. This principle of migration is inefficient because of the high number of wasted evaluations of the objective function. In the literature, AllToAll and AllToAll Adaptive were applied only in several cases.

As well as almost each EA or SI algorithm, the SOMA utilizes the problem-dependent control parameters. The experimental results described in the last sections indicate the advantage of the adaptive control parameters. However, only a few methods of adaptation were applied. Therefore it can not be said which one is the most efficient. However, experimental results indicate that the principles implemented within the SOMAT3A are very promising.

In my opinion, the most significant drawback of the SOMA is the principle of the development of novel approaches. The relations between publications dealing with this algorithm can be considered to be weak comparing the publications focused on the DE or PSO. In Fig. 13, the graph of the co-authorships of the publications based on the Web of Science focused on the SOMA is depicted. The edge between the authors represents the joint publication or publications. With an increasing number of publications, the edge becomes thicker. The greater size of the font represents the higher number of publications of the particular author. In Fig. 14 the co-authorship graph based on the publications mentioned in this work (based on Scholar) is shown. The weight of the edge represents the number of joint publications.

Fig. 13
figure 13

Graph of the co-authorships of the publications dealing with the SOMA based on Web of Science publications

Fig. 14
figure 14

Graph of the co-authorships of the publications dealing with the SOMA based on publications referenced in this work (based on Scholar)

As we can see, there are relatively small separated groups of authors in both cases. It is not surprising if we take into account the number of publications focused on the SOMA. The problem lies in the discontinuity of the publications. There is not a negligible number of publications that do not reflect the previous works, i.e. the already published approaches. And it is not the issue only of the different groups of the authors as mentioned in Sect. 3.1. In most publications focused on SOMA, the novel algorithms are not compared with their ancestors or already published approaches. Some publications do not compare the novel approaches with the state-of-the-art algorithms. Some novel algorithms are even compared to the canonical version of the SOMA. The context of the other SOMAs or other EAs or SI is missing. And this way negatively affects the whole process of the SOMA evolution—the development of novel approaches.

6 Conclusion

This paper reviews the research publications dealing with the SOMA and provides some additional experiments to extend the knowledge about this algorithm. There are two goals of this work. As mentioned, the first one is to review the research works from the year of the SOMA introduction till the present time. In this paper, the original, as well as enhanced versions of the SOMA, are described. The publications are divided based on the optimization type—single objective, multi-objective—and the purpose of the SOMA application—engineering optimization, analytical programming, discrete optimization, and others.

The second goal is to extend the knowledge about the SOMA from several points of view. In Sect. 2.3, the 7 migration strategies using 12 control parameters settings are compared based on 5 well-known optimization problems. Based on the experimental results, we can conclude that the migration strategies AllToAll and AllToAll Adaptive provide significantly worse results than the others, which is given by the principle of migration, where each individual becomes a leader for the others. The quality of a leader is not taken into account. There is no balance between exploration and exploitation, etc.

The experimental results also show that the principle of a perturbation vector generation affects the performance. The SOMA, where for each step a new perturbation vector is generated, provided significantly better results. On the other hand, the same perturbation vector for a migration loop might negatively affect the convergence.

From the perspective of the control parameters setting, we can see that the setting of the control parameters is problem-dependent. There are no universal values for the perturbation parameter, step size, and path length.

In Sect. 3.5, 13 SOMAs are compared based on the well-known benchmark CEC 2017. For the comparison, the whole benchmark, as well as individual test functions, were utilized. The comparison based on the benchmark indicates that the statistical differences between the mean ranks of the algorithms are not significant in most cases. Therefore, the algorithms are compared based on the individual test functions. For each algorithm, the number of the best and worst mean ranks are calculated.

From this point of view, the SASOMA, SOMAT3A, and GSOMA1 obtained the best results for the dimension \(D=30\). In the case of the dimension \(D=50\), the SOMAT3A, ParetoSOMA, GSOMA1, and SASOMA provided the best results. The success of these algorithms is affected by the combination of the adaptation of control parameters, migration strategy, where individuals migrate towards one leader, and incorporated mechanism for preservation of the population diversity.

The experimental results showed that the division of the population into clusters in combination with two different migration strategies and control parameters settings might positively affect the quality of the provided solution. On the other hand, the additional computation relating to the objective function evaluation should be considered very carefully.

In the case of the hybridization of the SOMA and GA, we could see that methods of the mutation and crossover in the GA and the migration strategy in SOMA can strongly affect the performance of the whole algorithm.

In the last part of the experiment, the best evaluated SOMAs were compared with the evolutionary and swarm algorithms accepted for the CEC 2017 competition on single-objective real-parameter numerical optimization. Based on the results of the experiment, it can be concluded that the selected SOMAs are among the algorithms that provided significantly worse results than the winners of the competition

On the other hand, the selected SOMA provided competitive results comparing the recently published evolutionary and swarm algorithms. This result indicates that the SOMA belongs to well-performed algorithms.

The future of the SOMA is related to the authors dealing with this algorithm. In my opinion, the performance of the novel approaches should be compared with the state-of-the-art algorithms based on the relevant statistical tests. The competition between new approaches and canonical versions of evolutionary and swarm algorithms has already been overcome. Problems with constraints or large-scale optimization problems would also deserve attention. In this work, the comparison is focused on the bound-constrained single-objective optimization to respect the original papers. The self-organizing algorithms included in the study were developed and evaluated based on single-objective optimization. Comparisons of algorithms based on constrained or high-dimensional problems are far beyond the scope of this paper. However, for future research in this area, it will be needed.

Editorial Policies for:

Springer journals and proceedings: https://www.springer.com/gp/editorial-policies

Nature Portfolio journals: https://www.nature.com/nature-research/editorial-policies

Scientific Reports: https://www.nature.com/srep/journal-policies/editorial-policies

BMC journals: https://www.biomedcentral.com/getpublished/editorial-policies

Supplementary information The source-codes for 13 selected self-organizing migrating algorithms, as well as experimental results with statistical analysis can be found in Skanderova (2021).