<?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">1465301</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1465301</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>Optimization of emergency frequency control strategy for power systems considering both source and load uncertainties</article-title>
<alt-title alt-title-type="left-running-head">Zhang et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1465301">10.3389/fenrg.2024.1465301</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Shi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Ren</surname>
<given-names>Shao Yi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Bo</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Feng</surname>
<given-names>Jiang Zhe</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Xin Gang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<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>Wu</surname>
<given-names>Yi Chao</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2792432/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Sun</surname>
<given-names>Li Xia</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Longyuan (Beijing) Wind Power Engineering Technology Co., Ltd.</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>State Grid Jiangsu Electric Power Co., Ltd.</institution>, <institution>Ultra High Voltage Branch</institution>, <addr-line>Nanjing</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>School of Electrical and Power Engineering</institution>, <institution>Hohai University</institution>, <addr-line>Nanjing</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/1137953/overview">Chenghong Gu</ext-link>, University of Bath, United Kingdom</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/1373027/overview">Fu Rong</ext-link>, Nanjing University of Posts and Telecommunications, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2796582/overview">Can Huang</ext-link>, Pacific Gas and Electric Company, United States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2645561/overview">Mrinal Bhowmik</ext-link>, Durham University, United Kingdom</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Li Xia Sun, <email>lixiasun@hhu.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>05</day>
<month>11</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1465301</elocation-id>
<history>
<date date-type="received">
<day>16</day>
<month>07</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>23</day>
<month>10</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Zhang, Ren, Zhang, Feng, Zhang, Wu and Sun.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Zhang, Ren, Zhang, Feng, Zhang, Wu and Sun</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>With the increasing integration of renewable energy sources and the presence of numerous controllable loads such as electric vehicles and energy storage in the modern power system, higher nonlinearities and uncertainty both sources and loads are introduced. These factors pose challenges in achieving fast and accurate emergency frequency control. Therefore, this paper addresses the issue of dual source-load uncertainties in power system and presents an optimization strategy based on the Soft Actor Critic (SAC) algorithm that involves the participation of controllable loads in emergency frequency control. Firstly, the spatio-temporal uncertainties of wind farm power output on power supply side and power demand on the load side are described using Weibull and normal probability distributions, respectively. Secondly, an improved Markov Decision Process (MDP) model for emergency frequency control is established, which considers the characteristics of the dual source-load uncertainties. Finally, an optimization of the SAC algorithm is conducted based on Deep Reinforcement Learning (DRL), aiming to achieve rapid system frequency recovery and minimize the cost of removing controllable loads. The presented approach in the paper enhances the emergency frequency control strategy for uncertain power systems and effectively addresses the issue of source-load uncertainty compounded by fault power shortages.</p>
</abstract>
<kwd-group>
<kwd>controllable load</kwd>
<kwd>emergency frequency control</kwd>
<kwd>deep reinforcement learning</kwd>
<kwd>SAC algorithm</kwd>
<kwd>source-load dual uncertainties</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Energy Storage</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The modern power system is continuously evolving and advancing, characterized by sustainability, distribution, dynamism, and intelligent openness. As a result, the control strategy ensuring frequency security and stability in power system has become increasingly complex, leading to greater challenges in emergency frequency control (<xref ref-type="bibr" rid="B24">Zhou et al., 2018</xref>; <xref ref-type="bibr" rid="B22">Yi et al., 2019</xref>; <xref ref-type="bibr" rid="B9">Li et al., 2020</xref>). Meanwhile, the power supply side in power system appears an increasing penetration rate of renewable energy sources. Additionally, there is a significant number of new controllable loads with significant power fluctuations on the load side. These introduce double uncertainties on both the sources and load sides, exacerbating the power shortfalls that occur during system disturbances and further increasing the complexity of accidents. Hence, it holds immense importance to investigate the emergency frequency control of power system characterized by dual source and load uncertainties.</p>
<p>Considering the nonlinearities and uncertainties at both power supply and load side in modern power systems, various approaches have been proposed to optimize emergency frequency stabilization control, including adaptive and semi-adaptive Under-Frequency Load Shedding (UFLS) methods, event-driven load shedding methods (<xref ref-type="bibr" rid="B20">Xue et al., 2014</xref>; <xref ref-type="bibr" rid="B10">Li et al., 2017</xref>; <xref ref-type="bibr" rid="B2">Cao et al., 2021</xref>), and strategies addressing low inertial (<xref ref-type="bibr" rid="B18">Wu et al., 2015</xref>). An emergency frequency control strategy that involves the collaborative participation of renewable energy field stations and conventional units to ensure frequency stabilization while minimizing control costs is conducted (<xref ref-type="bibr" rid="B7">Ke et al., 2022</xref>). Reference (<xref ref-type="bibr" rid="B3">Chandra and Pradhan, 2020</xref>) addresses an adaptive emergency load shedding method incorporating synchronous generator and photovoltaic plant equivalent models that consider the stochastic variation of solar PV plant power. Frequency characteristics of systems with high penetration of advanced energy technologies is analyzed and proposes a low-frequency load shedding blocking optimization strategy based on d<italic>f</italic>/d<italic>t</italic> (<xref ref-type="bibr" rid="B16">Sheng et al., 2021</xref>). Reference (<xref ref-type="bibr" rid="B14">Masood et al., 2021</xref>) presents an emergency frequency stabilization control that simultaneously ensures voltage stability for low-inertia power system containing numerous wind turbines. Reference (<xref ref-type="bibr" rid="B17">Wang et al., 2019</xref>) investigates an adaptive emergency frequency control scheme based on inertia estimation from load measurement information of high-percentage renewable energy system. The uncertainty of wind power output and effect of frequency regulation are considered (<xref ref-type="bibr" rid="B25">Zhou and Shi, 2021</xref>), an emergency frequency control strategy that combines high-frequency cut-off and low-frequency load-shedding measures are optimized by considering the frequency confidence of power system.</p>
<p>The optimization of emergency frequency control mentioned above primarily adopts model-based methods, including the time-domain simulation method, the dynamic equivalence method, and the linearization analysis method (<xref ref-type="bibr" rid="B23">Zhang et al., 2009</xref>; <xref ref-type="bibr" rid="B12">Liu et al., 2014</xref>). Among these, the time-domain simulation method is time-consuming and computationally intensive, although it has high accuracy. The dynamic equivalence method is computationally efficient but has low accuracy, which does not meet the requirements of actual power grid. The linearized analysis combines the advantages of the former two methods (<xref ref-type="bibr" rid="B8">Larik et al., 2018</xref>), but it does not adapt the topology changes and new elements of power grid. Due to the limitations of physical models, the approaches based on physical models cannot fit with the development of power grid.</p>
<p>In recent years, Machine Learning (ML) methods have been increasingly applied to power system stability control. These methods are based on data for feature mining, do not require accurate mathematical models, and have significant computational performance advantages. Reference (<xref ref-type="bibr" rid="B5">Dai et al., 2012</xref>) trained a load shedding prediction model offline using an extreme learning machine and achieved online prediction of actual load shedding. In reference (<xref ref-type="bibr" rid="B1">Bai et al., 2016</xref>), an artificial neural network RBF-ANN model was employed to estimate and predict the frequency dynamics process of the power system, contributing to the development of an emergency frequency control scheme. Despite their fast computational speed, traditional ML algorithms are considered shallow learning methods, often relying heavily on expert experience. Their control effectiveness is influenced by the size and quality of the database, resulting in limited adaptability in achieving desired control outcomes. The advancements in deep learning have garnered attention due to their impressive training effectiveness. Consequently, several scholars have explored the application of deep learning methods in optimizing emergency control strategies for power systems (<xref ref-type="bibr" rid="B6">Hu et al., 2019</xref>; <xref ref-type="bibr" rid="B11">Lin, 2022</xref>). These methods simultaneously enhance control accuracy and reduce decision-making time. In Reference (<xref ref-type="bibr" rid="B15">Qiang et al., 2022</xref>), an emergency control model based on an enhanced AlexNet convolutional network is established. This model predicts the system&#x2019;s emergency control sensitivity and identifies alternative control buses, ultimately optimizing to obtain the emergency control strategy. However, deep learning methods require a large number of datasets for model training. In high-dimensional action space problems, a multitude of control scenarios emerge, leading to a significant volume of invalid datasets. This abundance of data presents challenges in model training.</p>
<p>The DRL technique combines the advantages of deep learning and reinforcement learning, which can realize high-dimensional feature extraction and direct learning of complex action space. Hence, to address the highly nonlinear and uncertain nature of emergency frequency stability control problems, some researchers have employed DRL algorithms to optimize strategies that enhance frequency stability while minimizing the total amount of load shedding (<xref ref-type="bibr" rid="B21">Yang et al., 2022</xref>). Reference (<xref ref-type="bibr" rid="B4">Chen et al., 2020</xref>) optimizes the emergency frequency control strategy using DRL algorithms to reduce frequency stability fluctuations. However, the state space considered in this approach focuses solely on the frequency deviation of the center of inertia. This limitation may lead to inaccurate outcomes since system topology and parameters can significantly vary across different scenarios. In Reference (<xref ref-type="bibr" rid="B13">Ma et al., 2020</xref>), a distributed reinforcement learning algorithm is utilized to optimize the emergency frequency control strategy, resulting in improved computational performance and robustness. Reference (<xref ref-type="bibr" rid="B19">Xie and Sun, 2022</xref>) considered load variations, measurement noise, and communication delays in real power systems by proposing an emergency frequency control method based on a distributed Soft Actor Critic (SAC) algorithm.</p>
<p>In this paper, a controllable load participation emergency frequency optimization control strategy for source-load dual uncertainty power systems is proposed based on deep reinforcement learning SAC algorithm to address the above problems. Firstly, the source-side output spatio-temporal uncertainty and load-side power uncertainty are described by Weibull and normal probability distribution. Secondly, the action space, state space and reward function of the MDP model are improved according to the characteristics of source-load uncertainty. Then the deep reinforcement learning SAC algorithm with continuous action space is used to train the model to obtain an emergency frequency optimization control strategy for the dual source-load uncertainty power system, which suppresses the depth of the system frequency dip and reduces the stabilized frequency deviation, while minimizing the control cost.</p>
</sec>
<sec id="s2">
<title>2 Modeling of uncertain power on power supply and load</title>
<p>The increasing penetration of renewable energy sources into the power grid impacts its operational characteristics due to various factors, including weather, temperature, and other variables. As a result, the volatility of active power output intensifies, leading to heightened uncertainty in the power-side output of the system. Simultaneously, the grid load is progressively diversifying as numerous new loads, such as electric vehicles and distributed renewable energy sources. These new load types exhibit substantial power fluctuations, further exacerbating the uncertainty in power demand on the load side. The dual uncertainty on both the source and load sides works together to intensify the randomness of the operating conditions. After a power system failure, the power fluctuation resulting from source-load uncertainty and the power deficit caused by failure are superimposed on each other, thereby exacerbating the complexity of the incident, as illustrated in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Schematic diagram for uncertain source-load power modeling.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g001.tif"/>
</fig>
<sec id="s2-1">
<title>2.1 Wind power output model on power supply side considering spatial and temporal uncertainty</title>
<p>The uncertainty of wind power output is primarily influenced by wind speed. To more accurately simulate the actual variations in wind speed, it can be represented using probability distributions such as the Weibull distribution, Gaussian distribution, and Pearson distribution. Historical data indicates that the actual wind speed aligns most closely with the Weibull distribution&#x2019;s probability density function. Therefore, this paper employs the Weibull distribution function to characterize the wind speed and establish a probabilistic representation of the uncertainty between the wind turbine&#x2019;s output active power and wind speed. The wind speed probability density function of the Weibull distribution, denoted as <italic>f</italic>(<italic>v</italic>), and the cumulative distribution function of the Weibull distribution, denoted as <italic>F</italic>(<italic>v</italic>), as shown in <xref ref-type="disp-formula" rid="e1">Equations 1</xref>, <xref ref-type="disp-formula" rid="e2">2</xref>:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>K</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>Where <italic>v</italic> is the wind speed; <italic>K</italic> is the shape parameter of the Weibull distribution; <italic>C</italic> is the scale parameter of the Weibull distribution.</p>
<p>The characteristic curve of wind power output defines the relationship between wind power output and wind speed, where the intensity of wind speed directly influences the magnitude of the output. The relationship between wind power and wind speed can be described by a linear function, quadratic function, or cubic function, leading to distinct wind turbine power curves. Taking into account the actual statistical wind power data, wind power output is typically modeled using a cubic segmented function, which can be expressed as <xref ref-type="disp-formula" rid="e3">Equation 3</xref>:<disp-formula id="e3">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">W</mml:mi>
</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:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mtext>in</mml:mtext>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mtext> or&#x2002;</mml:mtext>
<mml:mi>v</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mtext>out</mml:mtext>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mtext>in</mml:mtext>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mn>3</mml:mn>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mtext>in</mml:mtext>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mtext>in</mml:mtext>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mtext>out</mml:mtext>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>Where <italic>v</italic>
<sub>r</sub>, <italic>v</italic>
<sub>in</sub>, <italic>v</italic>
<sub>out</sub> are the rated wind speed, cut-in wind speed and cut-out wind speed of the wind farm turbine respectively; <italic>P</italic>
<sub>
<italic>r</italic>
</sub> is the rated power of the turbine.</p>
<p>Apart from temporal uncertainty, wind power output exhibits spatial correlation as well. Due to the close proximity of various wind farms within the same region and their placement in similar wind speed bands, a robust correlation exists between the outputs of different wind farms, consequently impacting the overall uncertainty of wind power. Hence, this section considers the spatial correlation among distinct wind farms and employs the Nataf inverse transformation principle to generate wind turbine output uncertainty data with predetermined correlation coefficients.</p>
<p>The theory of Nataf transform can transform random distribution variables with correlation into standard normal distribution variables that are independent of each other. The Nataf inverse transform serves as the reverse procedure to the Nataf transform, allowing the generation of distribution variables with desired correlation coefficients using independent standard normal distribution variables. This process facilitates the sampling of a significant amount of specified sample data.</p>
<p>Let the vector <inline-formula id="inf1">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">W</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the active outputs of <italic>n</italic> Weibull-distributed wind farms in the original correlation variable space. Similarly, let the vector <inline-formula id="inf2">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denote the <italic>n</italic> standard normally distributed random variables in the correlation standard normal space. Subsequently, assume that the linear correlation coefficient matrices for <italic>Z</italic> and <italic>P</italic>
<sub>W</sub> are denoted by <italic>&#x3c1;</italic>
<sub>0</sub> and <italic>&#x3c1;</italic>, respectively. Here, <italic>&#x3c1;</italic> is a predetermined value, and the relationship equation between the elements of the <italic>&#x3c1;</italic>
<sub>0</sub> and <italic>&#x3c1;</italic> matrices is given as:<disp-formula id="e4">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.063</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.004</mml:mn>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.200</mml:mn>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.001</mml:mn>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0.337</mml:mn>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.007</mml:mn>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Where <italic>&#x3b3;</italic>
<sub>
<italic>i</italic>
</sub> and <italic>&#x3b3;</italic>
<sub>
<italic>j</italic>
</sub> represent the computational parameters of the random variables <italic>P</italic>
<sub>
<italic>i</italic>
</sub> and <italic>P</italic>
<sub>
<italic>j</italic>
</sub>, respectively. The expressions for these parameters are given as follows <xref ref-type="disp-formula" rid="e6">Equation 6</xref>:<disp-formula id="e6">
<mml:math id="m8">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>The positive definite symmetric matrix of correlation coefficients <italic>&#x3c1;</italic>
<sub>0</sub> can be obtained through <xref ref-type="disp-formula" rid="e4">Equations 4</xref>, <xref ref-type="disp-formula" rid="e5">5</xref>, and it can be decomposed into the lower triangular matrix B using the following expression <xref ref-type="disp-formula" rid="e7">Equation 7</xref>:<disp-formula id="e7">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>B</mml:mi>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>A standard normal distribution vector <italic>Z</italic> with specified correlation coefficients can be generated from the pre-obtained independent standard normal distribution vector <italic>X</italic>. The transformation is shown as <xref ref-type="disp-formula" rid="e8">Equation 8</xref>:<disp-formula id="e8">
<mml:math id="m10">
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>Based on the equal probability transformation criterion, the standard normal distribution space with correlation is converted into correlated input vectors, i.e., wind power output variables that follow the Weibull distribution. The output power of each wind power node is given by <xref ref-type="disp-formula" rid="e9">Equation 9</xref>:<disp-formula id="e9">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">W</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a6;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>Where <italic>P</italic>
<sub>W. <italic>i</italic>
</sub> represents the correlated active power output of wind power node <italic>i</italic>; <inline-formula id="inf3">
<mml:math id="m12">
<mml:mrow>
<mml:msubsup>
<mml:mi>F</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the inverse cumulative distribution function of the active power output of wind power node <italic>i</italic>; &#x3a6;(<italic>z</italic>
<sub>
<italic>i</italic>
</sub>) denotes the cumulative distribution function of <italic>z</italic>
<sub>
<italic>i</italic>
</sub>.</p>
</sec>
<sec id="s2-2">
<title>2.2 Load-side power demand modeling with uncertainties</title>
<p>The optimization strategy presented in this paper encompasses various novel controllable load types like electric vehicles, energy storage systems, commercial buildings, 5G base stations, and distributed photovoltaics. These loads can be directly enlisted by the emergency control system for urgent load shedding and contribute to the emergency frequency control of the power system. Unlike traditional methods that directly cut the load line during emergency frequency control, these controllable loads have a reduced impact on users when temporarily removed, resulting in lower load shedding costs. Furthermore, the power of these controllable loads can be precisely regulated by power electronic devices, enabling more flexible engagement in the power system&#x2019;s emergency frequency control. The diverse characteristics of controllable loads introduce a complex influence on emergency frequency control, posing challenges in integrating them for considerations such as control continuity and data reliability. Consequently, the load side fluctuation range in modern power systems has expanded, while the time scale has diminished. This, in turn, has led to an escalation in power demand uncertainty, necessitating the characterization of load power uncertainty.</p>
<p>The probability of load power uncertainty is modeled using a normal distribution, which is expressed through a probability density function, as shown in <xref ref-type="disp-formula" rid="e10">Equation 10</xref>:<disp-formula id="e10">
<mml:math id="m13">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="normal">&#x3c0;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mi>exp</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>Where <italic>P</italic>
<sub>L</sub> and <italic>Q</italic>
<sub>L</sub> represent the active and reactive power of the load, respectively; <italic>&#x3bc;</italic>
<sub>PL</sub> and <italic>&#x3bc;</italic>
<sub>
<italic>Q</italic>L</sub> denote the expected values of the active and reactive power of the load, respectively; <italic>&#x3c3;</italic>
<sub>PL</sub> and <italic>&#x3c3;</italic>
<sub>QL</sub> indicate the standard deviation of the active and reactive power of the load, respectively.</p>
<p>Additionally, the presence of various new controllable loads on the load side, such as electric vehicles and energy storage, introduces variability and diversity in load characteristics. The complexity of these controllable load components further contributes to the uncertainty of overall load characteristics. Determining the controllable load characteristics directly becomes infeasible when the power system&#x2019;s operating state changes, necessitating the expression of uncertainty through a probability distribution. Consequently, a novel static load model should be established utilizing frequency and voltage indices that adhere to the probability distribution, as <xref ref-type="disp-formula" rid="e11">Equation 11</xref>.<disp-formula id="e11">
<mml:math id="m14">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext>new</mml:mtext>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>.</mml:mo>
<mml:mtext>new</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>.</mml:mo>
<mml:mtext>new</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</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:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext>new</mml:mtext>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>.</mml:mo>
<mml:mtext>new</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>.</mml:mo>
<mml:mtext>new</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>Where <italic>k</italic>
<sub>
<italic>pu</italic>. new</sub> and <italic>k</italic>
<sub>
<italic>qu</italic>. new</sub> represent voltage indices of active and reactive power of the new controllable loads, respectively; <italic>k</italic>
<sub>
<italic>pf</italic>. new</sub> and <italic>k</italic>
<sub>
<italic>qf</italic>. new</sub> denote frequency indices of active and reactive power of the loads, respectively.</p>
<p>These parameters, <italic>k</italic>
<sub>
<italic>pu</italic>. new</sub>, <italic>k</italic>
<sub>
<italic>qu</italic>. new</sub>, <italic>k</italic>
<sub>
<italic>pf</italic>. new</sub> and <italic>k</italic>
<sub>
<italic>qf</italic>. new</sub>, are subject to uncertainty and are characterized by probability distributions that follow a normal distribution.</p>
<p>In summary, considering the uncertainty of load size, which is represented by <italic>P</italic>
<sub>L</sub> and <italic>Q</italic>
<sub>L</sub> that conform to normal distribution, and considering the uncertainty of load characteristics, which is represented by <italic>P</italic>
<sup>
<italic>&#x2019;</italic>
</sup>
<sub>L.new</sub> and <italic>Q</italic>
<sup>
<italic>&#x2019;</italic>
</sup>
<sub>L.new</sub> that contain time-varying load coefficients, a power demand uncertainty model that integrally considers fluctuations in load quantity and fluctuations in load characteristics is thus established.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Improvement of the MDP model for emergency frequency control problem in source-load dual uncertainty power system</title>
<p>Reinforcement learning can be formulated through MDP, which performs policy search through the set (<italic>S</italic>, <italic>A</italic>, <italic>P</italic>, <italic>R</italic>, <italic>y</italic>). Where <italic>S</italic> is the state space and A is the action space, which can be either continuous or discrete. <italic>P</italic> is the state transfer probability, which represents the probability density of the next state <italic>s</italic>
<sub>
<italic>t</italic>&#x2b;1</sub> given the current state <italic>s</italic>
<sub>
<italic>t</italic>
</sub> &#x2208; <italic>S</italic> and the current action <italic>a</italic>
<sub>
<italic>t</italic>
</sub>&#x2208;<italic>A</italic>. <italic>R</italic> is the reward function and <italic>y</italic> is the discount factor. Most of the classical MDP theories and RL algorithms are based on discrete-time leapfrog actions, but many power system control problems follow continuous-time dynamics actions, which can only be discretized by using appropriate time intervals to cut the continuous-time dynamics. Therefore, this paper addresses this drawback by using an MDP model for improving the emergency frequency control of the system and optimizing the emergency frequency control strategy using the deep reinforcement learning SAC algorithm with continuous action space.</p>
<sec id="s3-1">
<title>3.1 State space</title>
<p>Power system emergency frequency stabilization is closely related to generator active power, load power, system frequency, and the rate of frequency change. Considering the dual source-load uncertainty in power-side active output and demand-side active load, it is necessary to incorporate all generator active output and load node power with uncertainty into the state space, defining the state space <italic>s</italic>
<sub>
<italic>t</italic>
</sub> as <xref ref-type="disp-formula" rid="e12">Equation 12</xref>:<disp-formula id="e12">
<mml:math id="m15">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mo>&#x222a;</mml:mo>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mo>&#x222a;</mml:mo>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>3</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mo>&#x222a;</mml:mo>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>4</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>3</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>.</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>.</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>4</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>.</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>.</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>Where <italic>f</italic>
<sub>
<italic>i</italic>
</sub>
<sup>
<italic>t</italic>
</sup> is the frequency of generator node <italic>i</italic> at moment <italic>t</italic>; (d<italic>f/</italic>d<italic>t</italic>)<sub>
<italic>i</italic>
</sub>
<sup>
<italic>t</italic>
</sup> is the frequency change rate of generator node <italic>i</italic> at moment <italic>t</italic>; <italic>P</italic>
<sub>e. <italic>i</italic>
</sub>
<sup>
<italic>t</italic>
</sup> is the electromagnetic power of generator node <italic>i</italic> at moment <italic>t</italic>; <italic>P</italic>
<sub>l. <italic>j</italic>
</sub>
<sup>
<italic>t</italic>
</sup> is the active load of load node <italic>j</italic> at moment <italic>t</italic>.</p>
</sec>
<sec id="s3-2">
<title>3.2 Action space</title>
<p>The control action of each controllable load at moment <italic>t</italic> should be to reduce a part of the total controllable load at that node. Due to the uncertainty of load demand power, the total controllable load needs to be updated in real time. However, for uniformity of the control action, the action space must be fixed. Therefore, the action space is set as the proportion of the controllable load removed at each node. The actual load reduction is the value of the action at each node multiplied by the total controllable load at that node. Consequently, each controllable load action is defined as a continuous value within [-1, 0], and the total action space is shown as <xref ref-type="disp-formula" rid="e13">Equation 13</xref>:<disp-formula id="e13">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>Where &#x394;<italic>P</italic>
<sub>
<italic>m</italic>
</sub>
<sup>
<italic>t</italic>
</sup> is the load removal of controllable load node <italic>m</italic> at time <italic>t</italic> and &#x394;<italic>P</italic>
<sub>
<italic>m</italic>
</sub>
<sup>
<italic>t</italic>
</sup>&#x2208;[&#x2212;1,0]; <italic>n</italic> is the number of controllable load nodes.</p>
</sec>
<sec id="s3-3">
<title>3.3 Reward functions</title>
<p>The goal of the emergency frequency control problem is to restore the frequency to within the stabilization range quickly while minimizing load shedding. For source-load dual uncertainty power systems, the effectiveness of emergency frequency control is primarily evaluated in terms of frequency deviation and load shedding amount.</p>
<p>Therefore, the reward function consists of three parts: 1) the average value of steady-state frequency deviation over a specific time period at the end of the simulation; 2) a penalty term calculated based on controllable load importance and load shedding; and 3) a penalty term for exceeding the lowest point of the system&#x2019;s dynamic frequency. The expression is shown as <xref ref-type="disp-formula" rid="e14">Equation 14</xref>:<disp-formula id="e14">
<mml:math id="m17">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mtext>tem</mml:mtext>
</mml:msub>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<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>C</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mtext>sl</mml:mtext>
<mml:mo>.</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>H</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:mo>&#x2212;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext>if&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>.</mml:mo>
<mml:mtext>set</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mtext>therwise</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>Where <italic>T</italic>
<sub>tem</sub> is a certain time period before the end of the simulation process; &#x394;<italic>f</italic>
<sub>
<italic>T</italic>tem</sub> is the average value of the deviation of the center of frequency inertia during <italic>T</italic>
<sub>tem</sub>; <italic>C</italic>
<sub>
<italic>j</italic>
</sub> is the importance index of load node <italic>j</italic>; <italic>P</italic>
<sub>sl. <italic>j</italic>
</sub> is the amount of load shedding at node <italic>j</italic>; <italic>H</italic>
<sub>1</sub> is the penalty for the system&#x2019;s center of frequency inertia when the minimum value is less than the integrating value; <italic>&#x3bb;</italic>
<sub>1</sub> and <italic>&#x3bb;</italic>
<sub>2</sub> are coefficients for each part of the reward function.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Optimization of emergency frequency control strategy considering dual source-load uncertainties</title>
<p>Emergency frequency control is a kind of multi-constraint multi-objective optimization problem, which needs to consider two conflicting objectives of fast frequency recovery and minimizing control cost at the same time. Moreover, it often exhibits a propensity to favor one objective over the other, leading to convergence on local optimal solutions. The SAC algorithm introduces the action entropy value to balance the probability of the various action strategies in the action space, to avoid learning the same action repeatedly and falling into the sub-optimal solution, and it has a stronger exploratory ability, and is more suitable for the studying the emergency frequency control problem with multiple objectives.</p>
<p>Following a failure in a power system that considers dual source-load uncertainty, the power deficit resulting from the disturbance combines with the source-load uncertainty, resulting in increased random volatility in the collected grid state data and causing ongoing oscillations in the training process. Faced with this high level of uncertainty, some DRL algorithms based on strategy gradient exhibit weak generalization abilities, leading to unstable emergency frequency control effects. In contrast, the SAC algorithm incorporates action entropy, enhancing robustness and resistance to disturbances, and demonstrating stronger learning generalization capabilities, rendering it more suitable for the dual source-load uncertainty power system discussed in this chapter.</p>
<p>Moreover, the SAC algorithm features a continuous action space, eliminating the need for discretizing load removal actions. This allows for the removal of the required load amount at once, thereby preventing exacerbation of frequency drop depth resulting from multiple actions. Additionally, continuous action space control enhances precision and reduces the likelihood of excessive or inadequate load removal during emergency frequency control. This ensures a smaller steady-state frequency deviation post-control while minimizing the amount of load removed.</p>
<p>The SAC algorithm offers higher exploration capability, improved robustness, and a continuous action space compared to other DRL algorithms. Consequently, the SAC algorithm is employed in this section to optimize the emergency frequency control strategy for source-load dual uncertainty power systems.</p>
<sec id="s4-1">
<title>4.1 Principle of SAC algorithm and network structure</title>
<p>The SAC algorithm belongs to the deep reinforcement learning algorithms based on the value function, which incorporates a mechanism that encourages exploration through action strategy entropy values. This enhances the algorithm&#x2019;s robustness compared to other strategy gradient-based DRL algorithms like PPO, A3C, and DDPG. The entropy value, defined as the expectation of information quantity, quantifies the uncertainty of a variable. It increases with the uncertainty of an event and can be quantified by the event&#x2019;s probability. The entropy value is defined as <xref ref-type="disp-formula" rid="e15">Equation 15</xref>:<disp-formula id="e15">
<mml:math id="m18">
<mml:mrow>
<mml:mi>H</mml:mi>
<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:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
<p>Where <italic>H</italic>(<italic>X</italic>) is the entropy value; <italic>l</italic> (<italic>x</italic>
<sub>
<italic>i</italic>
</sub>) is the event probability.</p>
<p>The DRL algorithm should continuously explore the interaction environment to accumulate experience and avoid selecting too many actions solely based on immediate rewards, as this may lead to convergence on local optimal solutions. The SAC algorithm considers the maximum entropy value of actions. If the entropy value decreases due to repeated selection of a certain action, the maximum entropy mechanism encourages the agent to explore other actions, thus broadening the exploration range and increasing the algorithm&#x2019;s robustness.</p>
<p>In other deep reinforcement learning algorithms with stochastic policies, the objective of model learning is clear: to derive an optimal action policy that maximizes the expected cumulative reward through straightforward training. The optimal policy expression is shown as <xref ref-type="disp-formula" rid="e16">Equation 16</xref>:<disp-formula id="e16">
<mml:math id="m19">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>argmax</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x223c;</mml:mo>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>The SAC algorithm necessitates maximizing the entropy value of the output action to enhance exploration capability. In other words, an additional term regarding the entropy value is incorporated into the policy expression, resulting in the expression of the improved optimal policy as shown in <xref ref-type="disp-formula" rid="e17">Equation 17</xref>:<disp-formula id="e17">
<mml:math id="m20">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>argmax</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x223c;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="true">&#x23df;</mml:mo>
</mml:munder>
<mml:mrow>
<mml:mtext>reward </mml:mtext>
</mml:mrow>
</mml:munder>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:munder>
<mml:munder>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="true">&#x23df;</mml:mo>
</mml:munder>
<mml:mrow>
<mml:mtext>entropy </mml:mtext>
</mml:mrow>
</mml:munder>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>Where <italic>E</italic> (<italic>s</italic>
<sub>
<italic>t</italic>
</sub>, <italic>a</italic>
<sub>
<italic>t</italic>
</sub>) denotes the expectation function; <italic>&#x3c0;</italic> represents the strategy; <italic>s</italic>
<sub>
<italic>t</italic>
</sub> and <italic>a</italic>
<sub>
<italic>t</italic>
</sub> signify the state space and action space at moment <italic>t</italic>; <italic>r</italic> (<italic>s</italic>
<sub>
<italic>t</italic>
</sub>, <italic>a</italic>
<sub>
<italic>t</italic>
</sub>) denotes the reward function at moment <italic>t</italic> (<italic>s</italic>
<sub>
<italic>t</italic>
</sub>, <italic>a</italic>
<sub>
<italic>t</italic>
</sub>)&#x223c;<italic>P</italic>
<sub>
<italic>&#x3c0;</italic>
</sub> signifies the trajectory of state-action under strategy <italic>&#x3c0;</italic>; <italic>&#x2b;</italic> is the automatic entropy temperature parameter, which adjusts the entropy value affecting the degree of rewards; and <italic>H</italic> (<italic>&#x3c0;</italic>(&#x22c5;<italic>&#x7c;s</italic>
<sub>
<italic>t</italic>
</sub>)) signifies the entropy of the output action of the strategy<italic>&#x3c0;</italic> under the state <italic>s</italic>
<sub>
<italic>t</italic>
</sub>, as expressed below in <xref ref-type="disp-formula" rid="e18">Equation 18</xref>:<disp-formula id="e18">
<mml:math id="m21">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="4.6em"/>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:munder>
<mml:mo>&#x222b;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:munder>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>Where <italic>P</italic> (<italic>&#x3c0; (a</italic>
<sub>
<italic>t</italic>
</sub>
<italic>&#x7c;s</italic>
<sub>
<italic>t</italic>
</sub>)) denotes the probability that the action value at the time of <italic>t</italic> is <italic>a</italic>
<sub>
<italic>t</italic>
</sub>.</p>
<p>In the SAC algorithm for strategy value evaluation, the expression for updating the strategy using the Bellman operator is expressed as <xref ref-type="disp-formula" rid="e19">Equation 19</xref>:<disp-formula id="e19">
<mml:math id="m22">
<mml:mrow>
<mml:msup>
<mml:mi>Q</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x3b1;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>Where <italic>&#x3b3;</italic> denotes the discount factor at the time of strategy update.</p>
<p>The optimal policy can be continuously learned and refined through policy iteration, comprising two steps: soft policy evaluation and soft policy improvement. Firstly, in the strategy evaluation step, the soft value update function of a given strategy &#x3c0; can be obtained using the soft Bellman operator, as shown in <xref ref-type="disp-formula" rid="e20">Equation 20</xref>:<disp-formula id="e20">
<mml:math id="m23">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi>Q</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:msup>
<mml:mi>s</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>Q</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>s</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x3b1;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2223;</mml:mo>
<mml:msup>
<mml:mi>s</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>The SAC algorithm belongs to the Actor-Critic class of algorithms, where the Actor is employed for policy modeling and the Critic for Q-value function modeling. Different deep neural networks are utilized to fit the Q-value function and the policy function, respectively, as shown in <xref ref-type="disp-formula" rid="e21">Equation 21</xref>:<disp-formula id="e21">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>Q</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mover accent="true">
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>Where <italic>&#x3b8;</italic> denotes the parameters of the policy network; <inline-formula id="inf4">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mover accent="true">
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the updated value function value.</p>
<p>Both networks are optimized using independent gradients <inline-formula id="inf5">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2207;</mml:mo>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>Q</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> , as expressed in <xref ref-type="disp-formula" rid="e22">Equation 22</xref>:<disp-formula id="e22">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2207;</mml:mo>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>Q</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
</p>
<p>Where the expression of &#x394;Q<sub>
<italic>&#x3b8;</italic>
</sub> is expressed as <xref ref-type="disp-formula" rid="e23">Equation 23</xref>:<disp-formula id="e23">
<mml:math id="m28">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>&#x3b8;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="2.5em"/>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mover accent="true">
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>The outputs of the policy network are the mean and standard deviation values following a Gaussian distribution. The network with the smaller Q value is selected to reduce bias in updating the parameters of the policy network. The approximate gradient of the parameter update is expressed as <xref ref-type="disp-formula" rid="e24">Equation 24</xref>:<disp-formula id="e24">
<mml:math id="m29">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mo>&#x2207;</mml:mo>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>&#x3d5;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>&#x3c0;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
</mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="3.8em"/>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>&#x3d5;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
</p>
<p>At the same time, the action entropy value is also updated in the policy network, making it crucial to choose the appropriate temperature parameter, &#x3b1;. As the reward value varies during the training process, fixing the temperature coefficient reduces the stability of model training. Therefore, the temperature coefficient &#x3b1; is generally updated automatically by minimizing <italic>J</italic> (<italic>&#x3b1;</italic>), as expressed in <xref ref-type="disp-formula" rid="e25">Equation 25</xref>:<disp-formula id="e25">
<mml:math id="m30">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2223;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>Where <italic>M</italic> represents the dimension of the action matrix, specifically denoted as <italic>M</italic> &#x3d; dim(<italic>a</italic>).</p>
<p>The SAC algorithm for deep reinforcement learning comprises four crucial components: the experience replay buffer, the automatic entropy parameter, the policy network, and the value network. The experience replay buffer stores historical exploration experience, while the automatic entropy parameter stabilizes and adjusts the exploration strategy. The policy network is responsible for action selection, and the value network estimates state-action values. The overall structure of the algorithm is depicted in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Structure of SAC algorithm.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g002.tif"/>
</fig>
</sec>
<sec id="s4-2">
<title>4.2 Optimization of emergency frequency control strategy based on SAC algorithm</title>
<p>When utilizing the SAC algorithm to optimize the emergency frequency control strategy, each iterative training process can be summarized into three main steps: firstly, collecting and inputting the operating state data of the power system after the fault into the SAC model; then, the SAC model selects the emergency frequency control action based on the state data; finally, executing the control action on the power system simulation environment to achieve the objective. Additionally, due to the uncertain nature of source-load power systems, it is necessary to incorporate an uncertainty model for wind power output and load demand in each interaction process. The overall process of emergency frequency control for a source-load dual uncertainty system based on the SAC algorithm is illustrated in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Flow chart of emergency frequency control based on SAC algorithm.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g003.tif"/>
</fig>
<p>Prior to model training, the simulation environment and SAC model parameters are initialized. The power system load factor is randomly initialized, and the model incorporates uncertainty in wind power output and load demand. The Nataf inversion theory is employed to generate source-load dual uncertainty power samples with correlation. Before each interactive training step, uncertainty power samples are randomly assigned to wind turbine nodes, and uncertainty load demand samples are added to load nodes to simulate real-world source-load uncertainty power system conditions. Subsequently, the SAC model obtains the current system state data from the simulation environment, selects an action based on an environmental state update policy, and delivers it to the simulation environment. After receiving the emergency frequency control action from the SAC model, the simulated power system environment executes the load adjustment action, advances to the next state, and sends the updated state data and immediate reward value to the SAC model. This training process continues until the end of a round, marked by maintaining stable system frequency. At this point, the system simulation environment is reinitialized, and the next round begins. Upon completing the training process, the SAC model can be applied to various fault test scenarios to validate its effectiveness and superiority.</p>
</sec>
</sec>
<sec id="s5">
<title>5 Simulation analysis</title>
<p>To evaluate the effectiveness of the proposed method in this paper, a deep reinforcement learning environment is constructed to enhance the IEEE10 machine with 39 nodes. This environment is developed using Python and BPA simulation software. The SAC algorithm is employed to solve the specified test cases. The deep neural network is implemented in Python using TensorFlow 1.15. The experiments are conducted on an Intel Core i5-11400H CPU with 16.00 GB RAM and an RTX 3050 GPU.</p>
<sec id="s5-1">
<title>5.1 Data of the test case</title>
<p>The BPA software is utilized in this paper to generate a fault scenario for the IEEE10 machine with 39 nodes. The generator model is based on the sixth order model, while the load model consists of a constant impedance model and a mixed load model incorporating induction motors, with a 50% ratio between the two. The fault scenario involves a generator experiencing a partial power loss, resulting in a power difference within the power system. The total simulation time is 40 s, with each cycle of the waveform serving as a sampling point. To simulate various system fault states and obtain sufficient samples, one of the ten generators is randomly selected at the start of the simulation to experience a loss of active output ranging from 0.5 p. u. to one p. u.</p>
<p>This paper utilizes a modified version of the IEEE10 machine with 39 nodes to validate the proposed methodology in this section. The modification involves replacing nodes 32 and 36 with turbines having rated capacities of 684 MW and 576 MW, respectively. Additionally, nodes 3, 4, 7, 8, 16, 20, 24, and 39 are designated as controllable load nodes participating in frequency emergency control. The system&#x2019;s topology is illustrated in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Improved topology of IEEE39 nodes.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g004.tif"/>
</fig>
<p>The power fluctuations at the load nodes follow a normal distribution with a mean and standard deviation equal to 5% of the rated value. Similarly, the load static model voltage and frequency indices also have a mean and standard deviation of 5% of the rated value.</p>
<p>The wind speeds of the wind nodes are modeled by a Weibull distribution with the shape parameter <italic>K</italic> set to 2.26, the scale parameter <italic>C</italic> set to 7.55, the cut-in wind speed at 3.5 m/s, the cut-out wind speed at 25 m/s, and the rated wind speed at 7.3 m/s.</p>
<p>To account for the correlation between the wind turbine nodes, 1,000 sets of wind turbine output samples are generated using the Nataf inverse transformations, with correlation coefficients of 0.8. <xref ref-type="fig" rid="F5">Figure 5</xref> illustrates the Weibull distribution of wind speed.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Weibull distribution of wind speed.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g005.tif"/>
</fig>
<p>The deep reinforcement learning state space in this system comprises frequency deviation, frequency rate of change, active output, and load of each node, resulting in a 47-dimensional space. The action space consists of eight load shedding actions for controllable loads. Each action is represented as an 8-dimensional vector, where each element is a continuous value within the range of [-1, 0]. Furthermore, as the Soft Actor Critic (SAC) algorithm can handle continuous action spaces, the emergency frequency control directly determines the necessary load shedding amount and sets the action time for emergency frequency control as 2 s after fault detection. The delay characteristics of controllable loads are categorized into three levels. For loads of the same delay level, the actual control delay is calculated based on the maximum value to ensure that the actual frequency drop depth is less than or equal to the ideal frequency drop depth, thereby avoiding frequency instability. Consequently, after aggregation, it is assumed that the control delay for all level 1 controllable loads is 100 ms, for level 2 controllable loads is 200 ms, and for level 3 controllable loads is 300 ms. The controllable loads are then removed within each node in order of delay from low to high. <xref ref-type="table" rid="T1">Table 1</xref> provides the proportions of controllable loads at each node and the distribution of loads across different control delay levels after aggregated modeling.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>The proportion of load with different time delay levels.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Load node number</th>
<th align="center">Total share of controllable load</th>
<th align="center">Percentage of class 1 controllable loads</th>
<th align="center">Percentage of class 2 controllable loads</th>
<th align="center">Percentage of class 3 controllable loads</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">3</td>
<td align="center">0.41</td>
<td align="center">0.5</td>
<td align="center">0.3</td>
<td align="center">0.2</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">0.34</td>
<td align="center">0.3</td>
<td align="center">0.4</td>
<td align="center">0.3</td>
</tr>
<tr>
<td align="center">7</td>
<td align="center">0.38</td>
<td align="center">0.4</td>
<td align="center">0.5</td>
<td align="center">0.1</td>
</tr>
<tr>
<td align="center">8</td>
<td align="center">0.46</td>
<td align="center">0.3</td>
<td align="center">0.3</td>
<td align="center">0.4</td>
</tr>
<tr>
<td align="center">16</td>
<td align="center">0.22</td>
<td align="center">0.6</td>
<td align="center">0.2</td>
<td align="center">0.2</td>
</tr>
<tr>
<td align="center">20</td>
<td align="center">0.54</td>
<td align="center">0.6</td>
<td align="center">0.3</td>
<td align="center">0.1</td>
</tr>
<tr>
<td align="center">24</td>
<td align="center">0.34</td>
<td align="center">0.5</td>
<td align="center">0.2</td>
<td align="center">0.3</td>
</tr>
<tr>
<td align="center">39</td>
<td align="center">0.38</td>
<td align="center">0.4</td>
<td align="center">0.3</td>
<td align="center">0.3</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5-2">
<title>5.2 Analysis of model training and testing results</title>
<p>The policy network and value network of the SAC model both consist of two hidden layers with 64 neurons each. The activation function is set to ReLU, the learning rate is 0.005, the initial temperature coefficient is 0.1, the self-updating learning rate is 0.0001, and the updating algorithms utilize the alternating multiplier method. The experience replay unit has a capacity of 2,500, and 64 samples are drawn for each training iteration. The convergence criterion for each training round is that the absolute value of the steady-state frequency deviation is less than 0.1 Hz.</p>
<p>The SAC algorithm is employed to learn and train the aforementioned arithmetic model. <xref ref-type="fig" rid="F6">Figure 6</xref> depict the curves illustrating the changes in reward values during the training process.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Changes in reward values during training.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g006.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F6">Figure 6</xref> demonstrate that, initially, the model struggles to find a control strategy that effectively stabilizes the system frequency, resulting in frequent movements per round and consequently low reward values. Additionally, the maximum number of action steps per round often reaches 50. However, as training progresses, the model gradually discovers more efficient control strategies with shorter action sequences, although the reward value remains suboptimal due to excessive load removal. It is only after 1,200 rounds of training that both the reward value and the number of training rounds stabilize, indicating the completion of the model training process.</p>
<p>To evaluate and compare the frequency recovery process of the proposed emergency frequency control scheme, it is essential to conduct tests using various fault scenarios. These scenarios are characterized by four attributes: the number of faulty nodes, the extent of power shortage in the faulty nodes, the system load factor, and the magnitude of source load fluctuations. For this purpose, four representative fault scenarios are selected, as illustrated in <xref ref-type="fig" rid="F7">Figure 7</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Number of excision maneuvers during each training round.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g007.tif"/>
</fig>
<p>During the model training process, the emergency frequency control policies for the four representative scenarios are derived through testing at intervals of 400 rounds until the completion of 2000 rounds, leading to the acquisition of the optimal control policy, as depicted in <xref ref-type="fig" rid="F8">Figure 8</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Change process of load shedding strategy in scenario <bold>(A&#x2013;D)</bold> training.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g008.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F8">Figure 8</xref> clearly demonstrate significant fluctuations in the emergency frequency control strategies during rounds 0, 400, 800, and 1,200, indicating the model&#x2019;s continuous search for an improved control strategy. In contrast, the control strategies for rounds 1,600 and 2000 exhibit reduced fluctuations, indicating that the model has undergone substantial training. Initially, the emergency frequency control strategy is more random, but through continuous training, the model takes into account factors such as the amount of controllable loads at each node and load removal sensitivity. Consequently, it selects an optimal node for load shedding, resulting in a final strategy with total load removal close to the power deficit.</p>
<p>
<xref ref-type="table" rid="T2">Table 2</xref> presents the controllable load shedding quantities for the optimal policy in the four representative test scenarios, along with the steady-state frequency values achieved post-policy implementation and the minimum value of dynamic frequency drop.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Controllable load shedding and dynamic frequency metrics for various test scenarios.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Scenario</th>
<th align="center">Controllable load shedding/MW</th>
<th align="center">Steady state frequency/Hz</th>
<th align="center">Frequency drop minimum/Hz</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">1</td>
<td align="center">592</td>
<td align="center">50.01</td>
<td align="center">49.78</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">545</td>
<td align="center">50.05</td>
<td align="center">49.76</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">517</td>
<td align="center">49.98</td>
<td align="center">49.76</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">615</td>
<td align="center">49.91</td>
<td align="center">49.51</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="table" rid="T2">Table 2</xref> reveals that in the four test scenarios, characterized by diverse fault locations, fault sizes, system loading rates, and source-load uncertainties, the trained model successfully maintains the system within 0.1 Hz of the steady-state frequency deviation. Additionally, the lowest point of the dynamic frequency drop remains above 49.5 Hz. These results substantiate the effectiveness of the emergency control strategy based on the SAC algorithm, particularly for systems affected by source-load uncertainties.</p>
<p>To further ascertain the superiority of the proposed method, a comparative analysis is conducted between the emergency frequency control strategy derived from the traditional adaptive UFLS algorithm and the strategy proposed in this paper. The dynamic frequency recovery process of the system is evaluated for both strategies across the four scenarios, as depicted in <xref ref-type="fig" rid="F9">Figure 9</xref>.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Comparison of the dynamic frequency process of scenario <bold>(A&#x2013;D)</bold> after the execution of the two strategies.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g009.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F9">Figure 9</xref> demonstrates that the emergency frequency control strategies optimized by the proposed scheme in this paper effectively maintain the steady-state frequency deviation of the system within 0.1 Hz, with the lowest frequency point exceeding 49.5 Hz across the four different scenarios. In contrast, the adaptive UFLS scheme in Scenarios 1, 2, and three suffers from the issue of insufficient load shedding, resulting in a greater depth of frequency drop and steady-state frequency deviation. Additionally, the conventional scheme in Scenario four exhibits excessive load shedding, leading to a steady-state frequency close to 50.4 Hz. Consequently, the method presented in this chapter proves its superiority in reducing the depth of frequency drop and steady-state frequency deviation, highlighting the effectiveness of the deep reinforcement learning algorithm.</p>
<p>To compare the disparities between source-load uncertainty and deterministic power systems, both the conventional method and the SAC algorithm proposed in this chapter are employed in both systems for 100 tests. The emergency frequency control outcomes are then compared, and the results are illustrated in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>
<bold>(A)</bold> Comparison of stochastic test results for source-load deterministic systems <bold>(B)</bold>. Comparison of stochastic test results for the source-load uncertainty system.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g010.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F10">Figures 10A, B</xref> reveal that the median frequency nadir achieved by the SAC algorithm in the source-load deterministic system and the uncertain system is approximately 49.65 Hz and 49.6 Hz, respectively, whereas the median values obtained by the traditional method are around 49.55 Hz and 49.45 Hz, respectively. Notably, the frequency nadir resulting from the traditional method is significantly lower than that achieved by the deep reinforcement learning method, making it nearly impossible to maintain system frequency stability in numerous scenarios. By contrast, the SAC algorithm effectively improves the steady-state frequency deviation and frequency nadir in both deterministic and uncertain systems, demonstrating its superiority over the traditional method for addressing the emergency frequency control problem in source-load uncertain systems.</p>
<p>To validate the suitability of the SAC algorithm over other reinforcement learning algorithms for addressing the emergency frequency control problem in the source-load double uncertainty system, the model developed based on the SAC algorithm in this paper is compared with models employing the A2C algorithm and the TD3 algorithm. <xref ref-type="fig" rid="F11">Figure 11</xref> presents a comparison of the reward value&#x2019;s increasing trend throughout the training process. The solid line represents the smoothed reward value, while the shaded area denotes the variance fluctuation of the reward value.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Comparison of reward values of different DRL algorithms.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g011.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F11">Figure 11</xref> illustrates that after approximately 500 rounds, the smoothed reward value of the model based on the SAC algorithm surpasses that of the other algorithm models, exhibiting a gradual increase until it stabilizes at the desired value. Furthermore, in terms of variance, the reward value&#x2019;s variance for the SAC algorithm is higher during the initial 300 training rounds and subsequently becomes smaller than that of the other two algorithms. This observation indicates the robustness of the SAC algorithm, its ability to swiftly enhance the reward value through learning, and its reduced oscillation.</p>
<p>The SAC algorithm effectively decreases the minimum system frequency drop compared to other DRL algorithms, while also reducing the steady-state frequency deviation. To visually demonstrate the test&#x2019;s improvement more intuitively, <xref ref-type="fig" rid="F12">Figure 12A</xref> and (B) present the distribution of frequency drop nadir and steady-state frequency deviations resulting from the tests conducted with various algorithms under random scenarios.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>
<bold>(A)</bold> Comparison of steady-state frequency deviation distribution of different DRL algorithms for random testing <bold>(B)</bold>. Comparison of frequency drop nadir distribution of different DRL algorithms for random testing.</p>
</caption>
<graphic xlink:href="fenrg-12-1465301-g012.tif"/>
</fig>
<p>As can be seen from <xref ref-type="fig" rid="F12">Figure 12</xref>, the test results of the emergency frequency control strategy using the SAC algorithm show that the probability of the system&#x2019;s steady-state frequency stabilizing at 49.8Hz&#x2013;50 Hz is more than 50%, which is much higher than that of the test results using the A2C and TD3 algorithms, and the probability of the frequency dip nadir of the SAC algorithm being higher than 49.4 Hz is much higher than that of the other two algorithms. Therefore, the model based on SAC algorithm in this chapter can effectively improve the dynamic frequency nadir and steady-state frequency of the system after emergency frequency control compared to other DRL algorithms.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s6">
<title>6 Conclusion</title>
<p>The emerging power systems exhibit dual source-load uncertainty, contributing to the increasing nonlinearity and complexity of the emergency frequency stabilization problem. Consequently, this paper proposes an optimization method based on the SAC algorithm for the emergency frequency control strategy of power systems with dual source-load uncertainty. Experimental verification is conducted through the design of various operational scenarios, yielding the following conclusions.<list list-type="simple">
<list-item>
<p>1) The dual uncertainty in the new power system, stemming from both source and load, is analyzed. This includes the spatio-temporal uncertainty of wind power output on the power source side and the uncertainty in power demand on the load side. This analysis aims to prevent errors caused by the superposition of uncertain power from both sources and the fault power deficit.</p>
</list-item>
<list-item>
<p>2) Enhance the state space, action space, and reward function of the emergency frequency control MDP model to accommodate the characteristics of source-load double uncertainty;</p>
</list-item>
<list-item>
<p>3) Finally, the proposed method is validated in a modified IEEE10 machine 39-node system incorporating source-load uncertainty. The results demonstrate that the proposed model accounts for the superposition of source-load uncertainty power and fault power, leading to a reduction in steady-state frequency deviation after emergency frequency control. Moreover, compared with the traditional UFLS method and other DRL algorithms, the SAC algorithm with continuous action space accurately removes the load in a single pass, thereby enhancing the frequency restoration speed and minimizing the cost of controllable load removal.</p>
</list-item>
</list>
</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec sec-type="author-contributions" id="s8">
<title>Author contributions</title>
<p>SZ: Conceptualization, Funding acquisition, Writing&#x2013;original draft, Writing&#x2013;review and editing. SR: Project administration, Writing&#x2013;review and editing. BZ: Formal Analysis, Writing&#x2013;review and editing. JF: Validation, Writing&#x2013;original draft, Supervision. XZ: Validation, Writing&#x2013;review and editing. YW: Writing&#x2013;original draft, Writing&#x2013;review and editing, Supervision. LS: Funding acquisition, Writing&#x2013;original draft, Writing&#x2013;review and editing, Methodology, Software.</p>
</sec>
<sec sec-type="funding-information" id="s9">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This work was supported by the National Natural Science Foundation of China (52077059).</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</title>
<p>Authors SZ, SR, BZ, JF, XZ was employed by Longyuan(Beijing)Wind Power Engineering Technology Co., Ltd. Author YW was employed by State Grid Jiangsu Electric Power Co., Ltd.</p>
<p>The remaining author declares that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="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>Bai</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xiang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Measurement-based frequency dynamic response estimation using geometric template matching and recurrent artificial neural network</article-title>. <source>CSEE J. Power Energy Syst.</source> <volume>2</volume>, <fpage>10</fpage>&#x2013;<lpage>18</lpage>. <pub-id pub-id-type="doi">10.17775/cseejpes.2016.00030JPES.2016.00030</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Event-driven fast frequency response control method for generator unit</article-title>. <source>Automation Electr. Power Syst.</source> <volume>45</volume>, <fpage>148</fpage>&#x2013;<lpage>154</lpage>. <pub-id pub-id-type="doi">10.7500/AEPS20210210001</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chandra</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Pradhan</surname>
<given-names>A. K.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An adaptive underfrequency load shedding scheme in the presence of solar photovoltaic plants</article-title>. <source>IEEE Syst. J.</source>, <fpage>1</fpage>&#x2013;<lpage>10</lpage>.</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Cui</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Model-free emergency frequency control based on reinforcement learning</article-title>. <source>IEEE Trans. Industrial Inf.</source> <volume>17</volume>, <fpage>2336</fpage>&#x2013;<lpage>2346</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2020.3001095</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dai</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>Z. Y.</given-names>
</name>
<name>
<surname>Wong</surname>
<given-names>K. P.</given-names>
</name>
<name>
<surname>Zhuang</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Real-time prediction of event-driven load shedding for frequency stability enhancement of power systems</article-title>. <source>IET Generation, Transm. and Distribution.</source> <volume>6</volume>, <fpage>914</fpage>&#x2013;<lpage>921</lpage>. <pub-id pub-id-type="doi">10.1049/iet-gtd.2011.0810</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>Yi</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Teng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ai</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Che</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Frequency stability control method of AC/DC power system based on multi-layer support vector machine</article-title>. <source>Proc. CSEE</source> <volume>39</volume>, <fpage>4104</fpage>&#x2013;<lpage>4118</lpage>. <pub-id pub-id-type="doi">10.13334/j.0258-8013.pcsee.181496</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ke</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Rapid optimization for emergent frequency control strategy with the power regulation of renewable energy during the loss of DC connection</article-title>. <source>Trans. China Electrotech. Soc.</source> <volume>37</volume>, <fpage>1204</fpage>&#x2013;<lpage>1218</lpage>. <pub-id pub-id-type="doi">10.19595/j.cnki.1000-6753.tces.210279</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Larik</surname>
<given-names>R. M.</given-names>
</name>
<name>
<surname>Mustafa</surname>
<given-names>M. W.</given-names>
</name>
<name>
<surname>Aman</surname>
<given-names>M. N.</given-names>
</name>
<name>
<surname>Jumani</surname>
<given-names>T. A.</given-names>
</name>
<name>
<surname>Sajid</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Panjwani</surname>
<given-names>M. K.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>An improved algorithm for optimal load shedding in power systems</article-title>. <source>Energies</source> <volume>11</volume>, <fpage>1808</fpage>. <pub-id pub-id-type="doi">10.3390/en11071808</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Continuous under-frequency load shedding scheme for power system adaptive frequency control</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>35</volume>, <fpage>950</fpage>&#x2013;<lpage>961</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2019.2943150</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Shao</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Adaptive underfrequency load shedding strategy considering high wind power penetration</article-title>. <source>Power Syst. Technol.</source> <volume>41</volume>, <fpage>1084Y1090</fpage>. <pub-id pub-id-type="doi">10.13335/j.1000-3673.pst.2016.3029</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lin</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <source>Transient stability analysis and control of AC-DC hybrid power grid under topology changes based on deep learning</source>. <publisher-loc>Beijing, China</publisher-loc>: <publisher-name>North China Electric Power University</publisher-name>.</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Bo</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Minimum frequency prediction of power system after disturbance based on the WAMS data</article-title>. <source>Proc. CSEE</source> <volume>34</volume>, <fpage>2188</fpage>&#x2013;<lpage>2195</lpage>. <pub-id pub-id-type="doi">10.13334/j.0258-8013.pcsee.2014.13.021</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Emergency frequency control strategy using demand response based on deep reinforcement learning</article-title>,&#x201d; in <source>2020 12th IEEE PES asia-pacific power and energy engineering conference</source> (<publisher-loc>Nanjing, China</publisher-loc>: <publisher-name>APPEEC</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1109/APPEEC48164.2020.9220600</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Masood</surname>
<given-names>N. A.</given-names>
</name>
<name>
<surname>Haque</surname>
<given-names>S. M. N.</given-names>
</name>
<name>
<surname>Rahman</surname>
<given-names>D. S.</given-names>
</name>
<name>
<surname>Rani</surname>
<given-names>M. S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A frequency and voltage stability-based load shedding technique for low inertia power systems</article-title>. <source>IEEE ACCESS</source> <volume>9</volume>, <fpage>78947</fpage>&#x2013;<lpage>78961</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2021.3084457</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qiang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Emergency Control Strategy for Transient angle instability of power system based on improved AlexNet</article-title>. <source>High. Volt. Eng.</source> <volume>48</volume>, <fpage>2794</fpage>&#x2013;<lpage>2804</lpage>. <pub-id pub-id-type="doi">10.13336/j.1003-6520.hve.20210114</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sheng</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Optimization method of under frequency load shedding for high new energy proportion system</article-title>. <source>Acta Energiae Solaris Sin.</source> <volume>42</volume>, <fpage>365</fpage>&#x2013;<lpage>369</lpage>. <pub-id pub-id-type="doi">10.19912/j.0254-0096.tynxb.2018-0978</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>Y.</given-names>
</name>
</person-group>
<collab>others</collab> (<year>2019</year>). <article-title>Under-frequency load shedding scheme based on estimated inertia</article-title>. <source>Electr. Power Autom. Equip.</source> <volume>39</volume>, <fpage>51</fpage>&#x2013;<lpage>56</lpage>. <pub-id pub-id-type="doi">10.16081/j.issn.1006-6047.2019.07.008</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Javadi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>J. N.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>A preliminary study of impact of reduced system inertia in a low-carbon power system</article-title>. <source>J. Mod. Power Syst. Clean. Energy.</source> <volume>3</volume>, <fpage>82</fpage>&#x2013;<lpage>92</lpage>. <pub-id pub-id-type="doi">10.1007/s40565-014-0093-8</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xie</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Distributional deep reinforcement learning-based emergency frequency control</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>37</volume>, <fpage>2720</fpage>&#x2013;<lpage>2730</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2021.3130413</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Lei</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>F.</given-names>
</name>
<etal/>
</person-group> (<year>2014</year>). <article-title>A review on impacts of wind power uncertainties on power systems</article-title>. <source>Proc. CSEE</source> <volume>34</volume>, <fpage>5029</fpage>&#x2013;<lpage>5040</lpage>. <pub-id pub-id-type="doi">10.13334/j.0258-8013.pcsee.2014.29.004</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Review on stability assessment and decision for power systems based on new-generation artificial intelligence technology</article-title>. <source>Autom. Electr. Power Syst.</source> <volume>46</volume>, <fpage>200</fpage>&#x2013;<lpage>223</lpage>. <pub-id pub-id-type="doi">10.7500/AEPS20220114001</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Bu</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Xi</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Tu</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Analysis on blackout in Brazilian power grid on March 21,2018 and its enlightenment to power grid in China</article-title>. <source>Automation Electr. Power Syst.</source> <volume>43</volume>, <fpage>1</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.7500/AEPS20180812003</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Automatic load shedding emergency control algorithm of power system based on wide-area measurement data</article-title>. <source>Power Syst. Technol.</source> <volume>33</volume>, <fpage>69</fpage>&#x2013;<lpage>73</lpage>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Technology features of the new generation power system in China</article-title>. <source>Proc. CSEE</source> <volume>38</volume>, <fpage>1893</fpage>&#x2013;<lpage>1904</lpage>. <pub-id pub-id-type="doi">10.13334/j.0258-8013.pcsee.180067</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Risk assessment of power system cascading failure considering wind power uncertainty and system frequency modulation</article-title>. <source>Proc. CSEE</source> <volume>41</volume>, <fpage>3305</fpage>&#x2013;<lpage>3316</lpage>. <pub-id pub-id-type="doi">10.13334/j.0258-8013.pcsee.202352</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>