Skip to main content
Log in

Animorphic ensemble optimization: a large-scale island model

  • Original Article
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

Abstract

In this paper, a flexible large-scale ensemble-based optimization algorithm is presented for complex optimization problems. According to the no free lunch theorem, no single optimization algorithm demonstrates superior performance across all optimization problems. Therefore, with the animorphic ensemble optimization (AEO) algorithm presented here, a set of algorithms can be used as an ensemble which demonstrate stronger performance across a wider range of optimization problems than any standalone algorithm. AEO is a high-level ensemble designed to handle large ensembles using a well-defined stochastic migration process. The high-level nature of AEO allows for an arbitrary number of diverse standalone algorithms to interface with one another through an island model interface strategy, where various populations change size according to the performance of the algorithm associated with each population. In this study, AEO is demonstrated using ensembles of both evolutionary and swarm algorithms such as differential evolution, particle swarm, gray wolf optimization, moth-flame optimization, and more, and strong performance is observed. Quantitative diagnostics metrics to describe the migration of individuals across populations are also presented and observed with application to some test problems. In the end, AEO demonstrated strong consistent performance across more than 150 benchmark functions of 10–50 dimensions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Data availability

AEO is part of NEORL, which can be accessed from GitHub https://github.com/mradaideh/neorl, and the documentation is here https://neorl.readthedocs.io/en/latest/index.html. The AEO webpage can be found here: https://neorl.readthedocs.io/en/latest/modules/neuroevolu/aeo.html, and the algorithm source is here https://github.com/mradaideh/neorl/blob/master/neorl/hybrid/aeo.py. All results relevant to the comparison of AEO with other algorithms can be regenerated using scripts located at https://github.com/deanrp2/aeo_comparisons and following the directions contained in the “README.md” file. Furthermore, summary statistics on the optimization routines run with AEO and standalone algorithms are available in the supplementary data section along with a netCDF file which contains all optima from all trials for all algorithms.

Notes

  1. https://neorl.readthedocs.io/en/latest/index.html.

