<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">38670</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.038670</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Ensemble of Population-Based Metaheuristic Algorithms</article-title>
<alt-title alt-title-type="left-running-head">Ensemble of Population-Based Metaheuristic Algorithms</alt-title>
<alt-title alt-title-type="right-running-head">Ensemble of Population-Based Metaheuristic Algorithms</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Li</surname><given-names>Hao</given-names></name>
</contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Tang</surname><given-names>Jun</given-names></name><email>tangjun06@nudt.edu.cn</email></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Pan</surname><given-names>Qingtao</given-names></name>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Zhan</surname><given-names>Jianjun</given-names></name>
</contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Lao</surname><given-names>Songyang</given-names></name>
</contrib>
<aff id="aff-1"><institution>College of Systems Engineering, National University of Defense Technology</institution>, <addr-line>Changsha, 410000</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Jun Tang. Email: <email>tangjun06@nudt.edu.cn</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic"><year>2023</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>08</day><month>10</month><year>2023</year></pub-date>
<volume>76</volume>
<issue>3</issue>
<fpage>2835</fpage>
<lpage>2859</lpage>
<history>
<date date-type="received"><day>23</day><month>12</month><year>2022</year></date>
<date date-type="accepted"><day>10</day><month>4</month><year>2023</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Li et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Li et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_38670.pdf"></self-uri>
<abstract>
<p>No optimization algorithm can obtain satisfactory results in all optimization tasks. Thus, it is an effective way to deal with the problem by an ensemble of multiple algorithms. This paper proposes an ensemble of population-based metaheuristics (EPM) to solve single-objective optimization problems. The design of the EPM framework includes three stages: the initial stage, the update stage, and the final stage. The framework applies the transformation of the real and virtual population to balance the problem of exploration and exploitation at the population level and uses an elite strategy to communicate among virtual populations. The experiment tested two benchmark function sets with five metaheuristic algorithms and four ensemble algorithms. The ensemble algorithms are generally superior to the original algorithms by Friedman&#x2019;s average ranking and Wilcoxon signed ranking test results, demonstrating the ensemble framework&#x2019;s effect. By solving the iterative curves of different test functions, we can see that the ensemble algorithms have faster iterative optimization speed and better optimization results. The ensemble algorithms cannot fall into local optimum by virtual populations distribution map of several stages. The ensemble framework performs well from the effects of solving two practical engineering problems. Some results of ensemble algorithms are superior to those of metaheuristic algorithms not included in the ensemble framework, further demonstrating the ensemble method&#x2019;s potential and superiority.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Ensemble</kwd>
<kwd>population-based metaheuristics</kwd>
<kwd>real and virtual population</kwd>
<kwd>elite strategy</kwd>
<kwd>swarm intelligence</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>National Natural Science Foundation of China</funding-source>
<award-id>62073330</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>Multiple optimization techniques have been proposed to address the challenges of various optimization problems, which include accurate and approximate methods [<xref ref-type="bibr" rid="ref-1">1</xref>]. Accurate methods obtain an exact solution to guarantee optimality. Approximate methods can generate a high-quality solution in a reasonable time to meet the actual requirements, but they cannot ensure a globally optimal solution. As one type of approximate method, metaheuristics are general for solving optimization problems. Metaheuristics include single-solution-based and population-based by the number of solutions processed in the optimization phase [<xref ref-type="bibr" rid="ref-2">2</xref>].</p>
<p>Although engineers apply meta-heuristic algorithms to various optimization problems, the solution to a specific optimization problem is only sometimes satisfactory. Therefore, researchers widely use integration strategies to design general algorithms for particular problem sets. Many practical and available algorithms have been developed for single-objective optimization [<xref ref-type="bibr" rid="ref-3">3</xref>], constrained optimization [<xref ref-type="bibr" rid="ref-4">4</xref>], multi-objective optimization [<xref ref-type="bibr" rid="ref-5">5</xref>], niche [<xref ref-type="bibr" rid="ref-6">6</xref>], and others. Metaheuristic algorithms have significantly been developed and applied to solving optimization problems in many fields [<xref ref-type="bibr" rid="ref-7">7</xref>], such as scheduling [<xref ref-type="bibr" rid="ref-8">8</xref>], data mining [<xref ref-type="bibr" rid="ref-9">9</xref>], and unmanned system [<xref ref-type="bibr" rid="ref-10">10</xref>].</p>
<p>When engineers integrate various optimization algorithms, they have to design appropriate integration schemes to take advantage of their respective strengths. The paper proposes an ensemble of population-based metaheuristics (EPM) to solve the single-objective problem. We consider each population-based metaheuristic algorithm as a whole in the ensemble framework without understanding its characteristics and internal mechanisms. The ensemble framework puts forward the transformation between the real and virtual populations to coordinate exploration and exploitation at the population level. It also adopts an elite strategy to realize information exchanges among virtual populations to enhance the diversity of populations. The transformation between the real and virtual populations mainly solves the problem of falling into local optimum. We also apply an elite strategy to speed up the convergence. The practical issues that the ensemble framework can solve are related to the application field of its integrated meta-heuristic algorithms. If a meta-heuristic algorithm can be applied to solve a particular practical problem, then the algorithm can still solve the optimization problem in the ensemble framework.</p>
<p>The rest of this paper is structured as follows. <xref ref-type="sec" rid="s2">Section 2</xref> summarizes the ensemble methods of the population-based metaheuristic algorithms. <xref ref-type="sec" rid="s3">Section 3</xref> describes the design of the EPM framework and how to use it to integrate various metaheuristic algorithms. <xref ref-type="sec" rid="s4">Section 4</xref> conducts testing and analysis, where it tests the original and ensemble algorithms using two test function sets and two engineering application problems. Finally, in <xref ref-type="sec" rid="s5">Section 5</xref>, the full text is summarized, pointing to future research.</p>
</sec>
<sec id="s2"><label>2</label><title>Related Work</title>
<sec id="s2_1"><label>2.1</label><title>Population-Based Metaheuristics</title>
<p>Population-based metaheuristics have the same paradigm, as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. A population represents a set of solutions, and each individual represents a feasible solution. Generation strategies are designed to generate a new population, and the original individual is replaced by the newly generated individual according to selection strategies so that the population is continuously optimized until the set stop condition is met. The various population-based metaheuristic algorithms differ in how they perform the generation and selection processes.</p>
<fig id="fig-1"><label>Figure 1</label><caption><title>The typical process diagram of population-based metaheuristics</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-1.tif"/></fig>
<p>The design of population-based metaheuristics is inspired by nature and human society, including evolutionary processes, physics, biology, chemistry, mathematics, human bodies, society, and so on. Evolutionary algorithms simulate the process of biological evolution, using crossover, mutation, reproduction, and other operators to produce better solutions. Typical algorithms include differential evolution [<xref ref-type="bibr" rid="ref-11">11</xref>], genetic algorithm [<xref ref-type="bibr" rid="ref-12">12</xref>], and genetic programming [<xref ref-type="bibr" rid="ref-13">13</xref>]. Biology-based algorithms mimic the behaviors in biological groups, such as foraging, mating, and movement, including particle swarm optimization [<xref ref-type="bibr" rid="ref-14">14</xref>], artificial bee swarm optimization [<xref ref-type="bibr" rid="ref-15">15</xref>], cuckoo search [<xref ref-type="bibr" rid="ref-16">16</xref>], and sand cat swarm optimization [<xref ref-type="bibr" rid="ref-17">17</xref>]. Human-based algorithms mainly simulate human body structure, way of thinking, and social behavior, including tabu search [<xref ref-type="bibr" rid="ref-18">18</xref>], cooperation search [<xref ref-type="bibr" rid="ref-19">19</xref>], brainstorming algorithms [<xref ref-type="bibr" rid="ref-20">20</xref>], heap-based optimization [<xref ref-type="bibr" rid="ref-21">21</xref>], and war strategy optimization [<xref ref-type="bibr" rid="ref-22">22</xref>]. Physics-based algorithms draw lessons from the classical laws of physics. For example, the idea of gravity search comes from the law of gravity [<xref ref-type="bibr" rid="ref-23">23</xref>]. The big bang algorithm simulates the big bang effects and the big bang processes [<xref ref-type="bibr" rid="ref-24">24</xref>]. The electromagnetic mechanism-like algorithm simulates charged particles&#x2019; attraction and repulsion mechanisms in the electromagnetic field [<xref ref-type="bibr" rid="ref-25">25</xref>]. The algorithm based on mathematics draws lessons from mathematical formulas and mathematical theorems, such as the sine cosine algorithm based on the mathematical properties of the sine and cosine functions [<xref ref-type="bibr" rid="ref-26">26</xref>], the chaotic golden section algorithm based on chaotic motion and golden section [<xref ref-type="bibr" rid="ref-27">27</xref>] and the arithmetic optimization algorithm based on the main arithmetic operators in mathematics [<xref ref-type="bibr" rid="ref-28">28</xref>].</p>
<p>Engineers apply metaheuristic algorithms in many fields, such as engineering, material, robot, computer, home life, and medical treatment. Chopra et al. proposed a golden jackal optimization algorithm for the economic load dispatch problem in electrical engineering [<xref ref-type="bibr" rid="ref-29">29</xref>]. Zhang et al. designed a generalized normal distribution optimization to improve the accuracy of extracting the model parameters in the photovoltaic material industry [<xref ref-type="bibr" rid="ref-30">30</xref>]. Ibrahim et al. proposed a hybrid wind-driven-based fruit fly optimization algorithm for adjusting several model parameters in the double-diode cell material industry [<xref ref-type="bibr" rid="ref-31">31</xref>]. Tang et al. combined fuzzy C-means clustering and ant colony optimization algorithm for mission planning of unmanned aerial vehicles in emergent scenarios [<xref ref-type="bibr" rid="ref-32">32</xref>]. Tian applied a backtracking search optimization algorithm to adjust the algorithm parameters of the least square support vector machine in the computer field [<xref ref-type="bibr" rid="ref-33">33</xref>]. Jordehi designed a quadratic binary particle swarm optimization to schedule multiple interruptible and non-interruptible appliances in an intelligent home [<xref ref-type="bibr" rid="ref-34">34</xref>]. Nadimi-Shahraki et al. applied an enhanced whale optimization algorithm to detect coronavirus disease 2019 [<xref ref-type="bibr" rid="ref-35">35</xref>].</p>
<p>The search steps of these algorithms include exploration and exploitation phases [<xref ref-type="bibr" rid="ref-36">36</xref>]. In the exploration phase, it ensures the diversity of the population as much as possible so that the individuals in the population can fully explore each area of the feature space. If there is insufficient exploration, the solution is locally optimal. In the exploitation phase, the search should focus on areas with high-quality solutions, constantly searching the neighborhood. If underexploited, there is no way to converge to a global solution.</p>
</sec>
<sec id="s2_2"><label>2.2</label><title>Ensemble Approaches of Population-Based Metaheuristics</title>
<p>A single algorithm cannot handle all the optimization problems [<xref ref-type="bibr" rid="ref-37">37</xref>], so the ensemble of multiple meta-heuristic algorithms can increase the effect of optimization. The ensemble technology of the meta-heuristic algorithms includes low-level and high-level ensembles depending on the objects. The low-level ensemble integrates multiple search strategies and variable parameter values of a single algorithm. The high-level ensemble integrates multiple meta-heuristic algorithms and their variants.</p>
<p>An algorithm may be excellent at solving one type of optimization problem and not good at solving another. The search strategy of the algorithm mainly expresses this particularity. Therefore, to enhance the effect of the algorithm on optimization problems that the algorithm is not good at, a variety of search strategies can be integrated to improve the algorithm to obtain a better solution. Qin et al. proposed a self-adaptive differential evolution algorithm that randomly assigned the experimental vector generation strategy and the control parameters to population individuals based on the characteristics of the historical solution [<xref ref-type="bibr" rid="ref-38">38</xref>]. Pan et al. designed an adaptive differential evolution algorithm based on the hybrid leapfrog strategy, which can maintain the overall diversity of the population during dynamic evolution [<xref ref-type="bibr" rid="ref-39">39</xref>]. Gong et al. applied a multi-operator search strategy based on a cheap agent model, using multiple sub-generation search operators and proxy models to select the best candidate solution [<xref ref-type="bibr" rid="ref-40">40</xref>]. Ali et al. divided the population into several subgroups, each adopting a modified mutation strategy based on differential evolution [<xref ref-type="bibr" rid="ref-41">41</xref>]. Rakhshani et al. proposed a new extension of the cuckoo algorithm, which combines the exploration capabilities of computer science with the development behavior provided by the covariance matrix adaptation evolution strategy through multiple search strategies [<xref ref-type="bibr" rid="ref-42">42</xref>]. Li et al. designed an adaptive learning framework for particle swarm optimization to select the optimal method from some strategies to deal with different search spaces [<xref ref-type="bibr" rid="ref-43">43</xref>].</p>
<p>When the set of optimization problems is vast, a single swarm intelligence optimization algorithm cannot handle it. So researchers ensemble multiple algorithms to solve optimization problems. Lynn et al. proposed an evolutionary particle swarm optimization algorithm that integrates different particle swarm optimization algorithms [<xref ref-type="bibr" rid="ref-44">44</xref>]. Zhang et al. proposed a multivariable coordination framework, which coordinates multiple improved differential evolution algorithms [<xref ref-type="bibr" rid="ref-45">45</xref>]. Thangavelu et al. designed an island-based dynamic data exchange algorithm mixing four classical differential evolution variants that fill each island with different dynamic data exchange variables as a possible way to implement a robust dynamic data exchange system [<xref ref-type="bibr" rid="ref-46">46</xref>]. Wu et al. proposed an algorithm based on an ensemble of multiple differential evolution variants, which divides the whole population into index and reward subpopulations and allocates the reward subpopulation dynamics to the well-performing differential evolution variant algorithm according to the performance of the index subpopulation [<xref ref-type="bibr" rid="ref-47">47</xref>]. Elsayed et al. applied a group of different particle swarm optimization variants to integrate and measure the performance of varying optimization variants according to the improvement index to adaptively determine the number of individuals allocated to the variant algorithm in each generation [<xref ref-type="bibr" rid="ref-48">48</xref>]. Vrugt et al. applied an adaptive learning strategy that integrates evolution strategy, genetic algorithm, and particle swarm optimization to dynamically adjust the influence of these three algorithms on individuals [<xref ref-type="bibr" rid="ref-49">49</xref>]. Xue et al. proposed an integrated evolutionary algorithm using an adaptive learning search technique incorporating three different algorithms [<xref ref-type="bibr" rid="ref-50">50</xref>]. Elsayed et al. designed a framework with multiple adaptive algorithms and operators, using two decisions to adaptively select the appropriate algorithm and search operator [<xref ref-type="bibr" rid="ref-51">51</xref>]. The existing ensemble frameworks are usually designed for specific algorithms and their variants, focusing on complementarity and neglecting generality.</p>
<p>In this paper, we design an ensemble framework based on common structural features of metaheuristic algorithms rather than a specific algorithm. The ensemble framework belongs to the high-level ensemble, which could integrate various meta-heuristic and variant algorithms. These algorithms can have multiple search strategies, including low-level ensembles.</p>
</sec>
</sec>
<sec id="s3"><label>3</label><title>Ensemble of Population-Based Metaheuristics</title>
<p>This section introduces the EPM framework in detail. <xref ref-type="sec" rid="s3_1">Section 3.1</xref> explains the idea and features of the framework. <xref ref-type="sec" rid="s3_2">Section 3.2</xref> shows the stages of using the EPM framework to integrate the metaheuristic algorithm. It presents the implementation procedure and pseudocode in <xref ref-type="sec" rid="s3_3">Section 3.3</xref>.</p>
<sec id="s3_1"><label>3.1</label><title>Basic Concepts</title>
<sec id="s3_1_1"><label>3.1.1</label><title>Algorithm Library</title>
<p>After filling in multiple meta-heuristic algorithms, the ensemble framework can only solve optimization problems. These meta-heuristic algorithms are placed together in the algorithm library. It is hard to judge which population-based metaheuristic algorithm is the best for a particular optimization problem, especially when there is not enough information about the problem. While engineers can find better algorithms through trial and error, it would be time-consuming and labor-intensive. In addition, to solve some problems, a satisfactory solution cannot be obtained through a search strategy using a single algorithm. Neither the specific transition point from one algorithm to another nor which algorithms to apply is known. Each algorithm has its characteristics: local search, global search, optimization speed, and population diversity. The role of the EPM framework is to make all kinds of algorithms give full play to their respective strengths and provide a communication bridge for these algorithms. It requires that as many algorithms as possible be included in the algorithm library.</p>
</sec>
<sec id="s3_1_2"><label>3.1.2</label><title>Real and Virtual Populations</title>
<p>The EPM framework proposes the setting and conversion of real and virtual populations. Virtual populations represent various virtual states of the population obtained by the evolution of the real population in different directions. All virtual populations come from the real population. Each virtual population applies a population-based metaheuristic algorithm, which updates the population by selection rules to obtain individuals with better fitness values. Each virtual population can exchange information to facilitate population optimization. When certain conditions are satisfied, it retains the optimal virtual population as the optimal population, which materializes into a real population. After that, it uses the same operation to virtualize and set up the next population that meets certain conditions, constantly optimizing the population until reaching the stop condition. The adjustment of parameters for each swarm intelligence algorithm is not considered, nor is the specific update strategy within the population. The setting of the real and virtual populations is a new idea for coordinated exploration and exploitation at the population level.</p>
</sec>
<sec id="s3_1_3"><label>3.1.3</label><title>Elite Strategy</title>
<p>The exchange of information among virtual populations enables the population to obtain satisfactory solutions more quickly in the renewal process, reducing the incidences of falling into local optima. The algorithm framework designed in this study uses an elite strategy to communicate between virtual populations. To minimize the interference in the virtual population, the individual with the smallest fitness value is an elite in each virtual population. If multiple individuals have the same fitness value, it randomly selects one as the elite. It brings these elites together to form a group and selects the best elite according to their fitness. When meeting certain conditions, the best elite individual is added to each virtual population to complete the exchange of information between populations. In this way, it reduces the interference of virtual populations and realizes population optimization with the help of the optimal individual&#x2019;s influence on the population.</p>
</sec>
</sec>
<sec id="s3_2"><label>3.2</label><title>The Framework of EPM</title>
<p>The EPM framework consists of three stages: the initial stage, the update stage, and the final stage. The update stage includes two sub-stages high-level generation and selection. <xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows the entire process diagram of EPM. These three stages are described in detail below.</p>
<fig id="fig-2"><label>Figure 2</label><caption><title>The entire process diagram of EPM</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-2.tif"/></fig>
<sec id="s3_2_1"><label>3.2.1</label><title>The Initial Stage</title>
<p>The search space dimension of the optimization problem is <italic>D</italic>. Its upper boundary <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mi mathvariant="bold">U</mml:mi></mml:mrow></mml:math></inline-formula> is <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, and its lower boundary <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mrow><mml:mi mathvariant="bold">L</mml:mi></mml:mrow></mml:math></inline-formula> is <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The number of individuals in the population is <italic>N</italic>, and the population set <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow></mml:math></inline-formula> is <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">n</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">N</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. The position of the <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> individual <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">n</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is calculated according to <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>, <italic>r</italic> is a random number in the <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>.</p>
<p>It selects the required algorithm in the algorithm library, and the number of algorithms selected is <italic>M</italic>. The set of algorithms <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mrow><mml:mi mathvariant="bold">A</mml:mi></mml:mrow></mml:math></inline-formula> is <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:mi mathvariant="bold">R</mml:mi></mml:mrow></mml:math></inline-formula> represents the real population, and <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">R</mml:mi></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> represents the population at the <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> iteration. The virtual population set <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow></mml:math></inline-formula> is <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> represents the virtual population corresponding to the <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> algorithm at the <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> iteration. When <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">R</mml:mi></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are obtained from <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>.
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">R</mml:mi></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mi>M</mml:mi></mml:math></disp-formula></p>
</sec>
<sec id="s3_2_2"><label>3.2.2</label><title>The Update Stage</title>
<p>At the high-level generation process, each virtual population adopts the corresponding algorithm to update separately, where their internal update strategy set <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mrow><mml:mi mathvariant="bold">R</mml:mi><mml:mi mathvariant="bold">w</mml:mi></mml:mrow></mml:math></inline-formula> is <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mrow><mml:mo>{</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>R</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the internal update strategy of the algorithm <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and the update process of the virtual population position <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msup><mml:mi>X</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> is shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>.</p>
<fig id="fig-3"><label>Figure 3</label><caption><title>The updating process diagram of the virtual population position</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-3.tif"/></fig>
<p>At the <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> iteration, <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">t</mml:mi><mml:mo mathvariant="bold">+</mml:mo><mml:mn mathvariant="bold">1</mml:mn><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is obtained from <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> through the generation and selection strategy within the algorithm <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, as shown in <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>. However, it is not the virtual population for the next update <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">t</mml:mi><mml:mo mathvariant="bold">+</mml:mo><mml:mn mathvariant="bold">1</mml:mn><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, which needs to be determined according to the high-level selection process.
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold">+</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>The entire high-level selection process is shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. The elite swarm consists of individuals corresponding to the minimum fitness value in each virtual population. The set of these fitness values <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mrow><mml:mi mathvariant="bold">E</mml:mi></mml:mrow></mml:math></inline-formula> is <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the minimum fitness value in the <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> virtual population. At the <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> iteration, <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is calculated by <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>, where <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents calculating the fitness value. <italic>B</italic> is the minimum in the set <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mrow><mml:mi mathvariant="bold">E</mml:mi></mml:mrow></mml:math></inline-formula>, and <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is calculated by <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref>. Then, the individual with the minimum fitness value of the elite swarm <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow></mml:math></inline-formula> is considered as the best elite. Its corresponding virtual population is called the optimal virtual population <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and its corresponding individual position is <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msubsup><mml:mrow><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">e</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula>. If there are multiple individuals corresponding to the minimum fitness value, random selection is performed.</p>
<fig id="fig-4"><label>Figure 4</label><caption><title>The process of a high-level selection</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-4.tif"/></fig>
<p><disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">i</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">m</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">t</mml:mi><mml:mo mathvariant="bold">+</mml:mo><mml:mn mathvariant="bold">1</mml:mn><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p><inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mi>H</mml:mi></mml:math></inline-formula> is the minimum fitness value of the best elite in history. When <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2265;</mml:mo><mml:mi>H</mml:mi></mml:math></inline-formula>, all virtual populations are preserved, and no information exchange is carried out among them. The virtual populations to be updated next time is shown in <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref>.
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold">+</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold">+</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mi>M</mml:mi></mml:math></disp-formula></p>
<p>When <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003C;</mml:mo><mml:mi>H</mml:mi></mml:math></inline-formula>, if <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x226A;</mml:mo><mml:mi>H</mml:mi></mml:math></inline-formula>, the optimal virtual population <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is materialized to the real population. The real population generates new virtual populations to be updated next time, as shown in <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref>. In this process, the parameters in the algorithms corresponding to the original virtual populations are retained. In this paper, it can be determined that the difference is large if one of the following three conditions is met: <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mrow><mml:mo>{</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mi>H</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>0.1</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mrow><mml:mo>{</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mi>H</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>H</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>10</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mrow><mml:mo>{</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mi>H</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>&#x003C;</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>a</italic> is the ratio of <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to <italic>H</italic>, as shown in <xref ref-type="disp-formula" rid="eqn-8">Eq. (8)</xref>. If <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is not much different from <italic>H</italic>, the best elite is copied and distributed to other virtual populations and an individual in each virtual population is randomly replaced in the process. For virtual population <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>q</italic> is a random integer in <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>, representing a random individual which will be replaced by the best elite. The improved population will be updated in the next time as the new virtual populations, and the process is shown in <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref>.
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold">+</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">R</mml:mi></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold">+</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">t</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold">+</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:math></disp-formula>
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>H</mml:mi></mml:mfrac><mml:mo>,</mml:mo><mml:mi>H</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mn>0</mml:mn></mml:math></disp-formula>
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">X</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">V</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">j</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">t + 1</mml:mtext></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mover><mml:mo stretchy="false">&#x27F5;</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">q</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">t</mml:mi><mml:mo mathvariant="bold">+</mml:mo><mml:mn mathvariant="bold">1</mml:mn><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">e</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">t</mml:mi><mml:mo mathvariant="bold">+</mml:mo><mml:mn mathvariant="bold">1</mml:mn><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mover><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">j</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold">t</mml:mi><mml:mo mathvariant="bold">+</mml:mo><mml:mn mathvariant="bold">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>M</mml:mi></mml:math></disp-formula></p>
</sec>
<sec id="s3_2_3"><label>3.2.3</label><title>The Final Stage</title>
<p>The update stage repeats until reaching the maximum of iterations <italic>T</italic>, then the whole process ends. In the last iteration, the optimal virtual population <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is materialized to obtain the real population, as shown in <xref ref-type="disp-formula" rid="eqn-10">Eq. (10)</xref>. After the last iteration, the optimal virtual population is transformed into the real population.
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">R</mml:mi></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">T</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="bold">V</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="bold">b</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo mathvariant="bold" stretchy="false">(</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">T</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="bold" stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
</sec>
<sec id="s3_3"><label>3.3</label><title>General Process of EPM</title>
<p>The ensemble range covered by the EPM framework includes all population-based metaheuristic algorithms and their modified versions. The larger the number of algorithms in the algorithm library, the better the possibility of covering many aspects of the optimization problem. First, it selects an appropriate number of algorithms from the algorithm library for the ensemble. In this process, the number of algorithms can be set without prior knowledge and then selected randomly. In the case of specific prior knowledge, it chooses the appropriate algorithm according to the previous knowledge. The pseudocode of EPM is presented below:
</p>
<fig id="fig-7">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-7.tif"/>
</fig>
</sec>
</sec>
<sec id="s4"><label>4</label><title>Experiment Results</title>
<p>It applies ensemble algorithms to two test sets, 23 standard benchmark functions [<xref ref-type="bibr" rid="ref-52">52</xref>] and the 2017 congress on evolutionary computation (CEC2017) benchmark functions [<xref ref-type="bibr" rid="ref-53">53</xref>]. <xref ref-type="sec" rid="s4_1">Section 4.1</xref> describes these functions in detail. <xref ref-type="sec" rid="s4_2">Section 4.2</xref> presents the five algorithms in the algorithm library along with a comprehensive comparison between the integrated and original algorithms, introducing the parameters of each algorithm in the experiment. <xref ref-type="sec" rid="s4_3">Section 4.3</xref> illustrates the experimental results of the nine algorithms. It gives the iterative curves of all algorithms on some functions in <xref ref-type="sec" rid="s4_4">Section 4.4</xref> to directly observe the optimization effect and convergence of the algorithms. <xref ref-type="sec" rid="s4_5">Section 4.5</xref> shows the evolution of the real and virtual populations in the optimization process. <xref ref-type="sec" rid="s4_6">Section 4.6</xref> applies the ensemble framework to solve two engineering application problems.</p>
<sec id="s4_1"><label>4.1</label><title>Benchmark Functions</title>
<p>We select two sets of benchmark functions. One set consists of the 23 standard benchmark functions of the experiment, which are described in detail in <xref ref-type="table" rid="table-1">Table 1</xref>, including function type, function name, and function definition. D denotes the number of independent variables in the function, and the initialization range means the range of variables. The optimal value corresponding to each function is the global optimum. In these functions, F1&#x2013;F13 are high-dimensional with a dimension of 30; F1&#x2013;F7 are unimodal; F8&#x2013;F13 are multi-peak; F14&#x2013;F23 are low-dimensional with only a few local minima. The other set is the CEC2017 benchmark functions set, as described in <xref ref-type="table" rid="table-2">Table 2</xref>. Among these functions, C1&#x2013;C2 are unimodal; C3&#x2013;C9 are simple multi-peak; C10&#x2013;C19 are mixed; C20&#x2013;C29 are compound. The variable dimensions range from [&#x2212;100, 100]. We set the dimensions uniformly to 30 and 50.</p>
<table-wrap id="table-1">
<label>Table 1</label><caption><title>23 standard benchmark functions [<xref ref-type="bibr" rid="ref-52">52</xref>]</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Function type</th>
<th align="left">No.</th>
<th align="left">Function name</th>
<th align="left">D</th>
<th align="left">Initialization range</th>
<th align="left">Global optimum</th>
</tr>
</thead>
<tbody>
<tr>
<td/>
<td align="left">F1</td>
<td align="left">Sphere model</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F2</td>
<td align="left">Schwefel&#x2019;s problem 2.22</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>10</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F3</td>
<td align="left">Schwefel&#x2019;s problem 1.2</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Unimodal test functions</td>
<td align="left">F4</td>
<td align="left">Schwefel&#x2019;s problem 2.21</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F5</td>
<td align="left">Generalized Rosenbrock&#x2019;s function</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mo>&#x2212;</mml:mo><mml:mn>30</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>30</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F6</td>
<td align="left">Step function</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F7</td>
<td align="left">Quartic function</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mo>&#x2212;</mml:mo><mml:mn>1.28</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>1.28</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F8</td>
<td align="left">Generalized Schwefel&#x2019;s problem 2.26</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mo>&#x2212;</mml:mo><mml:mn>500</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>500</mml:mn></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mo>&#x2212;</mml:mo><mml:mn>418.9829</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mi>d</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td/>
<td align="left">F9</td>
<td align="left">Generalized Rastrigin&#x2019;s function</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mo>&#x2212;</mml:mo><mml:mn>5.12</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>5.12</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F10</td>
<td align="left">Ackley&#x2019;s function</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mo>&#x2212;</mml:mo><mml:mn>32</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>32</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Multimodal test functions</td>
<td align="left">F11</td>
<td align="left">Generalized Griewank function</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mo>&#x2212;</mml:mo><mml:mn>600</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>600</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F12</td>
<td align="left">Generalized Penalized functions</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mo>&#x2212;</mml:mo><mml:mn>50</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>50</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F13</td>
<td align="left">Generalized Penalized functions</td>
<td align="left">30</td>
<td align="left"><inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mo>&#x2212;</mml:mo><mml:mn>50</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>50</mml:mn></mml:math></inline-formula></td>
<td align="left">0</td>
</tr>
<tr>
<td/>
<td align="left">F14</td>
<td align="left">Shekel&#x2019;s Foxholes function</td>
<td align="left">2</td>
<td align="left"><inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mo>&#x2212;</mml:mo><mml:mn>65.53</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>65.53</mml:mn></mml:math></inline-formula></td>
<td align="left">1</td>
</tr>
<tr>
<td/>
<td align="left">F15</td>
<td align="left">Kowalik&#x2019;s function</td>
<td align="left">4</td>
<td align="left"><inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula></td>
<td align="left">0.0003</td>
</tr>
<tr>
<td/>
<td align="left">F16</td>
<td align="left">Six-hump camel-back function</td>
<td align="left">2</td>
<td align="left"><inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mo>&#x2212;</mml:mo><mml:mn>1.0316</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td/>
<td align="left">F17</td>
<td align="left">Branin function</td>
<td align="left">2</td>
<td align="left"><inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>10</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>15</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></inline-formula></td>
<td align="left">0.398</td>
</tr>
<tr>
<td align="left">Multimodal test functions with fix dimension</td>
<td align="left">F18</td>
<td align="left">Goldstein-price function</td>
<td align="left">2</td>
<td align="left"><inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula></td>
<td align="left">3</td>
</tr>
<tr>
<td/>
<td align="left">F19</td>
<td align="left">Hartman&#x2019;s family</td>
<td align="left">3</td>
<td align="left"><inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mo>&#x2212;</mml:mo><mml:mn>3.86</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td/>
<td align="left">F20</td>
<td align="left">Hartman&#x2019;s family</td>
<td align="left">6</td>
<td align="left"><inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>10</mml:mn></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mo>&#x2212;</mml:mo><mml:mn>3.32</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td/>
<td align="left">F21</td>
<td align="left">Shekel&#x2019;s family</td>
<td align="left">4</td>
<td align="left"><inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>10</mml:mn></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mo>&#x2212;</mml:mo><mml:mn>10.1532</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td/>
<td align="left">F22</td>
<td align="left">Shekel&#x2019;s family</td>
<td align="left">4</td>
<td align="left"><inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>10</mml:mn></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mo>&#x2212;</mml:mo><mml:mn>10.4028</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td/>
<td align="left">F23</td>
<td align="left">Shekel&#x2019;s family</td>
<td align="left">4</td>
<td align="left"><inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>10</mml:mn></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mo>&#x2212;</mml:mo><mml:mn>10.5363</mml:mn></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-2">
<label>Table 2</label><caption><title>The CEC2017 benchmark functions [<xref ref-type="bibr" rid="ref-53">53</xref>]</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Function type</th>
<th align="left">No.</th>
<th align="left">Function name</th>
<th align="left">Dim</th>
<th align="left">Initialization range</th>
<th align="left">Global optimum</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="2">Unimodal functions</td>
<td align="left">C1</td>
<td align="left">Shifted and rotated bent cigar function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">100</td>
</tr>
<tr>
<td align="left">C2</td>
<td align="left">Shifted and rotated Zakharov function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">200</td>
</tr>
<tr>
<td/>
<td align="left">C3</td>
<td align="left">Shifted and rotated Rosenbrock&#x2019;s function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">300</td>
</tr>
<tr>
<td/>
<td align="left">C4</td>
<td align="left">Shifted and rotated Rastrigin&#x2019;s function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">400</td>
</tr>
<tr>
<td/>
<td align="left">C5</td>
<td align="left">Shifted and rotated expanded Scaffer&#x2019;s F6 function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">500</td>
</tr>
<tr>
<td align="left">Simple multimodal functions</td>
<td align="left">C6</td>
<td align="left">Shifted and rotated Lunacek Bi_Rastrigin function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">600</td>
</tr>
<tr>
<td/>
<td align="left">C7</td>
<td align="left">Shifted and rotated non-continuous Rastrigin&#x2019;s function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">700</td>
</tr>
<tr>
<td/>
<td align="left">C8</td>
<td align="left">Shifted and rotated Levy function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">800</td>
</tr>
<tr>
<td/>
<td align="left">C9</td>
<td align="left">Shifted and rotated Schwefel&#x2019;s function</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">900</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C10</td>
<td align="left">Hybrid function 1</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1000</td>
</tr>
<tr>
<td/>
<td align="left">C11</td>
<td align="left">Hybrid function 2</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1100</td>
</tr>
<tr>
<td/>
<td align="left">C12</td>
<td align="left">Hybrid function 3</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1200</td>
</tr>
<tr>
<td/>
<td align="left">C13</td>
<td align="left">Hybrid function 4</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1300</td>
</tr>
<tr>
<td/>
<td align="left">C14</td>
<td align="left">Hybrid function 5</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1400</td>
</tr>
<tr>
<td>Hybrid functions</td>
<td align="left">C15</td>
<td align="left">Hybrid function 6</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1500</td>
</tr>
<tr>
<td/>
<td align="left">C16</td>
<td align="left">Hybrid function 7</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1600</td>
</tr>
<tr>
<td/>
<td align="left">C17</td>
<td align="left">Hybrid function 8</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1700</td>
</tr>
<tr>
<td/>
<td align="left">C18</td>
<td align="left">Hybrid function 9</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1800</td>
</tr>
<tr>
<td/>
<td align="left">C19</td>
<td align="left">Hybrid function 10</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">1900</td>
</tr>
<tr>
<td align="left" rowspan="10">Composition functions</td>
<td align="left">C20</td>
<td align="left">Composition function 1</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2000</td>
</tr>
<tr>
<td align="left">C21</td>
<td align="left">Composition function 2</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2100</td>
</tr>
<tr>
<td align="left">C22</td>
<td align="left">Composition function 3</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2200</td>
</tr>
<tr>
<td align="left">C23</td>
<td align="left">Composition function 4</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2300</td>
</tr>
<tr>
<td align="left">C24</td>
<td align="left">Composition function 5</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2400</td>
</tr>
<tr>
<td align="left">C25</td>
<td align="left">Composition function 6</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2500</td>
</tr>
<tr>
<td align="left">C26</td>
<td align="left">Composition function 7</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2600</td>
</tr>
<tr>
<td align="left">C27</td>
<td align="left">Composition function 8</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2700</td>
</tr>
<tr>
<td align="left">C28</td>
<td align="left">Composition function 9</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2800</td>
</tr>
<tr>
<td align="left">C29</td>
<td align="left">Composition function 10</td>
<td align="left">30, 50</td>
<td align="left"><inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula></td>
<td align="left">2900</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_2"><label>4.2</label><title>Original Algorithms and Ensemble Algorithms</title>
<p>In the experiment, we select some new representative algorithms for the ensemble, which are Harris hawks optimization (HHO) [<xref ref-type="bibr" rid="ref-54">54</xref>], seagull optimization algorithm (SOA) [<xref ref-type="bibr" rid="ref-55">55</xref>], slime mold algorithm (SMA) [<xref ref-type="bibr" rid="ref-56">56</xref>], salp swarm algorithm (SSA) [<xref ref-type="bibr" rid="ref-57">57</xref>], manta ray foraging optimization (MRFO) algorithm [<xref ref-type="bibr" rid="ref-58">58</xref>]. The EPM class algorithms represent the algorithms integrated under the EPM framework. This paper names the algorithms integrated by the EPM framework as &#x201C;EPM&#x2009;&#x002B;&#x2009;number&#x201D;, where &#x201C;number&#x201D; represents the number of filled algorithms in the ensemble framework. It obtains the EPM2 algorithm by integrating HHO and SOA, the EPM3 algorithm by integrating HHO, SOA, and SMA, the EPM4 algorithm by integrating HHO, SOA, SMA, and SSA, the EPM5 algorithm by integrating HHO, SOA, SMA, SSA, and MRFO. The ensemble framework does not interfere with the updated formulas of the integrated algorithms, so researchers can adjust their parameters according to the characteristics of the original algorithms. The parameters of the original algorithms are consistent with the papers that proposed these algorithms. The parameters in integrated algorithms are the same as the original algorithms&#x2019; parameters. It lists the settings of the parameters in <xref ref-type="table" rid="table-3">Table 3</xref>.</p>
<table-wrap id="table-3">
<label>Table 3</label><caption><title>The parameter settings of the algorithms</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Algorithm</th>
<th align="left">Parameter</th>
<th align="left">Introduction and settings</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">HHO</td>
<td align="left">r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, q, E<sub>0</sub>, r, J, S, &#x03B2;</td>
<td>r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub>, r<sub>4</sub>, q, E<sub>0</sub>, r are all random numbers in [0, 1]; J is the following number within [0, 2]; S is a random vector of dimension D; the elements are random numbers in [0, 1]; and &#x03B2; is set to 1.5.</td>
</tr>
<tr>
<td align="left">SOA</td>
<td align="left">f<sub>c</sub>, r<sub>d</sub>, &#x03B8;, u, v, e</td>
<td>f<sub>c</sub> decreases linearly from 2 to 0, r<sub>d</sub> is a random number in [0, 1]; &#x03B8; is a random angle in [0, 2&#x03C0;]; u&#x2009;&#x003D;&#x2009;1, v&#x2009;&#x003D;&#x2009;1; e is the base of the natural logarithm.</td>
</tr>
<tr>
<td align="left">SMA</td>
<td align="left">rand, z, v<sub>b</sub>, v<sub>c</sub>, r</td>
<td>rand is in [0, 1], and the location update parameter z&#x2009;&#x003D;&#x2009;0.03; v<sub>b</sub> is in [&#x2212;a, a]; v<sub>c</sub> linearly decreases from 1 to 0, and r represents a random value in [0, 1].</td>
</tr>
<tr>
<td align="left">SSA</td>
<td align="left">c<sub>1</sub>, c<sub>2</sub>, c<sub>3</sub></td>
<td>c<sub>1</sub> decreases from 2 to 0, and c<sub>2</sub> and c<sub>3</sub> are random numbers in [0, 1].</td>
</tr>
<tr>
<td align="left">MRFO</td>
<td align="left">r, r<sub>2</sub>, r<sub>3</sub>, rand</td>
<td>r, r<sub>1</sub>, r<sub>2</sub>, r<sub>3</sub> and rand represent random numbers in [0, 1].</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_3"><label>4.3</label><title>Comparison Results</title>
<p>The average (AVE) and standard deviation (STD) of the best solutions obtained by all test algorithms in 25 independent runs and 500 iterations in each dimension were recorded (see <xref ref-type="table" rid="table-4 table-5 table-6">Tables 4&#x2013;6</xref>) and compared.</p>
<table-wrap id="table-4"><label>Table 4</label><caption><title>The comparison results of 23 standard benchmark functions by different optimization algorithms</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Function</th>
<th align="left">Metric</th>
<th align="left">EPM5</th>
<th align="left">EPM4</th>
<th align="left">EPM3</th>
<th align="left">EPM2</th>
<th align="left">HHO</th>
<th align="left">SOA</th>
<th align="left">SMA</th>
<th align="left">SSA</th>
<th align="left">MRFO</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="2">F1</td>
<td align="left">AVE</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">3.09E&#x2212;09</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">7.33E&#x2212;10</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F2</td>
<td align="left">AVE</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0.355149</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0.784676</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F3</td>
<td align="left">AVE</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">2.45912</td>
<td align="left">0</td>
<td align="left">1.77E&#x2212;08</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">5.722051</td>
<td align="left">0</td>
<td align="left">4.23E&#x2212;09</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F4</td>
<td align="left">AVE</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">4.48E&#x2212;05</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">2.86E&#x2212;05</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F5</td>
<td align="left">AVE</td>
<td align="left">4.07E&#x2212;26</td>
<td align="left">7.13E&#x2212;10</td>
<td align="left">1.62E&#x2212;09</td>
<td align="left">2.13E&#x2212;09</td>
<td align="left">1.03E&#x2212;06</td>
<td align="left">18.78447</td>
<td align="left">0.000457</td>
<td align="left">35.12469</td>
<td align="left">3.85E&#x2212;11</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.59E&#x2212;25</td>
<td align="left">1.78E&#x2212;09</td>
<td align="left">3.82E&#x2212;09</td>
<td align="left">5.7E&#x2212;09</td>
<td align="left">1.24E&#x2212;06</td>
<td align="left">13.60155</td>
<td align="left">0.000292</td>
<td align="left">44.13715</td>
<td align="left">4.72E&#x2212;11</td>
</tr>
<tr>
<td align="left" rowspan="2">F6</td>
<td align="left">AVE</td>
<td align="left">4.44E&#x2212;33</td>
<td align="left">3.15E&#x2212;11</td>
<td align="left">4.46E&#x2212;11</td>
<td align="left">6.52E&#x2212;11</td>
<td align="left">1.34E&#x2212;08</td>
<td align="left">0.563822</td>
<td align="left">1.61E&#x2212;06</td>
<td align="left">2.87E&#x2212;09</td>
<td align="left">7.4E&#x2212;34</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.06E&#x2212;32</td>
<td align="left">5.12E&#x2212;11</td>
<td align="left">1.02E&#x2212;10</td>
<td align="left">1.51E&#x2212;10</td>
<td align="left">1.61E&#x2212;08</td>
<td align="left">0.542323</td>
<td align="left">5.27E&#x2212;07</td>
<td align="left">5.49E&#x2212;10</td>
<td align="left">2.56E&#x2212;33</td>
</tr>
<tr>
<td align="left" rowspan="2">F7</td>
<td align="left">AVE</td>
<td align="left">1.81E&#x2212;06</td>
<td align="left">1.74E&#x2212;06</td>
<td align="left">1.77E&#x2212;06</td>
<td align="left">2.12E&#x2212;06</td>
<td align="left">2.11E&#x2212;06</td>
<td align="left">4.14E&#x2212;06</td>
<td align="left">2.7E&#x2212;06</td>
<td align="left">0.00271</td>
<td align="left">2.&#x2212;06</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.44E&#x2212;06</td>
<td align="left">1.5E&#x2212;06</td>
<td align="left">1.54E&#x2212;06</td>
<td align="left">1.87E&#x2212;06</td>
<td align="left">1.47E&#x2212;06</td>
<td align="left">4.02E&#x2212;06</td>
<td align="left">3.11E&#x2212;06</td>
<td align="left">0.001164</td>
<td align="left">1.45E&#x2212;06</td>
</tr>
<tr>
<td align="left" rowspan="2">F8</td>
<td align="left">AVE</td>
<td align="left">&#x2212;12569.5</td>
<td align="left">&#x2212;12569.5</td>
<td align="left">&#x2212;12569.5</td>
<td align="left">&#x2212;12569.5</td>
<td align="left">&#x2212;12569.5</td>
<td align="left">&#x2212;12569.5</td>
<td align="left">&#x2212;12569.5</td>
<td align="left">&#x2212;7895.55</td>
<td align="left">&#x2212;8805.3</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.96E&#x2212;12</td>
<td align="left">8.4E&#x2212;10</td>
<td align="left">8.01E&#x2212;09</td>
<td align="left">7.67E&#x2212;11</td>
<td align="left">6.6E&#x2212;05</td>
<td align="left">2.81E&#x2212;05</td>
<td align="left">0.000112</td>
<td align="left">720.5855</td>
<td align="left">480.4721</td>
</tr>
<tr>
<td align="left" rowspan="2">F9</td>
<td align="left">AVE</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">55.08084</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">14.91848</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F10</td>
<td align="left">AVE</td>
<td align="left">8.88E&#x2212;16</td>
<td align="left">8.88E&#x2212;16</td>
<td align="left">8.88E&#x2212;16</td>
<td align="left">8.88E&#x2212;16</td>
<td align="left">8.88E&#x2212;16</td>
<td align="left">8.88E&#x2212;16</td>
<td align="left">8.88E&#x2212;16</td>
<td align="left">1.743802</td>
<td align="left">8.88E&#x2212;16</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0.922858</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F11</td>
<td align="left">AVE</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0.014162</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0.012837</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F12</td>
<td align="left">AVE</td>
<td align="left">1.59E&#x2212;32</td>
<td align="left">3.87E&#x2212;12</td>
<td align="left">8.57E&#x2212;12</td>
<td align="left">1.23E&#x2212;11</td>
<td align="left">1.05E&#x2212;09</td>
<td align="left">0.01385</td>
<td align="left">4.64E&#x2212;07</td>
<td align="left">0.355485</td>
<td align="left">1.58E&#x2212;32</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">3.1E&#x2212;34</td>
<td align="left">4.38E&#x2212;12</td>
<td align="left">1.04E&#x2212;11</td>
<td align="left">2.02E&#x2212;11</td>
<td align="left">1.52E&#x2212;09</td>
<td align="left">0.011173</td>
<td align="left">4.2E&#x2212;07</td>
<td align="left">0.615933</td>
<td align="left">1.2E&#x2212;34</td>
</tr>
<tr>
<td align="left" rowspan="2">F13</td>
<td align="left">AVE</td>
<td align="left">1.38E&#x2212;32</td>
<td align="left">5.84E&#x2212;11</td>
<td align="left">9.1E&#x2212;11</td>
<td align="left">9.06E&#x2212;11</td>
<td align="left">6.77E&#x2212;09</td>
<td align="left">0.132341</td>
<td align="left">8.44E&#x2212;07</td>
<td align="left">0.002637</td>
<td align="left">1.355246</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.04E&#x2212;33</td>
<td align="left">8.07E&#x2212;11</td>
<td align="left">1.42E&#x2212;10</td>
<td align="left">1.91E&#x2212;10</td>
<td align="left">1.19E&#x2212;08</td>
<td align="left">0.12463</td>
<td align="left">5.17E&#x2212;07</td>
<td align="left">0.004789</td>
<td align="left">1.412608</td>
</tr>
<tr>
<td align="left" rowspan="2">F14</td>
<td align="left">AVE</td>
<td align="left">0.998004</td>
<td align="left">0.998004</td>
<td align="left">0.998004</td>
<td align="left">1.037765</td>
<td align="left">1.037765</td>
<td align="left">4.687508</td>
<td align="left">0.998004</td>
<td align="left">0.998004</td>
<td align="left">0.998004</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">7.02E&#x2212;15</td>
<td align="left">5.48E&#x2212;14</td>
<td align="left">0.198805</td>
<td align="left">0.198805</td>
<td align="left">4.688223</td>
<td align="left">3.01E&#x2212;15</td>
<td align="left">1.83E&#x2212;16</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F15</td>
<td align="left">AVE</td>
<td align="left">0.000307</td>
<td align="left">0.000307</td>
<td align="left">0.000308</td>
<td align="left">0.000308</td>
<td align="left">0.000308</td>
<td align="left">0.001109</td>
<td align="left">0.000368</td>
<td align="left">0.000815</td>
<td align="left">0.000385</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">2.06E&#x2212;19</td>
<td align="left">1.21E&#x2212;11</td>
<td align="left">6.38E&#x2212;08</td>
<td align="left">4.96E&#x2212;08</td>
<td align="left">4.58E&#x2212;08</td>
<td align="left">0.00072</td>
<td align="left">0.000192</td>
<td align="left">0.000363</td>
<td align="left">0.000253</td>
</tr>
<tr>
<td align="left" rowspan="2">F16</td>
<td align="left">AVE</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
<td align="left">&#x2212;1.03163</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">6.8E&#x2212;16</td>
<td align="left">1.33E&#x2212;15</td>
<td align="left">2.2E&#x2212;14</td>
<td align="left">5.87E&#x2212;14</td>
<td align="left">9.27E&#x2212;15</td>
<td align="left">3.21E&#x2212;07</td>
<td align="left">1.25E&#x2212;12</td>
<td align="left">1.38E&#x2212;14</td>
<td align="left">6.8E&#x2212;16</td>
</tr>
<tr>
<td align="left" rowspan="2">F17</td>
<td align="left">AVE</td>
<td align="left">0.397887</td>
<td align="left">0.397887</td>
<td align="left">0.397887</td>
<td align="left">0.397887</td>
<td align="left">0.397887</td>
<td align="left">0.398059</td>
<td align="left">0.397887</td>
<td align="left">0.397887</td>
<td align="left">0.397887</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">2.35E&#x2212;14</td>
<td align="left">3.56E&#x2212;09</td>
<td align="left">1.75E&#x2212;08</td>
<td align="left">1.14E&#x2212;08</td>
<td align="left">0.000401</td>
<td align="left">1.96E&#x2212;09</td>
<td align="left">1.32E&#x2212;14</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" rowspan="2">F18</td>
<td align="left">AVE</td>
<td align="left">3</td>
<td align="left">3</td>
<td align="left">3</td>
<td align="left">4.08</td>
<td align="left">5.16</td>
<td align="left">12.20428</td>
<td align="left">3</td>
<td align="left">3</td>
<td align="left">3</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.26E&#x2212;15</td>
<td align="left">2.91E&#x2212;13</td>
<td align="left">5.97E&#x2212;12</td>
<td align="left">5.400001</td>
<td align="left">7.475962</td>
<td align="left">13.71568</td>
<td align="left">3.01E&#x2212;14</td>
<td align="left">2.46E&#x2212;13</td>
<td align="left">5.94E&#x2212;16</td>
</tr>
<tr>
<td align="left" rowspan="2">F19</td>
<td align="left">AVE</td>
<td align="left">&#x2212;3.86278</td>
<td align="left">&#x2212;3.86278</td>
<td align="left">&#x2212;3.86278</td>
<td align="left">&#x2212;3.86278</td>
<td align="left">&#x2212;3.86278</td>
<td align="left">&#x2212;3.74259</td>
<td align="left">&#x2212;3.86278</td>
<td align="left">&#x2212;3.86278</td>
<td align="left">&#x2212;3.86278</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">2.27E&#x2212;15</td>
<td align="left">1.81E&#x2212;14</td>
<td align="left">5.47E&#x2212;08</td>
<td align="left">1.39E&#x2212;06</td>
<td align="left">6.15E&#x2212;07</td>
<td align="left">0.170625</td>
<td align="left">4.29E&#x2212;09</td>
<td align="left">5.74E&#x2212;15</td>
<td align="left">2.27E&#x2212;15</td>
</tr>
<tr>
<td align="left" rowspan="2">F20</td>
<td align="left">AVE</td>
<td align="left">&#x2212;3.29346</td>
<td align="left">&#x2212;3.26493</td>
<td align="left">&#x2212;3.25541</td>
<td align="left">&#x2212;3.25539</td>
<td align="left">&#x2212;3.25538</td>
<td align="left">&#x2212;2.96169</td>
<td align="left">&#x2212;3.21261</td>
<td align="left">&#x2212;3.21261</td>
<td align="left">&#x2212;3.26493</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">0.051824</td>
<td align="left">0.060624</td>
<td align="left">0.060235</td>
<td align="left">0.060236</td>
<td align="left">0.060235</td>
<td align="left">0.170635</td>
<td align="left">0.03292</td>
<td align="left">0.03292</td>
<td align="left">0.060624</td>
</tr>
<tr>
<td align="left" rowspan="2">F21</td>
<td align="left">AVE</td>
<td align="left">&#x2212;10.1532</td>
<td align="left">&#x2212;10.1532</td>
<td align="left">&#x2212;10.1532</td>
<td align="left">&#x2212;6.07478</td>
<td align="left">&#x2212;5.05519</td>
<td align="left">&#x2212;4.44062</td>
<td align="left">&#x2212;10.1532</td>
<td align="left">&#x2212;9.74901</td>
<td align="left">&#x2212;9.94928</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">5.44E&#x2212;15</td>
<td align="left">1.94E&#x2212;05</td>
<td align="left">1.81E&#x2212;05</td>
<td align="left">2.081226</td>
<td align="left">5.5E&#x2212;06</td>
<td align="left">1.754009</td>
<td align="left">7.69E&#x2212;06</td>
<td align="left">1.398954</td>
<td align="left">1.0196</td>
</tr>
<tr>
<td align="left" rowspan="2">F22</td>
<td align="left">AVE</td>
<td align="left">&#x2212;10.4029</td>
<td align="left">&#x2212;10.4029</td>
<td align="left">&#x2212;10.4029</td>
<td align="left">&#x2212;6.57593</td>
<td align="left">&#x2212;5.08767</td>
<td align="left">&#x2212;5.83812</td>
<td align="left">&#x2212;10.4029</td>
<td align="left">&#x2212;9.58101</td>
<td align="left">&#x2212;10.1903</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.92E&#x2212;15</td>
<td align="left">5.69E&#x2212;06</td>
<td align="left">2.45E&#x2212;05</td>
<td align="left">2.435741</td>
<td align="left">6.22E&#x2212;06</td>
<td align="left">2.508465</td>
<td align="left">1.02E&#x2212;05</td>
<td align="left">2.305573</td>
<td align="left">1.063054</td>
</tr>
<tr>
<td align="left" rowspan="2">F23</td>
<td align="left">AVE</td>
<td align="left">&#x2212;10.5364</td>
<td align="left">&#x2212;10.5364</td>
<td align="left">&#x2212;10.5364</td>
<td align="left">&#x2212;6.21004</td>
<td align="left">&#x2212;5.5611</td>
<td align="left">&#x2212;4.8448</td>
<td align="left">&#x2212;10.5364</td>
<td align="left">&#x2212;10.322</td>
<td align="left">&#x2212;10.5364</td>
</tr>
<tr>
<td align="left">STD</td>
<td align="left">1.92E&#x2212;15</td>
<td align="left">1.48E&#x2212;05</td>
<td align="left">2.86E&#x2212;05</td>
<td align="left">2.207733</td>
<td align="left">1.497374</td>
<td align="left">2.028815</td>
<td align="left">7.76E&#x2212;06</td>
<td align="left">1.072153</td>
<td align="left">1.81E&#x2212;15</td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-5">
<label>Table 5</label><caption><title>The comparison results of the CEC2017 benchmark functions by different optimization algorithms (D&#x2009;&#x003D;&#x2009;30)</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left"/>
<th align="left"/>
<th align="left">EPM5</th>
<th align="left">EPM4</th>
<th align="left">EPM3</th>
<th align="left">EPM2</th>
<th align="left">HHO</th>
<th align="left">SOA</th>
<th align="left">SMA</th>
<th align="left">SSA</th>
<th align="left">MRFO</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">C1</td>
<td align="left">AVE</td>
<td align="left">902.7646</td>
<td align="left">3290.374</td>
<td align="left">2685.852</td>
<td align="left">489759.6</td>
<td align="left">5825.588</td>
<td align="left">4.71E&#x002B;10</td>
<td align="left">7489.476</td>
<td align="left">3354.55</td>
<td align="left">3953.039</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">1118.24</td>
<td align="left">4044.062</td>
<td align="left">4243.236</td>
<td align="left">2418277</td>
<td align="left">3309.647</td>
<td align="left">9.59E&#x002B;09</td>
<td align="left">7115.915</td>
<td align="left">3783.203</td>
<td align="left">4491.838</td>
</tr>
<tr>
<td align="left">C2</td>
<td align="left">AVE</td>
<td align="left">200</td>
<td align="left">200.0002</td>
<td align="left">200.0012</td>
<td align="left">8.88E&#x002B;33</td>
<td align="left">4.77E&#x002B;31</td>
<td align="left">2.57E&#x002B;49</td>
<td align="left">200.0002</td>
<td align="left">200.0001</td>
<td align="left">200</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">1.76E&#x2212;05</td>
<td align="left">6.6E&#x2212;05</td>
<td align="left">0.00085</td>
<td align="left">4.28E&#x002B;34</td>
<td align="left">1.64E&#x002B;32</td>
<td align="left">1.28E&#x002B;50</td>
<td align="left">0.000123</td>
<td align="left">3.04E&#x2212;05</td>
<td align="left">9.63E&#x2212;06</td>
</tr>
<tr>
<td align="left">C3</td>
<td align="left">AVE</td>
<td align="left">300</td>
<td align="left">300</td>
<td align="left">300.847</td>
<td align="left">28223.06</td>
<td align="left">32767.91</td>
<td align="left">137237.7</td>
<td align="left">300.001</td>
<td align="left">300</td>
<td align="left">300</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">7.04E&#x2212;09</td>
<td align="left">0.5768</td>
<td align="left">5322.439</td>
<td align="left">4405.763</td>
<td align="left">45948.26</td>
<td align="left">0.000584</td>
<td align="left">3.77E&#x2212;09</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">C4</td>
<td align="left">AVE</td>
<td align="left">404.4552</td>
<td align="left">436.6484</td>
<td align="left">428.9964</td>
<td align="left">662.9686</td>
<td align="left">634.4399</td>
<td align="left">11593.27</td>
<td align="left">488.2914</td>
<td align="left">479.8565</td>
<td align="left">409.3811</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">11.44006</td>
<td align="left">25.74595</td>
<td align="left">23.56127</td>
<td align="left">218.7391</td>
<td align="left">108.0743</td>
<td align="left">3366.472</td>
<td align="left">5.52105</td>
<td align="left">25.40835</td>
<td align="left">21.0248</td>
</tr>
<tr>
<td align="left">C5</td>
<td align="left">AVE</td>
<td align="left">536.893</td>
<td align="left">531.9988</td>
<td align="left">559.8022</td>
<td align="left">730.6306</td>
<td align="left">746.4483</td>
<td align="left">880.6916</td>
<td align="left">575.2127</td>
<td align="left">609.7334</td>
<td align="left">649.9196</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">9.786207</td>
<td align="left">12.33574</td>
<td align="left">16.24438</td>
<td align="left">33.09082</td>
<td align="left">29.05142</td>
<td align="left">43.61556</td>
<td align="left">18.01149</td>
<td align="left">29.2981</td>
<td align="left">40.06929</td>
</tr>
<tr>
<td align="left">C6</td>
<td align="left">AVE</td>
<td align="left">600.8313</td>
<td align="left">600.5959</td>
<td align="left">601.5444</td>
<td align="left">653.6156</td>
<td align="left">657.7857</td>
<td align="left">678.0107</td>
<td align="left">600.3176</td>
<td align="left">625.4053</td>
<td align="left">619.4164</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">0.593362</td>
<td align="left">0.375077</td>
<td align="left">0.882561</td>
<td align="left">7.245739</td>
<td align="left">4.69095</td>
<td align="left">9.483725</td>
<td align="left">0.192387</td>
<td align="left">11.44769</td>
<td align="left">12.61308</td>
</tr>
<tr>
<td align="left">C7</td>
<td align="left">AVE</td>
<td align="left">766.9689</td>
<td align="left">761.2482</td>
<td align="left">792.5594</td>
<td align="left">1199.308</td>
<td align="left">1256.393</td>
<td align="left">1418.424</td>
<td align="left">811.1121</td>
<td align="left">859.4338</td>
<td align="left">989.8419</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">8.979743</td>
<td align="left">10.43814</td>
<td align="left">15.01733</td>
<td align="left">63.29684</td>
<td align="left">66.28971</td>
<td align="left">58.77982</td>
<td align="left">20.65983</td>
<td align="left">35.38709</td>
<td align="left">86.96931</td>
</tr>
<tr>
<td align="left">C8</td>
<td align="left">AVE</td>
<td align="left">836.8598</td>
<td align="left">833.5277</td>
<td align="left">850.9737</td>
<td align="left">960.6261</td>
<td align="left">968.3868</td>
<td align="left">1106.081</td>
<td align="left">877.8322</td>
<td align="left">894.8789</td>
<td align="left">932.9259</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">6.6184</td>
<td align="left">9.776067</td>
<td align="left">14.33767</td>
<td align="left">23.16343</td>
<td align="left">25.06896</td>
<td align="left">28.21193</td>
<td align="left">13.90581</td>
<td align="left">31.50098</td>
<td align="left">28.2599</td>
</tr>
<tr>
<td align="left">C9</td>
<td align="left">AVE</td>
<td align="left">900.3583</td>
<td align="left">900.6909</td>
<td align="left">900.5986</td>
<td align="left">4955.688</td>
<td align="left">5063.042</td>
<td align="left">9446.444</td>
<td align="left">1506.398</td>
<td align="left">2220.573</td>
<td align="left">3669.055</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">0.374084</td>
<td align="left">0.724316</td>
<td align="left">0.718643</td>
<td align="left">698.6464</td>
<td align="left">609.5586</td>
<td align="left">1539.526</td>
<td align="left">1027.192</td>
<td align="left">879.4835</td>
<td align="left">1097.606</td>
</tr>
<tr>
<td align="left">C10</td>
<td align="left">AVE</td>
<td align="left">2628.831</td>
<td align="left">2540.615</td>
<td align="left">2678.661</td>
<td align="left">6063.822</td>
<td align="left">5253.509</td>
<td align="left">9541.206</td>
<td align="left">3559.888</td>
<td align="left">4575.969</td>
<td align="left">4808.949</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">308.2059</td>
<td align="left">345.6339</td>
<td align="left">473.6041</td>
<td align="left">994.8354</td>
<td align="left">885.5511</td>
<td align="left">529.2566</td>
<td align="left">475.7757</td>
<td align="left">705.6062</td>
<td align="left">715.4212</td>
</tr>
<tr>
<td align="left">C11</td>
<td align="left">AVE</td>
<td align="left">1126.983</td>
<td align="left">1132.647</td>
<td align="left">1139.906</td>
<td align="left">1276.364</td>
<td align="left">1287.052</td>
<td align="left">10240.64</td>
<td align="left">1194.034</td>
<td align="left">1256.286</td>
<td align="left">1184.318</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">8.540598</td>
<td align="left">10.10047</td>
<td align="left">14.1604</td>
<td align="left">75.00597</td>
<td align="left">64.74324</td>
<td align="left">3050.719</td>
<td align="left">41.25983</td>
<td align="left">44.91092</td>
<td align="left">31.17383</td>
</tr>
<tr>
<td align="left">C12</td>
<td align="left">AVE</td>
<td align="left">15027.23</td>
<td align="left">88204.73</td>
<td align="left">100155.4</td>
<td align="left">45934047</td>
<td align="left">67881154</td>
<td align="left">8.45E&#x002B;09</td>
<td align="left">238634.7</td>
<td align="left">771305.1</td>
<td align="left">19146.42</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">9080.098</td>
<td align="left">56539.9</td>
<td align="left">60453.42</td>
<td align="left">72150740</td>
<td align="left">1.1E&#x002B;08</td>
<td align="left">3.71E&#x002B;09</td>
<td align="left">145317.3</td>
<td align="left">689276.8</td>
<td align="left">12496.58</td>
</tr>
<tr>
<td align="left">C13</td>
<td align="left">AVE</td>
<td align="left">5477.185</td>
<td align="left">27176.19</td>
<td align="left">25679.45</td>
<td align="left">173224</td>
<td align="left">19554468</td>
<td align="left">2.3E&#x002B;09</td>
<td align="left">26860.77</td>
<td align="left">95078.71</td>
<td align="left">16508.89</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">4442.871</td>
<td align="left">20246.44</td>
<td align="left">25013.57</td>
<td align="left">194785</td>
<td align="left">97111555</td>
<td align="left">3.12E&#x002B;09</td>
<td align="left">25417.04</td>
<td align="left">62176.79</td>
<td align="left">12679.22</td>
</tr>
<tr>
<td align="left">C14</td>
<td align="left">AVE</td>
<td align="left">1567.886</td>
<td align="left">3082.811</td>
<td align="left">4749.069</td>
<td align="left">339770.8</td>
<td align="left">280555</td>
<td align="left">1441032</td>
<td align="left">9348.684</td>
<td align="left">3512.879</td>
<td align="left">1604.296</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">45.90245</td>
<td align="left">1584.016</td>
<td align="left">3683.581</td>
<td align="left">329934.4</td>
<td align="left">287152.8</td>
<td align="left">1445004</td>
<td align="left">6823.33</td>
<td align="left">2262.68</td>
<td align="left">71.7545</td>
</tr>
<tr>
<td align="left">C15</td>
<td align="left">AVE</td>
<td align="left">3623.123</td>
<td align="left">8074.151</td>
<td align="left">10605.32</td>
<td align="left">33162.86</td>
<td align="left">37733.69</td>
<td align="left">4.18E&#x002B;08</td>
<td align="left">30796.05</td>
<td align="left">50766.18</td>
<td align="left">5584.899</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">2810.202</td>
<td align="left">6215.589</td>
<td align="left">8942.196</td>
<td align="left">29081.38</td>
<td align="left">32078.31</td>
<td align="left">5.53E&#x002B;08</td>
<td align="left">11458.03</td>
<td align="left">40469.1</td>
<td align="left">6645.642</td>
</tr>
<tr>
<td align="left">C16</td>
<td align="left">AVE</td>
<td align="left">1801.661</td>
<td align="left">1949.337</td>
<td align="left">2125.943</td>
<td align="left">3153.129</td>
<td align="left">3258.431</td>
<td align="left">4787.399</td>
<td align="left">2400.258</td>
<td align="left">2407.28</td>
<td align="left">2631.215</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">130.349</td>
<td align="left">205.3241</td>
<td align="left">214.2251</td>
<td align="left">495.0602</td>
<td align="left">448.0817</td>
<td align="left">824.6578</td>
<td align="left">303.5794</td>
<td align="left">228.4946</td>
<td align="left">279.2315</td>
</tr>
<tr>
<td align="left">C17</td>
<td align="left">AVE</td>
<td align="left">1832.242</td>
<td align="left">1820.747</td>
<td align="left">1955.324</td>
<td align="left">2518.757</td>
<td align="left">2620.966</td>
<td align="left">3751.296</td>
<td align="left">2063.12</td>
<td align="left">1993.909</td>
<td align="left">2129.348</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">57.19301</td>
<td align="left">63.95016</td>
<td align="left">131.0033</td>
<td align="left">317.6166</td>
<td align="left">327.4079</td>
<td align="left">1679.326</td>
<td align="left">186.789</td>
<td align="left">164.0414</td>
<td align="left">215.483</td>
</tr>
<tr>
<td align="left">C18</td>
<td align="left">AVE</td>
<td align="left">22870.17</td>
<td align="left">60371.9</td>
<td align="left">65056.1</td>
<td align="left">1053220</td>
<td align="left">924321.3</td>
<td align="left">53180666</td>
<td align="left">166444.2</td>
<td align="left">86677.09</td>
<td align="left">29835.96</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">19990.05</td>
<td align="left">38430.41</td>
<td align="left">48955.33</td>
<td align="left">1342197</td>
<td align="left">827943.6</td>
<td align="left">75027162</td>
<td align="left">76311.93</td>
<td align="left">48923.04</td>
<td align="left">17856.1</td>
</tr>
<tr>
<td align="left">C19</td>
<td align="left">AVE</td>
<td align="left">3824.338</td>
<td align="left">13040.8</td>
<td align="left">10533.51</td>
<td align="left">50554.58</td>
<td align="left">42888.47</td>
<td align="left">4.7E&#x002B;08</td>
<td align="left">41470.4</td>
<td align="left">108043.6</td>
<td align="left">10004.24</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">3315.617</td>
<td align="left">12306.69</td>
<td align="left">10690.86</td>
<td align="left">37080.57</td>
<td align="left">56123.46</td>
<td align="left">6.29E&#x002B;08</td>
<td align="left">17380.8</td>
<td align="left">49528.17</td>
<td align="left">10141.75</td>
</tr>
<tr>
<td align="left">C20</td>
<td align="left">AVE</td>
<td align="left">2119.088</td>
<td align="left">2148.06</td>
<td align="left">2169.274</td>
<td align="left">2616.076</td>
<td align="left">2650.025</td>
<td align="left">2957.38</td>
<td align="left">2313.325</td>
<td align="left">2351.115</td>
<td align="left">2380.781</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">65.23756</td>
<td align="left">90.19009</td>
<td align="left">116.4725</td>
<td align="left">153.5199</td>
<td align="left">168.6338</td>
<td align="left">200.5934</td>
<td align="left">129.0021</td>
<td align="left">146.3238</td>
<td align="left">209.8808</td>
</tr>
<tr>
<td align="left">C21</td>
<td align="left">AVE</td>
<td align="left">2338.545</td>
<td align="left">2338.708</td>
<td align="left">2354.376</td>
<td align="left">2506.347</td>
<td align="left">2548.73</td>
<td align="left">2681.681</td>
<td align="left">2388.157</td>
<td align="left">2405.765</td>
<td align="left">2412.039</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">9.689742</td>
<td align="left">8.679737</td>
<td align="left">14.91288</td>
<td align="left">40.69084</td>
<td align="left">46.96825</td>
<td align="left">61.8029</td>
<td align="left">23.58705</td>
<td align="left">33.65642</td>
<td align="left">27.48967</td>
</tr>
<tr>
<td align="left">C22</td>
<td align="left">AVE</td>
<td align="left">2300.121</td>
<td align="left">2300.223</td>
<td align="left">2301.24</td>
<td align="left">6730.48</td>
<td align="left">6983.713</td>
<td align="left">9654.64</td>
<td align="left">5344.452</td>
<td align="left">3911.237</td>
<td align="left">2607.776</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">0.57528</td>
<td align="left">0.597588</td>
<td align="left">1.233973</td>
<td align="left">1600.559</td>
<td align="left">678.1923</td>
<td align="left">1098.703</td>
<td align="left">530.8082</td>
<td align="left">2053.508</td>
<td align="left">1065.147</td>
</tr>
<tr>
<td align="left">C23</td>
<td align="left">AVE</td>
<td align="left">2685.296</td>
<td align="left">2683.946</td>
<td align="left">2703.451</td>
<td align="left">3166.514</td>
<td align="left">3206.271</td>
<td align="left">3328.737</td>
<td align="left">2731.09</td>
<td align="left">2739.832</td>
<td align="left">2790.808</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">9.284617</td>
<td align="left">11.54514</td>
<td align="left">13.65706</td>
<td align="left">135.4268</td>
<td align="left">150.4809</td>
<td align="left">139.2706</td>
<td align="left">19.91425</td>
<td align="left">25.89812</td>
<td align="left">44.39223</td>
</tr>
<tr>
<td align="left">C24</td>
<td align="left">AVE</td>
<td align="left">2856.568</td>
<td align="left">2857.054</td>
<td align="left">2888.855</td>
<td align="left">3335.164</td>
<td align="left">3359.277</td>
<td align="left">3583.298</td>
<td align="left">2929.555</td>
<td align="left">2898.986</td>
<td align="left">2979.212</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">12.73916</td>
<td align="left">11.06584</td>
<td align="left">14.77498</td>
<td align="left">141.8446</td>
<td align="left">141.0508</td>
<td align="left">195.7917</td>
<td align="left">21.97067</td>
<td align="left">24.94498</td>
<td align="left">66.27963</td>
</tr>
<tr>
<td align="left">C25</td>
<td align="left">AVE</td>
<td align="left">2885.649</td>
<td align="left">2886.709</td>
<td align="left">2886.745</td>
<td align="left">2958.363</td>
<td align="left">2952.888</td>
<td align="left">4572.914</td>
<td align="left">2886.848</td>
<td align="left">2893.028</td>
<td align="left">2895.376</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">1.601232</td>
<td align="left">0.681923</td>
<td align="left">0.685797</td>
<td align="left">32.52224</td>
<td align="left">39.78769</td>
<td align="left">460.3713</td>
<td align="left">1.030813</td>
<td align="left">14.86022</td>
<td align="left">16.38967</td>
</tr>
<tr>
<td align="left">C26</td>
<td align="left">AVE</td>
<td align="left">3725.473</td>
<td align="left">3934.553</td>
<td align="left">4036.657</td>
<td align="left">7607.326</td>
<td align="left">8304.568</td>
<td align="left">10358.2</td>
<td align="left">4472.035</td>
<td align="left">4464.339</td>
<td align="left">4870.579</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">464.9816</td>
<td align="left">165.8759</td>
<td align="left">275.9082</td>
<td align="left">1334.879</td>
<td align="left">1258.937</td>
<td align="left">1119.672</td>
<td align="left">235.3289</td>
<td align="left">831.3642</td>
<td align="left">1641.959</td>
</tr>
<tr>
<td align="left">C27</td>
<td align="left">AVE</td>
<td align="left">3166.58</td>
<td align="left">3168.203</td>
<td align="left">3168.97</td>
<td align="left">3611.143</td>
<td align="left">3741.738</td>
<td align="left">3976.634</td>
<td align="left">3206.848</td>
<td align="left">3224.959</td>
<td align="left">3267.911</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">10.76602</td>
<td align="left">8.738246</td>
<td align="left">8.745193</td>
<td align="left">148.5094</td>
<td align="left">197.485</td>
<td align="left">322.848</td>
<td align="left">12.5343</td>
<td align="left">15.85913</td>
<td align="left">24.35195</td>
</tr>
<tr>
<td align="left">C28</td>
<td align="left">AVE</td>
<td align="left">3100</td>
<td align="left">3100.003</td>
<td align="left">3100.089</td>
<td align="left">3453.845</td>
<td align="left">3394.916</td>
<td align="left">6406.415</td>
<td align="left">3224.79</td>
<td align="left">3132.602</td>
<td align="left">3126.623</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">0</td>
<td align="left">0.015433</td>
<td align="left">0.026477</td>
<td align="left">160.969</td>
<td align="left">169.3918</td>
<td align="left">710.1894</td>
<td align="left">66.59074</td>
<td align="left">47.08401</td>
<td align="left">55.40508</td>
</tr>
<tr>
<td align="left">C29</td>
<td align="left">AVE</td>
<td align="left">3390.706</td>
<td align="left">3437.384</td>
<td align="left">3431.83</td>
<td align="left">5012.228</td>
<td align="left">5167.606</td>
<td align="left">6355.715</td>
<td align="left">3697.814</td>
<td align="left">3789.834</td>
<td align="left">3942.537</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">79.95842</td>
<td align="left">94.77418</td>
<td align="left">108.0931</td>
<td align="left">434.1358</td>
<td align="left">712.0787</td>
<td align="left">824.497</td>
<td align="left">174.1942</td>
<td align="left">173.2771</td>
<td align="left">271.9866</td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-6">
<label>Table 6</label><caption><title>The comparison results of the CEC2017 benchmark functions by different optimization algorithms (D&#x2009;&#x003D;&#x2009;50)</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left"/>
<th align="left"/>
<th align="left">EPM5</th>
<th align="left">EPM4</th>
<th align="left">EPM3</th>
<th align="left">EPM2</th>
<th align="left">HHO</th>
<th align="left">SOA</th>
<th align="left">SMA</th>
<th align="left">SSA</th>
<th align="left">MRFO</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">C1</td>
<td align="left">AVE</td>
<td align="left">1564.423</td>
<td align="left">3363.094</td>
<td align="left">5868.441</td>
<td align="left">15223.61</td>
<td align="left">14185.43</td>
<td align="left">1.01E&#x002B;11</td>
<td align="left">15409.67</td>
<td align="left">4773.522</td>
<td align="left">4792.013</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">2074.851</td>
<td align="left">3416.559</td>
<td align="left">6299.051</td>
<td align="left">5317.337</td>
<td align="left">4192.902</td>
<td align="left">8.13E&#x002B;09</td>
<td align="left">11336.18</td>
<td align="left">6920.711</td>
<td align="left">6722.137</td>
</tr>
<tr>
<td align="left">C2</td>
<td align="left">AVE</td>
<td align="left">200</td>
<td align="left">202.2101</td>
<td align="left">340.291</td>
<td align="left">1.86E&#x002B;59</td>
<td align="left">5.31E&#x002B;59</td>
<td align="left">6.26E&#x002B;84</td>
<td align="left">201.7396</td>
<td align="left">200.8243</td>
<td align="left">200</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">9.59E&#x2212;06</td>
<td align="left">7.80E&#x002B;00</td>
<td align="left">90.16485</td>
<td align="left">8.38E&#x002B;59</td>
<td align="left">2.66E&#x002B;60</td>
<td align="left">3.12E&#x002B;85</td>
<td align="left">7.430594</td>
<td align="left">4.12E&#x002B;00</td>
<td align="left">1.48E&#x2212;05</td>
</tr>
<tr>
<td align="left">C3</td>
<td align="left">AVE</td>
<td align="left">300</td>
<td align="left">300</td>
<td align="left">303.7261</td>
<td align="left">44216.94</td>
<td align="left">47427.25</td>
<td align="left">252790.3</td>
<td align="left">300.0082</td>
<td align="left">300</td>
<td align="left">300</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">4.84E&#x2212;13</td>
<td align="left">2.31E&#x2212;08</td>
<td align="left">1.75844</td>
<td align="left">7642.29</td>
<td align="left">9387.97</td>
<td align="left">90954.65</td>
<td align="left">0.002057</td>
<td align="left">9.08E&#x2212;09</td>
<td align="left">2.39E&#x2212;13</td>
</tr>
<tr>
<td align="left">C4</td>
<td align="left">AVE</td>
<td align="left">417.1868</td>
<td align="left">433.3292</td>
<td align="left">430.2082</td>
<td align="left">933.5133</td>
<td align="left">945.979</td>
<td align="left">30758.01</td>
<td align="left">504.3023</td>
<td align="left">544.9028</td>
<td align="left">422.8925</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">14.18587</td>
<td align="left">20.07223</td>
<td align="left">1.988095</td>
<td align="left">599.3669</td>
<td align="left">483.4245</td>
<td align="left">6286.819</td>
<td align="left">59.34425</td>
<td align="left">47.54378</td>
<td align="left">28.53133</td>
</tr>
<tr>
<td align="left">C5</td>
<td align="left">AVE</td>
<td align="left">586.8017</td>
<td align="left">570.0516</td>
<td align="left">615.8567</td>
<td align="left">852.495</td>
<td align="left">849.6292</td>
<td align="left">1150.826</td>
<td align="left">687.0763</td>
<td align="left">742.8122</td>
<td align="left">815.8375</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">11.33574</td>
<td align="left">19.6727</td>
<td align="left">18.62161</td>
<td align="left">33.7776</td>
<td align="left">26.29409</td>
<td align="left">36.83114</td>
<td align="left">41.034</td>
<td align="left">59.28636</td>
<td align="left">51.54474</td>
</tr>
<tr>
<td align="left">C6</td>
<td align="left">AVE</td>
<td align="left">604.7959</td>
<td align="left">603.0001</td>
<td align="left">606.5931</td>
<td align="left">661.39</td>
<td align="left">663.1714</td>
<td align="left">694.9141</td>
<td align="left">601.0333</td>
<td align="left">638.0651</td>
<td align="left">640.2838</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">1.728911</td>
<td align="left">1.287632</td>
<td align="left">2.364182</td>
<td align="left">5.401158</td>
<td align="left">4.73241</td>
<td align="left">7.585304</td>
<td align="left">0.506592</td>
<td align="left">9.609981</td>
<td align="left">11.76814</td>
</tr>
<tr>
<td align="left">C7</td>
<td align="left">AVE</td>
<td align="left">826.695</td>
<td align="left">834.6281</td>
<td align="left">879.2088</td>
<td align="left">1648.979</td>
<td align="left">1693.569</td>
<td align="left">2042.556</td>
<td align="left">926.7816</td>
<td align="left">1009.936</td>
<td align="left">1367.78</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">15.39112</td>
<td align="left">13.70104</td>
<td align="left">28.97706</td>
<td align="left">80.90631</td>
<td align="left">53.91651</td>
<td align="left">46.16475</td>
<td align="left">45.60423</td>
<td align="left">72.26719</td>
<td align="left">178.9801</td>
</tr>
<tr>
<td align="left">C8</td>
<td align="left">AVE</td>
<td align="left">885.8617</td>
<td align="left">870.7809</td>
<td align="left">915.449</td>
<td align="left">1144.098</td>
<td align="left">1163.041</td>
<td align="left">1441.307</td>
<td align="left">963.9156</td>
<td align="left">1038.168</td>
<td align="left">1119.021</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">16.68351</td>
<td align="left">17.65313</td>
<td align="left">18.10443</td>
<td align="left">28.4163</td>
<td align="left">31.71651</td>
<td align="left">33.01192</td>
<td align="left">24.77768</td>
<td align="left">57.34869</td>
<td align="left">54.97388</td>
</tr>
<tr>
<td align="left">C9</td>
<td align="left">AVE</td>
<td align="left">937.6997</td>
<td align="left">920.8308</td>
<td align="left">1088.04</td>
<td align="left">12716.74</td>
<td align="left">12612.68</td>
<td align="left">34561.62</td>
<td align="left">5948.958</td>
<td align="left">8208.887</td>
<td align="left">9954.461</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">61.96252</td>
<td align="left">26.5344</td>
<td align="left">363.9745</td>
<td align="left">1621.532</td>
<td align="left">985.5352</td>
<td align="left">5698.828</td>
<td align="left">3876.126</td>
<td align="left">2373.46</td>
<td align="left">2379.059</td>
</tr>
<tr>
<td align="left">C10</td>
<td align="left">AVE</td>
<td align="left">3694.749</td>
<td align="left">3761.504</td>
<td align="left">3700.033</td>
<td align="left">7626.868</td>
<td align="left">8230.649</td>
<td align="left">13892.13</td>
<td align="left">6280.105</td>
<td align="left">7617.053</td>
<td align="left">7348.594</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">558.9742</td>
<td align="left">532.997</td>
<td align="left">582.0079</td>
<td align="left">935.1439</td>
<td align="left">1204.979</td>
<td align="left">758.1973</td>
<td align="left">626.1485</td>
<td align="left">783.3506</td>
<td align="left">939.2402</td>
</tr>
<tr>
<td align="left">C11</td>
<td align="left">AVE</td>
<td align="left">1177.74</td>
<td align="left">1166.028</td>
<td align="left">1180.263</td>
<td align="left">1396.777</td>
<td align="left">1383.864</td>
<td align="left">22591.94</td>
<td align="left">1303.236</td>
<td align="left">1322.368</td>
<td align="left">1261.253</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">15.6531</td>
<td align="left">9.219968</td>
<td align="left">16.98053</td>
<td align="left">71.8303</td>
<td align="left">87.64393</td>
<td align="left">4489.043</td>
<td align="left">63.97801</td>
<td align="left">37.66977</td>
<td align="left">30.2221</td>
</tr>
<tr>
<td align="left">C12</td>
<td align="left">AVE</td>
<td align="left">37036.41</td>
<td align="left">893674.8</td>
<td align="left">991485.5</td>
<td align="left">1.37E&#x002B;08</td>
<td align="left">1.35E&#x002B;08</td>
<td align="left">5.26E&#x002B;10</td>
<td align="left">1598430</td>
<td align="left">4238014</td>
<td align="left">83609.84</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">22014.37</td>
<td align="left">627633</td>
<td align="left">857632.9</td>
<td align="left">2.04E&#x002B;08</td>
<td align="left">2.99E&#x002B;08</td>
<td align="left">1.81E&#x002B;10</td>
<td align="left">1074183</td>
<td align="left">2520333</td>
<td align="left">41626.2</td>
</tr>
<tr>
<td align="left">C13</td>
<td align="left">AVE</td>
<td align="left">4075.313</td>
<td align="left">16996.81</td>
<td align="left">14110.42</td>
<td align="left">212873.9</td>
<td align="left">125767.5</td>
<td align="left">1.82E&#x002B;10</td>
<td align="left">29634.34</td>
<td align="left">130309.7</td>
<td align="left">4124.072</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">3396.271</td>
<td align="left">12763.81</td>
<td align="left">11479.36</td>
<td align="left">507175.8</td>
<td align="left">94114.22</td>
<td align="left">9.25E&#x002B;09</td>
<td align="left">10151.04</td>
<td align="left">75453.32</td>
<td align="left">4256.024</td>
</tr>
<tr>
<td align="left">C14</td>
<td align="left">AVE</td>
<td align="left">2426.744</td>
<td align="left">7447.321</td>
<td align="left">15906.74</td>
<td align="left">1680775</td>
<td align="left">1705491</td>
<td align="left">31389494</td>
<td align="left">52348.57</td>
<td align="left">15112.99</td>
<td align="left">3072.003</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">658.6872</td>
<td align="left">6164.037</td>
<td align="left">11337.99</td>
<td align="left">3798183</td>
<td align="left">3885700</td>
<td align="left">32006311</td>
<td align="left">25969.55</td>
<td align="left">12145.55</td>
<td align="left">1094.581</td>
</tr>
<tr>
<td align="left">C15</td>
<td align="left">AVE</td>
<td align="left">5616.482</td>
<td align="left">12308.82</td>
<td align="left">13023.14</td>
<td align="left">4694751</td>
<td align="left">4537062</td>
<td align="left">6.16E&#x002B;09</td>
<td align="left">29350.23</td>
<td align="left">39421.45</td>
<td align="left">9413.125</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">4499.291</td>
<td align="left">7888.652</td>
<td align="left">8786.184</td>
<td align="left">23254860</td>
<td align="left">22398016</td>
<td align="left">3.85E&#x002B;09</td>
<td align="left">6731.168</td>
<td align="left">22304.52</td>
<td align="left">6287.582</td>
</tr>
<tr>
<td align="left">C16</td>
<td align="left">AVE</td>
<td align="left">2237.506</td>
<td align="left">2332.344</td>
<td align="left">2553.069</td>
<td align="left">4028.273</td>
<td align="left">4048.173</td>
<td align="left">8094.206</td>
<td align="left">3164.62</td>
<td align="left">3063.408</td>
<td align="left">3297.917</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">247.3496</td>
<td align="left">249.5483</td>
<td align="left">240.8204</td>
<td align="left">513.0978</td>
<td align="left">698.4317</td>
<td align="left">1485.932</td>
<td align="left">368.3294</td>
<td align="left">326.5094</td>
<td align="left">521.3009</td>
</tr>
<tr>
<td align="left">C17</td>
<td align="left">AVE</td>
<td align="left">2257.742</td>
<td align="left">2274.431</td>
<td align="left">2474.799</td>
<td align="left">3639.855</td>
<td align="left">3672.466</td>
<td align="left">7247.96</td>
<td align="left">2871.545</td>
<td align="left">2960.49</td>
<td align="left">3205.788</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">155.2337</td>
<td align="left">193.8793</td>
<td align="left">194.0557</td>
<td align="left">452.6595</td>
<td align="left">473.4265</td>
<td align="left">3760.402</td>
<td align="left">242.0486</td>
<td align="left">268.2297</td>
<td align="left">326.7872</td>
</tr>
<tr>
<td align="left">C18</td>
<td align="left">AVE</td>
<td align="left">19549.7</td>
<td align="left">80794.79</td>
<td align="left">90703.99</td>
<td align="left">4242293</td>
<td align="left">2935428</td>
<td align="left">1.02E&#x002B;08</td>
<td align="left">207761.6</td>
<td align="left">107742.9</td>
<td align="left">33126</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">12822.92</td>
<td align="left">27734.12</td>
<td align="left">50939.99</td>
<td align="left">6473234</td>
<td align="left">3355806</td>
<td align="left">80050046</td>
<td align="left">126316.6</td>
<td align="left">35916.97</td>
<td align="left">22584.63</td>
</tr>
<tr>
<td align="left">C19</td>
<td align="left">AVE</td>
<td align="left">4774.262</td>
<td align="left">10989.99</td>
<td align="left">9610.29</td>
<td align="left">62330.2</td>
<td align="left">52244.67</td>
<td align="left">2.15E&#x002B;09</td>
<td align="left">14225.18</td>
<td align="left">201180.9</td>
<td align="left">14846.17</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">3910.518</td>
<td align="left">12388.52</td>
<td align="left">8085.775</td>
<td align="left">45900.33</td>
<td align="left">27950.68</td>
<td align="left">1.68E&#x002B;09</td>
<td align="left">17052.33</td>
<td align="left">54726.35</td>
<td align="left">11388.86</td>
</tr>
<tr>
<td align="left">C20</td>
<td align="left">AVE</td>
<td align="left">2287.938</td>
<td align="left">2319.214</td>
<td align="left">2533.119</td>
<td align="left">3162.177</td>
<td align="left">3257.845</td>
<td align="left">4062.8</td>
<td align="left">2818.477</td>
<td align="left">2957.316</td>
<td align="left">3179.556</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">108.3397</td>
<td align="left">139.2058</td>
<td align="left">213.9936</td>
<td align="left">311.8407</td>
<td align="left">258.3304</td>
<td align="left">404.9723</td>
<td align="left">288.1831</td>
<td align="left">253.0242</td>
<td align="left">349.4163</td>
</tr>
<tr>
<td align="left">C21</td>
<td align="left">AVE</td>
<td align="left">2388.669</td>
<td align="left">2375.095</td>
<td align="left">2420.159</td>
<td align="left">2785.253</td>
<td align="left">2812.891</td>
<td align="left">3138.545</td>
<td align="left">2492.834</td>
<td align="left">2505.974</td>
<td align="left">2563.45</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">14.39998</td>
<td align="left">19.76868</td>
<td align="left">21.43885</td>
<td align="left">72.10099</td>
<td align="left">82.51934</td>
<td align="left">97.2633</td>
<td align="left">36.10054</td>
<td align="left">45.65499</td>
<td align="left">65.47573</td>
</tr>
<tr>
<td align="left">C22</td>
<td align="left">AVE</td>
<td align="left">2300.425</td>
<td align="left">2300.273</td>
<td align="left">2302.295</td>
<td align="left">10608.09</td>
<td align="left">10422.03</td>
<td align="left">16728.95</td>
<td align="left">8257.222</td>
<td align="left">9165.022</td>
<td align="left">8619.539</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">0.791301</td>
<td align="left">0.679075</td>
<td align="left">1.070631</td>
<td align="left">1533.443</td>
<td align="left">1014.829</td>
<td align="left">853.0564</td>
<td align="left">988.791</td>
<td align="left">952.0107</td>
<td align="left">1623.496</td>
</tr>
<tr>
<td align="left">C23</td>
<td align="left">AVE</td>
<td align="left">2804.425</td>
<td align="left">2796.67</td>
<td align="left">2831.246</td>
<td align="left">3801.936</td>
<td align="left">3871.871</td>
<td align="left">4141.234</td>
<td align="left">2917.741</td>
<td align="left">2938.457</td>
<td align="left">3118.995</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">14.84545</td>
<td align="left">21.28376</td>
<td align="left">27.53321</td>
<td align="left">184.6423</td>
<td align="left">223.2331</td>
<td align="left">194.9199</td>
<td align="left">44.99394</td>
<td align="left">40.59267</td>
<td align="left">101.1374</td>
</tr>
<tr>
<td align="left">C24</td>
<td align="left">AVE</td>
<td align="left">2978.396</td>
<td align="left">2970.417</td>
<td align="left">3030.666</td>
<td align="left">4096.05</td>
<td align="left">4039.954</td>
<td align="left">4620.13</td>
<td align="left">3095.88</td>
<td align="left">3078.31</td>
<td align="left">3285.498</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">14.84988</td>
<td align="left">23.40616</td>
<td align="left">28.51908</td>
<td align="left">215.5657</td>
<td align="left">174.8984</td>
<td align="left">271.4433</td>
<td align="left">36.24266</td>
<td align="left">40.7089</td>
<td align="left">104.6463</td>
</tr>
<tr>
<td align="left">C25</td>
<td align="left">AVE</td>
<td align="left">2974.773</td>
<td align="left">2971.509</td>
<td align="left">2975.22</td>
<td align="left">3249.563</td>
<td align="left">3258.095</td>
<td align="left">14143.84</td>
<td align="left">3017.684</td>
<td align="left">3023.769</td>
<td align="left">3052.767</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">8.554417</td>
<td align="left">17.51097</td>
<td align="left">12.64854</td>
<td align="left">105.7085</td>
<td align="left">93.53723</td>
<td align="left">1790.841</td>
<td align="left">38.19031</td>
<td align="left">45.47396</td>
<td align="left">35.97161</td>
</tr>
<tr>
<td align="left">C26</td>
<td align="left">AVE</td>
<td align="left">3945.906</td>
<td align="left">4502.135</td>
<td align="left">4913.446</td>
<td align="left">12205.31</td>
<td align="left">12226.77</td>
<td align="left">17256.95</td>
<td align="left">5719.404</td>
<td align="left">4752.921</td>
<td align="left">6541.465</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">887.4889</td>
<td align="left">197.8206</td>
<td align="left">249.1071</td>
<td align="left">904.1735</td>
<td align="left">1051.926</td>
<td align="left">960.7725</td>
<td align="left">373.1578</td>
<td align="left">2102.883</td>
<td align="left">3501.497</td>
</tr>
<tr>
<td align="left">C27</td>
<td align="left">AVE</td>
<td align="left">3170.97</td>
<td align="left">3170.389</td>
<td align="left">3170.612</td>
<td align="left">4830.036</td>
<td align="left">4949.775</td>
<td align="left">6216.204</td>
<td align="left">3323.926</td>
<td align="left">3368.092</td>
<td align="left">3592.878</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">9.292116</td>
<td align="left">9.521278</td>
<td align="left">8.661707</td>
<td align="left">446.8078</td>
<td align="left">543.9687</td>
<td align="left">712.5707</td>
<td align="left">65.79624</td>
<td align="left">77.34347</td>
<td align="left">145.1447</td>
</tr>
<tr>
<td align="left">C28</td>
<td align="left">AVE</td>
<td align="left">3258.189</td>
<td align="left">3259.178</td>
<td align="left">3259.365</td>
<td align="left">3757.093</td>
<td align="left">3737.579</td>
<td align="left">11912.49</td>
<td align="left">3284.561</td>
<td align="left">3301.465</td>
<td align="left">3290.119</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">1.823178</td>
<td align="left">2.67E&#x2212;01</td>
<td align="left">0.280697</td>
<td align="left">311.0017</td>
<td align="left">217.6791</td>
<td align="left">1688.529</td>
<td align="left">22.72083</td>
<td align="left">16.07822</td>
<td align="left">28.54801</td>
</tr>
<tr>
<td align="left">C29</td>
<td align="left">AVE</td>
<td align="left">3477.968</td>
<td align="left">3495.964</td>
<td align="left">3509.711</td>
<td align="left">6852.671</td>
<td align="left">6928.21</td>
<td align="left">26533.06</td>
<td align="left">4176.37</td>
<td align="left">4571.589</td>
<td align="left">4437.38</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">159.98</td>
<td align="left">140.3959</td>
<td align="left">225.5474</td>
<td align="left">1164.126</td>
<td align="left">1186.805</td>
<td align="left">17826.29</td>
<td align="left">325.5151</td>
<td align="left">294.3504</td>
<td align="left">444.2482</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The population size is 70, and the number of iterations is 500&#x2009;&#x00D7;&#x2009;D. D is the dimension of the test function. According to the characteristics of the EPM framework, the more algorithms are integrated into the framework, the more times the function will be evaluated. To compare the results of the integration algorithm and the original algorithm more fairly, we design a perfect ensemble (PE) that takes the optimal value from the effects of multiple original algorithms. In each independent run, it records the best result of several original algorithms as the result of this run, and after 25 runs, all the results are averaged. This paper names the results obtained by the PE framework as &#x201C;PE&#x2009;&#x002B;&#x2009;number&#x201D;, where &#x201C;number&#x201D; represents the number of integrated results in the framework. It expresses the results obtained by averaging the optimal values of HHO and SOA as PE2, the results obtained by averaging the running results of HHO, SOA, and SMA as PE3, the results obtained by averaging the optimal values of HHO, SOA, SMA, and SSA as PE4, the results obtained by averaging the optimal values of HHO, SOA, SMA, SSA, and MRFO as PE5.</p>
<p><xref ref-type="table" rid="table-7">Table 7</xref> displays the results of Friedman&#x2019;s mean rank test for the benchmark functions. On the 23 standard benchmark functions, the mean rankings of EPM5, EPM3, and EPM2 are higher than those of PE5, PE3, and PE2, respectively; the mean ranking of EPM4 is lower than that of PE4. On the CEC2017 benchmark functions with 30 dimensions, the mean rankings of EPM5, EPM4, EPM3, and EPM2 are higher than that of PE5, PE4, PE3, and PE2, respectively. On the CEC2017 benchmark functions with 50 dimensions, the mean rankings of EPM5, EPM4, EPM3, and EPM2 are higher than that of PE5, PE4, PE3, and PE2, respectively. In most cases, the algorithms in the ensemble framework get a better ranking. Increasing the number of integrated metaheuristic algorithms enhances the average optimization ability of the overall ensemble framework.</p>
<table-wrap id="table-7"><label>Table 7</label><caption><title>Friedman&#x2019;s mean ranking test results of benchmark functions</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Benchmark functions</th>
<th align="left">Comparison</th>
<th align="left">EPM</th>
<th align="left">PE</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="4">23 standard benchmark functions</td>
<td align="left">EPM2 <italic>vs.</italic> PE2</td>
<td align="left">1.3478</td>
<td align="left">1.6522</td>
</tr>
<tr>
<td align="left">EPM3 <italic>vs.</italic> PE3</td>
<td align="left">1.5435</td>
<td align="left">1.4565</td>
</tr>
<tr>
<td align="left">EPM4 <italic>vs.</italic> PE4</td>
<td align="left">1.4348</td>
<td align="left">1.5652</td>
</tr>
<tr>
<td align="left">EPM5 <italic>vs.</italic> PE5</td>
<td align="left">1.4348</td>
<td align="left">1.5652</td>
</tr>
<tr>
<td align="left" rowspan="4">CEC2017 benchmark functions (D&#x2009;&#x003D;&#x2009;30)</td>
<td align="left">EPM2 <italic>vs.</italic> PE2</td>
<td align="left">1.3103</td>
<td align="left">1.6897</td>
</tr>
<tr>
<td align="left">EPM3 <italic>vs.</italic> PE3</td>
<td align="left">1.1034</td>
<td align="left">1.8966</td>
</tr>
<tr>
<td align="left">EPM4 <italic>vs.</italic> PE4</td>
<td align="left">1.2069</td>
<td align="left">1.7931</td>
</tr>
<tr>
<td align="left">EPM5 <italic>vs.</italic> PE5</td>
<td align="left">1.0862</td>
<td align="left">1.9138</td>
</tr>
<tr>
<td align="left" rowspan="4">CEC2017 benchmark functions (D&#x2009;&#x003D;&#x2009;50)</td>
<td align="left">EPM2 <italic>vs.</italic> PE2</td>
<td align="left">1.4138</td>
<td align="left">1.5862</td>
</tr>
<tr>
<td align="left">EPM3 <italic>vs.</italic> PE3</td>
<td align="left">1.1034</td>
<td align="left">1.8966</td>
</tr>
<tr>
<td align="left">EPM4 <italic>vs.</italic> PE4</td>
<td align="left">1.1379</td>
<td align="left">1.8621</td>
</tr>
<tr>
<td align="left">EPM5 <italic>vs.</italic> PE5</td>
<td align="left">1.1207</td>
<td align="left">1.8793</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><xref ref-type="table" rid="table-8">Table 8</xref> displays the <italic>p</italic>-value test results on benchmark functions. On the 23 standard benchmark functions, the <italic>p</italic>-value resulting from the comparison between EPM2 and PE2 is less than 0.1 and more significant than 0.05, indicating that the results of the algorithms are different at the significance level of 0.1. The <italic>p</italic>-values resulting from the comparisons between EPM3 and PE3, between EPM4 and PE4, and between EPM5 and PE5 are greater than 0.1, indicating no significant difference between the results. On the CEC2017 benchmark functions with 30 dimensions, the <italic>p</italic>-value resulting from the comparison between EPM2 and PE2 is greater than 0.1, indicating no significant difference between the results. The <italic>p</italic>-values for the comparison between EPM3 and PE3, between EPM4 and PE4, and between EPM5 and PE5 are less than 0.01, indicating that the results of these algorithms are significantly different at the significance level of 0.01. On the CEC2017 benchmark functions with 50 dimensions, the <italic>p</italic>-value resulting from the comparison between EPM2 and PE2 is greater than 0.1, indicating no significant difference between the results. The <italic>p</italic>-values for the comparison between EPM3 and PE3, between EPM4 and PE4, and between EPM5 and PE5 are less than 0.01, indicating that the results of these algorithms are significantly different at the significance level of 0.01.</p>
<table-wrap id="table-8">
<label>Table 8</label><caption><title>Wilcoxon signed ranking test results of benchmark functions</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Benchmark functions</th>
<th align="left">Comparison</th>
<th align="left">R&#x002B;</th>
<th align="left">R-</th>
<th align="left"><italic>p</italic>-value</th>
<th align="left">&#x03B1;</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="4">23 standard benchmark functions</td>
<td align="left">EPM2 <italic>vs.</italic> PE2</td>
<td align="left">195</td>
<td align="left">81</td>
<td align="left">9.95E&#x2212;02</td>
<td align="left">0.1</td>
</tr>
<tr>
<td align="left">EPM3 <italic>vs.</italic> PE3</td>
<td align="left">131</td>
<td align="left">145</td>
<td align="left">1.00E&#x002B;00</td>
<td align="left">&#x003E;0.1</td>
</tr>
<tr>
<td align="left">EPM4 <italic>vs.</italic> PE4</td>
<td align="left">175</td>
<td align="left">101</td>
<td align="left">1.56E&#x2212;01</td>
<td align="left">&#x003E;0.1</td>
</tr>
<tr>
<td align="left">EPM5 <italic>vs.</italic> PE5</td>
<td align="left">171.5</td>
<td align="left">104.5</td>
<td align="left">1.39E&#x2212;01</td>
<td align="left">&#x003E;0.1</td>
</tr>
<tr>
<td align="left" rowspan="4">CEC2017 benchmark functions (D&#x2009;&#x003D;&#x2009;30)</td>
<td align="left">EPM2 <italic>vs.</italic> PE2</td>
<td align="left">265</td>
<td align="left">170</td>
<td align="left">3.04E&#x2212;01</td>
<td align="left">&#x003E;0.1</td>
</tr>
<tr>
<td align="left">EPM3 <italic>vs.</italic> PE3</td>
<td align="left">427</td>
<td align="left">8</td>
<td align="left">5.90E&#x2212;06</td>
<td align="left">0.01</td>
</tr>
<tr>
<td align="left">EPM4 <italic>vs.</italic> PE4</td>
<td align="left">378</td>
<td align="left">57</td>
<td align="left">5.19E&#x2212;04</td>
<td align="left">0.01</td>
</tr>
<tr>
<td align="left">EPM5 <italic>vs.</italic> PE5</td>
<td align="left">414.5</td>
<td align="left">20.5</td>
<td align="left">2.52E&#x2212;05</td>
<td align="left">0.01</td>
</tr>
<tr>
<td align="left" rowspan="4">CEC2017 benchmark functions (D&#x2009;&#x003D;&#x2009;50)</td>
<td align="left">EPM2 <italic>vs.</italic> PE2</td>
<td align="left">222</td>
<td align="left">213</td>
<td align="left">9.22E&#x2212;01</td>
<td align="left">&#x003E;0.1</td>
</tr>
<tr>
<td align="left">EPM3 <italic>vs.</italic> PE3</td>
<td align="left">419</td>
<td align="left">16</td>
<td align="left">1.32E&#x2212;05</td>
<td align="left">0.01</td>
</tr>
<tr>
<td align="left">EPM4 <italic>vs.</italic> PE4</td>
<td align="left">413</td>
<td align="left">22</td>
<td align="left">2.36E&#x2212;05</td>
<td align="left">0.01</td>
</tr>
<tr>
<td align="left">EPM5 <italic>vs.</italic> PE5</td>
<td align="left">398.5</td>
<td align="left">36.5</td>
<td align="left">1.08E&#x2212;04</td>
<td align="left">0.01</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_4"><label>4.4</label><title>Iterative Curves</title>
<p>We select some test functions, draw the iterative curve of the experimental algorithm, and visually observe the convergence of the algorithms. The iterative curves in <xref ref-type="fig" rid="fig-5">Fig. 5</xref> correspond to functions F3, F15, F20, C5, C16, and C20, representing the performance of EPM5 under different types of functions. It is observed that the EPM5 algorithm has a faster iterative optimization speed and achieves better results through the iterative curves.</p>
<fig id="fig-5"><label>Figure 5</label><caption><title>Iterative curves of partial test functions</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-5.tif"/></fig>
</sec>
<sec id="s4_5"><label>4.5</label><title>Evolution Process of Real Population and Virtual Population</title>
<p>We analyzed the process of solving function F3 by the EPM5 algorithm to observe the relationship between the real and virtual populations and follow the evolution process more intuitively during the operation of the ensemble algorithm. <xref ref-type="fig" rid="fig-6">Fig. 6</xref> shows the position changes of the virtual populations in the <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> dimensions, before and after 1, 2, 5, 6, 20, 21, 100, 101, 1000, 1001, 14999, and 15000 iterations, where &#x2018;a&#x2019; represents the population before the iteration and &#x2018;b&#x2019; represents the population after the iteration. It lists the historical optimal solutions corresponding to the number of partial iterations in <xref ref-type="table" rid="table-9">Table 9</xref>.</p>
<fig id="fig-6"><label>Figure 6</label><caption><title>The virtual population distribution diagram of the EPM5 algorithm under some iterations in the process of solving the function F3</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-6a.tif"/><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_38670-fig-6b.tif"/></fig><table-wrap id="table-9"><label>Table 9</label><caption><title>Number of partial iterations on F3 function and historical optimal solution</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">t</th>
<th align="left">H</th>
<th align="left">t</th>
<th align="left">H</th>
<th align="left">t</th>
<th align="left">H</th>
<th align="left">t</th>
<th align="left">H</th>
<th align="left">t</th>
<th align="left">H</th>
<th align="left">t</th>
<th align="left">H</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">0</td>
<td align="left">102389.5</td>
<td align="left">4</td>
<td align="left">0.178303</td>
<td align="left">19</td>
<td align="left">5.78E&#x2212;16</td>
<td align="left">99</td>
<td align="left">2.72E&#x2212;97</td>
<td align="left">999</td>
<td align="left">0</td>
<td align="left">14998</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">1</td>
<td align="left">374.6011</td>
<td align="left">5</td>
<td align="left">0.103464</td>
<td align="left">20</td>
<td align="left">1.78E&#x2212;17</td>
<td align="left">100</td>
<td align="left">2.09E&#x2212;99</td>
<td align="left">1000</td>
<td align="left">0</td>
<td align="left">14999</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">2</td>
<td align="left">314.3702</td>
<td align="left">6</td>
<td align="left">0.103464</td>
<td align="left">21</td>
<td align="left">1.48E&#x2212;17</td>
<td align="left">101</td>
<td align="left">1.32E&#x2212;99</td>
<td align="left">1001</td>
<td align="left">0</td>
<td align="left">15000</td>
<td align="left">0</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In Iteration 1.a, it is observed that the positions of the five virtual populations come from the same real population before the start of the first iteration. After the high-level generation sub-stage, the five virtual populations update their locations independently, and the positions of the populations are different, as shown in Iteration 1.b. Because the fitness value of the best elite is smaller than the historical optimum, it materializes the population where the optimal elite resides, and the population distribution after materialization is shown by Iteration 2.a. It transforms the five virtual populations into the real population. In Iteration 5.b and Iteration 6.a, the best elite of the virtual populations after the fifth iteration is not less than an order of magnitude smaller than the historically best fitness value. Thus, the virtual population continues to exist. In Iteration 20.a, the entity population has converged at this time. However, after the high-level generation sub-stage, the virtual population can still be distributed in every corner of the map, as shown in Iteration 20.b. After the high-level selection sub-stage, it obtains the population distributed in iteration 21.a, and the virtual populations are transformed into the real population again. It can be seen from this figure that the premature convergence of single or multiple populations will not lead to the convergence of all populations, and other populations still have good exploratory properties. In Iteration 100.b and Iteration 101.b, it is observed that the red population has converged. But in Iteration 1000.a, the red population is dispersed again, indicating that the converged population has a chance to reexplore. In Iteration 14999.a and Iteration 15000.b, all populations have converged. The red population has several individual sporadic distributions related to the corresponding algorithm characteristics of the population.</p>
</sec>
<sec id="s4_6"><label>4.6</label><title>Engineering Application Problems</title>
<p>The pressure vessel design optimization problem optimizes the cost of welding, material, and forming of the pressure vessel by adjusting the shell thickness, head thickness, inner diameter, and length of the vessel under four constraints [<xref ref-type="bibr" rid="ref-59">59</xref>]. The three-bar truss design optimization problem is based on the stress constraint of each bar to optimize the total weight of the bar structures [<xref ref-type="bibr" rid="ref-60">60</xref>]. <xref ref-type="table" rid="table-10">Table 10</xref> gives the mathematical description of these problems. It abbreviates the first engineering problem as E1 and the second engineering problem as E2.</p>
<table-wrap id="table-10"><label>Table 10</label><caption><title>Engineering optimization problems</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">No.</th>
<th align="left">Problem name</th>
<th align="left">D</th>
<th align="left">Initialization range</th>
<th align="left">Constraints</th>
<th align="left">Known optimum</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">E1</td>
<td align="left">Pressure Vessel Design <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0.6224</mml:mn><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>1.7781</mml:mn><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="2em" /><mml:mspace width="1em" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>3.1661</mml:mn><mml:msup><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>19.84</mml:mn><mml:msup><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></inline-formula></td>
<td align="left">4</td>
<td align="left"><inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>99</mml:mn><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>int</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>99</mml:mn><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>int</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>10</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>200</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>10</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>200</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0.00954</mml:mn><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0.0193</mml:mn><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>240</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>4</mml:mn><mml:mn>3</mml:mn></mml:mfrac></mml:mstyle><mml:mi>&#x03C0;</mml:mi><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2264;</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1296000</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.0625</mml:mn><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.0625</mml:mn><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></inline-formula></td>
<td align="left">5885.3327736</td>
</tr>
<tr>
<td align="left">E2</td>
<td align="left">Three-bar Truss Design Problem <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>l</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:msqrt><mml:mn>2</mml:mn></mml:msqrt><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td align="left">2</td>
<td align="left"><inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msqrt><mml:mn>2</mml:mn></mml:msqrt><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>P</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C3;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msqrt><mml:mn>2</mml:mn></mml:msqrt><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msqrt><mml:mn>2</mml:mn></mml:msqrt><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>P</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C3;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msqrt><mml:mn>2</mml:mn></mml:msqrt><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>P</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C3;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></inline-formula></td>
<td align="left">263.89584338</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The average and standard deviation of the best solutions obtained by all test algorithms in 25 independent runs and 500 iterations in each dimension were recorded and compared (see <xref ref-type="table" rid="table-11">Table 11</xref>). For the optimization results of the pressure vessel design problem, EPM3, EPM4, and EPM5 are better than their integrated original algorithms. EPM2 is better than SOA but worse than HHO. For the optimization results of the three-bar truss design problem, both EPM4 and EPM5 are better than their integrated original algorithm. EPM3 is better than HHO and SOA but worse than SMA. EPM2 is better than SOA but worse than HHO. Two practical engineering problems obtain better optimization results from the average optimization results by adopting the ensemble framework.</p>
<table-wrap id="table-11"><label>Table 11</label><caption><title>The results of engineering optimization problems by different optimization algorithms</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left"/>
<th align="left"/>
<th align="left">EPM5</th>
<th align="left">EPM4</th>
<th align="left">EPM3</th>
<th align="left">EPM2</th>
<th align="left">HHO</th>
<th align="left">SOA</th>
<th align="left">SMA</th>
<th align="left">SSA</th>
<th align="left">MRFO</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">E1</td>
<td align="left">AVE</td>
<td align="left">6066.6913</td>
<td align="left">6085.2628</td>
<td align="left">6098.4798</td>
<td align="left">8074.5080</td>
<td align="left">7964.7286</td>
<td align="left">13856.8187</td>
<td align="left">6216.5912</td>
<td align="left">6353.9354</td>
<td align="left">6271.0216</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">12.5129</td>
<td align="left">20.6386</td>
<td align="left">33.2818</td>
<td align="left">1752.8158</td>
<td align="left">1414.2115</td>
<td align="left">6088.7058</td>
<td align="left">219.9751</td>
<td align="left">246.7167</td>
<td align="left">228.2141</td>
</tr>
<tr>
<td align="left">E2</td>
<td align="left">AVE</td>
<td align="left">263.895861</td>
<td align="left">263.896028</td>
<td align="left">263.896757</td>
<td align="left">263.917593</td>
<td align="left">263.914440</td>
<td align="left">266.142034</td>
<td align="left">263.896307</td>
<td align="left">263.896183</td>
<td align="left">263.895862</td>
</tr>
<tr>
<td align="left"/>
<td align="left">STD</td>
<td align="left">1.7451E&#x2212;05</td>
<td align="left">2.6238E&#x2212;04</td>
<td align="left">1.1884E&#x2212;03</td>
<td align="left">3.8590E&#x2212;02</td>
<td align="left">2.5215E&#x2212;02</td>
<td align="left">2.0515E&#x002B;00</td>
<td align="left">8.2330E&#x2212;04</td>
<td align="left">5.1781E&#x2212;04</td>
<td align="left">1.8544E&#x2212;05</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Conclusion</title>
<p>We propose a new population-based metaheuristic ensemble framework in this paper. The main innovation is to use the common structural characteristics of the population-based meta-heuristic algorithms to design a framework, which is a bridge for cooperative optimization of multiple algorithms through the transformation of virtual population and entity population and elite strategy. The framework leverages the differentiation and unification of real and virtual populations to coordinate exploration and exploitation at the population level. Meanwhile, an elitist strategy is adopted to communicate among virtual populations to guarantee diversity and reduce the internal influence on each metaheuristic algorithm. In the experiment, five algorithms, SOA, HHO, SMA, SSA, and MRFO, are integrated using the ensemble framework to obtain EPM algorithms. The EPM algorithms perform superior on 23 standard benchmark functions and the CEC2017 benchmark functions. According to Friedman&#x2019;s average ranking, the results of algorithms integrated with the EPM framework, in most cases, outperformed the results of the same algorithms integrated with the PE framework, demonstrating the superiority of the ensemble framework. The ensemble framework also demonstrated excellent results in solving two practical engineering problems and obtained better solutions.</p>
<p>With the increase in the number of optimization algorithms integrated into the ensemble framework, the information exchange between various algorithms will increase, and these algorithms will be more likely to jump out of the local optimization. However, we cannot distinguish the role of each algorithm in optimization and the influence of algorithm parameters on the optimization results. Meanwhile, each additional algorithm in the ensemble framework will increase the calculation of the virtual population corresponding to the algorithm, the storage cost of the calculation results, and the cost of information exchange, reducing the optimization speed. In future research, we will study two aspects: improving the optimization ability and speed. We will analyze the contribution of a single algorithm in the integration framework and adjust the algorithm parameters to improve the optimization ability. We will study the factors that affect the optimization speed and reduce unnecessary computing and storage costs to improve the optimization speed according to the role of different algorithms in the different stages.</p>
</sec>
</body>
<back>
<ack>
<p>The authors would like to acknowledge the editor-in-chief, associate editors, and reviewers for their contributions to the improvement of this paper.</p>
</ack>
<sec><title>Funding Statement</title>
<p>This work was supported by National Natural Science Foundation of China under Grant 62073330. The auther J. T. received the grant.</p></sec>
<sec><title>Author Contributions</title>
<p>Study conception and design: H. Li, J. Tang, S. Lao; data collection: Q. Pan, J. Zhan; analysis and interpretation of results: H. Li, Q. Pan; draft manuscript preparation: H. Li, J. Zhan. All authors reviewed the results and approved the final version of the manuscript.</p></sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>Data available on request from the authors. The data that support the findings of this study are available from the corresponding author, (J. T.), upon reasonable request.</p></sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p></sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>E. G.</given-names> <surname>Talbi</surname></string-name></person-group>, &#x201C;<chapter-title>Optimization methods</chapter-title>,&#x201D; in <source>Metaheuristics: From Design to Implementation</source>, vol. <volume>1</volume>. <publisher-loc>Hoboken, NJ, USA</publisher-loc>: <publisher-name>John Wiley &#x0026; Sons</publisher-name>, no. <issue>3</issue>, pp. <fpage>18</fpage>&#x2013;<lpage>33</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>T. G.</given-names> <surname>Crainic</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Toulouse</surname></string-name></person-group>, &#x201C;<chapter-title>Meta-heuristics and parallelism</chapter-title>,&#x201D; in <source>Handbook of Metaheuristics</source>, vol. <volume>17</volume>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>Springer</publisher-name>, no. <issue>2</issue>, pp. <fpage>498</fpage>&#x2013;<lpage>505</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Boussa&#x00EF;d</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Lepagnot</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Siarry</surname></string-name></person-group>, &#x201C;<article-title>A survey on optimization metaheuristics</article-title>,&#x201D; <source>Information Sciences</source>, vol. <volume>237</volume>, pp. <fpage>82</fpage>&#x2013;<lpage>117</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>D. P.</given-names> <surname>Bertsekas</surname></string-name></person-group>, &#x201C;<chapter-title>Lagrangian methods&#x2013;local convergence</chapter-title>,&#x201D; in <source>Constrained Optimization and Lagrange Multiplier Methods</source>, vol. <volume>4</volume>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>Academic Press</publisher-name>, no. <issue>5</issue>, pp. <fpage>231</fpage>&#x2013;<lpage>256</lpage>, <year>1982</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Deb</surname></string-name></person-group>, &#x201C;<chapter-title>Two approaches to multi-objective optimization</chapter-title>,&#x201D; in <source>Search Methodologies</source>, vol. <volume>15</volume>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>Springer</publisher-name>, no. <issue>2</issue>, pp. <fpage>407</fpage>&#x2013;<lpage>410</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. H.</given-names> <surname>Vandermeer</surname></string-name></person-group>, &#x201C;<article-title>Niche theory</article-title>,&#x201D; <source>Annual Review of Ecology and Systematics</source>, vol. <volume>3</volume>, no. <issue>1</issue>, pp. <fpage>107</fpage>&#x2013;<lpage>132</lpage>, <year>1972</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>Q.</given-names> <surname>Pan</surname></string-name></person-group>, &#x201C;<article-title>A review on representative swarm intelligence algorithms for solving optimization problems: Applications and trends</article-title>,&#x201D; <source>IEEE/CAA Journal of Automatica Sinica</source>, vol. <volume>8</volume>, no. <issue>10</issue>, pp. <fpage>1627</fpage>&#x2013;<lpage>1643</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Pacini</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Mateos</surname></string-name> and <string-name><given-names>C. G.</given-names> <surname>Garino</surname></string-name></person-group>, &#x201C;<article-title>Distributed job scheduling based on swarm intelligence: A survey</article-title>,&#x201D; <source>Computers &#x0026; Electrical Engineering</source>, vol. <volume>40</volume>, no. <issue>1</issue>, pp. <fpage>252</fpage>&#x2013;<lpage>269</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B. H.</given-names> <surname>Nguyen</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Xue</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>A survey on swarm intelligence approaches to feature selection in data mining</article-title>,&#x201D; <source>Swarm and Evolutionary Computation</source>, vol. <volume>54</volume>, pp. <fpage>100663</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Duan</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Lao</surname></string-name></person-group>, &#x201C;<article-title>Swarm intelligence algorithms for multiple unmanned aerial vehicles collaboration: A comprehensive review</article-title>,&#x201D; <source>Artificial Intelligence Review</source>, vol. <volume>56</volume>, no. <issue>5</issue>, pp. <fpage>4295</fpage>&#x2013;<lpage>4327</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>K. V.</given-names> <surname>Price</surname></string-name></person-group>, &#x201C;<chapter-title>Differential evolution</chapter-title>,&#x201D; in <source>Handbook of Optimization</source>, vol. <volume>2</volume>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>Springer</publisher-name>, no. <issue>1</issue>, pp. <fpage>187</fpage>&#x2013;<lpage>214</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Whitley</surname></string-name></person-group>, &#x201C;<article-title>A genetic algorithm tutorial</article-title>,&#x201D; <source>Statistics and Computing</source>, vol. <volume>4</volume>, no. <issue>2</issue>, pp. <fpage>65</fpage>&#x2013;<lpage>85</lpage>, <year>1994</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>J. R.</given-names> <surname>Koza</surname></string-name></person-group>, &#x201C;<chapter-title>Overview of genetic programming</chapter-title>,&#x201D; in <source>Genetic Programming: On the Programming of Computers by Means of Natural Selection</source>, vol. <volume>5</volume>. <publisher-loc>Cambridge, MA, USA</publisher-loc>: <publisher-name>MIT Press</publisher-name>, no. <issue>1</issue>, pp. <fpage>73</fpage>&#x2013;<lpage>78</lpage>, <year>1992</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Kennedy</surname></string-name> and <string-name><given-names>R. C.</given-names> <surname>Eberhart</surname></string-name></person-group>, &#x201C;<article-title>A discrete binary version of the particle swarm algorithm</article-title>,&#x201D; in <conf-name>1997 IEEE Int. Conf. on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation</conf-name>, <conf-loc>Orlando, FL, USA</conf-loc>, vol. <volume>5</volume>, pp. <fpage>4104</fpage>&#x2013;<lpage>4108</lpage>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Karaboga</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Basturk</surname></string-name></person-group>, &#x201C;<article-title>A powerful and efficient algorithm for numerical function optimization: Artificial bee colony (ABC) algorithm</article-title>,&#x201D; <source>Journal of Global Optimization</source>, vol. <volume>39</volume>, no. <issue>3</issue>, pp. <fpage>459</fpage>&#x2013;<lpage>471</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>X. S.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Deb</surname></string-name></person-group>, &#x201C;<article-title>Cuckoo search via l&#x00E9;vy flights</article-title>,&#x201D; in <conf-name>2009 World Congress on Nature &#x0026; Biologically Inspired Computing (NaBIC)</conf-name>, <conf-loc>Coimbatore, India</conf-loc>, pp. <fpage>210</fpage>&#x2013;<lpage>214</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Seyyedabbasi</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Kiani</surname></string-name></person-group>, &#x201C;<article-title>Sand cat swarm optimization: A nature-inspired algorithm to solve global optimization problems</article-title>,&#x201D; <source>Engineering with Computers</source>, pp. <fpage>1</fpage>&#x2013;<lpage>25</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Glover</surname></string-name></person-group>, &#x201C;<article-title>Tabu search&#x2014;Part I</article-title>,&#x201D; <source>ORSA Journal on Computing</source>, vol. <volume>1</volume>, no. <issue>3</issue>, pp. <fpage>190</fpage>&#x2013;<lpage>206</lpage>, <year>1989</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Feng</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Niu</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>Cooperation search algorithm: A novel metaheuristic evolutionary intelligence algorithm for numerical optimization and engineering optimization problems</article-title>,&#x201D; <source>Applied Soft Computing</source>, vol. <volume>98</volume>, pp. <fpage>106734</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Shi</surname></string-name></person-group>, &#x201C;<article-title>Brain storm optimization algorithm</article-title>,&#x201D; in <conf-name>Int. Conf. in Swarm Intelligence</conf-name>, <conf-loc>Chongqing, China</conf-loc>, pp. <fpage>303</fpage>&#x2013;<lpage>309</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Askari</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Saeed</surname></string-name> and <string-name><given-names>I.</given-names> <surname>Younas</surname></string-name></person-group>, &#x201C;<article-title>Heap-based optimizer inspired by corporate rank hierarchy for global optimization</article-title>,&#x201D; <source>Expert Systems with Applications</source>, vol. <volume>161</volume>, pp. <fpage>113702</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T. S.</given-names> <surname>Ayyarao</surname></string-name>, <string-name><given-names>N. S.</given-names> <surname>Ramakrishna</surname></string-name>, <string-name><given-names>R. M.</given-names> <surname>Elavarasan</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Polumahanthi</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Rambabu</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>War strategy optimization algorithm: A new effective metaheuristic algorithm for global optimization</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>10</volume>, pp. <fpage>25073</fpage>&#x2013;<lpage>25105</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Rashedi</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Nezamabadi-Pour</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Saryazdi</surname></string-name></person-group>, &#x201C;<article-title>GSA: A gravitational search algorithm</article-title>,&#x201D; <source>Information Sciences</source>, vol. <volume>179</volume>, no. <issue>13</issue>, pp. <fpage>2232</fpage>&#x2013;<lpage>2248</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>O. K.</given-names> <surname>Erol</surname></string-name> and <string-name><given-names>I.</given-names> <surname>Eksin</surname></string-name></person-group>, &#x201C;<article-title>A new optimization method: Big bang&#x2013;big crunch</article-title>,&#x201D; <source>Advances in Engineering Software</source>, vol. <volume>37</volume>, no. <issue>2</issue>, pp. <fpage>106</fpage>&#x2013;<lpage>111</lpage>, <year>2006</year></mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>&#x015E;. &#x0130;.</given-names> <surname>Birbil</surname></string-name> and <string-name><given-names>S. C.</given-names> <surname>Fang</surname></string-name></person-group>, &#x201C;<article-title>An electromagnetism-like mechanism for global optimization</article-title>,&#x201D; <source>Journal of Global Optimization</source>, vol. <volume>25</volume>, no. <issue>3</issue>, pp. <fpage>263</fpage>&#x2013;<lpage>282</lpage>, <year>2003</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name></person-group>, &#x201C;<article-title>SCA: A sine cosine algorithm for solving optimization problems</article-title>,&#x201D; <source>Knowledge-Based Systems</source>, vol. <volume>96</volume>, pp. <fpage>120</fpage>&#x2013;<lpage>133</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. A.</given-names> <surname>Koupaei</surname></string-name>, <string-name><given-names>S. M. M.</given-names> <surname>Hosseini</surname></string-name> and <string-name><given-names>F. M.</given-names> <surname>Ghaini</surname></string-name></person-group>, &#x201C;<article-title>A new optimization algorithm based on chaotic maps and golden section search method</article-title>,&#x201D; <source>Engineering Applications of Artificial Intelligence</source>, vol. <volume>50</volume>, pp. <fpage>201</fpage>&#x2013;<lpage>214</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Abualigah</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Diabat</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Abd Elaziz</surname></string-name> and <string-name><given-names>A. H.</given-names> <surname>Gandomi</surname></string-name></person-group>, &#x201C;<article-title>The arithmetic optimization algorithm</article-title>,&#x201D; <source>Computer Methods in Applied Mechanics and Engineering</source>, vol. <volume>376</volume>, pp. <fpage>113609</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Chopra</surname></string-name> and <string-name><given-names>M. M.</given-names> <surname>Ansari</surname></string-name></person-group>, &#x201C;<article-title>Golden jackal optimization: A novel nature-inspired optimizer for engineering applications</article-title>,&#x201D; <source>Expert Systems with Applications</source>, vol. <volume>198</volume>, pp. <fpage>116924</fpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Jin</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name></person-group>, &#x201C;<article-title>Generalized normal distribution optimization and its applications in parameter extraction of photovoltaic models</article-title>,&#x201D; <source>Energy Conversion and Management</source>, vol. <volume>224</volume>, pp. <fpage>113301</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I. A.</given-names> <surname>Ibrahim</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Hossain</surname></string-name> and <string-name><given-names>B. C.</given-names> <surname>Duck</surname></string-name></person-group>, &#x201C;<article-title>A hybrid wind driven-based fruit fly optimization algorithm for identifying the parameters of a double-diode photovoltaic cell model considering degradation effects</article-title>,&#x201D; <source>Sustainable Energy Technologies and Assessments</source>, vol. <volume>50</volume>, pp. <fpage>101685</fpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhu</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Zhu</surname></string-name></person-group>, &#x201C;<article-title>Dynamic reallocation model of multiple unmanned aerial vehicle tasks in emergent adjustment scenarios</article-title>,&#x201D; <source>IEEE Transactions on Aerospace and Electronic Systems</source>, vol. <volume>59</volume>, no. <issue>2</issue>, pp. <fpage>1139</fpage>&#x2013;<fpage>1155</fpage>, <year>2023</year>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Tian</surname></string-name></person-group>, &#x201C;<article-title>Backtracking search optimization algorithm-based least square support vector machine and its applications</article-title>,&#x201D; <source>Engineering Applications of Artificial Intelligence</source>, vol. <volume>94</volume>, pp. <fpage>103801</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. R.</given-names> <surname>Jordehi</surname></string-name></person-group>, &#x201C;<article-title>Binary particle swarm optimisation with quadratic transfer function: A new binary optimization algorithm for optimal scheduling of appliances in smart homes</article-title>,&#x201D; <source>Applied Soft Computing</source>, vol. <volume>78</volume>, pp. <fpage>465</fpage>&#x2013;<lpage>480</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. H.</given-names> <surname>Nadimi-Shahraki</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Zamani</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name></person-group>, &#x201C;<article-title>Enhanced whale optimization algorithm for medical feature selection: A COVID-19 case study</article-title>,&#x201D; <source>Computers in Biology and Medicine</source>, vol. <volume>148</volume>, pp. <fpage>105858</fpage>, <year>2022</year>; <pub-id pub-id-type="pmid">35868045</pub-id></mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Salcedo-Sanz</surname></string-name></person-group>, &#x201C;<article-title>Modern meta-heuristics based on nonlinear physics processes: A review of models and design procedures</article-title>,&#x201D; <source>Physics Reports</source>, vol. <volume>655</volume>, pp. <fpage>1</fpage>&#x2013;<lpage>70</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D. H.</given-names> <surname>Wolpert</surname></string-name> and <string-name><given-names>W. G.</given-names> <surname>Macready</surname></string-name></person-group>, &#x201C;<article-title>No free lunch theorems for optimization</article-title>,&#x201D; <source>IEEE Transactions on Evolutionary Computation</source>, vol. <volume>1</volume>, no. <issue>1</issue>, pp. <fpage>67</fpage>&#x2013;<lpage>82</lpage>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-38"><label>[38]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. K.</given-names> <surname>Qin</surname></string-name>, <string-name><given-names>V. L.</given-names> <surname>Huang</surname></string-name> and <string-name><given-names>P. N.</given-names> <surname>Suganthan</surname></string-name></person-group>, &#x201C;<article-title>Differential evolution algorithm with strategy adaptation for global numerical optimization</article-title>,&#x201D; <source>IEEE Transactions on Evolutionary Computation</source>, vol. <volume>13</volume>, no. <issue>2</issue>, pp. <fpage>398</fpage>&#x2013;<lpage>417</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-39"><label>[39]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Pan</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Chen</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>SFSADE: An improved self-adaptive differential evolution algorithm with a shuffled frog-leaping strategy</article-title>,&#x201D; <source>Artificial Intelligence Review</source>, vol. <volume>55</volume>, no. <issue>5</issue>, pp. <fpage>3937</fpage>&#x2013;<lpage>3978</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-40"><label>[40]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Gong</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Zhou</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Cai</surname></string-name></person-group>, &#x201C;<article-title>A Multi-operator search strategy based on cheap surrogate models for evolutionary optimization</article-title>,&#x201D; <source>IEEE Transactions on Evolutionary Computation</source>, vol. <volume>19</volume>, no. <issue>5</issue>, pp. <fpage>746</fpage>&#x2013;<lpage>758</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-41"><label>[41]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. Z.</given-names> <surname>Ali</surname></string-name>, <string-name><given-names>N. H.</given-names> <surname>Awad</surname></string-name> and <string-name><given-names>P. N.</given-names> <surname>Suganthan</surname></string-name></person-group>, &#x201C;<article-title>Multi-population differential evolution with balanced ensemble of mutation strategies for large-scale global optimization</article-title>,&#x201D; <source>Applied Soft Computing</source>, vol. <volume>33</volume>, pp. <fpage>304</fpage>&#x2013;<lpage>327</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-42"><label>[42]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Rakhshani</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Rahati</surname></string-name></person-group>, &#x201C;<article-title>Intelligent multiple search strategy cuckoo algorithm for numerical and engineering optimization problems</article-title>,&#x201D; <source>Arabian Journal for Science and Engineering</source>, vol. <volume>42</volume>, no. <issue>2</issue>, pp. <fpage>567</fpage>&#x2013;<lpage>593</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-43"><label>[43]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>T. T.</given-names> <surname>Nguyen</surname></string-name></person-group>, &#x201C;<article-title>A self-learning particle swarm optimizer for global optimization problems</article-title>,&#x201D; <source>IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics)</source>, vol. <volume>42</volume>, no. <issue>3</issue>, pp. <fpage>627</fpage>&#x2013;<lpage>646</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-44"><label>[44]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Lynn</surname></string-name> and <string-name><given-names>P. N.</given-names> <surname>Suganthan</surname></string-name></person-group>, &#x201C;<article-title>Ensemble particle swarm optimizer</article-title>,&#x201D; <source>Applied Soft Computing</source>, vol. <volume>55</volume>, pp. <fpage>533</fpage>&#x2013;<lpage>548</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-45"><label>[45]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. X.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>S. Y.</given-names> <surname>Zheng</surname></string-name> and <string-name><given-names>L. M.</given-names> <surname>Zheng</surname></string-name></person-group>, &#x201C;<article-title>An efficient multiple variants coordination framework for differential evolution</article-title>,&#x201D; <source>IEEE Transactions on Cybernetics</source>, vol. <volume>47</volume>, no. <issue>9</issue>, pp. <fpage>2780</fpage>&#x2013;<lpage>2793</lpage>, <year>2017</year>; <pub-id pub-id-type="pmid">28641274</pub-id></mixed-citation></ref>
<ref id="ref-46"><label>[46]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Thangavelu</surname></string-name> and <string-name><given-names>C. S.</given-names> <surname>Velayutham</surname></string-name></person-group>, &#x201C;<article-title>An investigation on mixing heterogeneous differential evolution variants in a distributed framework</article-title>,&#x201D; <source>International Journal of Bio-Inspired Computation</source>, vol. <volume>7</volume>, no. <issue>5</issue>, pp. <fpage>307</fpage>&#x2013;<lpage>320</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-47"><label>[47]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Shen</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Lin</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Ensemble of differential evolution variants</article-title>,&#x201D; <source>Information Sciences</source>, vol. <volume>423</volume>, pp. <fpage>172</fpage>&#x2013;<lpage>186</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-48"><label>[48]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. M.</given-names> <surname>Elsayed</surname></string-name>, <string-name><given-names>R. A.</given-names> <surname>Sarker</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Mezura-Montes</surname></string-name></person-group>, &#x201C;<article-title>Self-adaptive mix of particle swarm methodologies for constrained optimization</article-title>,&#x201D; <source>Information Sciences</source>, vol. <volume>277</volume>, pp. <fpage>216</fpage>&#x2013;<lpage>233</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-49"><label>[49]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. A.</given-names> <surname>Vrugt</surname></string-name>, <string-name><given-names>B. A.</given-names> <surname>Robinson</surname></string-name> and <string-name><given-names>J. M.</given-names> <surname>Hyman</surname></string-name></person-group>, &#x201C;<article-title>Self-adaptive multimethod search for global optimization in real-parameter spaces</article-title>,&#x201D; <source>IEEE Transactions on Evolutionary Computation</source>, vol. <volume>13</volume>, no. <issue>2</issue>, pp. <fpage>243</fpage>&#x2013;<lpage>259</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-50"><label>[50]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Xue</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zhong</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhuang</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Xu</surname></string-name></person-group>, &#x201C;<article-title>An ensemble algorithm with self-adaptive learning techniques for high-dimensional numerical optimization</article-title>,&#x201D; <source>Applied Mathematics and Computation</source>, vol. <volume>231</volume>, pp. <fpage>329</fpage>&#x2013;<lpage>346</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-51"><label>[51]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. M.</given-names> <surname>Elsayed</surname></string-name>, <string-name><given-names>R. A.</given-names> <surname>Sarker</surname></string-name> and <string-name><given-names>D. L.</given-names> <surname>Essam</surname></string-name></person-group>, &#x201C;<article-title>Adaptive configuration of evolutionary algorithms for constrained optimization</article-title>,&#x201D; <source>Applied Mathematics and Computation</source>, vol. <volume>222</volume>, pp. <fpage>680</fpage>&#x2013;<lpage>711</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-52"><label>[52]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Yao</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Lin</surname></string-name></person-group>, &#x201C;<article-title>Evolutionary programming made faster</article-title>,&#x201D; <source>IEEE Transactions on Evolutionary Computation</source>, vol. <volume>3</volume>, no. <issue>2</issue>, pp. <fpage>82</fpage>&#x2013;<lpage>102</lpage>, <year>1999</year>.</mixed-citation></ref>
<ref id="ref-53"><label>[53]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Mallipeddi</surname></string-name> and <string-name><given-names>P. N.</given-names> <surname>Suganthan</surname></string-name></person-group>, &#x201C;<article-title>Problem definitions and evaluation criteria for the CEC 2017 competition on constrained real-parameter optimization</article-title>,&#x201D; <source>Technical Report</source>, <year>2017</year>. [Online]. Available: <ext-link ext-link-type="uri" xlink:href="https://www.researchgate.net/publication/317228117_Problem_Definitions_and_Evaluation_Criteria_for_the_CEC_2017_Competition_and_Special_Session_on_Constrained_Single_Objective_Real-Parameter_Optimization">https://www.researchgate.net/publication/317228117_Problem_Definitions_and_Evaluation_Criteria_for_the_CEC_2017_Competition_and_Special_Session_on_Constrained_Single_Objective_Real-Parameter_Optimization</ext-link></mixed-citation></ref>
<ref id="ref-54"><label>[54]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. A.</given-names> <surname>Heidari</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Faris</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Aljarah</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Mafarja</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Harris hawks optimization: Algorithm and applications</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>97</volume>, pp. <fpage>849</fpage>&#x2013;<lpage>872</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-55"><label>[55]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Dhiman</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Kumar</surname></string-name></person-group>, &#x201C;<article-title>Seagull optimization algorithm: Theory and its applications for large-scale industrial engineering problems</article-title>,&#x201D; <source>Knowledge-Based Systems</source>, vol. <volume>165</volume>, pp. <fpage>169</fpage>&#x2013;<lpage>196</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-56"><label>[56]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>A. A.</given-names> <surname>Heidari</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name></person-group>, &#x201C;<article-title>Slime mold algorithm: A new method for stochastic optimization</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>111</volume>, pp. <fpage>300</fpage>&#x2013;<lpage>323</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-57"><label>[57]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Mirjalili</surname></string-name>, <string-name><given-names>A. H.</given-names> <surname>Gandomi</surname></string-name>, <string-name><given-names>S. Z.</given-names> <surname>Mirjalili</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Saremi</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Faris</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Salp swarm algorithm: A bio-inspired optimizer for engineering design problems</article-title>,&#x201D; <source>Advances in Engineering Software</source>, vol. <volume>114</volume>, pp. <fpage>163</fpage>&#x2013;<lpage>191</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-58"><label>[58]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Manta ray foraging optimization: An effective bio-inspired optimizer for engineering applications</article-title>,&#x201D; <source>Engineering Applications of Artificial Intelligence</source>, vol. <volume>87</volume>, pp. <fpage>103300</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-59"><label>[59]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Sandgren</surname></string-name></person-group>, &#x201C;<article-title>Nonlinear integer and discrete programming in mechanical design</article-title>,&#x201D; in <conf-name>Int. Design Engineering Technical Conf. and Computers and Information in Engineering Conf.</conf-name>, <conf-loc>Kissimmee, FL, USA</conf-loc>, vol. <volume>26584</volume>, pp. <fpage>95</fpage>&#x2013;<lpage>105</lpage>, <year>1988</year>.</mixed-citation></ref>
<ref id="ref-60"><label>[60]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Nowacki</surname></string-name></person-group>, &#x201C;<article-title>Optimization in pre-contract ship design</article-title>,&#x201D; in <conf-name>Int. Conf. on Computer Applications in the Automation of Shipyard Operation and Ship Design</conf-name>, <conf-loc>Tokyo, Japan</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>12</lpage>, <year>1973</year>.</mixed-citation></ref>
</ref-list>
</back></article>