<?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. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1204006</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2023.1204006</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A photovoltaic parameter identification method based on <italic>Pontogammarus maeoticus</italic> swarm optimization</article-title>
<alt-title alt-title-type="left-running-head">Chen 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/fenrg.2023.1204006">10.3389/fenrg.2023.1204006</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Chen</surname>
<given-names>Ling</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2278226/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Han</surname>
<given-names>Wei</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Shi</surname>
<given-names>Yang</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Jingwei</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Cao</surname>
<given-names>Shang</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Physics and Electronic Electrical Engineering</institution>, <institution>Huaiyin Normal University</institution>, <addr-line>Huai&#x2019;an</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>State Grid Jiangsu Electric Power Co., Ltd.</institution>, <institution>Huai&#x2019;an Power Supply Branch</institution>, <addr-line>Huai&#x2019;an</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>College of Mechanical and Electrical Engineering</institution>, <institution>Hohai University</institution>, <addr-line>Changzhou</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/2061959/overview">Luis Martin Pomares</ext-link>, Dubai Electricity and Water Authority, United Arab Emirates</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/1995812/overview">Guojiang Xiong</ext-link>, Guizhou University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2242281/overview">Sahil Tahiliani</ext-link>, Applied Materials, United States</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Ling Chen, <email>8201701106@hytc.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>10</day>
<month>08</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>11</volume>
<elocation-id>1204006</elocation-id>
<history>
<date date-type="received">
<day>11</day>
<month>04</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>21</day>
<month>07</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Chen, Han, Shi, Zhang and Cao.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Chen, Han, Shi, Zhang and Cao</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>Currently, the improvement of model parameter extraction accuracy is essential to research photovoltaic (PV) fields. In this study, a model parameter identification based on <italic>Pontogammarus maeoticus</italic> swarm optimization (PMSO) is proposed. The PMSO is used for parameter identification of mathematical models for PV modules. In the PMSO algorithm, by giving the ability of free exploration to particles that are far away from the optimal solution, the search scope is expanded to avoid falling into the local optimum. Besides, the local search for each <italic>Gammarus</italic> has a better convergence for PV parameter identification. Therefore, the accuracy of parameter identification for modeling PV modules is improved. The feasibility and superiority of the proposed method are verified by measured I-V characteristics of the PV array. The experimental results and error analysis verify that when compared with the conventional meta-heuristic algorithms, the proposed method achieves higher modeling accuracy. The proposed PMSO algorithm is suitable for engineering application of parameter identification and modeling of PV modules.</p>
</abstract>
<kwd-group>
<kwd>parameter identification</kwd>
<kwd>
<italic>Pontogammarus maeoticus</italic> swarm optimization</kwd>
<kwd>mathematical model of PV module</kwd>
<kwd>meta-heuristic algorithm</kwd>
<kwd>photovoltaic module</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Solar Energy</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In recent decades, with increasing concerns about resource depletion, climate change, and environmental pollution, the proportion of installed renewable energy has gradually increased (<xref ref-type="bibr" rid="B21">Renewables, 2022</xref>). Investment in renewable power and fuels has risen for the fourth consecutive year, and the record increase in global electricity generation has led to solar and wind power providing more than 10% of the world&#x2019;s electricity for the first time ever (<xref ref-type="bibr" rid="B21">Renewables, 2022</xref>).</p>
<p>Therefore, in order to better estimate the generated power of photovoltaic (PV) power plants, many different types of PV models have been built, such as the single-diode model (SDM) (<xref ref-type="bibr" rid="B12">Kallioj&#xe4;rvi-Viljakainen et al., 2022</xref>; <xref ref-type="bibr" rid="B11">Javier Toledo et al., 2023</xref>), double-diode model (DDM) (<xref ref-type="bibr" rid="B28">Yahya-Khotbehsara and Ali, 2018</xref>), improved single-diode model (ISDM) (<xref ref-type="bibr" rid="B1">Abbassi et al., 2017</xref>), and triple-diode model (TDM) (<xref ref-type="bibr" rid="B22">Rezk and Ali Abdelkareem, 2022</xref>). The improvement of accuracy of parameter identification can enhance the simulation accuracy of PV models (<xref ref-type="bibr" rid="B5">Chouder et al., 2012</xref>). It can also help evaluate the performance of PV systems (<xref ref-type="bibr" rid="B6">Dabou et al., 2021</xref>), predict the output characteristics of PV arrays (<xref ref-type="bibr" rid="B34">Zhu et al., 2023</xref>), track the maximum power point (MPP) (<xref ref-type="bibr" rid="B16">Manna et al., 2023</xref>), and diagnose failure of PV arrays (<xref ref-type="bibr" rid="B33">Zhang and Huang, 2011</xref>), which directly affect the power generation efficiency and economic benefits of a PV power plant. Therefore, it is important to model the PV modules and accurately obtain the parameters of solar cells and PV modules.</p>
<p>The identification methods of PV model parameters can be divided into analytical and optimization methods. Many researchers have proposed to directly analyze the I-V curve to obtain parameters through the analysis method (<xref ref-type="bibr" rid="B3">Chan and Phang, 1987</xref>; <xref ref-type="bibr" rid="B19">Ortiz-Conde et al., 2006</xref>; <xref ref-type="bibr" rid="B30">Li Hong Idris Lim Ye et al., 2015</xref>; <xref ref-type="bibr" rid="B24">Torabi et al., 2017</xref>). This kind of method is direct and simple, but its accuracy depends on the correctness of the key information points selected on the I-V curve, i.e., short-circuit point, open-voltage point, and MPP. However, due to changes in outdoor ambient conditions, the I-V characteristic will have non-linear changes, so the analytical method cannot show good accuracy in practical applications.</p>
<p>Alternatively, with the progress of computer and artificial intelligence, many optimization methods based on the meta-heuristic algorithm to identify PV model parameters have been proposed. These methods are suitable for solving non-linear complex problems and improving the accuracy of solving. They are mainly divided into the following four categories: biology-based algorithms, physics-based algorithms, sociology-based algorithms, and mathematics-based algorithms (<xref ref-type="bibr" rid="B29">Yang et al., 2020</xref>). Many scholars have applied the meta-heuristic algorithm to identify PV model parameters. <xref ref-type="bibr" rid="B17">Mirjalili and Lewis (2016)</xref> proposed the whale optimization algorithm (WOA) in 2016. <xref ref-type="bibr" rid="B26">Xiong et al. (2018</xref>) soon applied the WOA to PV parameter identification. <xref ref-type="bibr" rid="B31">Zeng et al. (2021)</xref> proposed parameter identification of PV cells via the adaptive compass search (ACS) algorithm and when being compared with the WOA, the ACS algorithm showed better optimization accuracy and convergence rate. <xref ref-type="bibr" rid="B7">El-Dabah et al. (2023</xref>) proposed PV model parameter identification using the northern goshawk optimization (NGO) algorithm, and <xref ref-type="bibr" rid="B13">Kumar and Magdalin Mary (2022</xref>) proposed PV model parameter identification using the chaotic tuna swarm optimizer (CTSO) algorithm. Both methods have good results for the parameter identification of TDM. <xref ref-type="bibr" rid="B25">Wen et al. (2021)</xref> proposed the parameter identification of PV models by using an enhanced adaptive butterfly optimization algorithm (EABOA). The EABOA exhibits a precision superior to other methods in parameter extraction for the SDM and DDM. <xref ref-type="bibr" rid="B18">Nunes et al. (2020)</xref> proposed a novel multiswarm spiral leader particle swarm optimization (M-SLPSO) for PV parameter identification. The proposed M-SLPSO uses several swarms with different spiral trajectories, with population stagnation and premature convergence being alleviated. <xref ref-type="bibr" rid="B2">Alam et al. (2015)</xref> proposed a flower pollination algorithm (FPA)&#x2013;based solar PV parameter estimation. <xref ref-type="bibr" rid="B10">Gude and Chandra Jana (2022)</xref> proposed the cuckoo search algorithm&#x2013;based parameter identification of solar cells. <xref ref-type="bibr" rid="B20">Qais et al. (2019</xref>) proposed the coyote optimization algorithm (COA) for parameters extraction of three-diode PV models of PV modules. <xref ref-type="bibr" rid="B15">Lu et al. (2023</xref>) proposed the hybrid multi-group stochastic cooperative optimization algorithm (HMSCPSO), where the diversity of the population is increased to solve the problem of parameter identification. <xref ref-type="bibr" rid="B23">Shen et al. (2023)</xref> proposed the parameters of the discrete-time equivalent model (PDEM) of a PV system. The model parameters are identified using the least square method (LS) and bat algorithm (BA). <xref ref-type="bibr" rid="B9">Gu et al. (2023</xref>) proposed a simple and effective approach success-history adaptation differential evolution with linear population size reduction and decomposition (L-SHADED) to solve the problem of PV parameter identification, when the temperature and irradiance change. However, many problems still exist for the aforementioned algorithms, e.g., the adaptability of WOA parameters has to be improved. The NGO algorithm has worse accuracy considering noisy signals. The robustness of the FPA, CTSO, and EABOA should be enhanced for different temperature conditions. The accuracy of its identification is affected by the irradiance levels. Some algorithms do not take global search into account and may be easy to fall into local optimum.</p>
<p>This work proposes parameter identification of PV models by <italic>Pontogammarus maeoticus</italic> swarm optimization (PMSO). In the following experimental verification, the accuracy of the PV module parameter extraction by other conventional meta-heuristic algorithms and the proposed method is compared, which verifies the superiority of the proposed method. One of the advantages of the algorithm in comparison to others is that it can escape from local bests better for PV parameter identification. The local search for each <italic>Gammarus</italic> has a better convergence for PV parameter identification.</p>
<p>The contents of this article are organized as follows: the first section is the introduction. The second section introduces the SDM. The third section shows the detailed procedure of the PMSO algorithm. The fourth and fifth sections demonstrate the experimental verification and conclusions, respectively.</p>
</sec>
<sec id="s2">
<title>2 Single-diode model</title>
<p>The SDM is the most popular PV model, which includes five parameters&#x2014;photogeneration current <italic>I</italic>
<sub>
<italic>ph</italic>
</sub>, reverse saturation current <italic>I</italic>
<sub>
<italic>sat</italic>
</sub>, diode ideality factor <italic>A</italic>, equivalent series resistance <italic>R</italic>
<sub>
<italic>s</italic>
</sub>, and parallel resistance <italic>R</italic>
<sub>
<italic>sh</italic>
</sub> (<xref ref-type="bibr" rid="B27">Xu et al., 2023</xref>). Parameters of the SDM should vary according to module performance and environmental conditions, which is challenging for model parameter identification. In this work, the parameters of SDM are identified, and modeling results using the identified parameters are compared with several other conventional algorithms to verify the effectiveness and superiority of the proposed method.</p>
<p>The equivalent circuit of the SDM is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. The mathematical expression of SDM is given as follows (<xref ref-type="bibr" rid="B4">Chen et al., 2023</xref>):<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>S</mml:mi>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>v</mml:mi>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <italic>I</italic> is the output current; <italic>V</italic> is the output voltage; <italic>G</italic> is the measured irradiance; <italic>G</italic>
<sub>
<italic>s</italic>
</sub> is the irradiance under standard test conditions (STC); <italic>T</italic> is the absolute temperature of the solar cell; &#x394;<italic>T</italic> is the difference of temperature; <italic>V</italic>
<sub>
<italic>T</italic>
</sub> is the thermal voltage; <italic>I</italic>
<sub>
<italic>sc</italic>
</sub> is the shunt current; <italic>K</italic>
<sub>
<italic>i</italic>
</sub> is the temperature coefficient of <italic>I</italic>
<sub>
<italic>sc</italic>
</sub>; <italic>V</italic>
<sub>
<italic>oc</italic>
</sub> is the open-circuit voltage of the PV module; <italic>K</italic>
<sub>
<italic>v</italic>
</sub> is the temperature coefficient of <italic>V</italic>
<sub>
<italic>oc</italic>
</sub>; <italic>K</italic> is Boltzmann&#x2019;s constant (1.380 &#xd7; 1023&#xa0;J/K); and <italic>q</italic> is the electron charge. The parameters to extract are <italic>I</italic>
<sub>
<italic>ph</italic>
</sub> photogenerated current, <italic>I</italic>
<sub>sat</sub> diode reverse saturation current, <italic>A</italic> diode quality factor, <italic>R</italic>
<sub>
<italic>s</italic>
</sub> equivalent series resistance, and <italic>R</italic>
<sub>
<italic>sh</italic>
</sub> parallel resistance. <italic>N</italic> is the number of solar cells connected in series. Besides, the predefined fitness function is required for parameter identification of the PV model. In this method, the fitness function takes the root mean square error of the measured current and theoretical current (<xref ref-type="bibr" rid="B32">Zhang et al., 2020</xref>), and is defined as follows:<disp-formula id="e4">
<mml:math id="m4">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</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:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <italic>I</italic>
<sub>
<italic>mea,i</italic>
</sub> is the <italic>i</italic>-th measured current, <italic>I</italic>
<sub>
<italic>the,i</italic>
</sub> is the modeled theoretical current with the same voltage, and <italic>n</italic> represents the number of points in an <italic>I-V</italic> curve.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Single-diode model.</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g001.tif"/>
</fig>
</sec>
<sec id="s3">
<title>3 PMSO algorithm</title>
<sec id="s3-1">
<title>3.1 Principle of <italic>Pontogammarus maeoticus</italic> swarm</title>
<p>
<italic>Gammarus</italic> is a kind of hard-shell creature, which belongs to the order Amphipoda. <italic>Pontogammarus maeoticus</italic> is one of the popular <italic>Gammarus</italic>. Two factors mainly help <italic>Gammarus</italic> searching for food (<xref ref-type="bibr" rid="B8">Ghojogh and Sharifian, 2018</xref>). The first one is the sea wave, as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. The <italic>Gammarus</italic> that is far from the sea edge may be influenced strongly by the sea wave. This sea edge is modeled as the global best. Once the <italic>Gammarus</italic> has reached the sea edge, it would further search the local best at the vicinity of its position. Then, another action of the <italic>Gammarus</italic> starts, i.e., foraging, as shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. The foraging helps the <italic>Gammarus</italic> further search the local best. At last, the nutrients are foraged and the local best optimum is obtained.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Sketch of sea waves, sea edge, sea bed, and <italic>Gammarus</italic> in sea and sea edge (<xref ref-type="bibr" rid="B8">Ghojogh and Sharifian, 2018</xref>).</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Sketch of local search by <italic>Gammarus</italic> for foraging, red dots are local bests (<xref ref-type="bibr" rid="B8">Ghojogh and Sharifian, 2018</xref>).</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g003.tif"/>
</fig>
</sec>
<sec id="s3-2">
<title>3.2 Initialization of <italic>Gammarus</italic> location</title>
<p>At first, the <italic>Gammarus</italic> is randomly generated for random exploration in the landscape, and its random initialization expression (<xref ref-type="bibr" rid="B8">Ghojogh and Sharifian, 2018</xref>) is given as follows:<disp-formula id="e5">
<mml:math id="m5">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>d</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:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>where <italic>G</italic>
<sub>
<italic>i</italic>
</sub>
<italic>(d)</italic> is the location of the <italic>Gammarus</italic>, (&#x2212;<italic>l</italic>
<sub>
<italic>d</italic>
</sub>,<italic>l</italic>
<sub>
<italic>d</italic>
</sub>) is the bound of search space in dimension <italic>d</italic>, and landscape (<italic>d</italic>) is dimension <italic>d</italic> of the landscape.</p>
<p>After randomly generating locations of the <italic>Gammarus</italic>, it should be checked whether collision occurs. If collision occurs, the <italic>Gammarus</italic> is repositioned. After repositioning, the collision should be checked again. For quantitatively measuring the collision, the distance between two <italic>Gammarus</italic> in a surrounding hyper-sphere or hyper-cube in the D-dimensional space is calculated. The distance calculation equation is as follows:<disp-formula id="e6">
<mml:math id="m6">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>where <italic>X</italic>
<sub>
<italic>i</italic>
</sub>
<italic>(d)</italic> and <italic>X</italic>
<sub>
<italic>j</italic>
</sub>
<italic>(d)</italic> are the <italic>d</italic>-th decision variable for the position of <italic>i</italic>-th and <italic>j</italic>-th <italic>Gammarus</italic>, respectively. <italic>D</italic> is the number of all decision variables. Therefore, the collision distance is a hyper-parameter and should be set according to the specific problem. In this work, for the model parameter identification of the SDM, the five model parameters are determined as five decision variables. Furthermore, the distance between two <italic>Gammarus</italic> is calculated in a 5-D decision space.</p>
</sec>
<sec id="s3-3">
<title>3.3 Initial neighborhood settings</title>
<p>At the beginning of each global iteration, each <italic>Gammarus</italic> performs a local search of the domain. In the first global iteration, the initial domain <italic>N</italic>
<sub>
<italic>i</italic>
</sub> of all <italic>Gammarus</italic> is given as a constant. For the second and subsequent global iteration, the <italic>N</italic>
<sub>
<italic>i</italic>
</sub> of global optimal <italic>Gammarus</italic> is set as the initial neighborhood of founder of the global best (GB) at the first of every global iteration (NGB). Moreover, the <italic>N</italic>
<sub>
<italic>i</italic>
</sub> of other <italic>Gammarus</italic> will be determined by its distance from the global optimal solution. The greater the distance is, the greater will be the <italic>N</italic>
<sub>
<italic>i</italic>
</sub>. The equation is given as follows:<disp-formula id="e7">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>B</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where <italic>F</italic> is a hyperparameter to adjust the amplitude of distance, according to the distance between the <italic>GB</italic> and <italic>i</italic>-th <italic>Gammarus</italic> location in landscape, <italic>G</italic>
<sub>
<italic>i</italic>
</sub>.</p>
</sec>
<sec id="s3-4">
<title>3.4 Searching of optimal solution</title>
<p>The position of the <italic>Gammarus</italic> in the landscape is updated in each global iteration, except in the first. For each individual <italic>Gammarus</italic>, the moving distance is assigned according to the distance of the other <italic>Gammarus</italic> from the GB. The equation for updating positions is as follows:<disp-formula id="e8">
<mml:math id="m8">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x221d;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>B</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <italic>W</italic>
<sub>
<italic>i</italic>
</sub> is the wave vector affecting the <italic>i</italic>-th <italic>Gammarus</italic>. On the other hand, all <italic>Gammarus</italic> are classified as the <italic>Gammarus</italic> close to the GB or that away from the GB, according to their distance from the GB. The criteria for judging and the number of close <italic>Gammarus</italic> are hyperparameters. For <italic>Gammarus</italic> close to the GB, the direction of its movement will be toward the GB. The angle calculation in different dimensions is as follows:<disp-formula id="e9">
<mml:math id="m9">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>tan</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:msqrt>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>tan</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <italic>V</italic>
<sub>
<italic>i</italic>
</sub> is the <italic>i</italic>-th <italic>Gammarus</italic> Gi vector to the GB. <italic>V</italic>
<sub>
<italic>i</italic>
</sub>
<italic>(j)</italic> represents the <italic>j</italic>-th dimension component of this vector, <inline-formula id="inf1">
<mml:math id="m10">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <italic>D</italic> is the number of dimensions of landscape. For <italic>Gammarus</italic> away from the GB, the direction of movement will be toward a random direction. The angle calculation is as follows:<disp-formula id="e10">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0,2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>Based on the moving distance and direction of the <italic>Gammarus</italic>, the vectors for moving are calculated as follows:<disp-formula id="e11">
<mml:math id="m12">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<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:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
</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:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x220f;</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi>sin</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x220f;</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mi>sin</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>This prevents all <italic>Gammarus</italic> from moving toward the global and local best that have been found, allowing them to explore more of the landscape and find better solutions. The flowchart of the PMSO algorithm is shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. Then, PMSO is used to identify the model parameters based on the I-V curve. The identification results are obtained through continuous iterations by reducing the RMSE in <xref ref-type="disp-formula" rid="e4">(4)</xref> with the measured I-V curve. The framework of the proposed method is illustrated in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Flowchart of the PMSO algorithm.</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g004.tif"/>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Framework of the method flow.</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g005.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<title>4 Experiment and conclusion</title>
<sec id="s4-1">
<title>4.1 Experiment</title>
<p>In order to verify the accuracy of the PMSO algorithm in the extraction of PV module parameters, in this work, a 5.28-kWp PV array composed of 22 poly-crystalline PV modules TSM-240 is used for experimental verification. The three-phase grid-connected inverter GW20KN-DT is used to measure the I-V curve of the PV array. The pyranometer is used to measure the in-plane irradiance of the PV array. The platinum-resistant Pt100 is pasted to the back of the PV module to measure the temperature. The data acquisition system for measuring the I-V curve and meteorological data is shown in <xref ref-type="fig" rid="F6">Figure 6</xref>; <xref ref-type="table" rid="T1">Table 1</xref> lists the specifications of the PV modules under STC, provided by the manufacturer.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Data acquisition system for measuring I-V curve and meteorological data.</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g006.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Specification of PV module TSM-240.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameter</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Maximum power</td>
<td align="center">240&#xa0;W</td>
</tr>
<tr>
<td align="center">Voltage at maximum power point</td>
<td align="center">29.7&#xa0;V</td>
</tr>
<tr>
<td align="center">Current at maximum power point</td>
<td align="center">8.1 A</td>
</tr>
<tr>
<td align="center">Open-circuit voltage</td>
<td align="center">37.3&#xa0;V</td>
</tr>
<tr>
<td align="center">Short-circuit current</td>
<td align="center">8.62 A</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Modeling is carried out using the proposed extraction method based on the PMSO algorithm. The I-V curves, in-plane irradiance, and temperature of the PV array are transmitted to the indoor monitoring computer through the RS-485 bus for analysis and verification. In order to avoid excessive loss of PV plant by measuring the I-V curve, the sample interval is determined to be 2&#xa0;min. Meanwhile, in order to reduce the measurement error, the measured I-V curves are preprocessed, and the measured data with amplitude less than 200&#xa0;W/m<sup>2</sup> or curve distortion affected by local shadow are ignored. The number of local maximum and minimum values on the second derivative d<sup>
<italic>2</italic>
</sup>
<italic>I/</italic>d<italic>V</italic>
<sup>
<italic>2</italic>
</sup> of the curve is used as an indicator to identify abnormal I-V curves (<xref ref-type="bibr" rid="B14">Li et al., 2019</xref>). Then, the PMSO is used to estimate the model parameters. Finally, the extraction results of the PMSO are compared with those of other conventional parameter extraction methods, i.e., FPA (<xref ref-type="bibr" rid="B2">Alam et al., 2015</xref>), artificial bee colony (ABC) (<xref ref-type="bibr" rid="B10">Gude and Chandra Jana, 2022</xref>), and COA (<xref ref-type="bibr" rid="B20">Qais et al., 2019</xref>). <xref ref-type="fig" rid="F7">Figure 7</xref> presents the comparison results between the measured and modeled I-V characteristics based on the aforementioned parameter extraction methods in the typical days of four seasons. The comparison results between the measured and modeled P-V characteristics based on the aforementioned parameter extraction methods are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>. It can be seen from the experimental results shown in <xref ref-type="fig" rid="F7">Figures 7</xref>, <xref ref-type="fig" rid="F8">8</xref>that when compared with other conventional meta-heuristic algorithms, the parameter extraction of PV modules on typical days of the four seasons is more consistent with the measured I-V curve. The corresponding values of the identified model parameters using the four parameter identification methods for the ambient conditions in spring (621&#xa0;W/m<sup>2</sup>, 29.5&#xb0;C), summer (617&#xa0;W/m<sup>2</sup>, 47.4&#xb0;C), autumn (575&#xa0;W/m<sup>2</sup>, 47.4&#xb0;C), and winter (628&#xa0;W/m<sup>2</sup>, 35.9&#xb0;C) are shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Comparison of measured and model estimated I-V characteristics in typical days in four seasons. <bold>(A)</bold> Spring, <bold>(B)</bold> Summer, <bold>(C)</bold> Autumn, and <bold>(D)</bold> Winter.</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Comparison of measured and model estimated P-V characteristics in four seasons. <bold>(A)</bold> Spring, <bold>(B)</bold> Summer, <bold>(C)</bold> Autumn, and <bold>(D)</bold> Winter.</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g008.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Values of identified model parameters using four parameter identification methods for the ambient conditions in spring (621&#xa0;W/m<sup>2</sup>, 29.5&#xb0;C), summer (617&#xa0;W/m<sup>2</sup>, 47.4&#xb0;C), autumn (575&#xa0;W/m<sup>2</sup>, 47.4&#xb0;C), and winter (628&#xa0;W/m<sup>2</sup>, 35.9&#xb0;C).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Season</th>
<th align="center">Method</th>
<th align="center">Photocurrent <italic>I</italic>
<sub>ph</sub> (A)</th>
<th align="center">Reverse saturation current <italic>I</italic>
<sub>sat</sub> (A)</th>
<th align="center">Ideality factor <italic>A</italic>
</th>
<th align="center">Series resistance <italic>R</italic>
<sub>s</sub> (&#x3a9;)</th>
<th align="center">Parallel resistance <italic>R</italic>
<sub>sh</sub> (&#x3a9;)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="4" align="center">Spring</td>
<td align="center">PMSO</td>
<td align="center">5.7925</td>
<td align="center">2.3835&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9921</td>
<td align="center">0.3381</td>
<td align="center">155.09</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">5.8007</td>
<td align="center">6.2601&#x2a;10<sup>&#x2212;10</sup>
</td>
<td align="center">0.9646</td>
<td align="center">0.3674</td>
<td align="center">141.46</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">5.8041</td>
<td align="center">6.2896&#x2a;10<sup>&#x2212;10</sup>
</td>
<td align="center">0.9646</td>
<td align="center">0.3663</td>
<td align="center">137.99</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">5.7498</td>
<td align="center">5.3696&#x2a;10<sup>&#x2212;11</sup>
</td>
<td align="center">0.9201</td>
<td align="center">0.4129</td>
<td align="center">348.44</td>
</tr>
<tr>
<td rowspan="4" align="center">Summer</td>
<td align="center">PMSO</td>
<td align="center">5.6894</td>
<td align="center">2.5086&#x2a;10<sup>&#x2212;8</sup>
</td>
<td align="center">0.9844</td>
<td align="center">0.3673</td>
<td align="center">154.00</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">5.7057</td>
<td align="center">8.0486&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9580</td>
<td align="center">0.3952</td>
<td align="center">131.46</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">5.7041</td>
<td align="center">8.0634&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9580</td>
<td align="center">0.3949</td>
<td align="center">132.47</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">5.4676</td>
<td align="center">1.1346&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9228</td>
<td align="center">0.5389</td>
<td align="center">379.22</td>
</tr>
<tr>
<td rowspan="4" align="center">Autumn</td>
<td align="center">PMSO</td>
<td align="center">5.1318</td>
<td align="center">2.2826&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9925</td>
<td align="center">0.3542</td>
<td align="center">183.56</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">5.1412</td>
<td align="center">5.9173&#x2a;10<sup>&#x2212;10</sup>
</td>
<td align="center">0.9644</td>
<td align="center">0.3869</td>
<td align="center">162.52</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">5.1431</td>
<td align="center">6.0063&#x2a;10<sup>&#x2212;10</sup>
</td>
<td align="center">0.9647</td>
<td align="center">0.3857</td>
<td align="center">160.92</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">5.1034</td>
<td align="center">2.5050&#x2a;10<sup>&#x2212;10</sup>
</td>
<td align="center">0.9498</td>
<td align="center">0.4891</td>
<td align="center">283.62</td>
</tr>
<tr>
<td rowspan="4" align="center">Winter</td>
<td align="center">PMSO</td>
<td align="center">5.9378</td>
<td align="center">2.8422&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9763</td>
<td align="center">0.3553</td>
<td align="center">186.18</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">5.9426</td>
<td align="center">1.6144&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9644</td>
<td align="center">0.3639</td>
<td align="center">161.55</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">5.9444</td>
<td align="center">1.6145&#x2a;10<sup>&#x2212;9</sup>
</td>
<td align="center">0.9644</td>
<td align="center">0.3670</td>
<td align="center">172.27</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">5.8704</td>
<td align="center">1.0687&#x2a;10<sup>&#x2212;10</sup>
</td>
<td align="center">0.9223</td>
<td align="center">0.5970</td>
<td align="center">568.91</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2">
<title>4.2 Error analysis</title>
<p>In addition, the modeling error is analyzed by using model parameters identified by the proposed algorithm. <xref ref-type="fig" rid="F9">Figure 9</xref> shows the percentage error of the model based on the PMSO algorithm in four seasons at approximate 600&#xa0;W/m<sup>2</sup>. The percentage error for the model estimated by the proposed PMSO algorithm is relatively closer to 0 when compared with the other three algorithms. The reason is that the sea wave and foraging action of the <italic>Gammarus</italic> is effective for searching the global optimum of the identified model parameters. It validates that the proposed algorithm can achieve higher accuracy of parameter identification. Besides, the root mean square error (RMSE), mean absolute error (MAE), and mean absolute percentage error (MAPE) are used to comprehensively assess the performance of different methods for model parameter identification. The RMSE is calculated via <xref ref-type="disp-formula" rid="e4">(4)</xref>. The MAE and MAPE are calculated as follows:<disp-formula id="e12">
<mml:math id="m13">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</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:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m14">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</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:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>%</mml:mo>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Percentage error of the estimated current based on PMSO in different seasons.</p>
</caption>
<graphic xlink:href="fenrg-11-1204006-g009.tif"/>
</fig>
<p>
<xref ref-type="table" rid="T3">Table 3</xref> shows the different error metrics of the four parameter identification methods for the ambient conditions in the four seasons. It reveals that the proposed PMSO algorithm achieves fewer errors than the other conventional meta-heuristic algorithms. Though, the RMSE of the model based on the proposed PMSO algorithm is greater in winter, the MAE of the modeled results is also the least. In most cases, the identification accuracy of the model parameters for the proposed PMSO algorithm is low enough for engineering applications.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Different error metrics of four parameter identification methods for the ambient conditions in spring (621&#xa0;W/m<sup>2</sup>, 29.5&#xb0;C), summer (617&#xa0;W/m<sup>2</sup>, 47.4&#xb0;C), autumn (575&#xa0;W/m<sup>2</sup>, 47.4&#xb0;C), and winter (628&#xa0;W/m<sup>2</sup>, 35.9&#xb0;C).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Season</th>
<th align="center">Method</th>
<th align="center">RMSE</th>
<th align="center">MAE</th>
<th align="center">MAPE</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="4" align="center">Spring</td>
<td align="center">PMSO</td>
<td align="center">0.0147</td>
<td align="center">0.4500</td>
<td align="center">1.8039</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">0.0179</td>
<td align="center">0.4540</td>
<td align="center">1.7811</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">0.0170</td>
<td align="center">0.4530</td>
<td align="center">1.7880</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">0.0669</td>
<td align="center">0.4932</td>
<td align="center">2.0632</td>
</tr>
<tr>
<td rowspan="4" align="center">Summer</td>
<td align="center">PMSO</td>
<td align="center">0.0150</td>
<td align="center">0.4976</td>
<td align="center">1.7758</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">0.0185</td>
<td align="center">0.5008</td>
<td align="center">1.7526</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">0.0195</td>
<td align="center">0.5010</td>
<td align="center">1.7585</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">0.0186</td>
<td align="center">0.4834</td>
<td align="center">1.7493</td>
</tr>
<tr>
<td rowspan="4" align="center">Autumn</td>
<td align="center">PMSO</td>
<td align="center">0.0145</td>
<td align="center">0.3962</td>
<td align="center">1.8093</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">0.0165</td>
<td align="center">0.3998</td>
<td align="center">1.7932</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">0.0165</td>
<td align="center">0.3988</td>
<td align="center">1.7922</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">0.1528</td>
<td align="center">0.4524</td>
<td align="center">2.4915</td>
</tr>
<tr>
<td rowspan="4" align="center">Winter</td>
<td align="center">PMSO</td>
<td align="center">0.0152</td>
<td align="center">0.4106</td>
<td align="center">1.7626</td>
</tr>
<tr>
<td align="center">ABC</td>
<td align="center">0.0147</td>
<td align="center">0.4733</td>
<td align="center">1.7680</td>
</tr>
<tr>
<td align="center">COA</td>
<td align="center">0.0170</td>
<td align="center">0.4712</td>
<td align="center">1.7599</td>
</tr>
<tr>
<td align="center">FPA</td>
<td align="center">0.0344</td>
<td align="center">0.5353</td>
<td align="center">1.8117</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>In this work, a model parameter identification method based on PMSO is proposed. In the PMSO algorithm, by giving the ability of free exploration to the particles that are far away from the optimal solution, the search scope is expanded to avoid falling into the local optimum. Therefore, the accuracy of parameter identification for modeling the PV module is improved. The feasibility and superiority of the proposed method are verified by the measured I-V characteristics of a PV array. Experimental results and error analysis verify that, compared with the conventional meta-heuristic algorithms, the proposed method achieves higher modeling accuracy. The proposed PMSO algorithm is suitable for engineering application of parameter identification of PV modules. Considering the advantage of the PMSO algorithm that it is not easy to fall into local optimum, the further research would focus on applying the PMSO algorithm for other different optimization problems, e.g., the maximum power point tracking of PV array with complicated shading.</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>LC, YS, and JZ contributed to the conception and design of the study. LC and WH organized the database. LC performed the statistical analysis. YS wrote the first draft of the manuscript. All authors contributed to the article and approved the submitted version.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This work is partially supported by the natural science research project of colleges and universities of Jiangsu (Grant Number: 21KJB470017).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>Author WH was employed by State Grid Jiangsu Electric Power Co., Ltd., Huai&#x2019;an Power Supply Branch.</p>
<p>The remaining 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, editors, and 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>Abbassi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Gammoudi</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ali Dami</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hasnaoui</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Mohamed</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>An improved single-diode model parameters extraction at different operating conditions with a view to modeling a photovoltaic generator: A comparative study</article-title>. <source>Sol. Energy</source> <volume>155</volume>, <fpage>478</fpage>&#x2013;<lpage>489</lpage>. <comment>ISSN0038-092X, 2017.06.057</comment>. <pub-id pub-id-type="doi">10.1016/j.solener.2017.06.057</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alam</surname>
<given-names>D. F.</given-names>
</name>
<name>
<surname>Yousri</surname>
<given-names>D. A.</given-names>
</name>
<name>
<surname>Eteiba</surname>
<given-names>M. B.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Flower Pollination Algorithm based solar PV parameter estimation</article-title>. <source>Energy Convers. Manag.</source> <volume>101</volume>, <fpage>410</fpage>&#x2013;<lpage>422</lpage>. <comment>ISSN 0196-8904, 2015.05.074</comment>. <pub-id pub-id-type="doi">10.1016/j.enconman.2015.05.074</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chan</surname>
<given-names>D. S. H.</given-names>
</name>
<name>
<surname>Phang</surname>
<given-names>J. C. H.</given-names>
</name>
</person-group> (<year>1987</year>). <article-title>Analytical methods for the extraction of solar-cell single- and double-diode model parameters from I&#x2013;V characteristics</article-title>. <source>Electron Dev. IEEE Trans.</source> <volume>34</volume>, <fpage>286</fpage>&#x2013;<lpage>293</lpage>. <pub-id pub-id-type="doi">10.1109/t-ed.1987.22920</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>A two-stage method for model parameter identification based on the maximum power matching and improved flow direction algorithm</article-title>. <source>Energy Convers. Manag.</source> <volume>278</volume>, <fpage>116712</fpage>. <comment>ISSN 0196-8904</comment>. <pub-id pub-id-type="doi">10.1016/j.enconman.2023.116712</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chouder</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Silvestre</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sadaoui</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Rahmani</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Modeling and simulation of a grid connected PV system based on the evaluation of main PV module parameters</article-title>. <source>Simul. Model. Pract. Theory</source> <volume>20</volume> (<issue>1</issue>), <fpage>46</fpage>&#x2013;<lpage>58</lpage>. <comment>ISSN 1569-190X, 2011.08.011</comment>. <pub-id pub-id-type="doi">10.1016/j.simpat.2011.08.011</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dabou</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Bouraiou</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ziane</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Necaibia</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sahouane</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Blal</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Development of autonomous monitoring and performance evaluation system of grid-tied photovoltaic station</article-title>. <source>Int. J. hydrogen energy</source> <volume>46</volume> (<issue>59</issue>), <fpage>30267</fpage>&#x2013;<lpage>30287</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijhydene.2021.06.204</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>El-Dabah</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>El-Sehiemy</surname>
<given-names>R. A.</given-names>
</name>
<name>
<surname>Hasanien</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Saad</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Photovoltaic model parameters identification using Northern Goshawk Optimization algorithm</article-title>. <source>Energy</source> <volume>262</volume>, <fpage>125522</fpage>. <comment>ISSN 0360-5442, 2022.125522</comment>. <pub-id pub-id-type="doi">10.1016/j.energy.2022.125522</pub-id>
<comment>Part B</comment>
</citation>
</ref>
<ref id="B8">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Ghojogh</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Sharifian</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Pontogammarus maeoticus swarm optimization: A metaheuristic optimization algorithm</article-title>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://arxiv.org/pdf/1807.01844v1.pdf">https://arxiv.org/pdf/1807.01844v1.pdf</ext-link>
</comment>.</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gong</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ning</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>L-SHADE with parameter decomposition for photovoltaic modules parameter identification under different temperature and irradiance</article-title>. <source>Appl. Soft Comput.</source> <volume>143</volume>, <fpage>110386</fpage>. <comment>ISSN 1568-4946</comment>. <pub-id pub-id-type="doi">10.1016/j.asoc.2023.110386</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gude</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Chandra Jana</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A multiagent system based cuckoo search optimization for parameter identification of photovoltaic cell using Lambert W-function</article-title>. <source>Appl. Soft Comput.</source> <volume>120</volume>, <fpage>108678</fpage>. <comment>ISSN 1568-4946</comment>. <pub-id pub-id-type="doi">10.1016/j.asoc.2022.108678</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Javier Toledo</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Galiano</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Blanes</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Herranz</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Batzelis</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Photovoltaic single-diode model parametrization. An application to the calculus of the Euclidean distance to an I&#x2013;V curve</article-title>. <source>Math. Comput. Simul</source>. <comment>ISSN0378-4754, 2023.01.005</comment>. <pub-id pub-id-type="doi">10.1016/j.matcom.2023.01.005</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kallioj&#xe4;rvi-Viljakainen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Lappalainen</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Valkealahti</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A novel procedure for identifying the parameters of the single-diode model and the operating conditions of a photovoltaic module from measured current&#x2013;voltage curves</article-title>. <source>Energy Rep.</source> <volume>8</volume>, <fpage>4633</fpage>&#x2013;<lpage>4640</lpage>. <comment>ISSN 2352-4847, 2022.03.141</comment>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.03.141</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kumar</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Magdalin Mary</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A novel chaotic-driven Tuna Swarm Optimizer with Newton-Raphson method for parameter identification of three-diode equivalent circuit model of solar photovoltaic cells/modules</article-title>. <source>Optik</source> <volume>264</volume>, <fpage>169379</fpage>. <comment>ISSN 0030-4026, 169379</comment>. <pub-id pub-id-type="doi">10.1016/j.ijleo.2022.169379</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A fault diagnosis method for photovoltaic arrays based on fault parametersidentification</article-title>. <source>Renew. Energy</source> <volume>143</volume>, <fpage>52</fpage>&#x2013;<lpage>63</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2019.04.147</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Ouyang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>G.-G.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Hybrid multi-group stochastic cooperative particle swarm optimization algorithm and its application to the photovoltaic parameter identification problem</article-title>. <source>Energy Rep.</source> <volume>9</volume>, <fpage>4654</fpage>&#x2013;<lpage>4681</lpage>. <comment>ISSN 2352-4847</comment>. <pub-id pub-id-type="doi">10.1016/j.egyr.2023.03.105</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<collab>Li Hong Idris Lim</collab>
<person-group person-group-type="author">
<name>
<surname>Ye</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Ye</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>A linear method to extract diode model parameters of solar panels from a single I&#x2013;V curve</article-title>. <source>Renew. Energy</source> <volume>76</volume>, <fpage>135</fpage>&#x2013;<lpage>142</lpage>. <comment>ISSN 0960-1481, 2014.11.018</comment>. <pub-id pub-id-type="doi">10.1016/j.renene.2014.11.018</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Manna</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Deepak Kumar Singh, Kumar Akella</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kotb</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>AboRas</surname>
<given-names>K. M.</given-names>
</name>
<name>
<surname>Zawbaa</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Kamel</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Design and implementation of a new adaptive MPPT controller for solar PV systems</article-title>. <source>Energy Rep.</source> <volume>9</volume>, <fpage>1818</fpage>&#x2013;<lpage>1829</lpage>. <comment>ISSN 2352-4847, 2022.12.152</comment>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.12.152</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mirjalili</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lewis</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>The whale optimization algorithm</article-title>. <source>Adv. Eng. Softw.</source> <volume>95</volume>, <fpage>51</fpage>&#x2013;<lpage>67</lpage>. <comment>ISSN 0965-9978, 2016.01.008</comment>. <pub-id pub-id-type="doi">10.1016/j.advengsoft.2016.01.008</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nunes</surname>
<given-names>H. G. G.</given-names>
</name>
<name>
<surname>Silva</surname>
<given-names>P. N. C.</given-names>
</name>
<name>
<surname>Pombo</surname>
<given-names>J. A. N.</given-names>
</name>
<name>
<surname>Mariano</surname>
<given-names>S. J. P. S.</given-names>
</name>
<name>
<surname>Calado</surname>
<given-names>M. R. A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Multiswarm spiral leader particle swarm optimisation algorithm for PV parameter identification</article-title>. <source>Energy Convers. Manag.</source> <volume>225</volume>, <fpage>113388</fpage>. <comment>ISSN 0196-8904, 2020.113388</comment>. <pub-id pub-id-type="doi">10.1016/j.enconman.2020.113388</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ortiz-Conde</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Garc&#xed;a S&#xe1;nchez</surname>
<given-names>F. J.</given-names>
</name>
<name>
<surname>Muci</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>New method to extract the model parameters of solar cells from the explicit analytic solutions of their illuminated characteristics</article-title>. <source>Sol. Energy Mater Sol. Cells</source> <volume>90</volume>, <fpage>352</fpage>&#x2013;<lpage>361</lpage>. <pub-id pub-id-type="doi">10.1016/j.solmat.2005.04.023</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qais</surname>
<given-names>M. H.</given-names>
</name>
<name>
<surname>Hasanien</surname>
<given-names>H. M.</given-names>
</name>
<name>
<surname>Alghuwainem</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Nouh</surname>
<given-names>A. S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Coyote optimization algorithm for parameters extraction of three-diode photovoltaic models of photovoltaic modules</article-title>. <source>Energy</source> <volume>187</volume>, <fpage>116001</fpage>. <comment>ISSN 0360-5442, 2019.116001</comment>. <pub-id pub-id-type="doi">10.1016/j.energy.2019.116001</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Renewables</surname>
<given-names>R. E. N.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>2022 global status report</article-title>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://www.ren21.net/wp-content/uploads/2019/05/GSR2022_Full_Report.pdf">https://www.ren21.net/wp-content/uploads/2019/05/GSR2022_Full_Report.pdf</ext-link>.</comment>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rezk</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ali Abdelkareem</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Optimal parameter identification of triple diode model for solar photovoltaic panel and cells</article-title>. <source>Energy Rep.</source> <volume>8</volume>, <fpage>1179</fpage>&#x2013;<lpage>1188</lpage>. <comment>Supplement 1</comment>. <pub-id pub-id-type="doi">10.1016/j.egyr.2021.11.179</pub-id>
<comment>ISSN 2352-4847, 2021.11.179</comment>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shen</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Shan</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Parameter identification of photovoltaic discrete-time equivalent model using the bat algorithm</article-title>. <source>Energy Rep.</source> <volume>9</volume>, <fpage>449</fpage>&#x2013;<lpage>458</lpage>. <comment>Supplement 7</comment>. <pub-id pub-id-type="doi">10.1016/j.egyr.2023.04.166</pub-id>
<comment>ISSN 2352-4847</comment>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Torabi</surname>
<given-names>K. E.</given-names>
</name>
<name>
<surname>Eddine</surname>
<given-names>I. A.</given-names>
</name>
<name>
<surname>Obbadi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Errami</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Rmaily</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Sahnoun</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). <article-title>Parameters estimation of the single and double diode photovoltaic models using a gauss-seidel algorithm and analytical method: A comparative study</article-title>. <source>Energy Convers. Manage</source> <volume>148</volume>, <fpage>1041</fpage>&#x2013;<lpage>1054</lpage>. <pub-id pub-id-type="doi">10.1016/j.enconman.2017.06.064</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Parameters identification of photovoltaic models by using an enhanced adaptive butterfly optimization algorithm</article-title>. <source>Energy</source> <volume>229</volume>, <fpage>120750</fpage>. <comment>ISSN 0360-5442, 2021.120750</comment>. <pub-id pub-id-type="doi">10.1016/j.energy.2021.120750</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiong</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Parameter extraction of solar photovoltaic models using an improved whale optimization algorithm</article-title>. <source>Energy Convers. Manag.</source> <volume>174</volume>, <fpage>388</fpage>&#x2013;<lpage>405</lpage>. <comment>ISSN 0196-8904, 2018.08.053</comment>. <pub-id pub-id-type="doi">10.1016/j.enconman.2018.08.053</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Photovoltaic single diode model parameter extraction by dI/dV-assisted deterministic method</article-title>. <source>Sol. Energy</source> <volume>251</volume>, <fpage>30</fpage>&#x2013;<lpage>38</lpage>. <comment>ISSN 0038-092X, 2023.01.009</comment>. <pub-id pub-id-type="doi">10.1016/j.solener.2023.01.009</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yahya-Khotbehsara</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A fast modeling of the double-diode model for PV modules using combined analytical and numerical approach</article-title>. <source>Sol. Energy</source> <volume>162</volume>, <fpage>403</fpage>&#x2013;<lpage>409</lpage>. <comment>ISSN 0038-092X, 2018.01.047</comment>. <pub-id pub-id-type="doi">10.1016/j.solener.2018.01.047</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Tao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Comprehensive overview of meta-heuristic algorithm applications on PV cell parameter identification</article-title>. <source>Energy Convers. Manag.</source> <volume>208</volume>, <fpage>112595</fpage>. <comment>ISSN 0196-8904, 2020.112595</comment>. <pub-id pub-id-type="doi">10.1016/j.enconman.2020.112595</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zeng</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Parameter identification of PV cell via adaptive compass search algorithm</article-title>. <source>Energy Rep.</source> <volume>7</volume>, <fpage>275</fpage>&#x2013;<lpage>282</lpage>. <comment>Supplement 1</comment>. <pub-id pub-id-type="doi">10.1016/j.egyr.2021.01.069</pub-id>
<comment>ISSN 2352-4847, 2021.01.069</comment>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>A reinforcement learning based approach for on-line adaptive parameter extraction of photovoltaic array models</article-title>. <source>Energy Convers. Manage</source> <volume>214</volume>, <fpage>112875</fpage>. <pub-id pub-id-type="doi">10.1016/j.enconman.2020.112875</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>A. Q.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Model-based fault detection of hybrid fuel cell and photovoltaic direct current power sources</article-title>. <source>J. Power Sources</source> <volume>196</volume> (<issue>11</issue>), <fpage>5197</fpage>&#x2013;<lpage>5204</lpage>. <comment>ISSN 0378-7753, 2011.01.089</comment>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2011.01.089</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Operation reference status selection for photovoltaic arrays and its application in status evaluation</article-title>. <source>Sol. Energy</source> <volume>250</volume>, <fpage>97</fpage>&#x2013;<lpage>107</lpage>. <comment>ISSN 0038-092X, 2022.12.034</comment>. <pub-id pub-id-type="doi">10.1016/j.solener.2022.12.034</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>