References

  1. Rao SS (2019) Engineering optimization: theory and practice. John Wiley & Sons, London

    Book  Google Scholar 

  2. Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of ICNN’95—international conference on neural networks, vol 4. IEEE, pp 1942–1948

  3. Sivanandam S, Deepa S (2008) Genetic algorithms. In: Introduction to genetic algorithms. Springer, Berlin, pp 15–37

  4. Storn R, Price K (1997) Differential evolution—a simple and efficient heuristic for global optimization over continuous spaces. J Global Optim 11(4):341–359

    Article  MATH  Google Scholar 

  5. Beyer H-G, Schwefel H-P (2002) Evolution strategies—a comprehensive introduction. Nat Comput 1(1):3–52

    Article  MATH  Google Scholar 

  6. Hansen N (2006) The CMA evolution strategy: a comparing review. Towards a new evolutionary computation, pp 75–102

  7. Dorigo M, Di Caro G (1999) Ant colony optimization: a new meta-heuristic. In: Proceedings of the 1999 congress on evolutionary computation-CEC99 (Cat. No. 99TH8406), vol 2. IEEE, pp 1470–1477

  8. Karaboga D, Basturk B (2007) A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Global Optim 39(3):459–471

    Article  MATH  Google Scholar 

  9. Mirjalili S, Mirjalili SM, Lewis A (2014) Grey wolf optimizer. Adv Eng Softw 69:46–61

    Article  Google Scholar 

  10. Mirjalili S (2015) Moth-flame optimization algorithm: a novel nature-inspired heuristic paradigm. Knowl Based Syst 89:228–249

    Article  Google Scholar 

  11. Kao Y-T, Zahara E (2008) A hybrid genetic algorithm and particle swarm optimization for multimodal functions. Appl Soft Comput 8(2):849–857

    Article  Google Scholar 

  12. Radaideh MI, Shirvan K (2021) Rule-based reinforcement learning methodology to inform evolutionary algorithms for constrained optimization of engineering applications. Knowl Based Syst 217:106836

    Article  Google Scholar 

  13. Chen P-H, Shahandashti SM (2009) Hybrid of genetic algorithm and simulated annealing for multiple project scheduling with multiple resource constraints. Autom Constr 18(4):434–443

    Article  Google Scholar 

  14. Ma PC, Tao F, Liu YL, Zhang L, Lu HX, Ding Z (2014) A hybrid particle swarm optimization and simulated annealing algorithm for job-shop scheduling. In: 2014 IEEE international conference on automation science and engineering (CASE). IEEE, pp 125–130

  15. Dhiman G (2021) SSC: a hybrid nature-inspired meta-heuristic optimization algorithm for engineering applications. Knowl Based Syst 222:106926

    Article  Google Scholar 

  16. Radaideh MI, Du K, Seurin P, Seyler D, Gu X, Wang H, Shirvan K (2021) NEORL: NeuroEvolution optimization with reinforcement learning. arXiv:2112.07057

  17. Price D, Radaideh M, Kochunas B Multi-objective optimization of nuclear microreactor control system operation with swarm and evolutionary algorithms. Deep Blue Documents. https://doi.org/10.7302/3786

  18. Wolpert DH, Macready WG (1997) No free lunch theorems for optimization. IEEE Trans Evol Comput 1(1):67–82

    Article  Google Scholar 

  19. Wolpert DH (2002) The supervised learning no-free-lunch theorems. Soft Comput Ind 25–42

  20. Wu G, Mallipeddi R, Suganthan PN (2019) Ensemble strategies for population-based optimization algorithms-a survey. Swarm Evol Comput 44:695–711

    Article  Google Scholar 

  21. Skolicki Z (2005) An analysis of island models in evolutionary computation. In: Proceedings of the 7th annual workshop on Genetic and evolutionary computation, pp 386–389

  22. Clerc M, Kennedy J (2002) The particle swarm-explosion, stability, and convergence in a multidimensional complex space. IEEE Trans Evol Comput 6(1):58–73

    Article  Google Scholar 

  23. Shi Y, Eberhart R (1998) A modified particle swarm optimizer. In: 1998 IEEE international conference on evolutionary computation proceedings. IEEE world congress on computational intelligence (Cat. No. 98TH8360). IEEE, pp 69–73

  24. Mirjalili S, Lewis A (2016) The whale optimization algorithm. Adv Eng Softw 95:51–67

    Article  Google Scholar 

  25. Mirjalili S, Gandomi AH, Mirjalili SZ, Saremi S, Faris H, Mirjalili SM (2017) Salp swarm algorithm: a bio-inspired optimizer for engineering design problems. Adv Eng Softw 114:163–191

    Article  Google Scholar 

  26. Rao R (2016) Jaya: a simple and new optimization algorithm for solving constrained and unconstrained optimization problems. Int J Ind Eng Comput 7(1):19–34

    Google Scholar 

  27. Wu G, Mallipeddi R, Suganthan PN, Wang R, Chen H (2016) Differential evolution with multi-population based ensemble of mutation strategies. Inf Sci 329:329–345

    Article  Google Scholar 

  28. Wang Y, Li B, Weise T, Wang J, Yuan B, Tian Q (2011) Self-adaptive learning based particle swarm optimization. Inf Sci 181(20):4515–4538

    Article  MATH  Google Scholar 

  29. Rakhshani H, Rahati A (2017) Intelligent multiple search strategy cuckoo algorithm for numerical and engineering optimization problems. Arab J Sci Eng 42(2):567–593

    Article  MATH  Google Scholar 

  30. Lynn N, Suganthan PN (2017) Ensemble particle swarm optimizer. Appl Soft Comput 55:533–548

    Article  Google Scholar 

  31. Elsayed SM, Sarker RA, Essam DL (2013) Adaptive configuration of evolutionary algorithms for constrained optimization. Appl Math Comput 222:680–711

    MATH  Google Scholar 

  32. Vrugt JA, Robinson BA, Hyman JM (2008) Self-adaptive multimethod search for global optimization in real-parameter spaces. IEEE Trans Evol Comput 13(2):243–259

    Article  Google Scholar 

  33. Adnan RM, Mostafa RR, Kisi O, Yaseen ZM, Shahid S, Zounemat-Kermani M (2021) Improving streamflow prediction using a new hybrid elm model combined with hybrid particle swarm optimization and grey wolf optimization. Knowl Based Syst 230:107379

    Article  Google Scholar 

  34. Yuen SY, Zhang X (2015) On composing an algorithm portfolio. Memet Comput 7(3):203–214

    Article  Google Scholar 

  35. Yuen SY, Zhang X (2014) Multiobjective evolutionary algorithm portfolio: choosing suitable algorithm for multiobjective optimization problem. In: 2014 IEEE congress on evolutionary computation (CEC). IEEE, pp 1967–1973

  36. Seyyedabbasi A, Aliyev R, Kiani F, Gulle MU, Basyildiz H, Shah MA (2021) Hybrid algorithms based on combining reinforcement learning and metaheuristic methods to solve global optimization problems. Knowl Based Syst 223:107044

    Article  Google Scholar 

  37. Lynn N, Suganthan PN (2015) Heterogeneous comprehensive learning particle swarm optimization with enhanced exploration and exploitation. Swarm Evol Comput 24:11–24

    Article  Google Scholar 

  38. Mallipeddi R, Iacca G, Suganthan PN, Neri F, Mininno E (2011) Ensemble strategies in compact differential evolution. In: 2011 IEEE congress of evolutionary computation (CEC). IEEE, pp 1972–1977

  39. Ali MZ, Awad NH, Suganthan PN (2015) Multi-population differential evolution with balanced ensemble of mutation strategies for large-scale global optimization. Appl Soft Comput 33:304–327

    Article  Google Scholar 

  40. Mallipeddi R, Mallipeddi S, Suganthan PN (2010) Ensemble strategies with adaptive evolutionary programming. Inf Sci 180(9):1571–1581

    Article  MATH  Google Scholar 

  41. Huberman BA, Lukose RM, Hogg T (1997) An economics approach to hard computational problems. Science 275(5296):51–54

    Article  Google Scholar 

  42. Peng F, Tang K, Chen G, Yao X (2010) Population-based algorithm portfolios for numerical optimization. IEEE Trans Evol Comput 14(5):782–800

    Article  Google Scholar 

  43. Lässig J, Sudholt D (2011) Analysis of speedups in parallel evolutionary algorithms for combinatorial optimization. In: International symposium on algorithms and computation. Springer, Berlin, pp 405–414

  44. Araujo L, Merelo JJ (2010) Diversity through multiculturality: assessing migrant choice policies in an island model. IEEE Trans Evol Comput 15(4):456–469

    Article  Google Scholar 

  45. Qu BY, Gouthanan P, Suganthan PN (2010) Dynamic grouping crowding differential evolution with ensemble of parameters for multi-modal optimization. In: International conference on swarm, evolutionary, and memetic computing. Springer, Berlin, pp 19–28

  46. Tasgetiren MF, Suganthan PN, Pan Q-K (2010) An ensemble of discrete differential evolution algorithms for solving the generalized traveling salesman problem. Appl Math Comput 215(9):3356–3368

    MATH  Google Scholar 

  47. Gao KZ, Suganthan PN, Chua TJ, Chong CS, Cai TX, Pan QK (2015) A two-stage artificial bee colony algorithm scheduling flexible job-shop scheduling problem with new job insertion. Expert Syst Appl 42(21):7652–7663

    Article  Google Scholar 

  48. Elsayed SM, Sarker RA, Mezura-Montes E (2014) Self-adaptive mix of particle swarm methodologies for constrained optimization. Inf Sci 277:216–233

    Article  MATH  Google Scholar 

  49. Ma H, Su S, Simon D, Fei M (2015) Ensemble multi-objective biogeography-based optimization with application to automated warehouse scheduling. Eng Appl Artif Intell 44:79–90

    Article  Google Scholar 

  50. Sommers PM, Conlisk J (1979) Eigenvalue immobility measures for Markov chains. J Math Sociol 6(2):253–276

    Article  MATH  Google Scholar 

  51. Conlisk J, Sommers P (1979) Eigenvector status proxies in Markov chain mobility models. Sociol Methods Res 8(2):159–178

    Article  Google Scholar 

  52. Shorrocks AF (1978) The measurement of mobility. Econometrica J Econometric Soc 1013–1024

  53. Pillai SU, Suel T, Cha S (2005) The Perron–Frobenius theorem: some of its applications. IEEE Signal Process Mag 22(2):62–75

    Article  Google Scholar 

  54. Awad NH, Ali MZ, Suganthan PN, Liang JJ, Qu BY (2017) Problem definitions and evaluation criteria for the CEC 2017 special session and competition on single objective real-parameter numerical optimization. Tech. rep., Nanyang Technological University, Singapore

  55. Woolson RF (2007) Wilcoxon signed-rank test. Wiley encyclopedia of clinical trials, pp 1–3

  56. Mallipeddi R, Suganthan PN, Pan Q-K, Tasgetiren MF (2011) Differential evolution algorithm with ensemble of parameters and mutation strategies. Appl Soft Comput 11(2):1679–1696

    Article  Google Scholar 

  57. Awad N, Ali M, Liang J, Qu B, Suganthan P, Definitions P. Evaluation criteria for the CEC 2017 special session and competition on single objective real-parameter numerical optimization, Tech. Rep

  58. Yang X-S. Test problems in optimization. arXiv:1008.0549

  59. Fortin F-A, De Rainville F-M, Gardner M-A, Parizeau M, Gagné C (2012) DEAP: evolutionary algorithms made easy. J Mach Learn Res 13:2171–2175

    Google Scholar 

  60. Yang X-S (2020) Nature-inspired optimization algorithms. Academic Press, London

    MATH  Google Scholar 

  61. Xie Z, Huang X, Liu W (2022) Subpopulation particle swarm optimization with a hybrid mutation strategy. Comput Intell Neurosci

  62. Begambre O, Laier JE (2009) A hybrid particle swarm optimization–simplex algorithm (PSOS) for structural damage identification. Adv Eng Softw 40(9):883–891

    Article  MATH  Google Scholar 

  63. Jamil M, Yang X-S (2013) A literature survey of benchmark functions for global optimisation problems. Int J Math Model Numer Optim 4(2):150–194

    MATH  Google Scholar 

  64. Salomon R (1996) Re-evaluating genetic algorithm performance under coordinate rotation of benchmark functions. A survey of some theoretical and practical aspects of genetic algorithms. Biosystems 39(3):263–278

    Article  Google Scholar 

  65. Beyer H-G, Finck S (2012) Happycat—a simple function class where well-known direct search algorithms do fail. In: International conference on parallel problem solving from nature. Springer, Berlin, pp 367–376

  66. Laguna M, Marti R (2005) Experimental testing of advanced scatter search designs for global optimization of multimodal functions. J Global Optim 33(2):235–255

    Article  MATH  Google Scholar 

