<?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">1640949</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2025.1640949</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>Frequency coordinated control and parameter optimization for photovoltaic&#x2013;energy storage systems based on a GA-BP hybrid algorithm</article-title>
<alt-title alt-title-type="left-running-head">Mu 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.2025.1640949">10.3389/fenrg.2025.1640949</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Mu</surname>
<given-names>Runzhi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Shu</surname>
<given-names>Hongchun</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Yuming</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wan</surname>
<given-names>Xiongbiao</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Luo</surname>
<given-names>Shunji</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3089692/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhou</surname>
<given-names>Zichao</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Guangxue</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Lei</surname>
<given-names>Shunguang</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Yunnan Electric Power Test and Research Institute (Group) Co., Ltd.</institution>, <addr-line>Kunming</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>Faculty of Electric Power Engineering, Kunming University of Science and Technology, <institution>Kunming University of Science and Technology</institution>, <addr-line>Kunming</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>State Key Laboratory Collaborative Innovation Center for Smart Grid Fault Detection, Protection and Control Jointly, <institution>Kunming University of Science and Technology</institution>, <addr-line>Kunming</addr-line>, <country>China</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Yunnan Provincial Key Laboratory of Green Energy</institution>, <addr-line>Kunming</addr-line>, <country>China</country>
</aff>
<aff id="aff5">
<sup>5</sup>Digital Electric Power Measurement and Protection Control, <institution>Kunming University of Science and Technology</institution>, <addr-line>Kunming</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/1777759/overview">Xiangyu Zhang</ext-link>, North China Electric Power 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/1063909/overview">Yunfei Mu</ext-link>, Tianjin University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2127754/overview">Weilin Zhong</ext-link>, University College Dublin, Ireland</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Shunji Luo, <email>luoshunji@stu.kust.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>04</day>
<month>08</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>13</volume>
<elocation-id>1640949</elocation-id>
<history>
<date date-type="received">
<day>04</day>
<month>06</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>30</day>
<month>06</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Mu, Shu, Zhang, Wan, Luo, Zhou, Wang and Lei.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Mu, Shu, Zhang, Wan, Luo, Zhou, Wang and Lei</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>
<sec>
<title>Introduction</title>
<p>Frequency oscillations induced by stochastic disturbances pose significant challenges to grid-connected photovoltaic (PV) systems. This study proposes an adaptive optimization strategy for photovoltaic-energy storage systems (PV-ESS) based on a GA-BP neural network to address this issue.</p>
</sec>
<sec>
<title>Methods</title>
<p>First, the working principles and characteristics of virtual synchronous generator (VSG) technology are elaborated. Second, the power control point positioning under deloading operation of PV systems and the virtual inertia control of energy storage systems are analyzed. Subsequently, a GA-BP neural network is introduced and applied to the adaptive parameter design of the PV-ESS system, enabling real-time dynamic adjustment of the moment of inertia <italic>J</italic>, damping coefficient <italic>D</italic>, and virtual inertia coefficient <italic>K</italic>, thereby enhancing the dynamic response performance of active power.</p>
</sec>
<sec>
<title>Results</title>
<p>The experimental results demonstrate that under active power command mutation scenarios, compared with fixed-parameter control strategies, the proposed strategy reduces the frequency nadir deviation by 14.81%, overshoot by 62.5%, and steady-state recovery time by 44.44%.</p>
</sec>
<sec>
<title>Discussion</title>
<p>The adaptive parameter adjustment mechanism effectively mitigates frequency oscillations, offering a robust solution for grid stability in PV scenarios.</p>
</sec>
</abstract>
<kwd-group>
<kwd>coordinated PV-ESS control</kwd>
<kwd>frequency regulation</kwd>
<kwd>GA-BP neural network</kwd>
<kwd>deloading control</kwd>
<kwd>dynamic parameters</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Sustainable Energy Systems</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>To address climate change and accelerate the green and low-carbon transition of energy systems, countries worldwide are vigorously expanding their renewable energy infrastructure. Renewable energy generation is typically integrated into power grids through power electronic devices, which inherently lack the capability to provide damping and inertial support to the grid, posing significant challenges to grid stability (<xref ref-type="bibr" rid="B25">Zhang et al., 2022</xref>). As the proportion of grid-connected PV systems increases, frequency-related issues in power systems have become increasingly prominent (<xref ref-type="bibr" rid="B9">Kurm and Agarwal, 2021</xref>; <xref ref-type="bibr" rid="B12">Pei et al., 2020</xref>; <xref ref-type="bibr" rid="B1">Chai et al., 2021</xref>). Current approaches to enable PV power plants with primary frequency regulation and inertial support capabilities include active power reserve and energy storage integration. By combining energy storage with PV systems to form PV-ESS integrated systems and adopting VSG control strategies, effective grid frequency support can be achieved during load disturbances (<xref ref-type="bibr" rid="B11">Nguyen et al., 2019</xref>; <xref ref-type="bibr" rid="B18">Shenghu et al., 2024</xref>; <xref ref-type="bibr" rid="B2">Chen et al., 2024</xref>).</p>
<p>In recent years, research on photovoltaic frequency regulation technologies has grown substantially, with the primary objective of empowering PV power plants to participate in grid frequency regulation through advanced control strategies, thereby ensuring the secure and stable operation of modern power systems. <xref ref-type="bibr" rid="B13">Peng et al. (2025)</xref> incorporate PV systems into conventional power system models, deriving time-domain analytical solutions for frequency dynamics, which provides a more accurate and comprehensive literature for analyzing frequency characteristics in PV-integrated grids. <xref ref-type="bibr" rid="B26">Zhao et al. (2024)</xref> propose an enhanced voltage-controlled, deloaded PV virtual synchronous generator frequency support method with adaptive reserve ratios, significantly improving the efficacy of PV systems in grid frequency regulation. <xref ref-type="bibr" rid="B24">Zhang et al. (2024)</xref> introduce a consensus-based frequency regulation strategy for PV plants utilizing the average consensus algorithm, enabling coordinated frequency control among multiple PV stations under localized communication constraints. <xref ref-type="bibr" rid="B28">Zhong et al. (2022)</xref> develop a hybrid control strategy integrating a deloading operation with virtual synchronous machine (VSM) control. <xref ref-type="bibr" rid="B19">Sun et al. (2022)</xref> incorporate generator droop characteristics into deloaded power control frameworks, endowing PV plants with active frequency oscillation suppression capabilities. <xref ref-type="bibr" rid="B29">Zhong et al. (2019)</xref> propose a control strategy for PV cluster participation in primary frequency regulation, which accounts for the derating factor and multiple parameters to enhance system operation stability.</p>
<p>The critical role of energy storage in frequency regulation lies in its ability to rapidly absorb or release energy through storage systems, compensating for grid power deficits and mitigating instantaneous imbalances between load fluctuations and generation. <xref ref-type="bibr" rid="B15">Ren (2024)</xref> propose embedding fast frequency regulation devices between the grid and energy storage stations to achieve rapid coordinated power dispatch. <xref ref-type="bibr" rid="B14">Qian et al. (2024)</xref> proposes using a flywheel energy storage system to assist in endowing pumping and power generation conditions with the same frequency regulation capability. <xref ref-type="bibr" rid="B3">Dang et al. (2025)</xref> develop a dual-layer power optimization framework for multi-storage plants that balances system economics with state-of-charge equilibrium, minimizing frequency regulation costs. <xref ref-type="bibr" rid="B5">He et al. (2024)</xref> propose a frequency-decoupled composite control strategy based on real-time battery status monitoring, improving the frequency regulation performance of energy storage batteries. <xref ref-type="bibr" rid="B27">Zhao et al. (2020)</xref> propose a control strategy for optimizing the dead zone of power grid energy storage frequency regulation, which enhances system stability.</p>
<p>The PV-ESS compensates for the volatility of the PV output by controlling the energy storage in concert with the PV power plant, using the fast power response capability of the energy storage and providing virtual inertia support and frequency regulation services for the grid. <xref ref-type="bibr" rid="B20">Tiecheng et al. (2023)</xref> propose the use of a supercapacitor to assist PV units for frequency regulation, which effectively enhances the frequency stability of high-occupancy PV systems. <xref ref-type="bibr" rid="B22">Yongxi and Jiangrong (2023)</xref> proposed an improved VSG control strategy for the problems of fixed inertial link parameters and difficult real-time adjustment in the traditional virtual synchronous machine control strategy. <xref ref-type="bibr" rid="B7">Jia et al. (2022)</xref> combine the variable power tracking technology with a supercapacitor to form a new coordinated control strategy for PV energy storage. <xref ref-type="bibr" rid="B23">Zhang et al. (2023)</xref> propose that the PV energy storage system and synchronous generator be considered to be connected through a virtual shaft system, so that the PV energy storage system can simulate the dynamic characteristics of the synchronous generator&#x2019;s shaft system and provide a new method for the friendly grid connection of the PV-ESS. <xref ref-type="bibr" rid="B21">Ur Rehman et al. (2021)</xref> propose a method to grid-connect PV and energy storage via VSG and provide inertial support. <xref ref-type="bibr" rid="B6">Hongchun et al. (2025)</xref> propose a cooperative control strategy for PV-hybrid battery energy storage systems to improve the system frequency response characteristics.</p>
<p>Because the virtual inertia and virtual damping coefficient are the core parameters in the VSG control technique, adjusting the VSG control parameters to improve the system dynamics and response performance has become the focus of today&#x2019;s research. <xref ref-type="bibr" rid="B8">Jianhui et al. (2019)</xref> proposed an adaptive adjustment of virtual inertia VSG control strategy, which can effectively suppress the fluctuation of system active power. <xref ref-type="bibr" rid="B17">Ren et al. (2021)</xref> combined virtual impedance control with adaptive control to improve the frequency response characteristics of the system. <xref ref-type="bibr" rid="B10">Lu et al. (2024)</xref> derived the initial value of adaptive virtual inertia control based on an improved particle swarm algorithm, which improves the stability of the VSG grid-connected system. <xref ref-type="bibr" rid="B4">Fu et al. (2024)</xref> proposed the introduction of a virtual governor model, so that the primary frequency regulation under the action of delay and damping control is relatively independent, thus facilitating the completion of the control parameter design separately and effectively solving the problem of the traditional VSG control in the primary frequency regulation and damping is difficult to take into account. <xref ref-type="bibr" rid="B16">Ren et al. (2020)</xref> used the output angular frequency feedback control to regulate the dynamic damping of the VSG grid-connected system, which improves the performance of the system frequency regulation.</p>
<p>None of the above studies have deeply explored the dynamic control of parameters of the combined PV-ESS. Therefore, this article proposes an adaptive optimized strategy for the parameters of the combined photovoltaic and storage system based on GA-BP. First, the control principles of VSG active and reactive loops are introduced, and GA-BP is used for dynamic optimization of <italic>J</italic> and <italic>D</italic> in the active loop. Second, the load shedding control adopted for PV is analyzed to determine the PV load shedding control operating point. Subsequently, the ESS is introduced to use virtual inertia control. The virtual inertia control coefficients are also used in a GA-BP optimized strategy, and their dynamic changes follow the change rule of the S-type function. Finally, the effectiveness and superiority of the described adaptive optimized strategy in suppressing the frequency fluctuation of a high percentage of PV grid-connected are verified through an RT-LAB simulation as well as a hardware experimental comparison test.</p>
</sec>
<sec id="s2">
<title>2 System modeling and dynamic characterization</title>
<sec id="s2-1">
<title>2.1 System architecture</title>
<p>
<xref ref-type="fig" rid="F1">Figure 1</xref> shows the control framework of the combined PV-ESS. The system integrates PV-ESS to improve energy utilization and system stability. The control block diagram shows how stable operation and efficient energy management of the power system can be achieved through the synergy of the ESS, PV modules, GA-BP, and VSG control. The modules are interconnected through control signals and power flows to ensure the stability and reliability of the system working under different operating conditions.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Control framework of the combined PV-ESS.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g001.tif">
<alt-text content-type="machine-generated">Diagram showing a microgrid control system integrating various components. The top section illustrates ESS control using a GA-BP neural network with genetic algorithm inputs. The middle section features power flow through DC-AC converters and grid connections at different voltage levels, including 35kV/110kV and 35kV/380V. The bottom section presents a deload control strategy and VSG control, highlighting dual closed loop voltage and current regulation. Key elements include converters, loads, and PV panels, annotated with control parameters like SOC, PWM, and PI controllers.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s2-2">
<title>2.2 Grid-side converter control</title>
<p>VSG technology is one of the key technologies for new power systems with a high percentage of renewable energy access. Compared with traditional droop control, VSG control simulates the behavior of traditional synchronous generators by modeling the electromagnetic dynamic characteristics and mechanical inertial response of synchronous generators, introducing damping and rotational inertia characteristics to provide short-term frequency stability for the grid, and effectively improving the transient stability of the high-percentage new energy grid.</p>
<p>VSG technology is implemented through the following parts:<list list-type="simple">
<list-item>
<p>1) Active-frequency control</p>
</list-item>
</list>
</p>
<p>
<xref ref-type="fig" rid="F2">Figure 2</xref> shows the block diagram of VSG active power-frequency control. The characteristic expression of the active power-frequency control loop is as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e1">Equation 1</xref>, <italic>P</italic>
<sub>
<italic>m</italic>
</sub> is the virtual mechanical power, <italic>P</italic>
<sub>
<italic>ref</italic>
</sub> is the VSG literature active power, <italic>K</italic>
<sub>
<italic>p</italic>
</sub> is the active power droop coefficient, &#x3c9; is the actual operating angular velocity, and <italic>&#x3c9;</italic>
<sub>n</sub> is the rated angular velocity.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>VSG active-frequency control.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g002.tif">
<alt-text content-type="machine-generated">Block diagram of rotor equations of motion featuring inputs \( \omega_0 \) and \( P_{ref} \), passing through blocks \( K_p \) and \( \frac{1}{s} \). It includes summing points for calculating power inputs \( P_e \) and \( P_m \), and outputs for angular speed \( \omega \) and position \( \theta \). A feedback loop with block \( D \) connects \( \Delta \omega \) back to the summation point for adjustment.</alt-text>
</graphic>
</fig>
<p>The complete mathematical model of a synchronous generator requires comprehensive consideration of multiple interacting factors, including stator-rotor electromagnetic coupling, mechanical inertia, and damping effects. Its essence lies in a high-order nonlinear differential equation system. However, a simpler second-order model is typically adopted in the field of power electronic converter control to reduce controller design complexity and enable intuitive analysis of frequency-power dynamic responses. Its core expressions are<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e2">Equation 2</xref>, <italic>J</italic> is the equivalent rotational inertia, and <italic>D</italic> is the damping coefficient.</p>
<p>When a random perturbation occurs in the PV-ESS, it is difficult to achieve the ideal adjustment effect with fixed coefficients of <italic>J</italic> and <italic>D</italic> because the virtual inertia <italic>J</italic> and virtual damping coefficient <italic>D</italic> in the VSG control are not linearly related to the frequency. In this article, the <italic>J</italic> and <italic>D</italic> parameters of VSG are efficiently and dynamically adjusted in the complex and variable power system through GA-BP combined with global optimization and dynamic learning, which greatly improves the system frequency stability and dynamic response speed.<list list-type="simple">
<list-item>
<p>2) Reactive power-voltage control</p>
</list-item>
</list>
</p>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> shows the block diagram of the VSG reactive power-voltage control. In the VSG control system, the synchronous generator changes its internal electromotive force by dynamically adjusting the excitation current, so as to accurately control the reactive power output, realize the balance between supply and demand of reactive power, and keep the power system voltage at the rated level. In the reactive-voltage control loop, reactive-voltage regulation is realized by changing the virtual excitation current, and the reactive power deviation obtained after reactive-voltage sag control:<disp-formula id="e3">
<mml:math id="m3">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>Q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e3">Equation 3</xref>, where <italic>K<sub>q</sub>
</italic> is the reactive power-voltage sag factor, <italic>U</italic>
<sub>n</sub> is the rated system voltage, and <italic>U</italic> is the inverter output voltage.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>VSG reactive power-voltage control.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g003.tif">
<alt-text content-type="machine-generated">Diagram of a reactive power control loop showing a series of interconnected blocks and circles. Inputs \(U_n\) and \(Q_{ref}\) are subtracted, processed by \(K_q\), then \(Q\) is subtracted. The result goes through \(n/s\), adjusting \(\Delta U\) and adding \(U_n\) to output \(E\).</alt-text>
</graphic>
</fig>
<p>In order to realize the difference-free regulation of the output reactive power, an integral link is introduced into the reactive power control loop to modify the sag control loop, and the output voltage of the converter port is<disp-formula id="e4">
<mml:math id="m4">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>U</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>Q</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>Q</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e4">Equation 4</xref>, where &#x394;<italic>U</italic> is the voltage deviation, <italic>n</italic> is the integration coefficient, <italic>Q</italic>
<sub>n</sub> is the rated reactive power of the system, and <italic>Q</italic> is the output reactive power of the inverter.</p>
</sec>
<sec id="s2-3">
<title>2.3 Machine-side converter control</title>
<sec id="s2-3-1">
<title>2.3.1 PV deloading control</title>
<p>Generally, the PV power generation system operates in the maximum power mode to obtain the maximum power conversion efficiency, so when the power supply is suddenly withdrawn, the load is suddenly increased or subjected to random perturbations. The lack of spare power to make up for the power difference will lead to fluctuations in the frequency of the system, affecting the stability of the power grid system. PV deloading control technology adjusts the operating state of the PV cells so that they do not operate at the maximum power output point but instead reserve a portion of the power for grid frequency regulation. Although this will result in part of the solar energy not being fully utilized, thus reducing the energy conversion efficiency, it can effectively provide the active power support required for frequency regulation within the normal fluctuation range of the grid frequency.</p>
<p>As shown in <xref ref-type="fig" rid="F4">Figure 4</xref>, by controlling the working voltage of the PV system to not be at the voltage at the maximum power tracking point, the PV panels do not work in the maximum power tracking mode but leave some reserve power. Point a in the figure is the working point of the PV power generation system when the active output is maximum. When the working point of the PV system is at b and c in the figure, then it represents that the PV retains a certain amount of reserve power, the corresponding expression is shown in <xref ref-type="disp-formula" rid="e5">Equation 5</xref>:<disp-formula id="e5">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>P-V curve of PV system output.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g004.tif">
<alt-text content-type="machine-generated">Graph showing a power-voltage curve with red lines. Points a, b, and c are marked on the curve. Horizontal lines indicate power levels \(P_{mppt}\), \(P_{dpppt}\), and backup power \(P_{backup}\). Vertical lines mark corresponding voltages \(a_{mppt}\), \(b_{dpppt}\), and \(c_{dpppt}\). The shaded area represents a specific region between points a and b.</alt-text>
</graphic>
</fig>
<p>When the photovoltaic power generation system operates in the power&#x2013;voltage curve area on both sides of the maximum power point, although the reserve power can be reserved through load shedding control, it should be noted that the operating points on both sides are not necessarily stable operating points. Based on the principle of conservation of energy, the output power of the PV array consists of the active power output from the inverter and the variation of DC bus capacitor energy storage, and the power balance relationship is <xref ref-type="disp-formula" rid="e6">Equation 6</xref>:<disp-formula id="e6">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>where <italic>P</italic>
<sub>
<italic>pv</italic>
</sub> is the PV array output power, <italic>P</italic>
<sub>
<italic>inv</italic>
</sub> is the PV inverter output active, and <italic>P</italic>
<sub>
<italic>c</italic>
</sub> is only the PV DC side capacitive power, which can be expressed as<disp-formula id="e7">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>C</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e7">Equation 7</xref>, where <italic>V</italic>
<sub>
<italic>dc</italic>
</sub> is the capacitive voltage on the dc side of the PV, and <italic>C</italic> is the dc capacitance.</p>
<p>Applying small increments to the PV system voltage, the increment of the PV array output power can be obtained as<disp-formula id="e8">
<mml:math id="m8">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>C</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e8">Equation 8</xref>, where <italic>V</italic>
<sub>0</sub> is the voltage at steady state of the PV.</p>
<p>Linearizing &#x394;<italic>P</italic>
<sub>
<italic>pv</italic>
</sub> for increments with small perturbations can obtain the <xref ref-type="disp-formula" rid="e9">Equation 9</xref>:<disp-formula id="e9">
<mml:math id="m9">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>C</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>Expanding the PV array power <italic>P</italic>
<sub>
<italic>pv</italic>
</sub> with Taylor&#x2019;s expansion, at the steady-state voltage <italic>V</italic>
<sub>0</sub>, and neglecting the higher-order terms, yields the PV increased power <inline-formula id="inf1">
<mml:math id="m10">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> as<disp-formula id="e10">
<mml:math id="m11">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e10">Equation 10</xref>, where &#x394;<italic>V</italic>
<sub>
<italic>dc</italic>
</sub> is the amount of disturbance voltage.</p>
<p>The Laplace transform of the couplings (9) and (10) is obtained <xref ref-type="disp-formula" rid="e11">Equations 11</xref>, <xref ref-type="disp-formula" rid="e12">12</xref>:<disp-formula id="e11">
<mml:math id="m12">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m13">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>The condition for nonzero solutions is given by <xref ref-type="disp-formula" rid="e13">Equation 13</xref>:<disp-formula id="e13">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>The characteristic roots are given by <xref ref-type="disp-formula" rid="e14">Equation 14</xref>:<disp-formula id="e14">
<mml:math id="m15">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>When <italic>dP</italic>
<sub>
<italic>pv</italic>
</sub>
<italic>/dV</italic>
<sub>
<italic>pv</italic>
</sub> is greater than 0, the working point of the PV power generation system is on the left side of point a. At this time, the characteristic root is greater than 0, and the system is in a positive feedback state. At this time, if <italic>V</italic>
<sub>
<italic>pv</italic>
</sub> voltage increases slightly due to a disturbance, the PV power <italic>P</italic>
<sub>
<italic>pv</italic>
</sub> increases with it. According to <xref ref-type="disp-formula" rid="e6">Equation 6</xref>, if the inverter is not adjusted in time, the excess power will be absorbed by the capacitor, resulting in capacitor charging and further voltage increase, which will form a positive feedback loop of &#x201c;voltage increase-power increase-voltage increase again&#x201d; and may lead to voltage runaway.</p>
<p>When <italic>dP</italic>
<sub>pv</sub>
<italic>/dV</italic>
<sub>pv</sub> is less than 0, the working point of the PV power system is on the right side of point a. At this time, the characteristic root is greater than 0, and the system is in a positive feedback state. If the voltage <italic>V</italic>
<sub>pv</sub> increases slightly, the PV power <italic>P</italic>
<sub>
<italic>pv</italic>
</sub> decreases. At this time, the power shortage must be compensated by the capacitor discharge, resulting in a voltage drop, which will form a negative feedback loop of &#x201c;voltage rise - power reduction - and then voltage drop,&#x201d; and the system will return to the steady state.</p>
<p>Therefore, the sufficient condition for the stable operation of the PV power system is that its characteristic root is negative, which in turn leads to the stable operation condition of the PV power system as <xref ref-type="disp-formula" rid="e15">Equation 15</xref>:<disp-formula id="e15">
<mml:math id="m16">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
<p>Therefore, point <italic>c</italic> is the stable operation working point where the PV power system can be deloading controlled. From the PV characteristic curve of PV, by controlling the inverter voltage to adjust the output power, theoretically up to 80%&#x2013;90% of the active power of the PV power plant can be left as a backup to provide power support to the grid in an emergency. PV load shedding control is shown in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>PV curtailment control.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g005.tif">
<alt-text content-type="machine-generated">Diagram illustrating a control system for a photovoltaic (PV) array. It includes components like PV array, Maximum Power Point Tracking (MPPT), and Dynamic Perturbation and Observation Perturbation Technique (DPPT). Inputs consist of solar irradiance and temperature, while outputs include duty cycle adjustments.</alt-text>
</graphic>
</fig>
<p>When analyzing the frequency regulation capability of the PV system to cope with load disturbances, it is necessary to establish the dynamic coupling relationship between its frequency regulation output, grid frequency deviation, and the maximum active output of the PV. To this end, the load shedding rate of the PV power system can be defined as the proportion of the actual operating power reserved relative to the maximum power, which is expressed as <xref ref-type="disp-formula" rid="e16">Equation 16</xref>:<disp-formula id="e16">
<mml:math id="m17">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>where <italic>K</italic>
<sub>
<italic>f</italic>
</sub> is the rated load deloading rate, and <italic>f</italic>
<sub>0</sub> is the rated frequency of the grid, 0.7 &#x3c; d &#x3c; 1.</p>
<p>The active power output from the PV under load deloading control is<disp-formula id="e17">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>In <xref ref-type="disp-formula" rid="e17">Equation 17</xref>, when the power system frequency drops, &#x394;<italic>f</italic>&#x3c;0, the PV power system releases the reserved reserve power by increasing the load shedding rate <italic>d</italic>, thus increasing the active output and helping the grid to realize rapid frequency recovery.</p>
<p>When the power system frequency rises, &#x394;<italic>f</italic>&#x3e;0, the PV system increases the reserve power by reducing the load shedding rate <italic>d</italic>, thus reducing the active output and absorbing the excess power from the grid, and suppressing the further rise of frequency.</p>
</sec>
<sec id="s2-3-2">
<title>2.3.2 Dynamic virtual inertia control for ESS</title>
<p>When a PV-ESS system is subjected to random power perturbations, it is necessary to maintain power balance through the coordination of internal energy units. Due to the intermittent and fluctuating characteristics of PV power, this time, the ESS also must undertake the task of frequency regulation, through the rapid power response to restore the system frequency to the rated range. However, the regulation ability of energy storage and its charge state <italic>SOC</italic> has a coupling relationship; if the state of <italic>SOC</italic> is ignored in the control, it may lead to the energy storage battery entering a deep charging and discharging state. This not only accelerates the capacity degradation of the energy storage battery but also may lead to an early exit from operation due to triggering the overcharge/overdischarge protection mechanism, which in turn exacerbates the system frequency instability. In order to better utilize the frequency fast response regulation capability of the energy storage, as well as to protect the battery from overcharging and overdischarging, this article proposes to realize the output adaptive virtual inertia control coefficients based on the state of the <italic>SOC</italic> as the input and the GA-BP. The adaptive control strategy can effectively maintain the <italic>SOC</italic> in the healthy working interval of 20%&#x2013;80%, avoid overcharging and overdischarging of the energy storage, guarantee the safe operation of the energy storage equipment, and improve the frequency regulation capability of the energy storage system. <xref ref-type="fig" rid="F6">Figure 6</xref> shows the block diagram of the virtual inertia control for ESS.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>ESS-based virtual inertia control.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g006.tif">
<alt-text content-type="machine-generated">Diagram showing a control process for virtual inertia and SOC status. The virtual inertia section involves inputs \( \omega \) and \( \omega_0 \) through a summing junction to gain \( Ks \), then processed by PI and PWM to output \( D_{Ic} \). SOC status includes \( P_{Ic} \) passing through integrators \( \frac{1}{s} \) and \( \frac{1}{E} \), adding with \( SOC_{initial} \), to update SOC.</alt-text>
</graphic>
</fig>
<p>The active power supplied by the storage battery through virtual inertia control when the system frequency changes is<disp-formula id="e18">
<mml:math id="m19">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>K</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e18">Equation 18</xref>, where &#x2206;<italic>P</italic>
<sub>
<italic>lc</italic>
</sub> is the charging and discharging power of the ESS; <italic>K</italic> is the dynamic virtual inertia coefficient.<disp-formula id="e19">
<mml:math id="m20">
<mml:mrow>
<mml:mi>K</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:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.17em"/>
<mml:mo>&#x394;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.17em"/>
<mml:mo>&#x394;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e19">Equation 19</xref>, where <italic>k</italic>
<sub>1</sub> is the frequency regulation factor when the ESS is discharged; <italic>k</italic>
<sub>2</sub> is the frequency regulation factor when the ESS is charged.</p>
<p>Among them, <xref ref-type="fig" rid="F1">Figure 1</xref> shows that taking the <italic>SOC</italic> state as the input of GA-BP and the dynamic virtual inertia coefficient <italic>K</italic> as the output, we can dynamically adjust the power output of the energy storage system according to the state of the <italic>SOC</italic> of the energy storage system and better serve the system for frequency regulation.</p>
<p>In order to make the energy storage system have a better frequency regulation effect and not cause damage to the storage battery, when the <italic>SOC</italic> of the energy storage is close to <italic>SOC</italic>
<sub>min</sub>, <italic>k</italic>
<sub>2</sub> is set as the maximum value, and <italic>k</italic>
<sub>1</sub> decreases with the decrease of the <italic>SOC</italic>. When the <italic>SOC</italic> of energy storage is close to <italic>SOC</italic>
<sub>max</sub>, <italic>k</italic>
<sub>1</sub> is set as the maximum value, and <italic>k</italic>
<sub>2</sub> decreases with the increase of <italic>SOC</italic>. Therefore, in this article, the dynamic virtual inertia coefficient <italic>K</italic> output from GA-BP is characterized by the change of S-type function (sigmoid function), and the specific relational equations are given by <xref ref-type="disp-formula" rid="e20">Equations 20</xref>, <xref ref-type="disp-formula" rid="e21">21</xref>:<disp-formula id="e20">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mspace width="0.17em"/>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo>&#x2a7d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>100</mml:mn>
<mml:msub>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2010;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo>&#x2010;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2010;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.17em"/>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo>&#x2a7e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.17em"/>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo>&#x2a7d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:msub>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>100</mml:mn>
<mml:msub>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2010;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2010;</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2010;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mspace width="0.17em"/>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo>&#x2a7e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>where <italic>K</italic>
<sub>max</sub> is the maximum value of the dynamic virtual inertia coefficient; n is a constant for adjusting the nonlinear characteristics of the function.</p>
<p>The specific <italic>SOC</italic> formula can be expressed as <xref ref-type="disp-formula" rid="e22">Equation 22</xref>:<disp-formula id="e22">
<mml:math id="m23">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>where <italic>SOC</italic>(<italic>t</italic>) is the value of <italic>SOC</italic> at moment <italic>t</italic>; <italic>SOC</italic>
<sub>initial</sub> is the initial <italic>SOC</italic> value; <italic>E</italic> is the energy capacity of the energy storage system.</p>
<p>The <italic>SOC</italic> of the energy storage system generally has upper and lower limits, and the allowable range of <italic>SOC</italic> can be expressed as <xref ref-type="disp-formula" rid="e23">Equation 23</xref>
<disp-formula id="e23">
<mml:math id="m24">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>C</mml:mi>
<mml:mo>&#x2a7d;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>where <italic>SOC</italic>
<sub>min</sub> denotes the lowest charge state allowed for the energy storage battery, and <italic>SOC</italic>
<sub>max</sub> denotes the highest charge state allowed for the energy storage battery.</p>
<p>As shown in <xref ref-type="fig" rid="F7">Figure 7</xref>, the <italic>SOC</italic> above <italic>SOC</italic>
<sub>max</sub> or below <italic>SOC</italic>
<sub>min</sub> is a forbidden zone. The energy storage system is not allowed to work in this area so as not to affect the service life of the storage battery. In the optical storage system, the charging and discharging power limit of the energy storage system is often linked with the <italic>SOC</italic>. When the <italic>SOC</italic> is close to the lower limit of <italic>SOC</italic>
<sub>min</sub>, the discharge power is limited to avoid deep discharge; when the <italic>SOC</italic> is close to the upper limit of <italic>SOC</italic>
<sub>max</sub>, the charging power is limited to prevent overcharging.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>SOC dynamic variation curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g007.tif">
<alt-text content-type="machine-generated">Diagram of three battery icons showing different states of charge. The left battery is mostly discharged with red at the bottom labeled &#x22;SOCmin&#x22;. The middle battery is fully charged in green. The right battery shows a slight discharge labeled &#x22;SOCmax&#x22;. Arrows illustrate the discharge and charge directions.</alt-text>
</graphic>
</fig>
</sec>
</sec>
</sec>
<sec id="s3">
<title>3 Adaptive control strategy for optical storage based on GA-BP</title>
<p>GA has a strong global search ability that can avoid the defect of traditional optimization methods falling into local optimal solutions. In this article, GA and BP neural networks are deeply integrated to construct a GA-BP neural network optimization algorithm model, and through the synergistic cooperation of the two, a hybrid algorithm with better performance is obtained to optimize the parameters of the optical storage system. On the one hand, the BP is used to adjust the parameters of the PV-ESS dynamically according to the error of the desired signal and the actual signal; on the other hand, the GA is used to optimize the weight and bias of the BP globally, which significantly improves the efficiency of parameter search. The weights and biases of the BP are optimized globally with the help of GA, which significantly improves the parameter optimization efficiency. In this model, the GA dynamically optimizes the initial weights and bias parameters of the BP to break through the limitations of the traditional random initialization on the performance of the network so that the model has a faster convergence speed and a stronger generalization ability. The following are the specific steps of the algorithm implementation:<list list-type="simple">
<list-item>
<p>(1) The dynamic model of PV-ESS is formulated in <xref ref-type="disp-formula" rid="e24">Equation 24</xref>
</p>
</list-item>
</list>
<disp-formula id="e24">
<mml:math id="m25">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</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:math>
<label>(24)</label>
</disp-formula>where <inline-formula id="inf2">
<mml:math id="m26">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the time derivative of the state variable, <italic>x</italic>(<italic>t</italic>) is the system state, <italic>u</italic>(<italic>t</italic>) is the control input, and <italic>y</italic>(<italic>t</italic>) is the output.<list list-type="simple">
<list-item>
<p>(2) Design the BP neural network controller as <xref ref-type="disp-formula" rid="e25">Equation 25</xref>
</p>
</list-item>
</list>
<disp-formula id="e25">
<mml:math id="m27">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>where <italic>W</italic> &#x3d; {<italic>w</italic>
<sub>
<italic>ij</italic>
</sub>, <italic>W</italic>
<sub>
<italic>ij</italic>
</sub>}; B &#x3d; {<italic>b</italic>
<sub>
<italic>j</italic>
</sub>, <italic>B</italic>
<sub>
<italic>j</italic>
</sub>}; <italic>w</italic>
<sub>
<italic>ij</italic>
</sub> is the hidden layer input weight; <italic>W</italic>
<sub>
<italic>ij</italic>
</sub> is the hidden layer output weight; <italic>b</italic>
<sub>
<italic>j</italic>
</sub> is the hidden layer input bias; <italic>B</italic>
<sub>
<italic>j</italic>
</sub> is the hidden layer output bias.<list list-type="simple">
<list-item>
<p>(3) Define the multi-objective loss function as <xref ref-type="disp-formula" rid="e26">Equation 26</xref>
</p>
</list-item>
</list>
<disp-formula id="e26">
<mml:math id="m28">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</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>b</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>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
</p>
<p>The following is a specific explanation of each part of the multi-objective loss function as <italic>A</italic>:<disp-formula id="e27">
<mml:math id="m29">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e27">Equation 27</xref>, where <italic>y</italic>
<sub>ref</sub>(<italic>t</italic>) is the literature output; <italic>y</italic>(<italic>t</italic>) is the actual output. This equation calculates the difference between the literature output <italic>y</italic>
<sub>ref</sub>(<italic>t</italic>) and the actual output <italic>y</italic>(<italic>t</italic>).<disp-formula id="e28">
<mml:math id="m30">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e28">Equation 28</xref>, where <italic>&#x3bb;</italic>
<sub>1</sub> is the weighting factor. This equation is used to prevent overfitting and make the model more generalized by increasing the penalty term of the weights.<disp-formula id="e29">
<mml:math id="m31">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e29">Equation 29</xref>, where <italic>&#x3bb;</italic>
<sub>2</sub> is the weighting factor of the control energy consumption term. This equation reduces the energy consumption of the system by minimizing the control input.<disp-formula id="e30">
<mml:math id="m32">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</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>b</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>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>In <xref ref-type="disp-formula" rid="e30">Equation 30</xref>, where <italic>&#x3bb;</italic>
<sub>3</sub> is the weighting factor of the battery aging term. This equation is used to reduce the number and magnitude of charging and discharging of the battery, thus prolonging the lifetime of the battery.<list list-type="simple">
<list-item>
<p>(3) Chromosome code length:</p>
</list-item>
</list>
<list list-type="simple">
<list-item>
<p>(4) The chromosome code length is defined by <xref ref-type="disp-formula" rid="e31">Equation 31</xref>:</p>
</list-item>
</list>
<disp-formula id="e31">
<mml:math id="m33">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<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:mn>3</mml:mn>
</mml:munderover>
</mml:mstyle>
<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>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<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>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<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:mn>3</mml:mn>
</mml:munderover>
</mml:mstyle>
<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>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<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>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(5) The fitness function is defined by <xref ref-type="disp-formula" rid="e32">Equation 32</xref>:</p>
</list-item>
</list>
<disp-formula id="e32">
<mml:math id="m34">
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>where <italic>&#x3b2;</italic> is the aging penalty factor.<list list-type="simple">
<list-item>
<p>(6) The genetic selection operation is defined by <xref ref-type="disp-formula" rid="e33">Equation 33</xref>:</p>
</list-item>
</list>
</p>
<p>For each individual <italic>k</italic> in the population, calculate its selection probability:<disp-formula id="e33">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>where <italic>N</italic> is the population size.<list list-type="simple">
<list-item>
<p>(7) The crossover operation is defined by <xref ref-type="disp-formula" rid="e34">Equations 34</xref>, <xref ref-type="disp-formula" rid="e35">35</xref>:</p>
</list-item>
</list>
</p>
<p>Cross-segmentation is used for the selected parents (<italic>P</italic>
<sub>1</sub>, <italic>P</italic>
<sub>2</sub>) for the neural network hidden layer weights <italic>w</italic>
<sub>
<italic>ij</italic>
</sub> part:<disp-formula id="e34">
<mml:math id="m36">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>Bias the <italic>b</italic>
<sub>
<italic>j</italic>
</sub> part to the neural network:<disp-formula id="e35">
<mml:math id="m37">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>where <inline-formula id="inf3">
<mml:math id="m38">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf4">
<mml:math id="m39">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are the crossover coefficients.<list list-type="simple">
<list-item>
<p>(8) The mutation operation is defined by <xref ref-type="disp-formula" rid="e36">Equations 36</xref>&#x2013;<xref ref-type="disp-formula" rid="e38">38</xref>:</p>
</list-item>
</list>
</p>
<p>For each locus <italic>x</italic>
<sub>
<italic>i</italic>
</sub>, mutate with probability <italic>p</italic>
<sub>
<italic>m</italic>
</sub>:<disp-formula id="e36">
<mml:math id="m40">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#xb7;</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(36)</label>
</disp-formula>where <italic>x</italic>
<sub>
<italic>i</italic>
</sub>&#x2032; is the gene value after the mutation. <italic>x</italic>
<sub>
<italic>i</italic>
</sub> is the original gene value. <inline-formula id="inf5">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the intensity of variation, which controls the magnitude of variation. <inline-formula id="inf6">
<mml:math id="m42">
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the standard normal distribution, which represents the random perturbation.</p>
<p>Calculate the intensity of variation <inline-formula id="inf7">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e37">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#xb7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(37)</label>
</disp-formula>where <inline-formula id="inf8">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the maximum variation intensity; <italic>t</italic> is the current iteration number; <italic>T</italic>
<sub>max</sub> is the maximum iteration number.</p>
<p>Projective corrections are applied to the mutated parameters:<disp-formula id="e38">
<mml:math id="m46">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3c;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>min</mml:mi>
</mml:msubsup>
</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>max</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3e;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>max</mml:mi>
</mml:msubsup>
</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:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(38)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(9) The BP neural network design is formally expressed in <xref ref-type="disp-formula" rid="e39">Equations 39</xref>&#x2013;<xref ref-type="disp-formula" rid="e43">43</xref>:</p>
</list-item>
</list>
</p>
<p>Step 1. Import the input variables. The <italic>ith</italic> neuron in the input layer is <italic>X</italic>
<sub>
<italic>i</italic>
</sub>;</p>
<p>Step 2. Calculate the input value <inline-formula id="inf9">
<mml:math id="m47">
<mml:mrow>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and the output value <inline-formula id="inf10">
<mml:math id="m48">
<mml:mrow>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> of the <italic>jth</italic> neuron <italic>h</italic>
<sub>
<italic>j</italic>
</sub> in the hidden layer;<disp-formula id="e39">
<mml:math id="m49">
<mml:mrow>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<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:mn>3</mml:mn>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(39)</label>
</disp-formula>
<disp-formula id="e40">
<mml:math id="m50">
<mml:mrow>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(40)</label>
</disp-formula>
</p>
<p>The activation function of the hidden layer uses the sigmoid function:<disp-formula id="e41">
<mml:math id="m51">
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(41)</label>
</disp-formula>
</p>
<p>Step 3. Calculate the input and output quantities of the output layer. The input <inline-formula id="inf11">
<mml:math id="m52">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> of the <italic>ith</italic> neuron of the output layer is <disp-formula id="e42">
<mml:math id="m53">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<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>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(42)</label>
</disp-formula>
</p>
<p>The output of neuron <italic>i</italic> in the output layer, <inline-formula id="inf12">
<mml:math id="m54">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, is<disp-formula id="e43">
<mml:math id="m55">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(43)</label>
</disp-formula>
</p>
<p>where the activation function of the output layer is also chosen to use the sigmoid function.</p>
<p>The above GA-BP is applied to the optimization process of the VSG control parameters <italic>J</italic> and <italic>D</italic> of the optical storage system, as well as the virtual inertia coefficient <italic>K</italic> of the energy storage dynamics. The flowchart of the GA-BP shown in <xref ref-type="fig" rid="F8">Figure 8</xref> is obtained. First, the GA is used to find the optimal weights and bias values in the BP; then the optimal weights and bias values are inputted into the BP; then the BP dynamically outputs the control parameters such as <italic>K</italic>, <italic>J,</italic> and <italic>D</italic> according to the inputs as well as the optimal weights and bias values, and the parameters are returned to <xref ref-type="disp-formula" rid="e2">Equations 2</xref>, <xref ref-type="disp-formula" rid="e18">18</xref> after the adaptive adjustments to realize the adaptive closed-loop control of <italic>K</italic>, <italic>J,</italic> and <italic>D</italic>. Closed-loop control can be realized by returning the adaptively adjusted parameters to <xref ref-type="disp-formula" rid="e2">Equations 2</xref>, <xref ref-type="disp-formula" rid="e18">18</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Parameter optimization process based on GA-BP.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g008.tif">
<alt-text content-type="machine-generated">Flowchart detailing a neural network optimization process using genetic algorithms (GA) and backpropagation (BP). It is divided into three blocks: Block 1 handles GA-based encoding of initial parameters, Block 2 focuses on BP with parameter initialization and data normalization, and Block 3 outputs the parameters K, J, and D. The chart includes decision points for termination criteria, fitness value calculations, and iteration limits.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s4">
<title>4 Calculation design</title>
<p>In this study, a digital twin model of an optical storage, multi-source cooperative control system is constructed based on the RT-LAB platform, and the proposed cooperative control strategy is verified through comparative simulation. As shown in <xref ref-type="fig" rid="F9">Figure 9</xref>, the real-time simulation system adopts a heterogeneous computing architecture, integrating multi-core CPUs, field-programmable gate array (FPGA) hardware acceleration units, and development hosts, in which the CPU cluster undertakes the numerical solving tasks of the electromagnetic transient model of the new energy station cluster and the dynamic model of the three-machine, nine-node system and realizes multi-protocol communication, such as CAN and IEC61850. The FPGA module performs the microsecond-level step execution of the power electronics converter. The FPGA module performs accurate power electronic converter modeling and SFP &#x2b; fiber optic communication protocol processing in microsecond steps and realizes nanosecond data interaction with the main computing unit via PCIe Gen4 &#xd7;16 bus, constructing a deterministic simulation environment with a fixed step size of 50 ms for the whole system.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>RTLAB platform.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g009.tif">
<alt-text content-type="machine-generated">Diagram illustrating a workflow involving wind turbine control. The system includes RTLAB connected to a workstation via PCIe and fiber-optic connections. The workstation processes modeling, real-time data, and simulation. Below, a wind turbine controller is linked via analog and PWM connections. Images of wind turbines are shown, highlighting the application focus.</alt-text>
</graphic>
</fig>
<p>The installed capacity of the PV array is 4 MW. The parameters of the PV array are set according to the model of SunPower SPR-200-WHT-U, and 20 strings and 20 parallels are set as a group; there are a total of 50 groups under the standard ambient temperature and irradiance conditions. The output power of this PV array is maximally 4 MW. PV strings are connected to the converter through a convergence box and then connected to the DC bus after boosting. The DC side voltage is 600 V, and the AC side voltage is 380 V. After two boosts, the PV string is connected to the 35-kV main grid. The installed capacity of the energy storage system is 1 MW, and the rated load shedding rate of PV is <italic>K</italic>
<sub>
<italic>f</italic>
</sub> &#x3d; 0.9. The parameter of the energy storage system is <italic>SOC</italic>
<sub>initial</sub> &#x3d; 0.8. The simulation results are based on the standardized value, and the power literature value is 5 MW.</p>
<sec id="s4-1">
<title>4.1 Comparison of frequency regulation</title>
<p>
<xref ref-type="fig" rid="F10">Figure 10</xref> displays the frequency response curves of photovoltaics, energy storage, and the joint participation of photovoltaics and energy storage in frequency regulation. The case is at <italic>t</italic> &#x3d; 5 s, load surge &#x394;<italic>P</italic>
<sub>
<italic>W</italic>
</sub> &#x3d; 0.1 p.u.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>PV-ESS frequency response curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g010.tif">
<alt-text content-type="machine-generated">Line graph showing frequency (f) in p.u. versus time in seconds. It displays three lines: green for PV - ESS, red for PV, and blue for ESS. The graph illustrates oscillations in frequency from 0 to 100 seconds, stabilizing after initial fluctuations.</alt-text>
</graphic>
</fig>
<p>From <xref ref-type="table" rid="T1">Table 1</xref>, it can be seen that PV-ESS joint participation in the frequency lowest point of change is 0.027 p.u., the highest point of frequency overshooting amount is 0.008 p.u., and the steady-state recovery time is 45 s. Meanwhile, the PV frequency lowest point of change is 0.03 p.u., the highest point of frequency overshooting amount is 0.015 p.u., the steady-state recovery time is 70 s, the lowest point of change in the E frequency 0.029 p.u., the highest point of frequency overshooting amount is 0.014 p.u., and the steady-state recovery time is 75 s. The ESS frequency&#x2019;s lowest point of change amount is 0.027 p.u. The frequency of the highest point of overshooting is 0.014 p.u., and a steady-state recovery time of 75 s can be obtained. The PV-ESS joint participation in the frequency regulation effect is better.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Comparison of PV, ESS, and PV-ESS.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Compensation method</th>
<th align="center">Frequency minimum change</th>
<th align="center">Frequency maximum point overshoot</th>
<th align="center">Restoration of homeostasis timing</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">PV</td>
<td align="center">0.03 p.u.</td>
<td align="center">0.015 p.u.</td>
<td align="center">70 s</td>
</tr>
<tr>
<td align="center">ESS</td>
<td align="center">0.029 p.u.</td>
<td align="center">0.014 p.u.</td>
<td align="center">75 s</td>
</tr>
<tr>
<td align="center">PV-ESS</td>
<td align="center">0.027 p.u.</td>
<td align="center">0.008 p.u.</td>
<td align="center">45 s</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2">
<title>4.2 Comparison of <italic>J</italic> and <italic>D</italic>
</title>
<p>
<xref ref-type="fig" rid="F11">Figure 11</xref> demonstrates the fixed <italic>J</italic>, <italic>D</italic> and dynamic <italic>J</italic>, <italic>D</italic> frequency response curves under VSG control. The test case is a load surge at time t &#x3d; 5 s, and &#x394;<italic>P</italic>
<sub>W</sub> &#x3d; 0.1 p.u. Only PV is involved in adjusting the frequency in this case.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Frequency response curves of fixed vs. dynamic <italic>J</italic> and <italic>D</italic>.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g011.tif">
<alt-text content-type="machine-generated">Graph showing \( J \) and \( D \) over time, comparing fixed values (red line) and dynamic values (blue line). The y-axis ranges from 0.97 to 1.01, and the x-axis shows time in seconds from 0 to 100. Both lines exhibit initial fluctuations before stabilizing.</alt-text>
</graphic>
</fig>
<p>In the case of fixed <italic>J</italic> and <italic>D</italic> control, the frequency nadir is approximately 0.970 p.u., the variation is 0.030 p.u., the overshoot is approximately 0.015 p.u., and the steady-state recovery time is 70 s. In the case of dynamic <italic>J</italic> and <italic>D</italic> control, the frequency nadir is approximately 0.971 p.u., the variation is 0.029 p.u., and the overshoot is approximately 0.012 p.u. The steady-state recovery time is 60 s.</p>
<p>From <xref ref-type="table" rid="T2">Table 2</xref>, it can be concluded that the frequency minimum change is reduced by 3.33%, the overshoot is reduced by 20%, and the steady-state recovery time is reduced by 14.3% under dynamic <italic>J</italic> and <italic>D</italic> control compared to under fixed <italic>J</italic> and <italic>D</italic> control.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Comparison of fixed <italic>J</italic>, <italic>D</italic>, and dynamic <italic>J</italic>, <italic>D</italic>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Compensation method</th>
<th align="center">Frequency minimum change</th>
<th align="center">Frequency maximum point overshoot</th>
<th align="center">Steady-state recovery time</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Fixed <italic>J</italic>, <italic>D</italic>
</td>
<td align="center">0.03 p.u.</td>
<td align="center">0.015 p.u.</td>
<td align="center">70 s</td>
</tr>
<tr>
<td align="center">Dynamic <italic>J</italic>, <italic>D</italic>
</td>
<td align="center">0.029 p.u.</td>
<td align="center">0.012 p.u.</td>
<td align="center">60 s</td>
</tr>
<tr>
<td align="center">Compare</td>
<td align="center">3.33%</td>
<td align="center">20%</td>
<td align="center">14.3%</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-3">
<title>4.3 Comparison of <italic>K</italic> for ESS</title>
<p>
<xref ref-type="fig" rid="F12">Figure 12</xref> demonstrates the energy storage fixed <italic>K</italic> and dynamic <italic>K</italic> frequency response curves. The test case is a load surge &#x394;<italic>P</italic>
<sub>
<italic>W</italic>
</sub> &#x3d; 0.1 p.u. at time <italic>t</italic> &#x3d; 5 s. In this case, only ESS is involved in frequency regulation.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Frequency response curves of fixed <italic>K</italic> vs. dynamic <italic>K</italic>.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g012.tif">
<alt-text content-type="machine-generated">Line graph showing the response of two systems over 100 seconds. The red line represents &#x22;Fixed K in ESS&#x22; and the blue line represents &#x22;Dynamic K in ESS&#x22;. Both lines exhibit oscillations, with the red line peaking slightly higher around the 20-second mark. Both lines stabilize towards the end. The y-axis ranges from 0.97 to 1.01 p.u.</alt-text>
</graphic>
</fig>
<p>In the case of fixed <italic>K</italic> control, the frequency nadir is approximately 0.971 p.u., the variation is 0.029 p.u., the overshoot is approximately 0.014 p.u., and the steady-state recovery time is 75 s. In the case of dynamic <italic>K</italic> control, the frequency nadir is approximately 0.972 p.u., the variation is 0.028 p.u., the overshoot is approximately 0.011 p.u., and the steady-state recovery time is 60 s.</p>
<p>From <xref ref-type="table" rid="T3">Table 3</xref>, it can be concluded that the frequency minimum change is reduced by 3.45%, the overshoot is reduced by 21.43%, and the steady-state recovery time is reduced by 20% under dynamic <italic>K</italic> control compared to under fixed <italic>K</italic> control.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Fixed <italic>K</italic> vs. dynamic <italic>K</italic>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Compensation method</th>
<th align="center">Frequency minimum change</th>
<th align="center">Frequency maximum point overshoot</th>
<th align="center">Steady-state recovery time</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Fixed K</td>
<td align="center">0.029 p.u.</td>
<td align="center">0.014 p.u.</td>
<td align="center">75 s</td>
</tr>
<tr>
<td align="center">Dynamic K</td>
<td align="center">0.028 p.u.</td>
<td align="center">0.011 p.u</td>
<td align="center">60 s</td>
</tr>
<tr>
<td align="center">Compare</td>
<td align="center">3.45%</td>
<td align="center">21.43%</td>
<td align="center">20%</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-4">
<title>4.4 Comparison of <italic>K</italic>, <italic>J</italic>, and <italic>D</italic>
</title>
<p>
<xref ref-type="fig" rid="F13">Figure 13</xref> demonstrates the frequency response curves of PV-ESS with fixed <italic>K</italic>, <italic>J</italic>, and <italic>D</italic> parameters versus dynamically adjusted <italic>K</italic>, <italic>J</italic>, and <italic>D</italic> parameters. The test case involves a sudden load increase of &#x394;P<sub>W</sub> &#x3d; 0.1 p.u. at t &#x3d; 5 s, with both PV-ESS participating in frequency regulation in this case.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Frequency response curves of fixed vs. dynamic <italic>K</italic>, <italic>J</italic>, and <italic>D</italic> in PV-ES.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g013.tif">
<alt-text content-type="machine-generated">Graph showing frequency over time in p.u. units for two scenarios: fixed and dynamic K, J, D in PV-ESS. Both frequencies initially dip below 0.98 before stabilizing near 1. The dynamic scenario shows slightly less variation than the fixed scenario. Time spans from 0 to 90 seconds.</alt-text>
</graphic>
</fig>
<p>In the case of fixed <italic>K, J,</italic> and <italic>D</italic> control, the frequency nadir is approximately 0.973 p.u., the variation is 0.027 p.u., the overshoot is approximately 0.008 p.u., and the steady-state recovery time is 45 s. In the case of dynamic <italic>K, J</italic>, and <italic>D</italic> control, the frequency nadir is approximately 0.977 p.u., the variation is 0.023 p.u., the overshoot is approximately 0.003 p.u., and the steady-state recovery time is 25 s.</p>
<p>From <xref ref-type="table" rid="T4">Table 4</xref>, it can be concluded that the amount of frequency nadir change is reduced by 14.81%, the amount of overshooting is reduced by 62.5%, and the steady-state recovery time is reduced by 44.44% under dynamic <italic>K, J</italic>, and <italic>D</italic> control compared to under fixed <italic>K, J</italic>, and <italic>D</italic> control.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Fixed <italic>K, J, D</italic> vs. dynamic <italic>K, J, D</italic>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Compensation method</th>
<th align="center">Frequency minimum change</th>
<th align="center">Frequency maximum point overshoot</th>
<th align="center">Steady-state recovery time</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Fixed <italic>K, J, D</italic>
</td>
<td align="center">0.027 p.u.</td>
<td align="center">0.008 p.u.</td>
<td align="center">45 s</td>
</tr>
<tr>
<td align="center">Dynamic <italic>K, J, D</italic>
</td>
<td align="center">0.023 p.u.</td>
<td align="center">0.003 p.u</td>
<td align="center">25 s</td>
</tr>
<tr>
<td align="center">Compare</td>
<td align="center">14.81%</td>
<td align="center">62.5%</td>
<td align="center">44.44%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="fig" rid="F14">Figure 14</xref> shows the case of optimizing the frequency regulation of PV-ESS parameters using BP and GA-BP. The case is a sudden increase in load &#x394;P<sub>W</sub> &#x3d; 0.1 p.u. at time t &#x3d; 5 s.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Frequency response curves of BP vs. GA-BP.</p>
</caption>
<graphic xlink:href="fenrg-13-1640949-g014.tif">
<alt-text content-type="machine-generated">Graph showing a comparison between BP (in red) and GA-BP (in light blue) over time (seconds) from 0 to 100. The y-axis represents fQ (p.u.) ranging from 0.97 to 1.01. Both lines start at 1.0, dip below 0.98, peak at around 20 to 30 seconds, and then stabilize at 1.0.</alt-text>
</graphic>
</fig>
<p>Under the BP optimization, the frequency nadir is approximately 0.975 p.u., the variation is 0.025 p.u., the overshoot is approximately 0.006 p.u., and the steady-state recovery time is 40 s. Under the GA-BP optimization, the frequency nadir is approximately 0.977 p.u., the variation is 0.023 p.u., the overshoot is approximately 0.003 p.u., and the steady-state recovery time is 25 s.</p>
<p>From <xref ref-type="table" rid="T5">Table 5</xref>, it can be concluded that GA-BP is optimized over BP. The amount of frequency nadir variation is reduced by 8%, overshooting is reduced by 50%, and the steady-state recovery time is reduced by 37.5%.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Comparison between BP and GA-BP.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Compensation method</th>
<th align="center">Frequency minimum change</th>
<th align="center">Frequency maximum point overshoot</th>
<th align="center">Steady-state recovery time</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">BP</td>
<td align="center">0.025 p.u.</td>
<td align="center">0.006 p.u.</td>
<td align="center">40 s</td>
</tr>
<tr>
<td align="center">GA-BP</td>
<td align="center">0.023 p.u.</td>
<td align="center">0.003 p.u.</td>
<td align="center">25 s</td>
</tr>
<tr>
<td align="center">Compare</td>
<td align="center">8%</td>
<td align="center">50%</td>
<td align="center">37.5%</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>This article proposes a GA-BP-based adaptive parameter adjustment method to dynamically optimize the virtual inertia <italic>J,</italic> damping coefficient <italic>D</italic>, and droop coefficient <italic>K</italic> in real time. A GA-BP driven adaptive optimization strategy for PV-ESS is developed to suppress frequency oscillations, shorten regulation time, and enhance system stability. The main conclusions are as follows:<list list-type="simple">
<list-item>
<p>(1) Compared to fixed-parameter control strategies for <italic>K</italic>, <italic>J,</italic> and <italic>D</italic>, the proposed GA-BP-based parameter adaptive dynamic adjustment strategy significantly improves frequency stability and dynamic response performance. The frequency nadir deviation is reduced by 14.81%, the overshoot amplitude is suppressed by 62.5%, and the steady-state recovery time is shortened by 44.44%, demonstrating the effectiveness of the proposed strategy in enhancing transient stability and mitigating power oscillations.</p>
</list-item>
<list-item>
<p>(2) In contrast to conventional BP-based adaptive adjustment of <italic>K</italic>, <italic>J</italic>, and <italic>D</italic>, the GA-BP collaborative control strategy, which integrates the global optimization capability of genetic algorithms, further enhances the dynamic characteristics of frequency regulation. The frequency nadir deviation is decreased by 8%, the overshoot amplitude is reduced by 50%, and the steady-state recovery time is accelerated by 37.5%, highlighting the superior convergence efficiency and robustness of the GA-BP neural network in parameter coordination and optimization.</p>
</list-item>
<list-item>
<p>(3) While the proposed GA-BP-based dynamic optimization method for PV-ESS frequency regulation parameters demonstrates advantages in improving coordinated frequency control, its application scope and generalizability remain limited. The study does not validate the adaptability of the method in wind turbine frequency regulation systems. Due to inherent differences in dynamic response characteristics between wind turbines and PV-ESS, the parameter optimization efficacy of the current strategy may be constrained in wind power scenarios. Furthermore, multi-energy coordinated frequency regulation mechanisms and robustness under extreme disturbances have not been thoroughly explored, necessitating further validation and framework development in future research.</p>
</list-item>
</list>
</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>RM: writing &#x2013; review and editing and conceptualization. HS: writing &#x2013; review and editing, funding acquisition, and conceptualization. YZ: investigation and writing &#x2013; review and editing. XW: methodology, writing &#x2013; review and editing, and data curation. SL: writing &#x2013; original draft. ZZ: visualization, validation, and writing &#x2013; review and editing. GW: writing &#x2013; review and editing. SL: funding acquisition, supervision, and writing &#x2013; review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This work was supported in part by the National Natural Science Foundation of China (52037003), the Major Science and Technology Projects in Yunnan Province (202402AG050006), and Yunnan Fundamental Research Projects (202401BE070001-014).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>Authors RM, YZ, XW, and ZZ were employed by Yunnan Electric Power Test and Research Institute (Group) Co., Ltd.</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="ai-statement" id="s10">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<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>Chai</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Mingxian</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Mechanism for photovoltaic generation system suppressing power system oscillations</article-title>. <source>Power Syst. Technol.</source> <volume>45</volume> (<issue>05</issue>), <fpage>1809</fpage>&#x2013;<lpage>1818</lpage>. <pub-id pub-id-type="doi">10.13335/j.1000-3673.pst.2020.0090</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Control strategy for a virtual synchronous generator using a multi-parameter cooperative adaptive method</article-title>. <source>Power Syst. Prot. Control</source> <volume>52</volume> (<issue>23</issue>), <fpage>74</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.19783/j.cnki.pspc.240379</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>Optimization strategy of frequency modulation double-layer power for multiple energy storage power plants taking into account system economics and load state balance</article-title>. <source>Energy Storage Sci. Technol.</source> <volume>14</volume> (<issue>03</issue>), <fpage>1247</fpage>&#x2013;<lpage>1257</lpage>. <pub-id pub-id-type="doi">10.19799/j.cnki.2095-4239.2024.1004</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Multi-objective coordinated control of frequency support and power oscillation for energy storage under virtual synchronous coupling</article-title>. <source>Electr. Power Autom. Equip.</source> <volume>44</volume> (<issue>09</issue>), <fpage>1</fpage>&#x2013;<lpage>9&#x2b;23</lpage>. <pub-id pub-id-type="doi">10.16081/j.epae.202310001</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Improved dead zone setting of a frequency regulation strategy for energy storage with high penetration of RESs</article-title>. <source>Power Syst. Prot. Control</source> <volume>52</volume> (<issue>18</issue>), <fpage>65</fpage>&#x2013;<lpage>75</lpage>. <pub-id pub-id-type="doi">10.19783/j.cnki.pspc.231540</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hongchun</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>Research on water hammer effect and cooperative frequency regulation technology of PV-hbess compensated hydroturbine</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>16</volume> (<issue>2</issue>), <fpage>919</fpage>&#x2013;<lpage>932</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2024.3487865</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jia</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Xiangwu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Tiecheng</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A fast frequency regulation strategy for energy storage assisted photovoltaic units based on improved RoCoF measurement method</article-title>. <source>Trans. China Electrotech. Soc.</source> <volume>37</volume> (<issue>S1</issue>), <fpage>93</fpage>&#x2013;<lpage>105</lpage>. <pub-id pub-id-type="doi">10.19595/j.cnki.1000-6753.tces.210610</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jianhui</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yi</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Flexible virtual synchronous generator control for distributed generator with adaptive inertia</article-title>. <source>Electr. Power Components Syst.</source> <volume>47</volume> (<issue>1-2</issue>), <fpage>128</fpage>&#x2013;<lpage>140</lpage>. <pub-id pub-id-type="doi">10.1080/15325008.2018.1563958</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kurm</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Agarwal</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Interfacing standalone loads with renewable energy source and hybrid energy storage system using a dual active bridge based multiport converter</article-title>. <source>IEEE J. Emerg. Sel. Top. Power Electron.</source> <volume>10</volume> (<issue>4</issue>), <fpage>4738</fpage>&#x2013;<lpage>4748</lpage>. <pub-id pub-id-type="doi">10.1109/JESTPE.2021.3118462</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Adaptive control strategy of damped inertia based on improved particle swarm algorithm</article-title>. <source>Proc. CSU-EPSA</source> <volume>36</volume> (<issue>04</issue>), <fpage>68</fpage>&#x2013;<lpage>75</lpage>. <pub-id pub-id-type="doi">10.19635/j.cnki.csu-epsa.001287</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nguyen</surname>
<given-names>H. T.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Nielsen</surname>
<given-names>A. H.</given-names>
</name>
<name>
<surname>Jensen</surname>
<given-names>P. H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Combination of synchronous condenser and synthetic inertia for frequency stability enhancement in low-inertia systems</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>10</volume> (<issue>3</issue>), <fpage>997</fpage>&#x2013;<lpage>1005</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2018.2856938</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pei</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Jun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ruikuo</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Characteristic analysis and risk assessment for voltage-frequency coupled transient instability of large-scale grid-connected renewable energy plants during LVRT</article-title>. <source>IEEE Trans. Industrial Electron.</source> <volume>67</volume> (<issue>7</issue>), <fpage>5515</fpage>&#x2013;<lpage>5530</lpage>. <pub-id pub-id-type="doi">10.1109/TIE.2019.2931256</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>Analysis of frequency dynamic characteristics of power system considering the role of photovoltaic frequency regulation</article-title>. <source>Electr. Power Autom. Equip.</source> <volume>45</volume> (<issue>05</issue>), <fpage>110</fpage>&#x2013;<lpage>117&#x2b;184</lpage>. <pub-id pub-id-type="doi">10.16081/j.epae.202503033</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qian</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Simulation study on primary frequency regulation of pumped storage unit assisted by flywheel energy storage</article-title>. <source>Acta Energiae Solaris Sin.</source> <volume>45</volume> (<issue>11</issue>), <fpage>619</fpage>&#x2013;<lpage>626</lpage>. <pub-id pub-id-type="doi">10.19912/j.0254-0096.tynxb.2023-1071</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ren</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Research on coordinated control technology of energy storage based on fast frequency and voltage regulation</article-title>. <source>Process Autom. Instrum.</source> <volume>45</volume> (<issue>12</issue>), <fpage>39</fpage>&#x2013;<lpage>43</lpage>. <pub-id pub-id-type="doi">10.16086/j.cnki.issn1000-0380.2023090018</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ren</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Qi</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Parameter adaptive strategy for virtual synchronous generator control</article-title>. <source>Control Theory and Appl.</source> <volume>37</volume> (<issue>12</issue>), <fpage>2571</fpage>&#x2013;<lpage>2580</lpage>. <pub-id pub-id-type="doi">10.7641/CTA.2020.90123</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ren</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Tong</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Coordinated control strategy of virtual synchronous generator based on adaptive moment of inertia and virtual impedance</article-title>. <source>IEEE J. Emerg. Sel. Top. Circuits Syst.</source> <volume>11</volume> (<issue>1</issue>), <fpage>99</fpage>&#x2013;<lpage>110</lpage>. <pub-id pub-id-type="doi">10.1109/JETCAS.2021.3051320</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shenghu</surname>
<given-names>Li</given-names>
</name>
<name>
<surname>Junwei</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Weijian</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Small disturbance stability constrained optimal power flow algorithm of photovoltaic grid-connected power systems with virtual synchronous generator</article-title>. <source>Acta Energiae Solaris Sin.</source> <volume>45</volume> (<issue>12</issue>), <fpage>146</fpage>&#x2013;<lpage>153</lpage>. <pub-id pub-id-type="doi">10.19912/j.0254-0096.tynxb.2023-1331</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Economic optimization design method of primary frequency regulation parameters of cluster photovoltaic power stations</article-title>. <source>Acta Energiae Solaris Sin.</source> <volume>43</volume> (<issue>04</issue>), <fpage>204</fpage>&#x2013;<lpage>212</lpage>. <pub-id pub-id-type="doi">10.19912/j.0254-0096.tynxb.2020-0831</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tiecheng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Research on storage-assisted frequency regulation control strategy in photovoltaic high occupancy system</article-title>. <source>J. Sol. Energy</source> <volume>44</volume> (<issue>08</issue>), <fpage>282</fpage>&#x2013;<lpage>291</lpage>. <pub-id pub-id-type="doi">10.19912/j.0254-0096.tynxb.2022-0580</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ur Rehman</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Abdelbaky</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Ullah Jan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Iqbal</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>An advanced virtual synchronous generator control technique for frequency regulation of grid-connected PV system</article-title>. <source>Int. J. Electr. Power Energy Syst.</source> <volume>125</volume>, <fpage>106440</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2020.106440</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yongxi</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Jiangrong</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Coordinated control strategy for photovoltaic hybrid energy storage based on improved virtual synchronous machine</article-title>. <source>Water Resour. Power</source> <volume>41</volume> (<issue>08</issue>), <fpage>219</fpage>&#x2013;<lpage>222&#x2b;218</lpage>. <pub-id pub-id-type="doi">10.20040/j.cnki.1000-7709.2023.20221357</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Virtual shafting coupling and synchronous control for photovoltaic energy storage system</article-title>. <source>High. Volt. Eng.</source> <volume>49</volume> (<issue>01</issue>), <fpage>342</fpage>&#x2013;<lpage>352</lpage>. <pub-id pub-id-type="doi">10.13336/j.1003-6520.hve.20211165</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kou</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Cooperative frequency regulation control strategy for multiple PV plants based on average consistent algorithm</article-title>. <source>Control Eng. China</source> <volume>31</volume> (<issue>11</issue>), <fpage>2104</fpage>&#x2013;<lpage>2111</lpage>. <pub-id pub-id-type="doi">10.14107/j.cnki.kzgc.20230541</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Parameter coordinated fuzzy adaptive VSG control strategy</article-title>. <source>Electron. Meas. Technol.</source> <volume>45</volume> (<issue>21</issue>), <fpage>1</fpage>&#x2013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.19651/j.cnki.emt.2209740</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Optimal setting of power and frequency parameters for voltage-type distributed photovoltaic-virtual synchronous generator based on transient search optimization</article-title>. <source>Automation Electr. Power Syst.</source> <volume>48</volume> (<issue>20</issue>), <fpage>25</fpage>&#x2013;<lpage>35</lpage>. <pub-id pub-id-type="doi">10.7500/AEPS20240227009</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Parisio</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Milanovi&#x107;</surname>
<given-names>J. V.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Distributed control of battery energy storage systems for improved frequency regulation</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>35</volume> (<issue>5</issue>), <fpage>3729</fpage>&#x2013;<lpage>3738</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2020.2974026</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhong</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Huayi</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Lv</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Virtual synchronous generator of PV generation without energy storage for frequency support in autonomous microgrid</article-title>. <source>Int. J. Electr. Power Energy Syst.</source> <volume>134</volume>, <fpage>107343</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2021.107343</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhong</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A new frequency regulation control strategy for photovoltaic power plant based on variable power reserve level control</article-title>. <source>Trans. China Electrotech. Soc.</source> <volume>34</volume> (<issue>5</issue>), <fpage>1013</fpage>&#x2013;<lpage>1024</lpage>. <pub-id pub-id-type="doi">10.19595/j.cnki.1000-6753.tces.180149</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>