<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Earth Sci.</journal-id>
<journal-title>Frontiers in Earth Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Earth Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-6463</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1116664</article-id>
<article-id pub-id-type="doi">10.3389/feart.2023.1116664</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Earth Science</subject>
<subj-group>
<subject>Technology and Code</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>An adaptive ensemble learning by opposite multiverse optimizer and its application in fluid identification for unconventional oil reservoirs</article-title>
<alt-title alt-title-type="left-running-head">Zhang et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/feart.2023.1116664">10.3389/feart.2023.1116664</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Yongan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1928514/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Xingyu</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2127267/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Sun</surname>
<given-names>Youzhuang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1784687/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Gong</surname>
<given-names>An</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Mengyan</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>China University of Petroleum (East China)</institution>, <addr-line>Qingdao</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Hebei University of Science and Technology</institution>, <addr-line>Shijiazhuang</addr-line>, <addr-line>Hebei</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/964045/overview">Mehdi Ostadhassan</ext-link>, Northeast Petroleum University, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1240498/overview">Tao Zhang</ext-link>, King Abdullah University of Science and Technology, Saudi Arabia</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/91874/overview">Said Gaci</ext-link>, Algerian Petroleum Institute, Algeria</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: An Gong, <email>414625329@qq.com</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>26</day>
<month>07</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>11</volume>
<elocation-id>1116664</elocation-id>
<history>
<date date-type="received">
<day>10</day>
<month>01</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>12</day>
<month>07</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Zhang, Zhang, Sun, Gong and Li.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Zhang, Zhang, Sun, Gong and Li</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Unconventional reservoirs are rich in petroleum resources. Reservoir fluid property identification for these reservoirs is an essential process in unconventional oil reservoir evaluation methods, which is significant for enhancing the reservoir recovery ratio and economic efficiency. However, due to the mutual interference of several factors, identifying the properties of oil and water using traditional reservoir fluid identification methods or a single predictive model for unconventional oil reservoirs is inadequate in accuracy. In this paper, we propose a new ensemble learning model that combines 12 base learners using the multiverse optimizer to improve the accuracy of reservoir fluid identification for unconventional reservoirs. The experimental results show that the overall classification accuracy of the adaptive ensemble learning by opposite multiverse optimizer (AIL-OMO) is 0.85. Compared with six conventional reservoir fluid identification models, AIL-OMO achieved high accuracy on classifying dry layers, oil&#x2013;water layers, and oil layers, with accuracy rates of 94.33%, 90.46%, and 90.66%. For each model, the identification of the water layer is not accurate enough, which may be due to the classification confusion caused by noise interference in the logging curves of the water layer in unconventional reservoirs.</p>
</abstract>
<kwd-group>
<kwd>reservoir identification</kwd>
<kwd>ensemble learning</kwd>
<kwd>reverse learning</kwd>
<kwd>machine learning</kwd>
<kwd>unconventional reservoirs</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Petrology</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Reservoir fluid property identification is an important method for evaluating oil reservoirs as it plays a key role in calculating oil reserve production and formulating oil field development plans. Unconventional oil reservoirs, with their low permeability and nonhomogeneous and complex pore structure, present challenges in identifying reservoir fluid properties. Currently, reservoir fluid identification relies on various logging data to explore the intrinsic connections among logging data, geological data, and oil and gas water information in the reservoir. There are four types of methods used in reservoir fluid identification: petrophysical methods (<xref ref-type="bibr" rid="B6">Das and Chatterjee, 2018</xref>), cross-plot techniques based on cores or log responses, experimental formula methods (<xref ref-type="bibr" rid="B17">Moffatt and Williams, 1998</xref>), and artificial intelligence methods (<xref ref-type="bibr" rid="B3">Bestagini et al., 2017</xref>). Due to the mutual interference of many factors, such as reservoir lithology and pore structure in unconventional oil reservoirs, identifying the properties of oil and water using traditional reservoir fluid identification methods remains a challenge. Therefore, artificial intelligence techniques have been applied in this field, providing new perspectives on fluid identification in reservoirs.</p>
<p>With the rapid development of artificial intelligence techniques in recent years, regression algorithm (<xref ref-type="bibr" rid="B3">Bestagini et al., 2017</xref>), support vector machine techniques (<xref ref-type="bibr" rid="B1">Al-Anazi and Gates, 2010</xref>; <xref ref-type="bibr" rid="B21">Tohidi-Hosseini et al., 2016</xref>), clustering algorithm (<xref ref-type="bibr" rid="B2">Baarimah et al., 2019</xref>), genetic algorithm (<xref ref-type="bibr" rid="B10">Guerreiro et al., 1998</xref>), artificial neural network (<xref ref-type="bibr" rid="B18">Onwuchekwa, 2018</xref>), decision tree algorithm (<xref ref-type="bibr" rid="B13">He et al., 2020</xref>), random forest (<xref ref-type="bibr" rid="B25">Wang et al., 2020</xref>), and thermodynamics-informed neural network (<xref ref-type="bibr" rid="B28">Zhang and Sun, 2021</xref>) are used in oil reservoir evaluation.</p>
<p>In reservoir fluid identification, <xref ref-type="bibr" rid="B26">Yang et al. (2016</xref>) used a synergistic wavelet transform and improved K-means clustering technology to classify reservoir fluid. <xref ref-type="bibr" rid="B1">Al-Anazi and Gates (2010</xref>) applied an SVM model to nonhomogeneous sandstone reservoirs to classify reservoir fluid. The results obtained by Anazi demonstrated that SVM is superior to traditional models in data training and model generalizability of reservoir fluid in nonhomogeneous sandstone reservoirs. <xref ref-type="bibr" rid="B3">Bestagini et al. (2017</xref>) applied the XGBoost model to predict reservoir fluid layers based on logging data and found that the ensemble learning model shows good performance in reservoir fluid classification. <xref ref-type="bibr" rid="B21">Tohidi-Hosseini et al. (2016</xref>) used least-squares support vector machine (LSSVM) optimized by coupled simulated annealing (CSA) to predict the reservoir fluid and showed that the LSSVM has better learning ability after being optimized using an optimization algorithm. <xref ref-type="bibr" rid="B19">Sun et al. (2019</xref>) used a machine learning feed-forward neural network (FNN) and hierarchical cluster analysis (HCA) to predict reservoir fluid through natural gamma (NG) rays, high-resolution density (HRD) mapping, and single-point resistance (SPR) logging. The prediction results obtained show that their model had an R<sup>2</sup> of 0.84, reflecting the importance of data uniformity in reservoir fluid identification. <xref ref-type="bibr" rid="B13">He et al. (2020</xref>) used a deep neural network (DNN) to learn logging data for reservoir fluid identification. The study adopted MAHAKIL to improve the performance of DNN on imbalanced data and obtained good prediction results (F1 of 0.601, F0.5 of 0.597, and F2 of 0.577), reflecting the need for model adjustment. <xref ref-type="bibr" rid="B15">Luo et al. (2022</xref>) proposed a long short-term memory network (LSTM) to characterize the time series features of logs varying with the depth domain. The kernel of the convolutional neural network (CNN) is used to slide on log curves to characterize their relationships. The innovation of Luo&#x2019;s work is not only an improved AI model but also the creation of a multilevel reservoir identification process. At present, there are two challenges in reservoir fluid identification for unconventional reservoirs: 1. unconventional reservoirs show unconventional features and irregular noise information in well logging data, which require data cleaning, processing, and prevention methods for the overfitting phenomenon; 2. logging data from unconventional reservoirs usually face data imbalance problems, which makes it difficult to apply the model to fluid identification in unconventional reservoirs.</p>
</sec>
<sec id="s2">
<title>2 Methodologies</title>
<sec id="s2-1">
<title>2.1 Multiverse optimizer</title>
<p>The multiverse optimizer (MVO) is a new method of an intelligent optimization algorithm proposed by <xref ref-type="bibr" rid="B16">Mirjalili et al. (2016)</xref>, which has been successfully applied in various function optimizations and engineering designs (<xref ref-type="bibr" rid="B23">Vivek et al., 2018</xref>; <xref ref-type="bibr" rid="B12">Hassan and Zellagui, 2019</xref>; <xref ref-type="bibr" rid="B14">Jain et al., 2019</xref>; <xref ref-type="bibr" rid="B5">Dao et al., 2020</xref>; <xref ref-type="bibr" rid="B29">Zhou et al., 2022</xref>). The multiverse theory in physics is the inspiration for the MVO algorithm. In the multiverse theory, the emergence of the individual universe is the result of a single giant explosion, and multiple giant explosions have contributed to the birth of the entire multiverse population. White holes, black holes, and wormholes are the three core concepts in the multiverse theory: white holes have strong repulsion and can release all objects; black holes have extremely high gravitational forces and can absorb all objects; and wormholes connect different universes and the orbit of the transported object.</p>
<p>MVO is based on the principle that matter in the universe transfers from white holes to black holes through wormholes. Under the combined action of white holes, black holes, and wormholes, the entire multiverse population will eventually reach a state of convergence. MVO classifies the search process into two stages: exploration and development. The exploration of the search space is completed through the exchange of black/white holes, and the development process is completed in the way of wormholes. MVO cyclically iterates the initial universe through white hole/black hole tunnels and wormholes, in which the universe represents the feasible solution to the problem, the objects in the universe represent the components of the solution, and the expansion rate of the universe represents the fitness value of the solution. The mathematical model of the algorithm is given as follows:</p>
<p>Multiverse initialization: A set of random universes U is created, as shown in Equation <xref ref-type="disp-formula" rid="e1">1</xref>.<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of variables and <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of universes (candidate solutions).</p>
<p>Black and white hole mechanisms: Due to the different expansion rates of each individual universe, objects in an individual universe are transferred through white hole/black hole orbits. This process follows the roulette mechanism, as shown in Eq. <xref ref-type="disp-formula" rid="e2">2</xref>.<disp-formula id="e2">
<mml:math id="m4">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf3">
<mml:math id="m5">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf4">
<mml:math id="m6">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> variable of the <inline-formula id="inf5">
<mml:math id="m7">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> universe. <inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the normalized expansion rate of the universe <inline-formula id="inf7">
<mml:math id="m9">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf8">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a random number between 0 and 1, and <inline-formula id="inf9">
<mml:math id="m11">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf10">
<mml:math id="m12">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> variable of the <inline-formula id="inf11">
<mml:math id="m13">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> universe selected according to the spiral mechanism.</p>
<p>Wormhole mechanism: Without considering the size of the expansion rate, in order to achieve local changes and improve its own expansion rate, the individual universe will stimulate the internal objects to move to the current optimal universe as shown in Eqs <xref ref-type="disp-formula" rid="e3">3</xref>&#x2013;<xref ref-type="disp-formula" rid="e5">5</xref>.<disp-formula id="e3">
<mml:math id="m14">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m15">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf12">
<mml:math id="m16">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the probability of the existence of wormholes in the multiverse space, <inline-formula id="inf13">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the minimum probability (0.2 in this study), <inline-formula id="inf14">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the maximum probability (1 in this study), <inline-formula id="inf15">
<mml:math id="m19">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the current number of iterations, and <inline-formula id="inf16">
<mml:math id="m20">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the maximum number of iterations. <inline-formula id="inf17">
<mml:math id="m21">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the travel distance numerical value, where <inline-formula id="inf18">
<mml:math id="m22">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (equal to 6 in this article) defines the development accuracy in iterations. The higher the value of <inline-formula id="inf19">
<mml:math id="m23">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the faster the local development but smaller the scope of the search.<disp-formula id="e5">
<mml:math id="m24">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf20">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the <inline-formula id="inf21">
<mml:math id="m26">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> object of the current optimal universe and <inline-formula id="inf22">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf23">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> refer to the lower and upper bounds of <inline-formula id="inf24">
<mml:math id="m29">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. <inline-formula id="inf25">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf26">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf27">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are random numbers in the range [0, 1].</p>
</sec>
<sec id="s2-2">
<title>2.2 Opposition-based learning for the multiverse optimizer</title>
<p>In the MVO, the update of the individual mainly depends on the size of the expansion rate and is then randomly updated according to the current global optimal universe and wormhole existence probability (WEP) parameters. Since the optimal value in the early stage of the algorithm is often too far from the true value, using the global optimal universe and the updated strategy will increase the probability of the algorithm falling into the local optimal and may cause the algorithm to slow down the convergence speed. Therefore, this study introduces opposition-based learning (OBL) to improve the global search ability and algorithm stability of the MVO.</p>
<p>OBL was proposed by <xref ref-type="bibr" rid="B20">Tizhoosh (2005)</xref> to improve the convergence stability and global search ability of other algorithms by considering opposite anti-population, opposite weight, anti-behavior, anti-exploration, anti-exploitation, etc. Currently, some scholars have introduced OBL into optimization algorithms such as PSO (<xref ref-type="bibr" rid="B24">Wang et al., 2011</xref>), WOA (<xref ref-type="bibr" rid="B9">Ewees et al., 2018</xref>), SCA (<xref ref-type="bibr" rid="B11">Gupta and Deep, 2019</xref>), and SSA (<xref ref-type="bibr" rid="B22">Tubishat et al., 2020</xref>). In this study, OBL is introduced into MVO, and the OBL-MVO algorithm is established for optimizing ensemble learning. The difference between the OBL-MVO and MVO lies in three stages: negative universe initialization, anti-black hole mechanism and anti-white hole mechanism, and anti-wormhole mechanism. The OBL-MVO algorithm includes a total of six stages: initialization of the positive universe and negative universe, calculation of the expansion rate (fitness value) of the universe, black hole and white hole mechanism, anti-black hole mechanism and anti-white hole mechanism, wormhole mechanism, and anti-wormhole mechanism. The positive universe and negative universe initialization run only once, and the remaining five stages are executed in a loop. The conceptual model of the proposed algorithm is given in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Conceptual model of the proposed OBL-MVO algorithm <inline-formula id="inf28">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g001.tif"/>
</fig>
<p>The following section introduces the initialization of the positive universe and the negative universe, the anti-black hole mechanism, the anti-white hole mechanism, and the anti-wormhole mechanism.</p>
<p>Anti-multiverse establishment: In order to solve the situation of the optimal value of the MVO algorithm often being too far from the real value in the early stage, the global search ability and convergence speed of the algorithm are improved. From the establishment stage of the multiverse population, the universe is divided into a positive universe and negative universe (the number of populations is consistent with the original MVO algorithm), and the positive universe is established by Eqs <xref ref-type="disp-formula" rid="e6">6</xref>&#x2013;<xref ref-type="disp-formula" rid="e9">9</xref>:<disp-formula id="e6">
<mml:math id="m34">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m35">
<mml:mrow>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m36">
<mml:mrow>
<mml:msup>
<mml:mi>U</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mn>1</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mn>1</mml:mn>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mn>2</mml:mn>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mn>2</mml:mn>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ee;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mi>U</mml:mi>
</mml:mtd>
<mml:mtd>
<mml:msup>
<mml:mi>U</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf29">
<mml:math id="m38">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the corresponding negative universe in the positive universe <inline-formula id="inf30">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf31">
<mml:math id="m40">
<mml:mrow>
<mml:msubsup>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the anti-object of the corresponding object in the negative universe.</p>
<p>Anti-black hole mechanism and anti-white hole mechanism: The material exchange mechanism between black holes and white holes is the exploration of the search space by MVO, but there are problems of the local search accuracy being too high and global search ability being insufficient. Therefore, the global search ability and overall stability of the algorithm are increased by setting the reverse black hole and reverse white hole mechanisms. The reverse black hole and reverse white hole mechanisms include random black hole and white hole stage and reverse object propagation stage. Both stages are controlled by a convergence factor <inline-formula id="inf32">
<mml:math id="m41">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> that decreases linearly with the number of iterations to control the probability of occurrence. The random black hole and white hole stages are shown in Eq. <xref ref-type="disp-formula" rid="e11">11</xref>, and the reverse object propagation stage is shown in Eq. <xref ref-type="disp-formula" rid="e12">12</xref>:<disp-formula id="e10">
<mml:math id="m42">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
<disp-formula id="e11">
<mml:math id="m43">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>7</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>7</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m44">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf33">
<mml:math id="m45">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is a convergence factor that decreases linearly with the number of iterations. <inline-formula id="inf34">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>5</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf35">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are random numbers in the range [0, 1].</p>
<p>The anti-wormhole mechanism: The anti-wormhole mechanism differs from the wormhole mechanism, where the anti-wormhole mechanism improves the global search by searching backward from the universe with the lowest expansion rate. To prevent this mechanism from affecting convergence, internal objects are, therefore, only stimulated to move toward the current worst universe if it is determined that the anti-wormhole mechanism is favorable to the increase in the universe&#x2019;s expansion rate.<disp-formula id="e13">
<mml:math id="m48">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x26;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>6</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
<disp-formula id="e14">
<mml:math id="m49">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>where <inline-formula id="inf36">
<mml:math id="m50">
<mml:mrow>
<mml:msubsup>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denotes the <inline-formula id="inf37">
<mml:math id="m51">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> object of the current worst universe. <inline-formula id="inf38">
<mml:math id="m52">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the result of the calculation based on the reverse wormhole mechanism, <inline-formula id="inf39">
<mml:math id="m53">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf40">
<mml:math id="m54">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> variable of the <inline-formula id="inf41">
<mml:math id="m55">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> universe where the number of iterations is <inline-formula id="inf42">
<mml:math id="m56">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf43">
<mml:math id="m57">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf44">
<mml:math id="m58">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> variable of the <inline-formula id="inf45">
<mml:math id="m59">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> universe before the reverse wormhole mechanism in the <inline-formula id="inf46">
<mml:math id="m60">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> iteration.</p>
</sec>
<sec id="s2-3">
<title>2.3 Adaptive ensemble learning by opposite multiverse optimizer</title>
<p>The idea of ensemble learning is that even if one base learner makes a wrong prediction, other base learners can correct the error, which aims to integrate multiple base learners to improve the accuracy of prediction. The main process is to first train multiple base learners by certain rules, then combine them using an integration strategy, and finally predict the result by comprehensive judgment of all base learners. Currently, ensemble learning has been successfully applied in pattern recognition, text classification, numerical prediction (<xref ref-type="bibr" rid="B24">Wang et al., 2011</xref>), and other fields.</p>
<p>The current integration strategy can be broadly divided into two categories: one is the sequential generation of base classifiers, with strong dependencies between individual learners, represented by AdaBoost (<xref ref-type="bibr" rid="B27">Ying et al., 2013</xref>), and the other is the parallelized integration method, which can generate base classifiers simultaneously, without strong dependencies between individuals, represented by Bagging (<xref ref-type="bibr" rid="B7">Dudoit and Fridlyand, 2003</xref>).</p>
<p>As unconventional reservoir data are collected from different reservoirs and have different reservoir data characteristics, this study improves the accuracy of the model by accommodating as many base learners as possible into a parallelized integration method to suit the different reservoir data characteristics. However, accommodating more models can lead to overfitting (<xref ref-type="bibr" rid="B8">D&#x17e;eroski and &#x17d;enko, 2004</xref>). Therefore, the K-fold cross-validation method and opposition-based learning are introduced to avoid overfitting.</p>
<p>In this study, the search for the best weights of base learners is considered an optimization problem, and the OBL-MVO algorithm is used to solve the optimization problem. The integration strategy of AIL-OMO is to divide the original dataset into several sub-datasets which are fed into each base learner in layer 1. In layer 1, each base learner outputs its own prediction results as meta features. The meta features are then used as an input to layer 2, where the OBL-MVO is used to search for the best weights of base learners.</p>
<p>The integration strategy used in this study is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Integration strategy of AIL-OMO.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g002.tif"/>
</fig>
<p>In order to fully exploit the individual strengths of each model, the probabilities of each reservoir predicted by each model are used as an input to train the ensemble learning model. In order to improve the accuracy and generalize the ability of the models completed by integration learning, the aforementioned OBL-MVO algorithm is introduced to reasonably optimize the integration learning process and search for the best weight of base learners.</p>
<p>The main contributions of this study are as follows:<list list-type="simple">
<list-item>
<p>(1) Collection of data and work on data collation and labeling.</p>
</list-item>
<list-item>
<p>(2) Proposed an algorithm OBL-MVO to optimize integration learning.</p>
</list-item>
<list-item>
<p>(3) Proposed an ensemble learning model AIL-OMO for the reservoir fluid classification task.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s3">
<title>3 Experiments and results</title>
<p>To validate the effectiveness of our proposed method, we conducted experiments on the dataset. The following sections provide details on the model implementation, dataset processing, and final comparison results. The Flowchart of the AIL-OMO is shown in the <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Flowchart of the AIL-OMO.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g003.tif"/>
</fig>
<sec id="s3-1">
<title>3.1 Data source and pretreatment</title>
<p>In this section, the data used in this paper and the preprocessing of the data are introduced. In order to build a reservoir classification model that can adapt to various unconventional features, 12,379 pieces of reservoir fluid property data from eight different wells were used for training the model. The data contain six categories of labels: dry layer, poor oil layer, water layer, oil-bearing water layer, oil&#x2013;water layer, and oil layer. The data include AC (sonic interval transit time), CNL (compensated neutron logging), DEN (compensated density), GR (natural gamma ray), SP (spontaneous potential), CAL (caliper logging), and R045 (0.45&#xa0;m potential resistivity). <xref ref-type="fig" rid="F4">Figure 4</xref> shows the degree of correlation between variables in reservoir fluid property data (excluding the oil field name). After obtaining the collected data, the annotation work of the dataset was carried out by analyzing the logging curves as the training data for the model.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Correlation scatterplot matrix of the original dataset.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g004.tif"/>
</fig>
<p>In the data preprocessing stage, this study mainly operates on the following issues:<list list-type="simple">
<list-item>
<p>(1) Rejection operations for data that are missing or do not conform to common sense.</p>
</list-item>
<list-item>
<p>(2) For labels with labeled data, one-hot coding is used for processing. Category labels from 1 to 6 represent the dry layer, poor oil layer, water layer, oil-bearing water layer, oil&#x2013;water layer, and oil layer.</p>
</list-item>
<list-item>
<p>(3) Data normalization of the data is used as an input to the model.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s3-2">
<title>3.2 Implementation details</title>
<p>In this section, OBL-MVO is used to solve the optimization problem to build adaptive ensemble learning classifiers for reservoir fluid property prediction. Since the dataset of unconventional reservoirs contains various unconventional reservoir features, each base learner is differently adapted to the unconventional reservoir features. Therefore, the weight searching problem in the integration strategy is abstracted as an optimization problem to obtain and integrate a model with generalization performance on all unconventional reservoir features in the dataset. The OBL-MVO algorithm is used to optimize the weights of the base learners based on the K-fold cross-validation test set to build the AIL-OMO to avoid the overfitting of partial features for unconventional reservoirs. In this optimization problem, to avoid overfitting of the local features of unconventional reservoirs, the accuracy of the validation set in K-fold cross-validation of each base learner for each unconventional reservoir feature is obtained from the validation set in K-fold cross-validation. In this case, the weights of the base learners are encoded into the individual dimensional attributes of the population, as shown in Eq. <xref ref-type="disp-formula" rid="e15">15</xref>. The degree of learning of each model in each unconventional reservoir feature is involved in the calculation of the adaptation value of the optimization algorithm, as shown in Eq. <xref ref-type="disp-formula" rid="e16">16</xref>.<disp-formula id="e15">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="normal">&#x3f5;</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m62">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="italic">dim</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mo>&#x2219;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf47">
<mml:math id="m63">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the individual <inline-formula id="inf48">
<mml:math id="m64">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf49">
<mml:math id="m65">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the dimension vector of <inline-formula id="inf50">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf51">
<mml:math id="m67">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf52">
<mml:math id="m68">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> dimension value of the individual <inline-formula id="inf53">
<mml:math id="m69">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, representing the weight of the <inline-formula id="inf54">
<mml:math id="m70">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model; <inline-formula id="inf55">
<mml:math id="m71">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the classification possibility of the <inline-formula id="inf56">
<mml:math id="m72">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> model in the test set of K-fold cross-validation; <inline-formula id="inf57">
<mml:math id="m73">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the true classification of the <inline-formula id="inf58">
<mml:math id="m74">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> sample; <inline-formula id="inf59">
<mml:math id="m75">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of samples in the full test set in K-fold cross-validation; and <inline-formula id="inf60">
<mml:math id="m76">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the fitness function set by this study.</p>
<p>In order to show the performance of OBL-MVO on this dataset, OBL-MVO is compared with the other swarm intelligence heuristic algorithms, including whale optimization algorithm (WOA), gray wolf optimization (GWO), and MVO.</p>
<p>Among them, the parameter settings of each swarm intelligence heuristic algorithm are shown in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Parameter size setting of the heuristic algorithms.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Algorithm</th>
<th align="center">Parameter</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="center">Gray wolf optimization (GWO)</td>
<td align="center">Convergence constant a</td>
<td align="center">Linear decrease [2,0]</td>
</tr>
<tr>
<td align="center">Individual dimension</td>
<td align="center">12</td>
</tr>
<tr>
<td align="center">Maximum iteration number</td>
<td align="center">50</td>
</tr>
<tr>
<td rowspan="4" align="center">Whale optimization algorithm (WOA)</td>
<td align="center">b</td>
<td align="center">[0,1]</td>
</tr>
<tr>
<td align="center">l</td>
<td align="center">Linear decrease [2,0]</td>
</tr>
<tr>
<td align="center">Individual dimension</td>
<td align="center">12</td>
</tr>
<tr>
<td align="center">Maximum iteration number</td>
<td align="center">50</td>
</tr>
<tr>
<td rowspan="4" align="center">Multiverse optimizer (MVO)</td>
<td align="center">WEP<sub>min</sub>
</td>
<td align="center">0.2</td>
</tr>
<tr>
<td align="center">WEP<sub>max</sub>
</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Maximum iteration number L</td>
<td align="center">50</td>
</tr>
<tr>
<td align="center">Dimensions of the universe</td>
<td align="center">12</td>
</tr>
<tr>
<td rowspan="4" align="center">Opposition-based learning multiverse optimizer (OBL-MVO)</td>
<td align="center">WEP<sub>min</sub>
</td>
<td align="center">0.2</td>
</tr>
<tr>
<td align="center">WEP<sub>max</sub>
</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">Maximum iteration number L</td>
<td align="center">50</td>
</tr>
<tr>
<td align="center">Dimensions of the universe</td>
<td align="center">12</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In order to compare the four intelligent optimization algorithms, it is necessary to compare the fitness value curves of their optimization results. Since the population size of different algorithms affects the convergence of the fitness curve, in order to balance the effect of the population size of each algorithms on the fitness value, the population size for each algorithm is set to 20, 50, 100, and 200. The fitness curve results of GWO, WOA, MVO, and OBL-MVO are shown in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Fitness curve of OBL-PO and other algorithms. <bold>(A)</bold>GWO, <bold>(B)</bold> WOA, <bold>(C)</bold> MVO, and <bold>(D)</bold> OBL-MVO.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g005.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F5">Figure 5</xref> shows that OBL-MVO has a faster convergence rate than MVO, WOA, and GWO (the number of iterations required for the fitness function to converge and stabilize is the least); OBL-MVO shows a better convergence fitness value than MVO, WOA, and GWO, indicating that OBL-MVO has a better optimization effect than MVO, WOA, and GWO on the dataset. The corresponding weights of base learners optimized by OBL-MVO adaptive optimization are shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Weight of the base learners adapted by OBL-MVO.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="center">Model</th>
<th colspan="4" align="center">Weight</th>
</tr>
<tr>
<th align="center">Universe size: 20</th>
<th align="center">Universe size: 50</th>
<th align="center">Universe size: 100</th>
<th align="center">Universe size: 200</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">AdaBoost</td>
<td align="left">1</td>
<td align="left">0</td>
<td align="left">0.02833</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Decision tree</td>
<td align="left">0.1162</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0.00022322</td>
</tr>
<tr>
<td align="left">Gaussian NB</td>
<td align="left">0</td>
<td align="left">0.00048377</td>
<td align="left">0.0038903</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Gradient boosting</td>
<td align="left">0.068271</td>
<td align="left">0.0019224</td>
<td align="left">0.0014322</td>
<td align="left">0.034983</td>
</tr>
<tr>
<td align="left">K-neighbors</td>
<td align="left">0.28552</td>
<td align="left">0.00050389</td>
<td align="left">0.0050942</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">Linear discriminant</td>
<td align="left">0</td>
<td align="left">0.988614</td>
<td align="left">1</td>
<td align="left">0.00023692</td>
</tr>
<tr>
<td align="left">Linear SVC</td>
<td align="left">0.55879</td>
<td align="left">0.016247</td>
<td align="left">0.0005649</td>
<td align="left">0.000002809</td>
</tr>
<tr>
<td align="left">Logistic regression</td>
<td align="left">0</td>
<td align="left">0.00026492</td>
<td align="left">0.00051013</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Multinomial NB</td>
<td align="left">0.0051706</td>
<td align="left">0</td>
<td align="left">0.00010339</td>
<td align="left">0.0005012</td>
</tr>
<tr>
<td align="left">Quadratic discriminant</td>
<td align="left">0.51818</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Random forest</td>
<td align="left">0.037554</td>
<td align="left">0.00046187</td>
<td align="left">0.00048096</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">SVC</td>
<td align="left">0</td>
<td align="left">0.0017196</td>
<td align="left">0.00063828</td>
<td align="left">0.00039366</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-3">
<title>3.3 Reservoir fluid property prediction</title>
<p>In this section, the predicted results of the AIL-OMO model and evaluation of its performance are presented. The AIL-OMO model was trained using the training dataset and evaluated on the test set. This paper adopts the accuracy rate as the evaluation metric, which is widely used in reservoir classification, lithology identification, and reservoir fluid identification (<xref ref-type="bibr" rid="B17">Moffatt and Williams, 1998</xref>; <xref ref-type="bibr" rid="B1">Al-Anazi and Gates, 2010</xref>; <xref ref-type="bibr" rid="B4">Boyd et al., 2013</xref>; <xref ref-type="bibr" rid="B18">Onwuchekwa, 2018</xref>).</p>
<p>
<xref ref-type="fig" rid="F6">Figure 6</xref> depicts the results of using seven machine learning algorithms to predict the reservoir fluid, including the AIL-OMO model proposed in this paper. The accuracy of the AIL-OMO model surpasses that of the other six models, achieving an accuracy rate of 92.75%, followed by the SVC and linear SVC models in well 1. <xref ref-type="fig" rid="F7">Figure 7</xref> presents the reservoir fluid prediction results of the seven machine learning models in well 2. The accuracy rates from high to low are given as follows: AIL-OMO (81.93%), logistic regression (70.37%), linear SVC (69.30%), linear discriminant analysis (69.26%), KNN (69.11%), AdaBoost (66.45%), and SVC (64.37%). <xref ref-type="fig" rid="F8">Figure 8</xref> shows the reservoir fluid prediction results of the seven machine learning models in well 3. Among the prediction results of each model, the accuracy rate of the AIL-OMO model is better than that of the other models, with an accuracy rate of 88.72%, followed by SVC with an accuracy rate of 83.03%. The worst model is AdaBoost, with an accuracy rate of only 65.57%. From the experimental results, it can be interpreted that integrating multiple weak learners into one strong learner using the OBL-MVO algorithm leads to a significant improvement in the prediction accuracy of the original model. Therefore, the proposed AIL-OMO model has high accuracy and is more conducive to the prediction of reservoir fluid.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Comparison chart of the real reservoir fluid and predicted reservoir fluid in well 1.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g006.tif"/>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Comparison chart of the real reservoir fluid and predicted reservoir fluid in well 2.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Comparison chart of the real reservoir fluid and predicted reservoir fluid in well 3.</p>
</caption>
<graphic xlink:href="feart-11-1116664-g008.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F9">Figure 9</xref> shows the change in the classification accuracy of the AIL-OMO model with different party sizes.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Reservoir fluid property prediction by AIL-OMO (classification label: dry layer (1), poor oil layer (2), water layer (3), oil-bearing water layer (4), oil&#x2013;water layer (5), and oil layer (6)).</p>
</caption>
<graphic xlink:href="feart-11-1116664-g009.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F9">Figure 9</xref> shows the classification accuracy of different reservoir fluids by AIL-OMO. Each value in the figure represents the ratio of the number of reservoir fluids identified by AIL-OMO to the actual number of reservoir fluids in the dataset. <xref ref-type="fig" rid="F6">Figure 6</xref> shows that the results of AIL-OMO exhibit slight fluctuations under different party sizes. The classification accuracy for the poor oil layer, water layer, and oil-bearing water layer is relatively low. This can be attributed to the smaller percentage of poor reservoirs, water layers, and oil-bearing water layers in the dataset.</p>
<p>
<xref ref-type="table" rid="T3">Table 3</xref> presents the comparison results of the accuracy of AIL-OMO and the other six machine learning models. Among them, AIL-OMO with a party size of 100 achieves the highest accuracy of 85%. This model demonstrates the fewest classification errors for each reservoir. However, when the party size is increased to 200, the accuracy of AIL-OMO decreases to 78%. This decrease in accuracy can be attributed to the party size being too large, causing overfitting of the model to the data.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Specific results of predicting permeability.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="center">Model</th>
<th colspan="6" align="center">Sample number in the interval of absolute error</th>
<th rowspan="2" align="center">ACC</th>
</tr>
<tr>
<th align="center">1</th>
<th align="center">2</th>
<th align="center">3</th>
<th align="center">4</th>
<th align="center">5</th>
<th align="center">6</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">AIL-OMO (party size: 20)</td>
<td align="center">1,073</td>
<td align="center">272</td>
<td align="center">546</td>
<td align="center">25</td>
<td align="center">165</td>
<td align="center">210</td>
<td align="center">0.61</td>
</tr>
<tr>
<td align="center">AIL-OMO (party size: 50)</td>
<td align="center">588</td>
<td align="center">145</td>
<td align="center">368</td>
<td align="center">25</td>
<td align="center">107</td>
<td align="center">273</td>
<td align="center">0.74</td>
</tr>
<tr>
<td align="center">AIL-OMO (party size: 100)</td>
<td align="center">
<bold>127</bold>
</td>
<td align="center">
<bold>106</bold>
</td>
<td align="center">
<bold>456</bold>
</td>
<td align="center">
<bold>14</bold>
</td>
<td align="center">
<bold>23</bold>
</td>
<td align="center">
<bold>52</bold>
</td>
<td align="center">
<bold>0.85</bold>
</td>
</tr>
<tr>
<td align="center">AIL-OMO (party size: 200)</td>
<td align="center">362</td>
<td align="center">132</td>
<td align="center">573</td>
<td align="center">17</td>
<td align="center">114</td>
<td align="center">110</td>
<td align="center">0.78</td>
</tr>
<tr>
<td align="center">SVC</td>
<td align="center">239</td>
<td align="center">249</td>
<td align="center">823</td>
<td align="center">29</td>
<td align="center">86</td>
<td align="center">255</td>
<td align="center">0.75</td>
</tr>
<tr>
<td align="center">AdaBoost</td>
<td align="center">1,151</td>
<td align="center">290</td>
<td align="center">341</td>
<td align="center">15</td>
<td align="center">210</td>
<td align="center">273</td>
<td align="center">0.62</td>
</tr>
<tr>
<td align="center">KNN</td>
<td align="center">242</td>
<td align="center">164</td>
<td align="center">822</td>
<td align="center">29</td>
<td align="center">178</td>
<td align="center">89</td>
<td align="center">0.76</td>
</tr>
<tr>
<td align="center">Linear SVC</td>
<td align="center">158</td>
<td align="center">324</td>
<td align="center">830</td>
<td align="center">27</td>
<td align="center">15</td>
<td align="center">285</td>
<td align="center">0.75</td>
</tr>
<tr>
<td align="center">Logistic regression</td>
<td align="center">160</td>
<td align="center">297</td>
<td align="center">833</td>
<td align="center">29</td>
<td align="center">110</td>
<td align="center">209</td>
<td align="center">0.75</td>
</tr>
<tr>
<td align="center">Linear discriminant analysis</td>
<td align="center">148</td>
<td align="center">199</td>
<td align="center">840</td>
<td align="center">29</td>
<td align="center">203</td>
<td align="center">110</td>
<td align="center">0.74</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Bold values are the best training results that can be achieved by AIL-OMO.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>4 Discussion</title>
<p>Considering the characteristics of ensemble learning, the MVO algorithm may promote the overfitting learning phenomenon in the fluid category with small sample data. Therefore, the more models the AIL-OMO integrates, the more the corresponding training data samples should be, so that MVO can achieve the optimization effect of ensemble learning.</p>
<p>For each model, the identification of oil-bearing water layer and water layer are not accurate enough, which may be due to the classification confusion caused by noise interference in the logging curves of the water layer in unconventional reservoirs. In the future, we aim to decrease the number of base models to improve the operational speed and enhance our model&#x2019;s performance by collecting data from various reservoir types for testing.</p>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>This study focuses on logging data for unconventional reservoirs, which exhibit unconventional characteristics and data imbalance. To address these challenges, this paper proposes a new model that combines 12 base learners using the multiverse optimizer. The AIL-OMO model combines multiple weak learners into one strong learner. The advantage of our ensemble learning lies in its ability to ensure the diversity of weak classifiers, resulting in better prediction results than those obtained by other single learner models. Compared to other widely used models, the new ensemble learning model proposed in this paper achieves high accuracy on classifying dry layers, oil&#x2013;water layers, and oil layers, with accuracy rates of 94.33%, 90.46%, and 90.66%, respectively. This indicates that the proposed model exhibits the highest accuracy and better generalization for fluid identification in unconventional oil reservoirs.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>YZ: writing&#x2014;original draft and resources; XZ: methodology and supervision; YS: visualization and investigation; AG: data curation and conceptualization; ML: validation. All authors contributed to the article and approved the submitted version.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This work was financially supported by the Major Scientific and Technological Projects of CNPC under Grant ZD2019-183-004.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Al-Anazi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Gates</surname>
<given-names>I. D.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>A support vector machine algorithm to classify lithofacies and model permeability in heterogeneous reservoirs</article-title>. <source>Eng. Geol.</source> <volume>114</volume>, <fpage>267</fpage>&#x2013;<lpage>277</lpage>. <pub-id pub-id-type="doi">10.1016/j.enggeo.2010.05.005</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Baarimah</surname>
<given-names>S. O.</given-names>
</name>
<name>
<surname>Al-Aidroos</surname>
<given-names>N. M.</given-names>
</name>
<name>
<surname>Ba-Jaalah</surname>
<given-names>K. S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Using chemical composition of crude oil and artificial intelligence techniques to predict the reservoir fluid properties</article-title>. <source>Int. Conf. Intell. Comput. Eng. (ICOICE)</source>, <fpage>1</fpage>&#x2013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1109/ICOICE48418.2019.9035135</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Bestagini</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Lipari</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Tubaro</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2017</year>). <source>A machine learning approach to facies classification using well logs Seg technical program expanded abstracts 2017</source>. <publisher-loc>Houston, Texas, United States</publisher-loc>: <publisher-name>Society of Exploration Geophysicists</publisher-name>, <fpage>2137</fpage>&#x2013;<lpage>2142</lpage>.</citation>
</ref>
<ref id="B4">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Boyd</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Eng</surname>
<given-names>K. H.</given-names>
</name>
<name>
<surname>Page</surname>
<given-names>C. D.</given-names>
</name>
</person-group> &#x201c;<article-title>Area under the precision-recall curve: Point estimates and confidence intervals</article-title>,&#x201d; in <conf-name>Proceedings of the Joint European conference on machine learning and knowledge discovery in databases</conf-name>, <conf-loc>Prague, Czech Republic</conf-loc>, <conf-date>September 2013</conf-date> (<publisher-name>Springer</publisher-name>), <fpage>451</fpage>&#x2013;<lpage>466</lpage>.</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dao</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Nguyen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Ngo</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A hybrid improved MVO and FNN for identifying collected data failure in cluster heads in WSN</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>124311</fpage>&#x2013;<lpage>124322</lpage>. <pub-id pub-id-type="doi">10.1109/access.2020.3005247</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Das</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Chatterjee</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Well log data analysis for lithology and fluid identification in Krishna-Godavari Basin, India</article-title>. <source>Arabian J. Geosciences</source> <volume>11</volume>, <fpage>231</fpage>&#x2013;<lpage>312</lpage>. <pub-id pub-id-type="doi">10.1007/s12517-018-3587-2</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dudoit</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Fridlyand</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Bagging to improve the accuracy of a clustering procedure</article-title>. <source>Bioinformatics</source> <volume>19</volume>, <fpage>1090</fpage>&#x2013;<lpage>1099</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btg038</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>D&#x17e;eroski</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>&#x17d;enko</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>Is combining classifiers with stacking better than selecting the best one?</article-title> <source>Mach. Learn</source> <volume>54</volume>, <fpage>255</fpage>&#x2013;<lpage>273</lpage>. <pub-id pub-id-type="doi">10.1023/b:mach.0000015881.36452.6e</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ewees</surname>
<given-names>A. A.</given-names>
</name>
<name>
<surname>Abd Elaziz</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Houssein</surname>
<given-names>E. H.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Improved grasshopper optimization algorithm using opposition-based learning</article-title>. <source>Expert Syst. Appl.</source> <volume>112</volume>, <fpage>156</fpage>&#x2013;<lpage>172</lpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2018.06.023</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guerreiro</surname>
<given-names>J. N. C.</given-names>
</name>
<name>
<surname>Barbosa</surname>
<given-names>H. J. C.</given-names>
</name>
<name>
<surname>Garcia</surname>
<given-names>E. L. M.</given-names>
</name>
<name>
<surname>Loula</surname>
<given-names>A. F. D.</given-names>
</name>
<name>
<surname>Malta</surname>
<given-names>S. M. C.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Identification of reservoir heterogeneities using tracer breakthrough profiles and genetic algorithms</article-title>. <source>SPE Reserv. Eval. Eng.</source> <volume>1</volume>, <fpage>218</fpage>&#x2013;<lpage>223</lpage>. <pub-id pub-id-type="doi">10.2118/39066-pa</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gupta</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Deep</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A hybrid self-adaptive sine cosine algorithm with opposition based learning</article-title>. <source>Expert Syst. Appl.</source> <volume>119</volume>, <fpage>210</fpage>&#x2013;<lpage>230</lpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2018.10.050</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Hassan</surname>
<given-names>H. A.</given-names>
</name>
<name>
<surname>Zellagui</surname>
<given-names>M.</given-names>
</name>
</person-group> &#x201c;<article-title>MVO algorithm for optimal simultaneous integration of DG and DSTATCOM in standard radial distribution systems based on technical-economic indices</article-title>,&#x201d; in <conf-name>Proceedings of the 2019 21st International Middle East Power Systems Conference (MEPCON)</conf-name>, <conf-loc>Cairo, Egypt</conf-loc>, <conf-date>December 2019</conf-date>, <fpage>277</fpage>&#x2013;<lpage>282</lpage>.</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wan</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Log interpretation for lithology and fluid identification using deep neural network combined with MAHAKIL in a tight sandstone reservoir</article-title>. <source>J. Pet. Sci. Eng.</source> <volume>194</volume>, <fpage>107498</fpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2020.107498</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jain</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Yadav</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Prakash</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Shukla</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Tiwari</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>MVO-based path planning scheme with coordination of UAVs in 3-D environment</article-title>. <source>J. Comput. Sci.</source> <volume>37</volume>, <fpage>101016</fpage>. <pub-id pub-id-type="doi">10.1016/j.jocs.2019.07.003</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Shao</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <source>Multi-level reservoir identification with logs based on machine learning SPWLA 63rd annual logging symposium</source>. <publisher-loc>Richardson, TX, United States</publisher-loc>: <publisher-name>OnePetro</publisher-name>.</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mirjalili</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Mirjalili</surname>
<given-names>S. M.</given-names>
</name>
<name>
<surname>Hatamlou</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Multi-verse optimizer: A nature-inspired algorithm for global optimization</article-title>. <source>Neural Comput. Appl.</source> <volume>27</volume>, <fpage>495</fpage>&#x2013;<lpage>513</lpage>. <pub-id pub-id-type="doi">10.1007/s00521-015-1870-7</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Moffatt</surname>
<given-names>B. J.</given-names>
</name>
<name>
<surname>Williams</surname>
<given-names>J. M.</given-names>
</name>
</person-group> (<year>1998</year>). <source>Identifying and meeting the key needs for reservoir fluid properties A multi-disciplinary approach spe annual technical conference and exhibition</source>. <publisher-loc>Richardson, TX, United States</publisher-loc>: <publisher-name>OnePetro</publisher-name>.</citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Onwuchekwa</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2018</year>). <source>Application of machine learning ideas to reservoir fluid properties estimation SPE Nigeria Annual International Conference and Exhibition</source>. <publisher-loc>Richardson, TX, United States</publisher-loc>: <publisher-name>OnePetro</publisher-name>.</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ren</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>Optimization of models for a rapid identification of lithology while drilling - a win-win strategy based on machine learning</article-title>. <source>J. Pet. Sci. Eng.</source> <volume>176</volume>, <fpage>321</fpage>&#x2013;<lpage>341</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2019.01.006</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Tizhoosh</surname>
<given-names>H. R.</given-names>
</name>
</person-group> &#x201c;<article-title>Opposition-based learning: A new scheme for machine intelligence</article-title>,&#x201d; in <conf-name>Proceedings of the International conference on computational intelligence for modelling, control and automation and international conference on intelligent agents, web technologies and internet commerce (CIMCA-IAWTIC&#x27;06)</conf-name>, <conf-loc>Vienna, Austria</conf-loc>, <conf-date>November, 2005</conf-date>, <fpage>695</fpage>&#x2013;<lpage>701</lpage>.</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tohidi-Hosseini</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Hajirezaie</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Hashemi-Doulatabadi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hemmati-Sarapardeh</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mohammadi</surname>
<given-names>A. H.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Toward prediction of petroleum reservoir fluids properties: A rigorous model for estimation of solution gas-oil ratio</article-title>. <source>J. Nat. Gas. Sci. Eng.</source> <volume>29</volume>, <fpage>506</fpage>&#x2013;<lpage>516</lpage>. <pub-id pub-id-type="doi">10.1016/j.jngse.2016.01.010</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tubishat</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Idris</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Shuib</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Abushariah</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Mirjalili</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Improved Salp Swarm Algorithm based on opposition based learning and novel local search algorithm for feature selection</article-title>. <source>Expert Syst. Appl.</source> <volume>145</volume>, <fpage>113122</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2019.113122</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Vivek</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Deepak</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mohit</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Asha</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Vijander</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <source>Development of multi-verse optimizer (mvo) for labview intelligent communication, control and devices</source>. <publisher-loc>Berlin, Germany</publisher-loc>: <publisher-name>Springer</publisher-name>, <fpage>731</fpage>&#x2013;<lpage>739</lpage>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Rahnamayan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ventresca</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Enhancing particle swarm optimization using generalized opposition-based learning</article-title>. <source>Inf. Sci.</source> <volume>181</volume>, <fpage>4699</fpage>&#x2013;<lpage>4714</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2011.03.016</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Dai</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An improved method for lithology identification based on a hidden Markov model and random forests</article-title>. <source>Geophysics</source> <volume>85</volume>, <fpage>IM27</fpage>&#x2013;<lpage>IM36</lpage>. <pub-id pub-id-type="doi">10.1190/geo2020-0108.1</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Konat&#xe9;</surname>
<given-names>A. A.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Performance of the synergetic wavelet transform and modified K-means clustering in lithology classification using nuclear log</article-title>. <source>J. Pet. Sci. Eng.</source> <volume>144</volume>, <fpage>1</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2016.02.031</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ying</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Qi-Guang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Jia-Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Advance and prospects of AdaBoost algorithm</article-title>. <source>Acta Autom. Sin.</source> <volume>39</volume>, <fpage>745</fpage>&#x2013;<lpage>758</lpage>. <pub-id pub-id-type="doi">10.1016/s1874-1029(13)60052-x</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Thermodynamics-informed neural network (TINN) for phase equilibrium calculations considering capillary pressure</article-title>. <source>Energies</source> <volume>14</volume>, <fpage>7724</fpage>. <pub-id pub-id-type="doi">10.3390/en14227724</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Optimization of random forest through the use of MVO, GWO and MFO in evaluating the stability of underground entry-type excavations</article-title>. <source>Tunn. Undergr. Space Technol.</source> <volume>124</volume>, <fpage>104494</fpage>. <pub-id pub-id-type="doi">10.1016/j.tust.2022.104494</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>