Download references

Acknowledgements

This material is based upon work supported under an Integrated University Program Graduate Fellowship.

Author information

Authors and Affiliations

Authors

Contributions

DP contributed to conceptualization, methodology, software, formal analysis, investigation, data curation, writing—original draft, and visualization. MR contributed to conceptualization, methodology, software, formal analysis, investigation, writing—original draft, and supervision.

Corresponding author

Correspondence to Dean Price.

Ethics declarations

Conflict of interest

The authors have no conflicts of interest to declare that are relevant to the content of this article.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Supplementary Information

Below is the link to the electronic supplementary material.

Supplementary file 1 (xlsx 107 KB)

Supplementary file 2 (nc 392 KB)

Appendices

Appendix A: Derivation of migration probabilities

In this section, the derivation for the expression of \(M_{j,i}\) shown in Eq. (21) is given. To begin, the event where e members are exported from population i as decided in the debt settlement step of the migration phase is represented with \(e_i\). As shown in Eq. (12), this event occurs according to the binomial distribution. Therefore, the probability of \(e_i\) occurring can be described as.

$$\begin{aligned} \text {Pr}(e_i) = \left( \begin{array}{c}{N_i}\\ {e_i}\end{array}\right) h_i^{e_i}\left( 1 - h_i \right) ^{N_i - e_i}. \end{aligned}$$
(A.1)

