<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jcc</journal-id>
      <journal-title-group>
        <journal-title>Journal of Computer and Communications</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2327-5227</issn>
      <issn pub-type="ppub">2327-5219</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jcc.2026.142004</article-id>
      <article-id pub-id-type="publisher-id">jcc-149646</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Computer Science</subject>
          <subject>Communications</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Research on Adaptive Surrogate-Assisted Evolutionary Algorithm Based on SISSO Model Selector</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Li</surname>
            <given-names>Baolei</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Qiu</surname>
            <given-names>Weizhong</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Chen</surname>
            <given-names>Chunying</given-names>
          </name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Liu</surname>
            <given-names>Xiang</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Zhao</surname>
            <given-names>Ziwei</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>You</surname>
            <given-names>Wentao</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> School of Mathematics and Computer Science, Gannan Normal University, Ganzhou, China </aff>
      <aff id="aff2"><label>2</label> School of Intelligent Manufacturing and Future Energy, Gannan Normal University, Ganzhou, China </aff>
      <aff id="aff3"><label>3</label> Shiyuan Central Primary School, Ganxian District, Ganzhou, China </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The authors declare no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>10</day>
        <month>02</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>02</month>
        <year>2026</year>
      </pub-date>
      <volume>14</volume>
      <issue>02</issue>
      <fpage>64</fpage>
      <lpage>82</lpage>
      <history>
        <date date-type="received">
          <day>20</day>
          <month>01</month>
          <year>2026</year>
        </date>
        <date date-type="accepted">
          <day>11</day>
          <month>02</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>14</day>
          <month>02</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jcc.2026.142004">https://doi.org/10.4236/jcc.2026.142004</self-uri>
      <abstract>
        <p>Surrogate-assisted evolutionary algorithms are widely used to solve expensive optimization problems due to their high search efficiency. However, a single model struggles to fit various fitness landscapes with different characteristics. How to adaptively select the most suitable model based on the problem’s fitness landscape characteristics remains an open research area. Therefore, this paper proposes an adaptive surrogate model selection framework based on an SISSO model selector. This method extracts problem features from the optimization process and dynamically selects the surrogate model most suitable for the current stage via the SISSO model selector, thereby enhancing the algorithm’s adaptability to different function characteristics. Experiments on CEC2022 test functions show that the proposed method achieves significantly lower mean errors and stable variances on most functions. Particularly on functions F10 and F11, the SISSO method reduces the mean error by more than an order of magnitude compared to methods like ElasticNet, Lars, Lasso, and Ridge, demonstrating excellent comprehensive performance.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>SISSO</kwd>
        <kwd>Evolutionary Algorithm</kwd>
        <kwd>Adaptive</kwd>
        <kwd>Features</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>In solving complex optimization problems, Evolutionary Algorithms (EAs) are widely used in material prediction fields due to their strong global search capability and black-box nature concerning the objective function [<xref ref-type="bibr" rid="B1">1</xref>][<xref ref-type="bibr" rid="B2">2</xref>]. They explore and exploit the solution space by simulating biological evolution mechanisms such as mutation, crossover, and selection [<xref ref-type="bibr" rid="B3">3</xref>]. However, with increasing computational complexity and problem dimensionality, traditional EAs face two major challenges: high computational cost and declining local search ability. Surrogate-Assisted Evolutionary Algorithms (SAEAs) improve search efficiency and solution quality by constructing approximate models of the objective function (e.g., Gaussian Process, Random Forest) to replace some expensive real evaluations, thereby reducing the number of costly real function calls [<xref ref-type="bibr" rid="B4">4</xref>]. Nevertheless, existing SAEAs mostly adopt static surrogate model strategies, making it difficult to adapt to the dynamic changes in objective function characteristics during optimization [<xref ref-type="bibr" rid="B5">5</xref>]. For example, in the early stages of hybrid objective function optimization, Random Forest might excel at capturing nonlinear relationships, but in later fine-tuning stages, Gaussian Process may have an advantage due to its uncertainty assessment capability [<xref ref-type="bibr" rid="B6">6</xref>][<xref ref-type="bibr" rid="B7">7</xref>]. To address these issues, this paper proposes an adaptive surrogate-assisted evolutionary algorithm framework based on an SISSO model selector (Adaptive Surrogate-Assisted Evolutionary Algorithm with SISSO Classifier), named SISSO-ASEA. Its core contributions are as follows:</p>
      <p>1) An adaptive selection framework based on an SISSO model selector is proposed, enabling automatic surrogate model selection.</p>
      <p>2) Based on extensive experiments, the high efficiency and effectiveness of the proposed algorithm are demonstrated.</p>
    </sec>
    <sec id="sec2">
      <title>2. Related Work</title>
      <sec id="sec2dot1">
        <title>2.1. Common Surrogate Models</title>
        <p>SAEAs are a framework for evolutionary algorithms that has garnered significant attention in recent years and has become a research hotspot for Expensive Multiobjective Optimization Problems (EMOPs) [<xref ref-type="bibr" rid="B8">8</xref>]. Commonly used surrogate models include:</p>
        <p>1) Gaussian Process Regression (GPR) [<xref ref-type="bibr" rid="B9">9</xref>]: It models the probability distribution of the objective function through kernel functions, with the output mean and covariance given by Equation (1).</p>
        <disp-formula id="FD1">
          <label>(1)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>μ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>x</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mi>k</mml:mi>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>x</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>X</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:msup>
                <mml:mi>K</mml:mi>
                <mml:mrow>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
              </mml:msup>
              <mml:mi>y</mml:mi>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:msup>
                <mml:mi>σ</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msup>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>x</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mi>k</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>x</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>x</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>−</mml:mo>
              <mml:msup>
                <mml:mi>k</mml:mi>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>x</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>X</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:msup>
                <mml:mi>K</mml:mi>
                <mml:mrow>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
              </mml:msup>
              <mml:mi>k</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>x</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>X</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <italic>k</italic><sup>T</sup> is the training data covariance matrix, and <italic>k</italic>(<italic>x</italic>, <italic>X</italic>) is the kernel function vector between the test point <italic>x</italic> and the training set <italic>X</italic>.</p>
        <p>2) Random Forest (RF) [<xref ref-type="bibr" rid="B10">10</xref>]: Random Forest predicts results through decision trees, with its output being the mean of all trees as shown in Equation (2).</p>
        <disp-formula id="FD2">
          <label>(2)</label>
          <mml:math>
            <mml:mrow>
              <mml:mover accent="true">
                <mml:mi>f</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>x</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mi>M</mml:mi>
              </mml:mfrac>
              <mml:mstyle displaystyle="true">
                <mml:msubsup>
                  <mml:mo>∑</mml:mo>
                  <mml:mrow>
                    <mml:mi>i</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mi>m</mml:mi>
                </mml:msubsup>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>T</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>x</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <italic>T</italic><italic><sub>i</sub></italic> is the predicted value of the <italic>i</italic>-th tree, and <italic>M</italic> is the number of trees.</p>
        <p>3) Support Vector Regression (SVR) [<xref ref-type="bibr" rid="B11">11</xref>]: SVR is trained by maximizing the margin and minimizing prediction errors, with its objective function given by Equation (3).</p>
        <disp-formula id="FD3">
          <label>(3)</label>
          <mml:math>
            <mml:mtable columnalign="left">
              <mml:mtr>
                <mml:mtd>
                  <mml:munder>
                    <mml:mrow>
                      <mml:mi>min</mml:mi>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mi>w</mml:mi>
                      <mml:mo>,</mml:mo>
                      <mml:mi>b</mml:mi>
                    </mml:mrow>
                  </mml:munder>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mn>2</mml:mn>
                  </mml:mfrac>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mo>‖</mml:mo>
                      <mml:mi>w</mml:mi>
                      <mml:mo>‖</mml:mo>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                  <mml:mo>+</mml:mo>
                  <mml:mi>c</mml:mi>
                  <mml:mstyle displaystyle="true">
                    <mml:msubsup>
                      <mml:mo>∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>i</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>n</mml:mi>
                    </mml:msubsup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>ε</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mo>+</mml:mo>
                          <mml:msubsup>
                            <mml:mi>ε</mml:mi>
                            <mml:mi>i</mml:mi>
                            <mml:mo>*</mml:mo>
                          </mml:msubsup>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mstyle>
                </mml:mtd>
              </mml:mtr>
              <mml:mtr>
                <mml:mtd>
                  <mml:mtext>s</mml:mtext>
                  <mml:mtext>.t</mml:mtext>
                  <mml:mo>.</mml:mo>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:msub>
                    <mml:mi>y</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mo>−</mml:mo>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msup>
                        <mml:mi>w</mml:mi>
                        <mml:mtext>T</mml:mtext>
                      </mml:msup>
                      <mml:mi>ϕ</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                      <mml:mo>−</mml:mo>
                      <mml:mi>b</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>≤</mml:mo>
                  <mml:mi>ε</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:msub>
                    <mml:mi>ξ</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                </mml:mtd>
              </mml:mtr>
              <mml:mtr>
                <mml:mtd>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:mtext>
                     
                  </mml:mtext>
                  <mml:msup>
                    <mml:mi>w</mml:mi>
                    <mml:mtext>T</mml:mtext>
                  </mml:msup>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>+</mml:mo>
                  <mml:mi>b</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:msub>
                    <mml:mi>y</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mo>≤</mml:mo>
                  <mml:mi>ε</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mi>ξ</mml:mi>
                </mml:mtd>
              </mml:mtr>
            </mml:mtable>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:mi> ϕ </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the kernel mapping function, <inline-formula><mml:math><mml:mi> ε </mml:mi></mml:math></inline-formula> is the tolerance error, and <inline-formula><mml:math><mml:mi> ξ </mml:mi></mml:math></inline-formula> is the slack variable.</p>
      </sec>
      <sec id="sec2dot2">
        <title>2.2. Heterogeneous Surrogate Models</title>
        <p>To compare the tendencies and limitations of different heterogeneous surrogate models, based on <bold>Table 1</bold>, this paper statistically summarizes the tendency characteristics of Gaussian Process Regression, Random Forest, Support Vector Regression, etc., in terms of problem dimensionality, smoothness, complexity, etc., as listed in <bold>Table 1</bold>. </p>
        <p>Table 1. Applicability analysis of heterogeneous surrogate models.</p>
        <table-wrap id="tbl1">
          <label>Table 1</label>
          <table>
            <tbody>
              <tr>
                <td>Model</td>
                <td>Inclined Problem Characteristics</td>
                <td>Limiting Problem Characteristics</td>
              </tr>
              <tr>
                <td>Gaussian Process Regression</td>
                <td>Highly smooth objective function.</td>
                <td>Computational cost increases significantly with higher problem dimensions.</td>
              </tr>
              <tr>
                <td>Random Forest</td>
                <td>Objective function exhibits strong nonlinearity.</td>
                <td>Predictions may be unreliable near the boundaries of the search space.</td>
              </tr>
              <tr>
                <td>Support Vector Regression</td>
                <td>Objective function may contain data noise</td>
                <td>Training time can be long.</td>
              </tr>
              <tr>
                <td>LightGBM</td>
                <td>Complex nonlinear objective function.</td>
                <td>Prone to overfitting with small datasets.</td>
              </tr>
              <tr>
                <td>Bayesian Ridge</td>
                <td>Objective function has high smoothness index</td>
                <td>Limited ability to fit complex functional relationships.</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. Adaptive Selection Algorithm Based on SISSO</title>
      <sec id="sec3dot1">
        <title>3.1. Algorithm Workflow</title>
        <p>The overall workflow of the proposed adaptive surrogate model selection framework based on the SISSO model selector is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p>
        <p>Step 1: Determine basic function characteristics. Select 15 representative basic functions (F1 - F15) from the optimization function library, covering different types such as unimodal, multimodal, hybrid, and composite. For each basic function, perform uniform random sampling, with the sample size gradually increasing from 10 to 200. For the sampled data under each sample size, compute eight feature values: mean of objective values, standard deviation, skewness and kurtosis, correlation strength, nonlinear index, smoothness index, and ruggedness index. Observe the trend of each feature value for each basic function as the sample size increases, plot the feature-value vs. sample-size change curve, and analyze the convergence of the feature values. The feature value at convergence is taken as the function’s characteristic value.</p>
        <fig id="fig1">
          <label>Figure 1</label>
          <graphic xlink:href="https://html.scirp.org/file/1733446-rId27.jpeg?20260214115255" />
        </fig>
        <p>Figure 1. Overall workflow of adaptive surrogate model selection framework based on sisso model selector.</p>
        <p>Step 2: Determine the optimal model for basic functions. First, select 12 candidate surrogate models (M1 - M12). For each basic function, use the RandomizedSearchCV() method from the sklearn library to optimize model parameters within a defined hyperparameter grid, determining the optimal parameters for each model fitting each function. Using the optimized surrogate models, perform five-fold [cross-validation] {.mark} on the 15 basic functions, and count the distribution of core parameters where each model performs best across all functions. Under the optimal parameter configuration, re-evaluate the performance of each model under different sample sizes. The model that does not change when the sample size increases sufficiently is considered the optimal model for the basic function.</p>
        <p>Step 3: Implementation of the SISSO model selector. Evaluate the surrogate models’ fitting effectiveness on test functions using the R<sup>2</sup> metric, obtaining an R<sup>2</sup> performance matrix for each model on the basic functions. Based on R<sup>2</sup> values, calculate the Euclidean distance between models to construct a model correlation matrix. Build a complete graph with models as nodes and Euclidean distances as edge weights. First, transform the model numbering problem into a Traveling Salesman Problem to find the shortest traversal path. Number the models according to their order on the shortest path. Use the SISSO algorithm to obtain a mapping function from the 8 features to 5 model numbers, implementing model selection.</p>
      </sec>
      <sec id="sec3dot2">
        <title>3.2. Algorithm Implementation</title>
        <p>3.2.1. Initial Sampling</p>
        <p>Use Symmetric Latin Hypercube Design (SLHD) to generate initial sample points [<xref ref-type="bibr" rid="B12">12</xref>].</p>
        <disp-formula id="FD4">
          <label>(4)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>X</mml:mi>
                <mml:mrow>
                  <mml:mi>i</mml:mi>
                  <mml:mi>n</mml:mi>
                  <mml:mi>i</mml:mi>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mrow>
                <mml:mo>{</mml:mo>
                <mml:mrow>
                  <mml:msup>
                    <mml:mi>x</mml:mi>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mn>1</mml:mn>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msup>
                  <mml:mo>,</mml:mo>
                  <mml:msup>
                    <mml:mi>x</mml:mi>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mn>2</mml:mn>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msup>
                  <mml:mo>,</mml:mo>
                  <mml:mo>⋯</mml:mo>
                  <mml:mo>,</mml:mo>
                  <mml:msup>
                    <mml:mi>x</mml:mi>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mi>n</mml:mi>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msup>
                </mml:mrow>
                <mml:mo>}</mml:mo>
              </mml:mrow>
              <mml:mo>⊂</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>[</mml:mo>
                    <mml:mrow>
                      <mml:mi>l</mml:mi>
                      <mml:mo>,</mml:mo>
                      <mml:mi>u</mml:mi>
                    </mml:mrow>
                    <mml:mo>]</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mi>d</mml:mi>
              </mml:msup>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where, <italic>x</italic><sup>(</sup><italic><sup>n</sup></italic><sup>)</sup> is the <italic>n</italic>-th sample point, <italic>l</italic> is the lower bound of variables, <italic>u</italic> is the upper bound of variables, and <italic>d</italic> is the problem dimensionality.</p>
        <p>3.2.2. Feature Extraction Technique</p>
        <p>Extract multi-dimensional features from the problem and sampled data. Problem structural features: dimensionality, search space volume, boundary range. Data statistical features: mean of objective values, standard deviation, skewness, kurtosis. Function characteristic features: correlation strength, nonlinear index, smoothness index, ruggedness index [<xref ref-type="bibr" rid="B13">13</xref>][<xref ref-type="bibr" rid="B14">14</xref>].</p>
        <p>For a given optimization problem, let the variable dimensionality be <italic>d</italic>, the lower variable bound be <italic>l</italic>, the upper bound be <italic>u</italic>, the initial sample points be <italic>X</italic>, and the objective values be <italic>y</italic>. Feature extraction can be uniformly expressed as:</p>
        <disp-formula id="FD5">
          <label>(5)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>m</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mi>ϕ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>X</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>y</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>l</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>u</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>d</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <italic>m</italic> is the feature vector, and <inline-formula><mml:math><mml:mrow><mml:mi> ϕ </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mo> • </mml:mo><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> represents the feature extraction operator.</p>
        <p>① Problem structural features. Include dimensionality, space volume, boundary range. Define the problem structural feature vector as:</p>
        <disp-formula id="FD6">
          <label>(6)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>m</mml:mi>
                <mml:mrow>
                  <mml:mi>s</mml:mi>
                  <mml:mi>t</mml:mi>
                  <mml:mi>r</mml:mi>
                  <mml:mi>u</mml:mi>
                  <mml:mi>c</mml:mi>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>d</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>log</mml:mi>
                  <mml:mi>V</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>R</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where space volume and boundary range can be expressed as:</p>
        <disp-formula id="FD7">
          <label>(7)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>V</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mstyle displaystyle="true">
                <mml:msubsup>
                  <mml:mo>∏</mml:mo>
                  <mml:mrow>
                    <mml:mi>i</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mi>d</mml:mi>
                </mml:msubsup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>u</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mi>l</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD8">
          <label>(8)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>R</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mi>d</mml:mi>
              </mml:mfrac>
              <mml:mstyle displaystyle="true">
                <mml:msubsup>
                  <mml:mo>∑</mml:mo>
                  <mml:mrow>
                    <mml:mi>i</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mi>d</mml:mi>
                </mml:msubsup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>u</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mi>l</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>② Sampled data statistical features. Include mean of objective values f1, standard deviation f2, skewness f3, kurtosis f4. Define the data statistical feature vector as:</p>
        <disp-formula id="FD9">
          <label>(9)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>m</mml:mi>
                <mml:mrow>
                  <mml:mi>d</mml:mi>
                  <mml:mi>a</mml:mi>
                  <mml:mi>t</mml:mi>
                  <mml:mi>a</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mover accent="true">
                    <mml:mi>y</mml:mi>
                    <mml:mo>¯</mml:mo>
                  </mml:mover>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>σ</mml:mi>
                    <mml:mi>y</mml:mi>
                  </mml:msub>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>γ</mml:mi>
                    <mml:mn>1</mml:mn>
                  </mml:msub>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>γ</mml:mi>
                    <mml:mn>2</mml:mn>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where the skewness coefficient and kurtosis coefficient are respectively:</p>
        <disp-formula id="FD10">
          <label>(10)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>γ</mml:mi>
                <mml:mn>1</mml:mn>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mi>n</mml:mi>
                  </mml:mfrac>
                  <mml:msubsup>
                    <mml:mstyle mathsize="140%" displaystyle="true">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>i</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>n</mml:mi>
                  </mml:msubsup>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:mover accent="true">
                            <mml:mi>y</mml:mi>
                            <mml:mo>¯</mml:mo>
                          </mml:mover>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>3</mml:mn>
                  </mml:msup>
                </mml:mrow>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>σ</mml:mi>
                    <mml:mi>y</mml:mi>
                    <mml:mn>3</mml:mn>
                  </mml:msubsup>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD11">
          <label>(11)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>γ</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mi>n</mml:mi>
                  </mml:mfrac>
                  <mml:msubsup>
                    <mml:mstyle mathsize="140%" displaystyle="true">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>i</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>n</mml:mi>
                  </mml:msubsup>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:mover accent="true">
                            <mml:mi>y</mml:mi>
                            <mml:mo>¯</mml:mo>
                          </mml:mover>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>4</mml:mn>
                  </mml:msup>
                </mml:mrow>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>σ</mml:mi>
                    <mml:mi>y</mml:mi>
                    <mml:mn>4</mml:mn>
                  </mml:msubsup>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>③ Function characteristic features. Include correlation strength f5, nonlinear index f6, smoothness index f7. Define the function characteristic feature vector as:</p>
        <disp-formula id="FD12">
          <label>(12)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>m</mml:mi>
                <mml:mrow>
                  <mml:mi>f</mml:mi>
                  <mml:mi>u</mml:mi>
                  <mml:mi>n</mml:mi>
                  <mml:mi>c</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>ρ</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>η</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>ξ</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Correlation strength (<italic>ρ</italic>): This feature measures the degree of linear correlation between input variables, with the formula as follows.</p>
        <disp-formula id="FD13">
          <label>(13)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>ρ</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mrow>
                  <mml:mi>d</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mi>d</mml:mi>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mfrac>
              <mml:mstyle displaystyle="true">
                <mml:msub>
                  <mml:mo>∑</mml:mo>
                  <mml:mrow>
                    <mml:mi>i</mml:mi>
                    <mml:mo>≠</mml:mo>
                    <mml:mi>j</mml:mi>
                  </mml:mrow>
                </mml:msub>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>|</mml:mo>
                    <mml:mrow>
                      <mml:mi>c</mml:mi>
                      <mml:mi>o</mml:mi>
                      <mml:mi>r</mml:mi>
                      <mml:mi>r</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>X</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mo>,</mml:mo>
                          <mml:msub>
                            <mml:mi>X</mml:mi>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>|</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mstyle>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where, <inline-formula><mml:math><mml:mrow><mml:mi> c </mml:mi><mml:mi> o </mml:mi><mml:mi> r </mml:mi><mml:mi> r </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:msub><mml:mi> X </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> X </mml:mi><mml:mi> j </mml:mi></mml:msub></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the Pearson correlation coefficient between the <italic>i</italic>-th and <italic>j</italic>-th dimension variables, given by:</p>
        <disp-formula id="FD14">
          <label>(14)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>c</mml:mi>
              <mml:mi>o</mml:mi>
              <mml:mi>r</mml:mi>
              <mml:mi>r</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>X</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>X</mml:mi>
                    <mml:mi>j</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mstyle mathsize="140%" displaystyle="true">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>k</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>n</mml:mi>
                  </mml:msubsup>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mrow>
                          <mml:mi>i</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>k</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mover accent="true">
                          <mml:mi>x</mml:mi>
                          <mml:mo>¯</mml:mo>
                        </mml:mover>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>x</mml:mi>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>k</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mover accent="true">
                          <mml:mi>x</mml:mi>
                          <mml:mo>¯</mml:mo>
                        </mml:mover>
                        <mml:mi>j</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mrow>
                  <mml:msqrt>
                    <mml:mrow>
                      <mml:msubsup>
                        <mml:mstyle mathsize="140%" displaystyle="true">
                          <mml:mo>∑</mml:mo>
                        </mml:mstyle>
                        <mml:mrow>
                          <mml:mi>k</mml:mi>
                          <mml:mo>=</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>n</mml:mi>
                      </mml:msubsup>
                      <mml:msup>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>,</mml:mo>
                                  <mml:mi>k</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mover accent="true">
                                  <mml:mi>x</mml:mi>
                                  <mml:mo>¯</mml:mo>
                                </mml:mover>
                                <mml:mi>i</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mn>2</mml:mn>
                      </mml:msup>
                    </mml:mrow>
                  </mml:msqrt>
                  <mml:msqrt>
                    <mml:mrow>
                      <mml:msubsup>
                        <mml:mstyle mathsize="140%" displaystyle="true">
                          <mml:mo>∑</mml:mo>
                        </mml:mstyle>
                        <mml:mrow>
                          <mml:mi>k</mml:mi>
                          <mml:mo>=</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>n</mml:mi>
                      </mml:msubsup>
                      <mml:msup>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mrow>
                                  <mml:mi>j</mml:mi>
                                  <mml:mo>,</mml:mo>
                                  <mml:mi>k</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mover accent="true">
                                  <mml:mi>x</mml:mi>
                                  <mml:mo>¯</mml:mo>
                                </mml:mover>
                                <mml:mi>j</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mn>2</mml:mn>
                      </mml:msup>
                    </mml:mrow>
                  </mml:msqrt>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here, <italic>n</italic> is the sample size, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> x </mml:mi><mml:mo> ¯ </mml:mo></mml:mover><mml:mi> i </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> x </mml:mi><mml:mo> ¯ </mml:mo></mml:mover><mml:mi> j </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the sample means of the<italic>i</italic>-th and <italic>j</italic>-th dimensions, respectively.</p>
        <p>Nonlinear index (<italic>η</italic>): This feature measures the degree of nonlinearity of the objective function, obtained by comparing the mean squared error (MSE) of linear and nonlinear models.</p>
        <disp-formula id="FD15">
          <label>(15)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>η</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:msub>
                    <mml:mrow>
                      <mml:mtext>MSE</mml:mtext>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mtext>linear</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>−</mml:mo>
                  <mml:msub>
                    <mml:mrow>
                      <mml:mtext>MSE</mml:mtext>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mtext>nonlinear</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
                <mml:mrow>
                  <mml:msub>
                    <mml:mrow>
                      <mml:mtext>MSE</mml:mtext>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mtext>linear</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here, MSE<sub>linear</sub> is the MSE of a linear model on the samples, and MSE<sub>nonlinear</sub> is the MSE of a nonlinear model on the samples. Typically, a linear model and a nonlinear model are trained on the sample data, their MSE on the training samples is calculated, and then the nonlinear index η is computed. If the result is negative, it is set to 0.</p>
        <p>Smoothness index (<italic>ξ</italic>): This feature measures the smoothness of the objective function in the input space, obtained by calculating the rate of change of the objective function value between sample points.</p>
        <disp-formula id="FD16">
          <label>(16)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>ξ</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>+</mml:mo>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>N</mml:mi>
                        <mml:mi>p</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                  </mml:mfrac>
                  <mml:msub>
                    <mml:mstyle mathsize="140%" displaystyle="true">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>i</mml:mi>
                      <mml:mo>&lt;</mml:mo>
                      <mml:mi>j</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mfrac>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>|</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>|</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>‖</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>x</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mi>x</mml:mi>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>‖</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mfrac>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> N </mml:mi><mml:mi> p </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mi> n </mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn> 2 </mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo> ) </mml:mo></mml:mrow><mml:mo> = </mml:mo><mml:mfrac><mml:mrow><mml:mi> n </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> n </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow><mml:mn> 2 </mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula> is the number of sample point pairs (<italic>i.e.</italic>, all pairwise </p>
        <p>combinations), <italic>y</italic><italic><sub>i</sub></italic> and <italic>y</italic><italic><sub>j</sub></italic> are the objective function values of sample points <italic>X</italic><italic><sub>i</sub></italic> and <italic>X</italic><italic><sub>j</sub></italic> respectively, <inline-formula><mml:math><mml:mrow><mml:mrow><mml:mo> ‖ </mml:mo><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mi> i </mml:mi></mml:msub><mml:mo> − </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mi> j </mml:mi></mml:msub></mml:mrow><mml:mo> ‖ </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the Euclidean distance between sample points, <italic>i.e.</italic>:</p>
        <disp-formula id="FD17">
          <label>(17)</label>
          <mml:math>
            <mml:mrow>
              <mml:mrow>
                <mml:mo>‖</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>x</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mo>−</mml:mo>
                  <mml:msub>
                    <mml:mi>x</mml:mi>
                    <mml:mi>j</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>‖</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:msqrt>
                <mml:mrow>
                  <mml:mstyle displaystyle="true">
                    <mml:msubsup>
                      <mml:mo>∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>k</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>d</mml:mi>
                    </mml:msubsup>
                    <mml:mrow>
                      <mml:msup>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mrow>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>,</mml:mo>
                                  <mml:mi>k</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mrow>
                                  <mml:mi>j</mml:mi>
                                  <mml:mo>,</mml:mo>
                                  <mml:mi>k</mml:mi>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mn>2</mml:mn>
                      </mml:msup>
                    </mml:mrow>
                  </mml:mstyle>
                </mml:mrow>
              </mml:msqrt>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Ruggedness index (<italic>r</italic>): The ruggedness index f8 is an indicator used to quantify the complexity or irregularity of the local structure of an optimization problem’s objective function surface. It reflects how “sharp” or “chaotic” the function’s variation is within a small region.</p>
        <disp-formula id="FD18">
          <label>(18)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>r</mml:mi>
                <mml:mi>k</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mtext>Var</mml:mtext>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msubsup>
                        <mml:mi>λ</mml:mi>
                        <mml:mn>1</mml:mn>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mi>k</mml:mi>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo>,</mml:mo>
                      <mml:msubsup>
                        <mml:mi>λ</mml:mi>
                        <mml:mn>2</mml:mn>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mi>k</mml:mi>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo>,</mml:mo>
                      <mml:mo>⋯</mml:mo>
                      <mml:mo>,</mml:mo>
                      <mml:msubsup>
                        <mml:mi>λ</mml:mi>
                        <mml:mi>n</mml:mi>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mi>k</mml:mi>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msubsup>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mrow>
                  <mml:mtext>Mean</mml:mtext>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msubsup>
                        <mml:mi>λ</mml:mi>
                        <mml:mn>1</mml:mn>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mi>k</mml:mi>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo>,</mml:mo>
                      <mml:msubsup>
                        <mml:mi>λ</mml:mi>
                        <mml:mn>2</mml:mn>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mi>k</mml:mi>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo>,</mml:mo>
                      <mml:mo>⋯</mml:mo>
                      <mml:mo>,</mml:mo>
                      <mml:msubsup>
                        <mml:mi>λ</mml:mi>
                        <mml:mi>n</mml:mi>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mi>k</mml:mi>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msubsup>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mfrac>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here <inline-formula><mml:math><mml:mrow><mml:msubsup><mml:mi> λ </mml:mi><mml:mi> i </mml:mi><mml:mrow><mml:mrow><mml:mo> ( </mml:mo><mml:mi> k </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> represents the local eigenvalues calculated for the <italic>k</italic>-th sampling point or within a certain sub-region, Var denotes variance, and Mean denotes the mean.</p>
      </sec>
      <sec id="sec3dot3">
        <title>3.3. Basic Functions</title>
        <p>Test functions have fitness landscapes with different characteristics, which also leads to inconsistent performance of a single model fitting different test functions. Analyzing the characteristics of basic functions and determining the most suitable surrogate models is the foundation for adaptively selecting surrogate models based on optimization problem features. The basic functions used in this paper are listed in <bold>Table 2</bold>, numbered F1 - F15 sequentially from the Zakharov function to the Griewank function.</p>
        <p>Table 2. Basic function information table.</p>
        <table-wrap id="tbl2">
          <label>Table 2</label>
          <table>
            <tbody>
              <tr>
                <td>Functions</td>
                <td>Function ID</td>
                <td>Description</td>
                <td>Variable Range</td>
                <td>Dimensions</td>
                <td>Optimal Value</td>
              </tr>
              <tr>
                <td>Zakharov</td>
                <td>F1</td>
                <td>Function containing linear and quadratic terms</td>
                <td>[−5, 10]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Rosenbrock</td>
                <td>F2</td>
                <td>Classic “banana” function with a narrow parabolic valley</td>
                <td>[−2.048, 2.048]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Schaffer F7</td>
                <td>F3</td>
                <td>Highly multimodal function with numerous local optima</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Rastrigin</td>
                <td>F4</td>
                <td>Cosine-modulated multimodal function with many local optima</td>
                <td>[−5.12, 5.12]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Levy</td>
                <td>F5</td>
                <td>Multimodal function with oscillatory characteristics</td>
                <td>[−10, 10]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Bent Cigar</td>
                <td>F6</td>
                <td>Elliptic paraboloid function with very high condition number</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>HGBat</td>
                <td>F7</td>
                <td>Hyper-ellipsoid bat function with multiple local optima</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Katsuura</td>
                <td>F8</td>
                <td>Highly multimodal function with numerous local optima</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Ackley</td>
                <td>F9</td>
                <td>Function with an almost flat region and many local optima</td>
                <td>[−32, 32]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Modified Schwefel</td>
                <td>F10</td>
                <td>Modified version of the Schwefel function</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Happy Cat</td>
                <td>F11</td>
                <td>Complex function with multiple local optima</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Griewank- Rosenbrock</td>
                <td>F12</td>
                <td>Combined function of Griewank and Rosenbrock</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Elliptic</td>
                <td>F13</td>
                <td>Axis-aligned quadratic function</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Discus</td>
                <td>F14</td>
                <td>Elliptic paraboloid function with large condition number</td>
                <td>[−100, 100]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
              <tr>
                <td>Griewank</td>
                <td>F15</td>
                <td>Highly multimodal function with many regularly distributed local optima</td>
                <td>[−600, 600]</td>
                <td>2/6/10</td>
                <td>0</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec3dot4">
        <title>3.4. Feature Extraction for Basic Functions</title>
        <p>To determine the characteristic value of each basic function, statistical experiments were conducted. As the sample size increases, the function feature values tend to stabilize, and the value at this point is taken as the function’s characteristic value. Research found that when the sample size reaches 200, the function value tends to stabilize. Statistics in <bold>Table 3</bold> show the feature values of basic functions when the random sample size is 200.</p>
      </sec>
      <sec id="sec3dot5">
        <title>3.5. Determination of Optimal Parameters</title>
        <p>The experimental scheme for determining optimal parameters adopted a random search method to identify optimal parameters for multiple machine learning models. Random search randomly selects parameter combinations within a defined parameter grid and evaluates model performance via cross-validation, using the RandomizedSearchCV method from the sklearn.model_selection package. This method is more efficient than grid search because it does not evaluate all possible parameter combinations but randomly selects combinations within a specified number of iterations, aiming to find good parameter configurations in a shorter time. Each model performed corresponding parameter search and best parameter selection for the 15 functions. The core parameter distribution refers to the most frequently occurring value for each individual parameter across all functions, and the optimal parameter combination refers to the most frequently occurring single set of parameters. This combination is used as a reference for subsequent experiments. <bold>Table 4</bold> provides the optimal parameters for each model, which are used in all subsequent experiments.</p>
        <p>Table 3. Feature values of basic functions with random sample size of 200.</p>
        <table-wrap id="tbl3">
          <label>Table 3</label>
          <table>
            <tbody>
              <tr>
                <td>Func</td>
                <td>Mean Std</td>
                <td>Dev</td>
                <td>Skewness</td>
                <td>Kurtosis</td>
                <td>Correl</td>
                <td>Nonlin</td>
                <td>Smooth</td>
                <td>Rugged</td>
              </tr>
              <tr>
                <td>F1</td>
                <td>3.43E+03</td>
                <td>6.58E+03</td>
                <td>2.65E+00</td>
                <td>7.14E+00</td>
                <td>5.00E−02</td>
                <td>1.69E+00</td>
                <td>0.00E+00</td>
                <td>1.92E+00</td>
              </tr>
              <tr>
                <td>F2</td>
                <td>4.60E+02</td>
                <td>5.88E+02</td>
                <td>2.20E+00</td>
                <td>4.98E+00</td>
                <td>4.00E−02</td>
                <td>1.71E+00</td>
                <td>0.00E+00</td>
                <td>1.27E+00</td>
              </tr>
              <tr>
                <td>F3</td>
                <td>1.79E+02</td>
                <td>1.06E+02</td>
                <td>6.70E−01</td>
                <td>−5.00E−01</td>
                <td>7.00E−02</td>
                <td>1.72E+00</td>
                <td>0.00E+00</td>
                <td>5.90E−01</td>
              </tr>
              <tr>
                <td>F4</td>
                <td>3.75E+01</td>
                <td>1.46E+01</td>
                <td>0.00E+00</td>
                <td>−2.00E−02</td>
                <td>5.00E−02</td>
                <td>1.77E+00</td>
                <td>4.00E−02</td>
                <td>3.80E−01</td>
              </tr>
              <tr>
                <td>F5</td>
                <td>1.73E+01</td>
                <td>1.70E+01</td>
                <td>1.67E+00</td>
                <td>2.49E+00</td>
                <td>5.00E−02</td>
                <td>1.74E+00</td>
                <td>3.00E−02</td>
                <td>9.80E−01</td>
              </tr>
              <tr>
                <td>F6</td>
                <td>3.28E+09</td>
                <td>2.88E+09</td>
                <td>6.40E−01</td>
                <td>−8.20E−01</td>
                <td>6.00E−02</td>
                <td>1.71E+00</td>
                <td>2.45E−10</td>
                <td>8.70E−01</td>
              </tr>
              <tr>
                <td>F7</td>
                <td>8.61E+03</td>
                <td>5.26E+03</td>
                <td>5.20E−01</td>
                <td>−2.50E−01</td>
                <td>5.00E−02</td>
                <td>1.74E+00</td>
                <td>0.00E+00</td>
                <td>6.10E−01</td>
              </tr>
              <tr>
                <td>F8</td>
                <td>4.10E+01</td>
                <td>2.21E+01</td>
                <td>1.00E−02</td>
                <td>−1.24E+00</td>
                <td>4.00E−02</td>
                <td>1.75E+00</td>
                <td>3.00E−02</td>
                <td>5.30E−01</td>
              </tr>
              <tr>
                <td>F9</td>
                <td>9.83E+00</td>
                <td>2.51E+00</td>
                <td>−8.40E−01</td>
                <td>7.30E−01</td>
                <td>5.00E−02</td>
                <td>1.75E+00</td>
                <td>2.10E−01</td>
                <td>2.50E−01</td>
              </tr>
              <tr>
                <td>F10</td>
                <td>6.37E+02</td>
                <td>3.36E+02</td>
                <td>2.50E−01</td>
                <td>−4.70E−01</td>
                <td>3.00E−02</td>
                <td>1.74E+00</td>
                <td>0.00E+00</td>
                <td>5.20E−01</td>
              </tr>
              <tr>
                <td>F11</td>
                <td>1.73E+03</td>
                <td>1.05E+03</td>
                <td>5.20E−01</td>
                <td>−2.90E−01</td>
                <td>4.00E−02</td>
                <td>1.74E+00</td>
                <td>0.00E+00</td>
                <td>6.00E−01</td>
              </tr>
              <tr>
                <td>F12</td>
                <td>3.23E+15</td>
                <td>5.56E+15</td>
                <td>1.91E+00</td>
                <td>2.77E+00</td>
                <td>4.00E−02</td>
                <td>1.72E+00</td>
                <td>1.25E−16</td>
                <td>1.72E+00</td>
              </tr>
              <tr>
                <td>F13</td>
                <td>3.28E+09</td>
                <td>2.88E+09</td>
                <td>6.40E−01</td>
                <td>−8.20E−01</td>
                <td>6.00E−02</td>
                <td>1.71E+00</td>
                <td>2.45E−10</td>
                <td>8.70E−01</td>
              </tr>
              <tr>
                <td>F14</td>
                <td>3.61E+09</td>
                <td>3.09E+09</td>
                <td>4.90E−01</td>
                <td>−1.17E+00</td>
                <td>4.00E−02</td>
                <td>1.72E+00</td>
                <td>2.24E−10</td>
                <td>8.50E−01</td>
              </tr>
              <tr>
                <td>F15</td>
                <td>6.31E+01</td>
                <td>3.79E+01</td>
                <td>5.20E−01</td>
                <td>−2.50E−01</td>
                <td>5.00E−02</td>
                <td>1.74E+00</td>
                <td>1.00E−02</td>
                <td>6.00E−01</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Table 4. Optimal parameter table for each model.</p>
        <table-wrap id="tbl4">
          <label>Table 4</label>
          <table>
            <tbody>
              <tr>
                <td>Model ID</td>
                <td>Model</td>
                <td>Optimal Parameters</td>
              </tr>
              <tr>
                <td>M1</td>
                <td>AdaBoostRegressor</td>
                <td>‘estimator’: DecisionTreeRegressor(max_depth=5),‘n_estimators’: 200,‘loss’: ‘exponential’,‘learning_rate’: 1.0,‘random_state’: 42</td>
              </tr>
              <tr>
                <td>M2</td>
                <td>GBR</td>
                <td>‘alpha’: 0.1,‘learning_rate’: 0.05,‘loss’: ‘huber’,‘max_depth’: 2,‘max_features’: None,‘min_samples_leaf’: 1,‘min_samples_split’: 5,‘n_estimators’: 500,‘random_state’: 42,‘subsample’: 0.9</td>
              </tr>
              <tr>
                <td>M3</td>
                <td>GPR</td>
                <td>alpha: 1e-05kernel: 1**2 * RBF(length_scale=1)normalize_y: Trueoptimizer: fmin_l_bfgs_brandom_state: 42</td>
              </tr>
              <tr>
                <td>M4</td>
                <td>KernelRidge</td>
                <td>alpha: 0.01,coef0: 1.0,degree: 3,gamma: 0.1,kernel: poly</td>
              </tr>
              <tr>
                <td>M5</td>
                <td>KNR</td>
                <td>‘algorithm’: ‘auto’,‘leaf_size’: 20,‘metric’: ‘euclidean’,‘metric_params’: None,‘n_jobs’: -1,‘n_neighbors’: 3,‘p’: 4,‘weights’: ‘distance’</td>
              </tr>
              <tr>
                <td>M6</td>
                <td>LassoLars</td>
                <td>‘alpha’: 10.0,‘fit_intercept’: True,‘max_iter’: 1000,‘normalize’: True</td>
              </tr>
              <tr>
                <td>M7</td>
                <td>LGB</td>
                <td>‘colsample_bytree’: 0.6,‘learning_rate’: 0.1,‘max_depth’: 3,‘n_estimators’: 100,‘num_leaves’: 15,‘reg_alpha’: 0.1,‘reg_lambda’: 0,‘subsample’: 0.9</td>
              </tr>
              <tr>
                <td>M8</td>
                <td>LinearRegression</td>
                <td>‘fit_intercept’: True,‘positive’: True,‘tol’: 0.001</td>
              </tr>
              <tr>
                <td>M9</td>
                <td>MLPRegressor</td>
                <td>‘hidden_layer_sizes’: (50,),‘activation’: ‘relu’,‘solver’: ‘adam’,‘alpha’: 0.001,‘learning_rate’: ‘constant’,‘max_iter’: 1000</td>
              </tr>
              <tr>
                <td>M10</td>
                <td>RFR</td>
                <td>‘n_estimators’: 200,‘max_depth’: None,‘min_samples_split’: 2,‘min_samples_leaf’: 1,‘max_features’: ‘log2’</td>
              </tr>
              <tr>
                <td>M11</td>
                <td>SGDRegressor</td>
                <td>‘alpha’: 0.1,‘eta0’: 1.0,‘learning_rate’: ‘constant’,‘loss’: ‘epsilon_insensitive’,‘max_iter’: 1000,‘penalty’: ‘l1’,‘shuffle’: True</td>
              </tr>
              <tr>
                <td>M12</td>
                <td>SVR</td>
                <td>‘C’: 100.0,‘epsilon’: 0.1,‘gamma’: ‘scale’,‘kernel’: ‘rbf’</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Based on the determined optimal model parameters, statistical experiments were conducted to determine the optimal model for each function under different sample size conditions. Both training and test sets were generated using uniform random sampling, with the test set remaining consistent after generation. <bold>Table 5</bold> lists the optimal models for basic functions as the sample size changes. The table shows that the optimal model stabilizes when the experimental sample size reaches 200.</p>
        <p>Table 5. Optimal models for basic functions.</p>
        <table-wrap id="tbl5">
          <label>Table 5</label>
          <table>
            <tbody>
              <tr>
                <td>
                </td>
                <td>F1</td>
                <td>F2</td>
                <td>F3</td>
                <td>Z</td>
                <td>F4</td>
                <td>F5</td>
                <td>F6</td>
                <td>F7</td>
                <td>F8</td>
                <td>F9</td>
                <td>F10</td>
                <td>F11</td>
                <td>F12</td>
                <td>F13</td>
                <td>F14</td>
                <td>F15</td>
              </tr>
              <tr>
                <td>10</td>
                <td>M4</td>
                <td>M10</td>
                <td>M3</td>
                <td>
                </td>
                <td>M4</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M3</td>
                <td>M9</td>
                <td>M2</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>20</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M8</td>
                <td>M9</td>
                <td>M4</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>30</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M4</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M7</td>
                <td>M9</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>40</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M7</td>
                <td>M9</td>
                <td>M3</td>
                <td>M3</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>50</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M11</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>60</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>70</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>80</td>
                <td>M3</td>
                <td>M3</td>
                <td>M4</td>
                <td>
                </td>
                <td>M2</td>
                <td>M2</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M3</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>90</td>
                <td>M3</td>
                <td>M3</td>
                <td>M4</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M3</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>100</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>110</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M3</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>120</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>130</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M4</td>
                <td>M8</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>140</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>150</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>160</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M6</td>
                <td>M12</td>
                <td>M3</td>
                <td>M4</td>
                <td>M3</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>170</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M2</td>
                <td>M1</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M10</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>180</td>
                <td>M3</td>
                <td>M3</td>
                <td>M4</td>
                <td>
                </td>
                <td>M2</td>
                <td>M2</td>
                <td>M4</td>
                <td>M3</td>
                <td>M11</td>
                <td>M10</td>
                <td>M3</td>
                <td>M4</td>
                <td>M3</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>190</td>
                <td>M3</td>
                <td>M3</td>
                <td>M4</td>
                <td>
                </td>
                <td>M2</td>
                <td>M2</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M10</td>
                <td>M3</td>
                <td>M4</td>
                <td>M3</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>200</td>
                <td>M3</td>
                <td>M3</td>
                <td>M9</td>
                <td>
                </td>
                <td>M10</td>
                <td>M2</td>
                <td>M4</td>
                <td>M3</td>
                <td>M6</td>
                <td>M10</td>
                <td>M3</td>
                <td>M4</td>
                <td>M2</td>
                <td>M4</td>
                <td>M4</td>
                <td>M4</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec3dot6">
        <title>3.6. SISSO-Based Model Selector</title>
        <p>To ensure that similar models are encoded with closer numbers, this paper designs a model similarity metric. Models are trained with 200 training samples, and the R<sup>2</sup> values of each model fitting the 200 samples in the test set for each basic function are recorded, as shown in <bold>Table 6</bold>.</p>
        <p>From <bold>Table 7</bold>, it is observed that for function F8, the corresponding test set R<sup>2</sup> values are all negative because it has many local optima, and all models fit poorly, making it unsuitable as a basic function. Therefore, this paper discards it. Based on the above table, the Euclidean distances between the 12 models are calculated to obtain the model correlation matrix in <bold>Table 5</bold>.</p>
        <p>Table 6. Test set R<sup>2</sup> values under optimal parameters for different models.</p>
        <table-wrap id="tbl6">
          <label>Table 6</label>
          <table>
            <tbody>
              <tr>
                <td>
                </td>
                <td>F1</td>
                <td>F2</td>
                <td>F3</td>
                <td>F4</td>
                <td>F5</td>
                <td>F6</td>
                <td>F7</td>
                <td>F8</td>
                <td>F9</td>
                <td>F10</td>
                <td>F11</td>
                <td>F12</td>
                <td>F13</td>
                <td>F14</td>
                <td>F15</td>
              </tr>
              <tr>
                <td>M1</td>
                <td>0.95</td>
                <td>0.92</td>
                <td>0.31</td>
                <td>0.68</td>
                <td>0.96</td>
                <td>1.00</td>
                <td>0.92</td>
                <td>−0.13</td>
                <td>0.93</td>
                <td>0.94</td>
                <td>0.92</td>
                <td>0.99</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>0.92</td>
              </tr>
              <tr>
                <td>M2</td>
                <td>0.94</td>
                <td>0.91</td>
                <td>0.22</td>
                <td>0.70</td>
                <td>0.97</td>
                <td>1.00</td>
                <td>0.98</td>
                <td>−0.34</td>
                <td>0.86</td>
                <td>0.98</td>
                <td>0.98</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>0.98</td>
              </tr>
              <tr>
                <td>M3</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>0.12</td>
                <td>0.00</td>
                <td>0.90</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>−0.01</td>
                <td>0.00</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>0.92</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>0.95</td>
              </tr>
              <tr>
                <td>M4</td>
                <td>0.99</td>
                <td>0.96</td>
                <td>0.37</td>
                <td>0.51</td>
                <td>0.60</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>−0.06</td>
                <td>0.82</td>
                <td>0.98</td>
                <td>1.00</td>
                <td>0.70</td>
                <td>1.00</td>
                <td>1.00</td>
                <td>1.00</td>
              </tr>
              <tr>
                <td>M5</td>
                <td>0.97</td>
                <td>0.93</td>
                <td>0.15</td>
                <td>0.35</td>
                <td>0.71</td>
                <td>0.96</td>
                <td>0.96</td>
                <td>−0.44</td>
                <td>0.92</td>
                <td>0.97</td>
                <td>0.96</td>
                <td>0.83</td>
                <td>0.96</td>
                <td>0.96</td>
                <td>0.96</td>
              </tr>
              <tr>
                <td>M6</td>
                <td>0.48</td>
                <td>0.17</td>
                <td>0.00</td>
                <td>0.00</td>
                <td>0.00</td>
                <td>0.00</td>
                <td>−0.02</td>
                <td>0.00</td>
                <td>0.00</td>
                <td>−0.01</td>
                <td>−0.01</td>
                <td>−0.06</td>
                <td>0.00</td>
                <td>−0.05</td>
                <td>−0.01</td>
              </tr>
              <tr>
                <td>M7</td>
                <td>0.60</td>
                <td>0.74</td>
                <td>0.31</td>
                <td>0.62</td>
                <td>0.65</td>
                <td>0.97</td>
                <td>0.97</td>
                <td>−0.19</td>
                <td>0.90</td>
                <td>0.98</td>
                <td>0.97</td>
                <td>0.80</td>
                <td>0.97</td>
                <td>0.98</td>
                <td>0.97</td>
              </tr>
              <tr>
                <td>M8</td>
                <td>0.48</td>
                <td>0.00</td>
                <td>0.00</td>
                <td>−0.02</td>
                <td>0.00</td>
                <td>0.00</td>
                <td>−0.02</td>
                <td>0.00</td>
                <td>−0.01</td>
                <td>−0.02</td>
                <td>−0.02</td>
                <td>−0.03</td>
                <td>0.00</td>
                <td>−0.04</td>
                <td>−0.02</td>
              </tr>
              <tr>
                <td>M9</td>
                <td>−0.08</td>
                <td>−0.21</td>
                <td>0.37</td>
                <td>0.46</td>
                <td>0.53</td>
                <td>−1.20</td>
                <td>−0.70</td>
                <td>−0.39</td>
                <td>0.89</td>
                <td>0.81</td>
                <td>0.68</td>
                <td>−0.26</td>
                <td>−1.20</td>
                <td>−1.32</td>
                <td>0.86</td>
              </tr>
              <tr>
                <td>M10</td>
                <td>0.93</td>
                <td>0.89</td>
                <td>0.28</td>
                <td>0.70</td>
                <td>0.89</td>
                <td>0.97</td>
                <td>0.93</td>
                <td>−0.26</td>
                <td>0.94</td>
                <td>0.94</td>
                <td>0.93</td>
                <td>0.93</td>
                <td>0.97</td>
                <td>0.96</td>
                <td>0.93</td>
              </tr>
              <tr>
                <td>M11</td>
                <td>0.24</td>
                <td>0.03</td>
                <td>−0.05</td>
                <td>−0.03</td>
                <td>−0.06</td>
                <td>−1.19</td>
                <td>−0.12</td>
                <td>−0.06</td>
                <td>−0.02</td>
                <td>−9.34</td>
                <td>−25.87</td>
                <td>−0.26</td>
                <td>−1.19</td>
                <td>−1.32</td>
                <td>0.00</td>
              </tr>
              <tr>
                <td>M12</td>
                <td>0.22</td>
                <td>0.69</td>
                <td>0.34</td>
                <td>0.49</td>
                <td>0.59</td>
                <td>−0.06</td>
                <td>0.38</td>
                <td>−0.18</td>
                <td>0.93</td>
                <td>0.99</td>
                <td>0.88</td>
                <td>−0.23</td>
                <td>−0.06</td>
                <td>−0.04</td>
                <td>1.00</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Table 7. Model correlation matrix.</p>
        <table-wrap id="tbl7">
          <label>Table 7</label>
          <table>
            <tbody>
              <tr>
                <td>
                </td>
                <td>M1</td>
                <td>M2</td>
                <td>M3</td>
                <td>M4</td>
                <td>M5</td>
                <td>M6</td>
                <td>M7</td>
                <td>M8</td>
                <td>M9</td>
                <td>M10</td>
                <td>M11</td>
                <td>M12</td>
              </tr>
              <tr>
                <td>M1</td>
                <td>0.00</td>
                <td>0.15</td>
                <td>1.18</td>
                <td>0.52</td>
                <td>0.47</td>
                <td>3.29</td>
                <td>0.54</td>
                <td>3.33</td>
                <td>4.66</td>
                <td>0.11</td>
                <td>29.08</td>
                <td>2.41</td>
              </tr>
              <tr>
                <td>M2</td>
                <td>0.15</td>
                <td>0.00</td>
                <td>1.12</td>
                <td>0.53</td>
                <td>0.48</td>
                <td>3.33</td>
                <td>0.55</td>
                <td>3.38</td>
                <td>4.69</td>
                <td>0.18</td>
                <td>29.15</td>
                <td>2.44</td>
              </tr>
              <tr>
                <td>M3</td>
                <td>1.18</td>
                <td>1.12</td>
                <td>0.00</td>
                <td>1.06</td>
                <td>1.01</td>
                <td>3.13</td>
                <td>1.24</td>
                <td>3.18</td>
                <td>4.82</td>
                <td>1.20</td>
                <td>29.15</td>
                <td>2.64</td>
              </tr>
              <tr>
                <td>M4</td>
                <td>0.52</td>
                <td>0.53</td>
                <td>1.06</td>
                <td>0.00</td>
                <td>0.35</td>
                <td>3.16</td>
                <td>0.48</td>
                <td>3.22</td>
                <td>4.63</td>
                <td>0.47</td>
                <td>29.15</td>
                <td>2.29</td>
              </tr>
              <tr>
                <td>M5</td>
                <td>0.47</td>
                <td>0.48</td>
                <td>1.01</td>
                <td>0.35</td>
                <td>0.00</td>
                <td>3.11</td>
                <td>0.52</td>
                <td>3.16</td>
                <td>4.57</td>
                <td>0.43</td>
                <td>29.09</td>
                <td>2.28</td>
              </tr>
              <tr>
                <td>M6</td>
                <td>3.29</td>
                <td>3.33</td>
                <td>3.13</td>
                <td>3.16</td>
                <td>3.11</td>
                <td>0.00</td>
                <td>3.09</td>
                <td>0.17</td>
                <td>2.95</td>
                <td>3.22</td>
                <td>27.58</td>
                <td>2.21</td>
              </tr>
              <tr>
                <td>M7</td>
                <td>0.54</td>
                <td>0.55</td>
                <td>1.24</td>
                <td>0.48</td>
                <td>0.52</td>
                <td>3.09</td>
                <td>0.00</td>
                <td>3.13</td>
                <td>4.47</td>
                <td>0.47</td>
                <td>29.10</td>
                <td>2.16</td>
              </tr>
              <tr>
                <td>M8</td>
                <td>3.33</td>
                <td>3.38</td>
                <td>3.18</td>
                <td>3.22</td>
                <td>3.16</td>
                <td>0.17</td>
                <td>3.13</td>
                <td>0.00</td>
                <td>2.96</td>
                <td>3.27</td>
                <td>27.56</td>
                <td>2.28</td>
              </tr>
              <tr>
                <td>M9</td>
                <td>4.66</td>
                <td>4.69</td>
                <td>4.82</td>
                <td>4.63</td>
                <td>4.57</td>
                <td>2.95</td>
                <td>4.47</td>
                <td>2.96</td>
                <td>0.00</td>
                <td>4.59</td>
                <td>28.48</td>
                <td>2.52</td>
              </tr>
              <tr>
                <td>M10</td>
                <td>0.11</td>
                <td>0.18</td>
                <td>1.20</td>
                <td>0.47</td>
                <td>0.43</td>
                <td>3.22</td>
                <td>0.47</td>
                <td>3.27</td>
                <td>4.59</td>
                <td>0.00</td>
                <td>29.07</td>
                <td>2.33</td>
              </tr>
              <tr>
                <td>M11</td>
                <td>29.08</td>
                <td>29.15</td>
                <td>29.15</td>
                <td>29.15</td>
                <td>29.09</td>
                <td>27.58</td>
                <td>29.10</td>
                <td>27.56</td>
                <td>28.48</td>
                <td>29.07</td>
                <td>0.00</td>
                <td>28.81</td>
              </tr>
              <tr>
                <td>M12</td>
                <td>2.41</td>
                <td>2.44</td>
                <td>2.64</td>
                <td>2.29</td>
                <td>2.28</td>
                <td>2.21</td>
                <td>2.16</td>
                <td>2.28</td>
                <td>2.52</td>
                <td>2.33</td>
                <td>28.81</td>
                <td>0.00</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>The Euclidean distances between models are treated as an adjacency matrix, where the graph nodes are model types and edges are Euclidean distances. The shortest path traversing all nodes in the graph is found. The longest edge on the path is selected, and numbering starts from one vertex of this edge. In this paper, poorly performing models are discarded, and only the optimal models for the 200-sample point condition are used, <italic>i.e.</italic>, m3, m9, m10, m2, m4. Using brute-force solving for the Traveling Salesman Problem, the shortest path is found to be m3, m4, m2, m10, m9, which are then numbered sequentially as 1, 2, 3, 4, 5. The corresponding models are GPR (Gaussian Process Regression, M3), KernelRidge (Kernel Ridge Regression, M4), GBR (Gradient Boosting Regression, M2), RFR (Random Forest Regression, M10), and MLPRegressor (Multi-Layer Perceptron Regressor, M9). By rotating and translating the basic functions, a library of 165 transformed basic functions is obtained. These functions are sampled with a sample size of 200, and their features and optimal models are recorded, resulting in a table of feature and optimal model information for each basic function (see <bold>Table 8</bold>). Using the feature values as input and Best_ID as output, the SISSO algorithm is used to train a model, obtaining the model selector shown in Equation (19).</p>
        <disp-formula id="FD19">
          <label>(19)</label>
          <mml:math>
            <mml:mrow>
              <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:mtext>term</mml:mtext>
              <mml:mn>1</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mtext>term</mml:mtext>
              <mml:mn>2</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mtext>term</mml:mtext>
              <mml:mn>3</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mtext>constant</mml:mtext>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where</p>
        <p>Term1 = (−0.11E+01) * (abs((f7/f5) − abs(f6 − f8)) − (f7/f5))</p>
        <p>Term2 = (0.64E−02) * ((f1 * f4)/((f4)<sup>3</sup> + (f5/f7)))</p>
        <p>Term3 = (0.19E+00) * (((f3 − f4) − f8)/abs((f8)<sup>−</sup><sup>1</sup> − f6))</p>
        <p>Constant = (0.25E+01)</p>
        <p>Table 8. Basic function characteristics and optimal model information.</p>
        <table-wrap id="tbl8">
          <label>Table 8</label>
          <table>
            <tbody>
              <tr>
                <td>Func</td>
                <td>Sample Size</td>
                <td>Mean Std</td>
                <td>Dev</td>
                <td>Skewness</td>
                <td>Kurtosis</td>
                <td>Correl</td>
                <td>Nonlin</td>
                <td>Smooth</td>
                <td>Rugged</td>
                <td>Best_ID</td>
              </tr>
              <tr>
                <td>F1</td>
                <td>200</td>
                <td>3427.49</td>
                <td>6584.49</td>
                <td>2.65</td>
                <td>7.14</td>
                <td>0.05</td>
                <td>1.69</td>
                <td>0.00</td>
                <td>1.92</td>
                <td>M3</td>
              </tr>
              <tr>
                <td>F2</td>
                <td>200</td>
                <td>460.13</td>
                <td>588.09</td>
                <td>2.20</td>
                <td>4.98</td>
                <td>0.04</td>
                <td>1.71</td>
                <td>0.00</td>
                <td>1.27</td>
                <td>M3</td>
              </tr>
              <tr>
                <td>F3</td>
                <td>200</td>
                <td>178.78</td>
                <td>105.63</td>
                <td>0.67</td>
                <td>−0.50</td>
                <td>0.07</td>
                <td>1.72</td>
                <td>0.00</td>
                <td>0.59</td>
                <td>M9</td>
              </tr>
              <tr>
                <td>F4</td>
                <td>200</td>
                <td>37.47</td>
                <td>14.58</td>
                <td>−0.00</td>
                <td>−0.02</td>
                <td>0.05</td>
                <td>1.77</td>
                <td>0.04</td>
                <td>0.38</td>
                <td>M10</td>
              </tr>
              <tr>
                <td>F5</td>
                <td>200</td>
                <td>17.30</td>
                <td>16.95</td>
                <td>1.67</td>
                <td>2.49</td>
                <td>0.05</td>
                <td>1.74</td>
                <td>0.03</td>
                <td>0.98</td>
                <td>M2</td>
              </tr>
              <tr>
                <td>F6</td>
                <td>200</td>
                <td>3.28E+09</td>
                <td>2.88E+09</td>
                <td>0.64</td>
                <td>−0.82</td>
                <td>0.06</td>
                <td>1.71</td>
                <td>2.45E−10</td>
                <td>0.87</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>F7</td>
                <td>200</td>
                <td>8609.39</td>
                <td>5259.45</td>
                <td>0.52</td>
                <td>−0.25</td>
                <td>0.05</td>
                <td>1.74</td>
                <td>0.00</td>
                <td>0.61</td>
                <td>M3</td>
              </tr>
              <tr>
                <td>F8</td>
                <td>200</td>
                <td>41.01</td>
                <td>22.07</td>
                <td>0.01</td>
                <td>−1.24</td>
                <td>0.04</td>
                <td>1.75</td>
                <td>0.03</td>
                <td>0.53</td>
                <td>M6</td>
              </tr>
              <tr>
                <td>F9</td>
                <td>200</td>
                <td>9.83</td>
                <td>2.51</td>
                <td>−0.84</td>
                <td>0.73</td>
                <td>0.05</td>
                <td>1.75</td>
                <td>0.21</td>
                <td>0.25</td>
                <td>M10</td>
              </tr>
              <tr>
                <td>F10</td>
                <td>200</td>
                <td>637.43</td>
                <td>336.19</td>
                <td>0.25</td>
                <td>−0.47</td>
                <td>0.03</td>
                <td>1.74</td>
                <td>0.00</td>
                <td>0.52</td>
                <td>M3</td>
              </tr>
              <tr>
                <td>F11</td>
                <td>200</td>
                <td>1730.55</td>
                <td>1054.69</td>
                <td>0.52</td>
                <td>−0.29</td>
                <td>0.04</td>
                <td>1.74</td>
                <td>0.00</td>
                <td>0.60</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>F12</td>
                <td>200</td>
                <td>3.23E+15</td>
                <td>5.56E+15</td>
                <td>1.91</td>
                <td>2.77</td>
                <td>0.04</td>
                <td>1.72</td>
                <td>1.25E−16</td>
                <td>1.72</td>
                <td>M2</td>
              </tr>
              <tr>
                <td>F13</td>
                <td>200</td>
                <td>3.28E+09</td>
                <td>2.88E+09</td>
                <td>0.64</td>
                <td>−0.82</td>
                <td>0.06</td>
                <td>1.71</td>
                <td>2.45E−10</td>
                <td>0.87</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>F14</td>
                <td>200</td>
                <td>3.61E+09</td>
                <td>3.09E+09</td>
                <td>0.49</td>
                <td>−1.17</td>
                <td>0.04</td>
                <td>1.72</td>
                <td>2.24E−10</td>
                <td>0.85</td>
                <td>M4</td>
              </tr>
              <tr>
                <td>F15</td>
                <td>200</td>
                <td>63.06</td>
                <td>37.87</td>
                <td>0.52</td>
                <td>−0.25</td>
                <td>0.05</td>
                <td>1.74</td>
                <td>0.01</td>
                <td>0.60</td>
                <td>M4</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Mapping from optimization problem features to optimal model number is achieved by rounding the output of the model selector. The advantage of the SISSO model selector is that it can discover complex nonlinear relationships between features and the optimal model with only a small amount of sample data. Finally, in the evaluation and validation phase, the system performs large-scale experiments on test functions, analyzes the stability of model selection under different sample sizes, determines the most frequently selected model at each sample size through multiple repeated experiments, and records the corresponding best performance metrics.</p>
      </sec>
      <sec id="sec3dot7">
        <title>3.7. Adaptive Surrogate-Assisted Evolutionary Algorithm Based on SISSO Model Selector</title>
        <p>This framework constructs an optimization problem model selection system based on an SISSO model selector [<xref ref-type="bibr" rid="B15">15</xref>]. The core idea is to statistically extract problem features during the optimization process, feed these features into the pre-trained SISSO model selector, and dynamically select the optimal surrogate model for different problems. The entire implementation follows a complete closed-loop process of “data collection—feature extraction—model selection—model-driven optimization”.</p>
        <p>First, in the data collection stage, intermediate solutions and their fitness values evaluated by the algorithm in each iteration are recorded to build a training sample database. Then, in the feature extraction stage, eight features of the optimization problem are statistically extracted based on the training sample database: including mean of objective values, standard deviation, skewness, kurtosis, correlation strength, nonlinear index, smoothness index, and ruggedness index. Next, in the model selection stage, these features are input into the pre-trained SISSO model selector. The framework flowchart is shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p>
        <fig id="fig2">
          <label>Figure 2</label>
          <graphic xlink:href="https://html.scirp.org/file/1733446-rId74.jpeg?20260214115256" />
        </fig>
        <p>Figure 2. Adaptive surrogate-assisted evolutionary algorithm based on SISSO model selector.</p>
        <p>3.7.1. Multi-Subpopulation Selection Strategy</p>
        <p>To enhance the algorithm’s global convergence capability and local exploitation efficiency on complex fitness landscapes, this paper proposes a multi-subpopulation selection strategy during the intermediate solution generation phase. Its core idea originates from the Multivariant Optimization Algorithm (MOA) [<xref ref-type="bibr" rid="B16">16</xref>]. In this strategy, intelligent search individuals are organized into multiple subpopulations with different responsibilities, dedicated to global exploration and local exploitation, respectively, thereby systematically coordinating the exploration-exploitation balance during the search process. This strategy divides the population into multiple subpopulations, allowing each subpopulation to independently perform sampling and evaluation, followed by explicit task allocation. Some subpopulations are assigned the role of global exploration, continuously searching the entire solution space to reduce the risk of getting trapped in local optima; the remaining subpopulations take on the role of local exploitation, performing fine-grained searches around the current best solution to improve solution quality within potential regions. This series of mechanisms makes it particularly suitable for complex optimization problems with multiple traps, deceptive, or randomly located optima, overall enhancing the probability of global convergence while also strengthening local exploitation capability.</p>
        <p>3.7.2. Feature Extraction and Model Selection</p>
        <p>After completing subpopulation division and sampling, the system enters the feature extraction and model selection stage. The core goal is to dynamically select the optimal surrogate model based on the characteristics of the current optimization problem, thereby achieving high-precision fitting of complex fitness landscapes. The feature extraction process obtains eight key features from the sampled data of each subpopulation, including objective value mean, standard deviation, skewness, and kurtosis that reflect data distribution characteristics, as well as correlation strength, nonlinear index, smoothness index, and ruggedness index that characterize the function structure. These features collectively describe the global and local properties of the problem. Based on the extracted features, the system employs the SISSO model selector as the classifier. This selector uses symbolic regression to screen out the most discriminative feature combinations from the high-dimensional feature space and constructs a mapping function as shown in Equation (19), outputting a model number corresponding to different surrogate models. During optimization, the system re-extracts features and inputs them into the SISSO model selector in each iteration, selecting the surrogate model most suitable for the current stage in real-time. This enables a flexible response to dynamic changes in the fitness landscape, improving fitting accuracy and optimization efficiency.</p>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. Experiments</title>
      <p>To verify the reliability of the algorithm proposed in this paper, nine test functions proposed by CEC2022 are used to test the algorithm’s performance. Among the nine functions, they can be categorized into one unimodal function (f1), four basic functions (f2 - f5), and four composite functions (f9 - f12).</p>
      <sec id="sec4dot1">
        <title>4.1. Parameter Settings</title>
        <p>The four models—ElasticNet, Lars, Lasso, and Ridge—used as baselines in this paper are all independent optimization algorithms.</p>
        <p>During the experimental process, the following parameter settings were found to achieve the best results: problem dimension D = 2, maximum iterations I = 7, population size P = 6, initial sampling points S = 20, subpopulation configuration of 4 subpopulations with 100 samples each, Gaussian sampling, radius scaling 0.7, each function run 30 times. Comparisons were made with four popular surrogate models in recent years: ElasticNet, Lars, Lasso, and Ridge. The symbols “+”, “−”, and “≈” indicate that the proposed SISSO-ASEA algorithm is superior, inferior, or shows no significant difference compared to other algorithms, respectively.</p>
      </sec>
      <sec id="sec4dot2">
        <title>4.2. Overall Performance Comparison</title>
        <p>To verify the performance of the SISSO-ASEA algorithm, we integrated the SISSO optimization selector framework, named SISSO-Adaptive-Optimizer (SAO), which incorporates the complete closed loop of “sampling → feature extraction → model selection → optimization search”. This paper selected four models—ElasticNet, Lars, Lasso, and Ridge—for comparison with SAO. <bold>Table 9</bold> shows the mean and variance of the error obtained from 30 independent runs of SAO and the other four models in 2 dimensions. The results show that SAO exhibits significant advantages on the vast majority of test functions. Among the nine test functions, SAO outperforms ElasticNet on 7 functions, Lars on 2 functions, Lasso on 7 functions, and Ridge on 7 functions, demonstrating its good generalization ability and stability. Particularly on function f9, SAO’s mean error is far lower than that of the comparison algorithms, indicating its outstanding capability in handling highly nonlinear, multimodal problems. Furthermore, on functions f2 and f4, SAO consistently achieves lower mean errors, showing its strong adaptability and predictive accuracy for different function characteristics. Although on individual functions like f1 and f3, SAO performs comparably to some algorithms, its overall performance is significantly leading, with relatively stable variance control. This further verifies that SAO, as an adaptive surrogate model optimization framework based on the SISSO algorithm, has strong competitiveness and practicality in expensive optimization problems.</p>
        <p>Table 9. Comparison results of SAO and 4 models on CEC2022 Test functions in 2 dimensions.</p>
        <table-wrap id="tbl9">
          <label>Table 9</label>
          <table>
            <tbody>
              <tr>
                <td>Function</td>
                <td>Error</td>
                <td>SAO</td>
                <td>ElasticNet</td>
                <td>Lars</td>
                <td>Lasso</td>
                <td>Ridge</td>
              </tr>
              <tr>
                <td rowspan="2">F1</td>
                <td>Mean</td>
                <td>1.30E+02</td>
                <td>1.05E+03</td>
                <td>8.23E+01</td>
                <td>1.08E+03</td>
                <td>1.07E+03</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>7.22E+05</td>
                <td>8.91E+05</td>
                <td>6.18E+06</td>
                <td>8.92E+05</td>
                <td>8.02E+05</td>
              </tr>
              <tr>
                <td rowspan="2">F2</td>
                <td>Mean</td>
                <td>2.00E−02</td>
                <td>5.40E−01</td>
                <td>9.00E−02</td>
                <td>6.90E−01</td>
                <td>5.10E−01</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>3.71E−03</td>
                <td>1.58E+00</td>
                <td>1.25E+00</td>
                <td>6.96E+00</td>
                <td>1.41E+00</td>
              </tr>
              <tr>
                <td rowspan="2">F3</td>
                <td>Mean</td>
                <td>1.00E−02</td>
                <td>0.00E+00</td>
                <td>0.00E+00</td>
                <td>0.00E+00</td>
                <td>0.00E+00</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>8.80E−05</td>
                <td>5.40E−05</td>
                <td>6.60E−05</td>
                <td>6.90E−05</td>
                <td>1.51E−04</td>
              </tr>
              <tr>
                <td rowspan="2">F4</td>
                <td>Mean</td>
                <td>2.96E+00</td>
                <td>3.74E+00</td>
                <td>2.98E+00</td>
                <td>3.59E+00</td>
                <td>3.48E+00</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>4.54E+01</td>
                <td>1.74E+01</td>
                <td>3.44E+01</td>
                <td>3.26E+01</td>
                <td>1.80E+01</td>
              </tr>
              <tr>
                <td rowspan="2">F5</td>
                <td>Mean</td>
                <td>6.00E−02</td>
                <td>1.90E−01</td>
                <td>1.00E−02</td>
                <td>1.70E−01</td>
                <td>1.60E−01</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>2.00E−02</td>
                <td>2.28E−02</td>
                <td>3.18E−02</td>
                <td>1.36E−02</td>
                <td>6.03E−02</td>
              </tr>
              <tr>
                <td rowspan="2">F9</td>
                <td>Mean</td>
                <td>1.03E+00</td>
                <td>5.00E+01</td>
                <td>2.04E+01</td>
                <td>4.06E+01</td>
                <td>5.95E+01</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>2.97E−01</td>
                <td>8.11E+03</td>
                <td>3.87E+04</td>
                <td>4.76E+04</td>
                <td>3.00E+04</td>
              </tr>
              <tr>
                <td rowspan="2">F10</td>
                <td>Mean</td>
                <td>1.19E+02</td>
                <td>1.26E+02</td>
                <td>1.10E+02</td>
                <td>1.28E+02</td>
                <td>1.27E+02</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>1.50E+03</td>
                <td>9.89E+02</td>
                <td>2.50E+02</td>
                <td>1.18E+03</td>
                <td>8.23E+02</td>
              </tr>
              <tr>
                <td rowspan="2">F11</td>
                <td>Mean</td>
                <td>1.86E+02</td>
                <td>2.03E+02</td>
                <td>1.05E+02</td>
                <td>2.03E+02</td>
                <td>2.04E+02</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>1.13E+04</td>
                <td>9.03E+03</td>
                <td>1.08E+04</td>
                <td>1.07E+04</td>
                <td>1.10E+04</td>
              </tr>
              <tr>
                <td rowspan="2">F12</td>
                <td>Mean</td>
                <td>3.21E+01</td>
                <td>8.99E+01</td>
                <td>1.85E+01</td>
                <td>8.58E+01</td>
                <td>8.49E+01</td>
              </tr>
              <tr>
                <td>Variance</td>
                <td>4.67E+03</td>
                <td>9.86E+03</td>
                <td>8.86E+03</td>
                <td>9.56E+03</td>
                <td>5.84E+03</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>
                </td>
                <td>+</td>
                <td>7</td>
                <td>2</td>
                <td>7</td>
                <td>7</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>
                </td>
                <td>−</td>
                <td>1</td>
                <td>6</td>
                <td>1</td>
                <td>1</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>
                </td>
                <td>≈</td>
                <td>1</td>
                <td>1</td>
                <td>1</td>
                <td>1</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec id="sec4dot3">
        <title>4.3. Convergence Analysis</title>
        <p>To more intuitively demonstrate the performance of SISSO-ASEA, we compared the convergence of SISSO-ASEA and the other four algorithms in 2 dimensions. The experiment selected f1, f5, f9, and f12 from the CEC2022 test functions. From <xref ref-type="fig" rid="fig3">Figure 3</xref>, it can be seen that SISSO-ASEA, compared to the other four surrogate models in later stages, can still search for intermediate solutions across different test functions, exhibiting significant continuous convergence capability and better final solution quality.</p>
      </sec>
      <sec id="sec4dot4">
        <title>4.4. Comparative Experiments</title>
        <p>To verify the algorithm’s performance on ten-dimensional optimization problems, this paper conducted comparative experiments. The comparison results on CEC2022 test functions in ten dimensions are shown in <bold>Table 7</bold>. Through comparative analysis of performance on two-dimensional and ten-dimensional optimization problems, we found that the SAO algorithm exhibits significant advantages on ten-dimensional problems. Statistical data from <bold>Table 10</bold> shows that SAO performs better than ElasticNet, Lasso, and Ridge on 8 functions each, showing inferiority to Lars on only 1 function. This indicates that as problem dimensionality increases, the SAO algorithm can better handle complex optimization problems and maintain high solution accuracy. In contrast, SAO’s performance on two-dimensional problems shows differentiated characteristics. For the three models, ElasticNet, Lasso, and Ridge, SAO performs better on 7 functions; however, it is better than Lars</p>
        <fig id="fig3">
          <label>Figure 3</label>
          <graphic xlink:href="https://html.scirp.org/file/1733446-rId75.jpeg?20260214115258" />
        </fig>
        <p>Figure 3. Convergence plots of different algorithms.</p>
        <p>Table 10. Comparison results of SAO and 4 models on CEC2022 test functions in 10 dimensions.</p>
        <table-wrap id="tbl10">
          <label>Table 10</label>
          <table>
            <tbody>
              <tr>
                <td>Function</td>
                <td>Error</td>
                <td>SAO</td>
                <td>ElasticNet</td>
                <td>Lars</td>
                <td>Lasso</td>
                <td>Ridge</td>
              </tr>
              <tr>
                <td>F1</td>
                <td>Mean</td>
                <td>1.45e+04</td>
                <td>3.18e+04</td>
                <td>2.38e+04</td>
                <td>3.35e+04</td>
                <td>3.29e+04</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>4.36e+03</td>
                <td>9.93e+03</td>
                <td>6.94e+03</td>
                <td>1.13e+04</td>
                <td>1.05e+04</td>
              </tr>
              <tr>
                <td>F2</td>
                <td>Mean</td>
                <td>1.14E+02</td>
                <td>3.95E+02</td>
                <td>5.67E+02</td>
                <td>4.40E+02</td>
                <td>4.43E+02</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>3.32E+01</td>
                <td>2.07E+02</td>
                <td>2.65E+02</td>
                <td>2.15E+02</td>
                <td>2.08E+02</td>
              </tr>
              <tr>
                <td>F3</td>
                <td>Mean</td>
                <td>1.10E−01</td>
                <td>4.10E−01</td>
                <td>3.80E−01</td>
                <td>4.60E−01</td>
                <td>4.50E−01</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>9.00E−02</td>
                <td>1.30E−01</td>
                <td>1.20E−01</td>
                <td>1.30E−01</td>
                <td>1.30E−01</td>
              </tr>
              <tr>
                <td>F4</td>
                <td>Mean</td>
                <td>1.16E+02</td>
                <td>1.73E+02</td>
                <td>1.74E+02</td>
                <td>1.84E+02</td>
                <td>1.83E+02</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>3.00E+01</td>
                <td>2.94E+01</td>
                <td>3.64E+01</td>
                <td>2.50E+01</td>
                <td>2.30E+01</td>
              </tr>
              <tr>
                <td>F5</td>
                <td>Mean</td>
                <td>1.17E+00</td>
                <td>6.87E+00</td>
                <td>5.49E+00</td>
                <td>7.01E+00</td>
                <td>7.19E+00</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>6.80E−01</td>
                <td>1.84E+00</td>
                <td>1.80E+00</td>
                <td>2.24E+00</td>
                <td>2.19E+00</td>
              </tr>
              <tr>
                <td>F9</td>
                <td>Mean</td>
                <td>4.39E+02</td>
                <td>7.32E+02</td>
                <td>7.47E+02</td>
                <td>7.54E+02</td>
                <td>7.11E+02</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>1.13E+02</td>
                <td>2.79E+02</td>
                <td>2.19E+02</td>
                <td>2.75E+02</td>
                <td>2.65E+02</td>
              </tr>
              <tr>
                <td>F10</td>
                <td>Mean</td>
                <td>4.92E+02</td>
                <td>1.06e+03</td>
                <td>1.17e+03</td>
                <td>1.31e+03</td>
                <td>1.34e+03</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>1.98E+02</td>
                <td>8.52E+02</td>
                <td>8.21E+02</td>
                <td>8.91E+02</td>
                <td>8.77E+02</td>
              </tr>
              <tr>
                <td>F11</td>
                <td>Mean</td>
                <td>1.74E+02</td>
                <td>1.05e+03</td>
                <td>7.09E+02</td>
                <td>1.01e+03</td>
                <td>1.04e+03</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>2.42E+02</td>
                <td>2.59E+02</td>
                <td>3.95E+02</td>
                <td>2.83E+02</td>
                <td>3.23E+02</td>
              </tr>
              <tr>
                <td>F12</td>
                <td>Mean</td>
                <td>2.22E+02</td>
                <td>2.03E+02</td>
                <td>2.50E+02</td>
                <td>1.93E+02</td>
                <td>1.99E+02</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>Variance</td>
                <td>3.04E+01</td>
                <td>3.70E+01</td>
                <td>4.07E+01</td>
                <td>2.15E+01</td>
                <td>3.47E+01</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>
                </td>
                <td>+</td>
                <td>8</td>
                <td>8</td>
                <td>8</td>
                <td>8</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>
                </td>
                <td>−</td>
                <td>0</td>
                <td>0</td>
                <td>1</td>
                <td>1</td>
              </tr>
              <tr>
                <td>
                </td>
                <td>
                </td>
                <td>≈</td>
                <td>1</td>
                <td>1</td>
                <td>0</td>
                <td>0</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>model on only 2 functions, forming a sharp contrast with the ten-dimensional case. It is particularly noteworthy that on function F3, SAO performs poorly against all compared models in the two-dimensional problem, while in the ten-dimensional problem, it shows only slight inferiority to some models. From the perspective of algorithm robustness, SAO’s variance is generally lower in ten-dimensional problems, indicating better stability. This dimensional adaptability suggests that the SAO algorithm possesses stronger search capability and convergence characteristics when handling high-dimensional optimization problems.</p>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. Conclusion</title>
      <p>Aiming at the limitation that a single surrogate model struggles to adapt to complex dynamic optimization processes in surrogate-assisted evolutionary algorithms, this paper proposes an adaptive surrogate model selection framework based on an SISSO model selector (SISSO-ASEA). This method dynamically extracts an eight-dimensional feature vector from the optimization problem and, through a pre-trained SISSO symbolic regression model, maps the problem features to the optimal surrogate model type, achieving a closed-loop adaptive process. Experiments prove the high efficiency and effectiveness of the proposed method.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Shao, W.W, Zhu, Y.G. and Hu, C. (2024) Application of Improved RRT Algorithm in Path Planning. <italic>Journal of Nanyang Normal University</italic>, 23, 58-63.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Shao, W.W</string-name>
              <string-name>Zhu, Y.G.</string-name>
              <string-name>Hu, C.</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Application of Improved RRT Algorithm in Path Planning</article-title>
            <source>Journal of Nanyang Normal University</source>
            <volume>23</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Yang, Y., Liu, J. and Tan, S. (2021) A Multi-Objective Evolutionary Algorithm for Steady-State Constrained Multi-Objective Optimization Problems. <italic>Applied Soft Computing</italic>, 101, Article ID: 107042. https://doi.org/10.1016/j.asoc.2020.107042 <pub-id pub-id-type="doi">10.1016/j.asoc.2020.107042</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.asoc.2020.107042">https://doi.org/10.1016/j.asoc.2020.107042</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Yang, Y.</string-name>
              <string-name>Liu, J.</string-name>
              <string-name>Tan, S.</string-name>
            </person-group>
            <year>2021</year>
            <article-title>A Multi-Objective Evolutionary Algorithm for Steady-State Constrained Multi-Objective Optimization Problems</article-title>
            <source>Applied Soft Computing</source>
            <volume>101</volume>
            <fpage>107042</fpage>
            <elocation-id>ID</elocation-id>
            <pub-id pub-id-type="doi">10.1016/j.asoc.2020.107042</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Qiu, X., Xu, J., Xu, Y. and Tan, K.C. (2018) A New Differential Evolution Algorithm for Minimax Optimization in Robust Design. <italic>IEEE Transactions on Cybernetics</italic>, 48, 1355-1368. https://doi.org/10.1109/tcyb.2017.2692963 <pub-id pub-id-type="doi">10.1109/tcyb.2017.2692963</pub-id><pub-id pub-id-type="pmid">28436916</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/tcyb.2017.2692963">https://doi.org/10.1109/tcyb.2017.2692963</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Qiu, X.</string-name>
              <string-name>Xu, J.</string-name>
              <string-name>Xu, Y.</string-name>
              <string-name>Tan, K.C.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>A New Differential Evolution Algorithm for Minimax Optimization in Robust Design</article-title>
            <source>IEEE Transactions on Cybernetics</source>
            <volume>48</volume>
            <pub-id pub-id-type="doi">10.1109/tcyb.2017.2692963</pub-id>
            <pub-id pub-id-type="pmid">28436916</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Wei, J. and Niu, H. (2022) Offline Data-Driven Particle Swarm Optimization Assisted by Selective Surrogate Ensembles and Hybrid Search Strategies. 2022 34 <italic>th Chinese Control and Decision Conference</italic>( <italic>CCDC</italic>), Hefei, 15-17 August 2022, 4010-4016. https://doi.org/10.1109/ccdc55256.2022.10033635 <pub-id pub-id-type="doi">10.1109/ccdc55256.2022.10033635</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ccdc55256.2022.10033635">https://doi.org/10.1109/ccdc55256.2022.10033635</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Wei, J.</string-name>
              <string-name>Niu, H.</string-name>
            </person-group>
            <year>2022</year>
            <article-title>Offline Data-Driven Particle Swarm Optimization Assisted by Selective Surrogate Ensembles and Hybrid Search Strategies</article-title>
            <source>2022 34th Chinese Control and Decision Conference (CCDC)</source>
            <volume>15</volume>
            <pub-id pub-id-type="doi">10.1109/ccdc55256.2022.10033635</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Su, G., Sun, W. and Zhao, Y. (2023) Machine Learning Classifier-Based Dynamic Surrogate Model for Structural Reliability Analysis. <italic>Structure and Infrastructure Engineering</italic>, 21, 525-537. https://doi.org/10.1080/15732479.2023.2218847 <pub-id pub-id-type="doi">10.1080/15732479.2023.2218847</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1080/15732479.2023.2218847">https://doi.org/10.1080/15732479.2023.2218847</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Su, G.</string-name>
              <string-name>Sun, W.</string-name>
              <string-name>Zhao, Y.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Machine Learning Classifier-Based Dynamic Surrogate Model for Structural Reliability Analysis</article-title>
            <source>Structure and Infrastructure Engineering</source>
            <volume>21</volume>
            <pub-id pub-id-type="doi">10.1080/15732479.2023.2218847</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Luo, S. (2023) Synthetic Minority Oversampling Technique Based on Adaptive Noise Optimization and Fast Search for Local Sets for Random Forest. <italic>International Journal of Pattern Recognition and Artificial Intelligence</italic>, 37, Article ID: 2259038. https://doi.org/10.1142/s0218001422590388 <pub-id pub-id-type="doi">10.1142/s0218001422590388</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1142/s0218001422590388">https://doi.org/10.1142/s0218001422590388</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Luo, S.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Synthetic Minority Oversampling Technique Based on Adaptive Noise Optimization and Fast Search for Local Sets for Random Forest</article-title>
            <source>International Journal of Pattern Recognition and Artificial Intelligence</source>
            <volume>37</volume>
            <fpage>225903</fpage>
            <elocation-id>ID</elocation-id>
            <pub-id pub-id-type="doi">10.1142/s0218001422590388</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Li, M., Sadoughi, M., Hu, Z. and Hu, C. (2020) A Hybrid Gaussian Process Model for System Reliability Analysis. <italic>Reliability Engineering &amp; System Safety</italic>, 197, Article ID: 106816. https://doi.org/10.1016/j.ress.2020.106816 <pub-id pub-id-type="doi">10.1016/j.ress.2020.106816</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.ress.2020.106816">https://doi.org/10.1016/j.ress.2020.106816</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Li, M.</string-name>
              <string-name>Sadoughi, M.</string-name>
              <string-name>Hu, Z.</string-name>
              <string-name>Hu, C.</string-name>
            </person-group>
            <year>2020</year>
            <article-title>A Hybrid Gaussian Process Model for System Reliability Analysis</article-title>
            <source>Reliability Engineering &amp; System Safety</source>
            <volume>197</volume>
            <fpage>106816</fpage>
            <elocation-id>ID</elocation-id>
            <pub-id pub-id-type="doi">10.1016/j.ress.2020.106816</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">He, C., Zhang, Y., Gong, D. and Ji, X. (2023) A Review of Surrogate-Assisted Evolutionary Algorithms for Expensive Optimization Problems. <italic>Expert Systems with Applications</italic>, 217, Article ID: 119495. https://doi.org/10.1016/j.eswa.2022.119495 <pub-id pub-id-type="doi">10.1016/j.eswa.2022.119495</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.eswa.2022.119495">https://doi.org/10.1016/j.eswa.2022.119495</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>He, C.</string-name>
              <string-name>Zhang, Y.</string-name>
              <string-name>Gong, D.</string-name>
              <string-name>Ji, X.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>A Review of Surrogate-Assisted Evolutionary Algorithms for Expensive Optimization Problems</article-title>
            <source>Expert Systems with Applications</source>
            <volume>217</volume>
            <fpage>119495</fpage>
            <elocation-id>ID</elocation-id>
            <pub-id pub-id-type="doi">10.1016/j.eswa.2022.119495</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Zuo, S.Y. (2024) Parameter Analysis Modeling and Application Based on Additive Gaussian Process. Master’s Thesis, Dalian University of Technology.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Zuo, S.Y.</string-name>
              <string-name>Thesis, D</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Parameter Analysis Modeling and Application Based on Additive Gaussian Process</article-title>
            <source>Master’s Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Zhang, M. (2025) Electric Vehicle Charging Load Prediction Based on Optimized Random Forest Algorithm. <italic>Digital Communication World</italic>, No. 6, 26-28.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Zhang, M.</string-name>
              <string-name>World, N</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Electric Vehicle Charging Load Prediction Based on Optimized Random Forest Algorithm</article-title>
            <source>Digital Communication World</source>
            <volume>26</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Liang, X. (2024) Prediction of Landslide Displacement Data Based on Support Vector Regression. Master’s Thesis, Lanzhou University of Technology.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Liang, X.</string-name>
              <string-name>Thesis, L</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Prediction of Landslide Displacement Data Based on Support Vector Regression</article-title>
            <source>Master’s Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Xiao, T.C. (2022) Optimal Latin Hypercube Design under Symmetric Variable Conditions. Master’s Thesis, Central University of Finance and Economics.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Xiao, T.C.</string-name>
              <string-name>Thesis, C</string-name>
            </person-group>
            <year>2022</year>
            <article-title>Optimal Latin Hypercube Design under Symmetric Variable Conditions</article-title>
            <source>Master’s Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="thesis">Gong, L.L. (2022) Research on Software Defect Prediction Method Combined with Multiple Features. Master’s Thesis, Hangzhou University of Electronic Science and Technology.</mixed-citation>
          <element-citation publication-type="thesis">
            <person-group person-group-type="author">
              <string-name>Gong, L.L.</string-name>
              <string-name>Thesis, H</string-name>
            </person-group>
            <year>2022</year>
            <article-title>Research on Software Defect Prediction Method Combined with Multiple Features</article-title>
            <source>Master’s Thesis</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Cui, J.S., Liu, X.C.,Yang, M.H., <italic>et al.</italic>(2017) Automatic Selection Framework and Empirical Analysis of Optimization Algorithm Based on Meta-Learning Recommendation. <italic>Computer Applications</italic>, 37, 1105-1110.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Cui, J.S.</string-name>
              <string-name>Liu, X.C.</string-name>
              <string-name>Yang, M.H.</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Automatic Selection Framework and Empirical Analysis of Optimization Algorithm Based on Meta-Learning Recommendation</article-title>
            <source>Computer Applications</source>
            <volume>37</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Li, B., Wang, D., Yu, M., He, C., Li, X., Zhai, J., <italic>et al.</italic>(2025) Accelerating Multi-Objective Catalytic Material Design: A Model-Based Method. <italic>Chinese Chemical Letters</italic>, 36, Article ID: 110454. https://doi.org/10.1016/j.cclet.2024.110454 <pub-id pub-id-type="doi">10.1016/j.cclet.2024.110454</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.cclet.2024.110454">https://doi.org/10.1016/j.cclet.2024.110454</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Li, B.</string-name>
              <string-name>Wang, D.</string-name>
              <string-name>Yu, M.</string-name>
              <string-name>He, C.</string-name>
              <string-name>Li, X.</string-name>
              <string-name>Zhai, J.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Accelerating Multi-Objective Catalytic Material Design: A Model-Based Method</article-title>
            <source>Chinese Chemical Letters</source>
            <volume>36</volume>
            <fpage>110454</fpage>
            <elocation-id>ID</elocation-id>
            <pub-id pub-id-type="doi">10.1016/j.cclet.2024.110454</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Li, B., Chen, J., Shi, X., Zhang, Y., Lv, D., Liu, L., <italic>et al.</italic>(2016) On the Convergence of Multivariant Optimization Algorithm. <italic>Applied Soft Computing</italic>, 48, 230-239. https://doi.org/10.1016/j.asoc.2016.07.001 <pub-id pub-id-type="doi">10.1016/j.asoc.2016.07.001</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.asoc.2016.07.001">https://doi.org/10.1016/j.asoc.2016.07.001</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Li, B.</string-name>
              <string-name>Chen, J.</string-name>
              <string-name>Shi, X.</string-name>
              <string-name>Zhang, Y.</string-name>
              <string-name>Lv, D.</string-name>
              <string-name>Liu, L.</string-name>
            </person-group>
            <year>2016</year>
            <article-title>On the Convergence of Multivariant Optimization Algorithm</article-title>
            <source>Applied Soft Computing</source>
            <volume>48</volume>
            <pub-id pub-id-type="doi">10.1016/j.asoc.2016.07.001</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>