Here, \(h_i\) is defined in Eq. (13).

Next, \(\vec {x} \in P_i \rightarrow \) can be defined as the event where a member of \(P_i\) is exported. As mentioned previously in Sect. 3.2, the members within each population are treated identically only for the construction of the migration matrix. Furthermore, the probability of \(\vec {x} \in P_i \rightarrow \) is dependent on the number of members being exported. Therefore, it may be useful to express

$$\begin{aligned} \text {Pr}(\vec {x} \in P_i \rightarrow | e_i) = \frac{e_i}{N_i}. \end{aligned}$$
(A.2)

From here, it may be fairly straightforward to see that

$$\begin{aligned} \text {Pr}(\vec {x} \in P_i \rightarrow ) = {\mathop {\sum \limits _{k=0}^{N_i}}} \frac{k}{N_i}\left( \begin{array}{c}{N_i}\\ {k}\end{array}\right) h_i^{k}\left( 1 - h_i \right) ^{N_i - k}. \end{aligned}$$
(A.3)

The final step in this derivation involves expressing the probability of \(\vec {x} \in P_i \rightarrow P_j\), defined in Sect. 3.2 as the event where a member who begins in population i at the beginning of the migration phase ends up in population j at the end of the migration phase. To start this final statement, the case where \(i \ne j\) can be expressed as:

$$\begin{aligned}&\text {Pr}(\vec {x} \in P_i \rightarrow P_j) = \frac{g_j^\alpha }{\sum g_k^\alpha }{\mathop {\sum \limits _{k=0}^{N_i}}} \frac{k}{N_i}\left( \begin{array}{c}{N_i}\\ {k}\end{array}\right) h_i^{k}\left( 1 - h_i \right) ^{N_i - k}\nonumber \\&\quad \text {where}\quad i \ne j. \end{aligned}$$
(A.4)

\(\text {Pr}(\vec {x} \in P_i \rightarrow P_j)\) where \(i = j\) is composed to two events. First, the event where an individual is not exported from its original population and second, the event where an individual is exported but returns to its original population. As such, \(\text {Pr}(\vec {x} \in P_i \rightarrow P_j )\) where \(i = j\) can be expressed as:

$$\begin{aligned}&\text {Pr}(\vec {x} \in P_i \rightarrow P_j ) = \left( 1 - {\mathop {\sum \limits _{k=0}^{N_i}}} \frac{k}{N_i}\left( \begin{array}{c}{N_i}\\ {k}\end{array}\right) h_i^{k}\left( 1 - h_i \right) ^{N_i - k}\right) \nonumber \\&\quad + \frac{g_j^\alpha }{\sum g_k^\alpha }{\mathop {\sum \limits _{k=0}^{N_i}}} \frac{k}{N_i}\left( \begin{array}{c}{N_i}\\ {k}\end{array}\right) h_i^{k}\left( 1 - h_i \right) ^{N_i - k}\; \text {where}\quad i \ne j. \end{aligned}$$
(A.5)

These two probabilities, where \(i = j\) and where \(i \ne j\), can be combined using the Kronecker delta function to aid in notation:

$$\begin{aligned}&\text {Pr}(\vec {x} \in P_i \rightarrow P_j ) = \delta _{ij} + \left( \frac{g_j^\alpha }{\sum g_k^\alpha } -\delta _{ij}\right) \nonumber \\&\quad {\mathop {\sum }\limits _{k=0}^{N_i}}\frac{k}{N_i}\left( \begin{array}{c}{N_i}\\ {k}\end{array}\right) \left( h_i\right) ^{k}\left( 1 - h_i \right) ^{N_i - k}. \end{aligned}$$
(A.6)

With the addition of the condition where \(N= 0\) as discussed in Sect. 3.2, the final expression for \(M_{i,j}\) is:

$$\begin{aligned} M_{j,i} = {\left\{ \begin{array}{ll} \delta _{ij} + \left( \frac{g_j^\alpha }{\sum g_k^\alpha } -\delta _{ij}\right) {\mathop {\sum }\limits _{k=0}^{N_i}}\frac{k}{N_i}\left( \begin{array}{c}{N_i}\\ {k}\end{array}\right) \left( h_i\right) ^{k}\left( 1 - h_i \right) ^{N_i - k} &{} N_i > 0 \\ \frac{1}{I} &{} N_i = 0 \end{array}\right. }. \end{aligned}$$
(A.7)

Appendix B: Benchmark functions

This appendix will describe the 52 benchmark functions which are used to evaluate AEO in this manuscript. The first set of functions to be discussed is the 22 classic functions. These functions were selected by the authors from various places in the literature. Table 5 gives information and references on these functions.

The CEC 2017 benchmark functions are organized and reported in [57]. The minima of these functions is given in Table 6. Evaluations of these functions are constrained to \([-100, 100]^d\) where d is the dimension of the input evaluation point.

Table 5 Characteristics and references for 22 benchmark functions used in the “classic” set
Table 6 Minima of benchmarks from CEC 2017 benchmarks

Appendix C: Optimization algorithm parameters

Many optimization algorithms have parameters which one can change to modify the behavior of the algorithm. In practice, selection of these parameters can be difficult due to the need for trial-and-error approaches to be used—often theoretical approaches to selecting these parameters may be limited in application. Nevertheless, algorithms can still perform well without tailoring these algorithm parameters to the specific problem. Furthermore, some algorithms such as GWO and WOA do not contain any of these algorithm parameters (excluding population size parameters). To maintain fairness between algorithms, the inherent performance of the algorithms in this study is evaluated with the same parameters across all benchmarks and these parameters are listed in Table 7. Explanations for the individual parameters associated with these algorithms are given in Sect. 2.1.

Also, the population sizes associated with each algorithm could be considered algorithm parameters. Population size has a similar meaning across all standalone algorithms discussed in this paper as the number of \(\vec {x}\) which are maintained during the optimization process. Although the values and fitnesses of individuals within these populations may change, their size will remain constant. The population sizes used for each of the standalone algorithms are also listed in Table 7. For AEO as presented in this paper, the number of individuals for each of these populations listed in this table is used as a starting population sizes for these algorithms when included in an ensemble.

Table 7 Parameters and population sizes used for optimization algorithms

Appendix D: AEO behavior on Rastrigin function with large ensemble

See Figs. 678, and 9.

Fig. 6
figure 6

Mobility metrics and population sizes for a large ensemble used to optimize the Rastrigin function in 7 dimensions. Here, the population associated with DE rebounds from 0 members

Fig. 7
figure 7

Mobility metrics and population sizes for a large ensemble used to optimize the Rastrigin function in 7 dimensions. Here, all populations have the same \(g_i\) leading to no migration being performed at two portions of the optimization routine according to the condition described in the penultimate paragraph of Sect. 3.1

Fig. 8
figure 8

Mobility metrics and population sizes for a large ensemble used to optimize the Rastrigin function in 7 dimensions. Here, there are large population imbalances from cycle 30 to 55 which eventually level out

Fig. 9
figure 9

Mobility metrics and population sizes for a large ensemble used to optimize the Rastrigin function in 7 dimensions. Here, erratic changes in population sizes can be observed all the way through the optimization process

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Price, D., Radaideh, M.I. Animorphic ensemble optimization: a large-scale island model. Neural Comput & Applic 35, 3221–3243 (2023). https://doi.org/10.1007/s00521-022-07878-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-022-07878-y

Keywords

Navigation