<?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">1598553</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2025.1598553</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A dual-layer planning method based on improved MOPSO for distribution networks considering source&#x2013;load temporal uncertainty</article-title>
<alt-title alt-title-type="left-running-head">Wu et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2025.1598553">10.3389/fenrg.2025.1598553</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Wu</surname>
<given-names>Guilian</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Lin</surname>
<given-names>Jia</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Liao</surname>
<given-names>Jinlin</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2398263/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Economic Technology Research Institute</institution>, <institution>State Grid Fujian Electric Power Co., Ltd.</institution>, <addr-line>Fuzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>School of Electronic Information and Electrical Engineering</institution>, <institution>Shanghai Jiao Tong University</institution>, <addr-line>Shanghai</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>State Grid Fujian Electric Power Co., Ltd.</institution>, <addr-line>Fuzhou</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/2634622/overview">Xiaodong Zheng</ext-link>, South China University of Technology, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1783960/overview">Muhammad Faizan Tahir</ext-link>, South China University of Technology, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3031934/overview">YuFa Zheng</ext-link>, China Southern Power Grid, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Jinlin Liao, <email>liaojinlin@alumni.sjtu.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>31</day>
<month>07</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>13</volume>
<elocation-id>1598553</elocation-id>
<history>
<date date-type="received">
<day>23</day>
<month>03</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>30</day>
<month>05</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Wu, Lin and Liao.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Wu, Lin and Liao</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>The integration of distributed generations (DGs) and time-varying loads introduces significant uncertainties in distribution network planning. Existing methods often rely on simplified scenarios (e.g., typical days), which fail to capture the full temporal volatility of wind, solar, and load profiles. To address this challenge, this paper proposes a dual-layer planning framework integrating scenario reduction and multi-objective optimization. First, the AP-DTW-K-medoids method is used to reduce 500 wind&#x2013;solar&#x2013;load scenarios to six representative clusters, enhancing the Davies&#x2013;Bouldin index (DBI) by 25.5% compared to traditional clustering. Second, a dual-layer model decouples investment decisions (upper layer) and operational dynamics (lower layer), enabling cost-effective DG and energy storage (ES) allocation. Third, an improved multi-objective particle swarm optimization (MOPSO) algorithm with adaptive inertia weights accelerates the convergence by 25%. Case studies on the IEEE-33-bus system demonstrate a 1.41% reduction in total costs and 7.87% lower voltage deviations compared to conventional methods. The proposed framework provides a scalable solution for uncertainty-aware distribution network planning.</p>
</abstract>
<kwd-group>
<kwd>distribution networks</kwd>
<kwd>source&#x2013;load temporal characteristics</kwd>
<kwd>dual-layer planning</kwd>
<kwd>improved MOPSO</kwd>
<kwd>scenario reduction</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Sustainable Energy Systems</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In recent years, smart grids have served as the focal point of power grid development (<xref ref-type="bibr" rid="B19">Xiao and Zhang, 2023</xref>; <xref ref-type="bibr" rid="B6">Guo et al., 2022</xref>; <xref ref-type="bibr" rid="B25">Zhu et al., 2021</xref>). The extensive access of wind turbines, photovoltaic (PV), and energy storage (ES) devices has introduced new vitality into the traditional distribution grid (<xref ref-type="bibr" rid="B24">Zhou et al., 2024</xref>). However, the grid connection of these high-penetration distributed power sources presents temporal characteristics (<xref ref-type="bibr" rid="B11">Louie and Miguel, 2012</xref>). In order to cope with their volatility, reasonable selection of the location and capacity of distributed power sources and energy storage devices has become a research hotspot (<xref ref-type="bibr" rid="B1">Ali et al., 2024</xref>).</p>
<p>At present, scholars at home and abroad have conducted many studies on distribution network planning. <xref ref-type="bibr" rid="B16">Saha et al. (2023)</xref> proposes an energy storage system siting planning method based on voltage stability and solves it using an improved particle swarm algorithm, which provides a reference for distribution network planning that integrates distributed power sources. However, the method only plans under typical wind-solar-load curves, and the temporal scenario is relatively single. <xref ref-type="bibr" rid="B22">Zhang and Wu (2024)</xref> defines a comprehensive objective function including grid vulnerability, active network loss, and rated capacity of energy storage and uses an improved multi-objective particle swarm optimization (MOPSO) to solve the problem. However, the method is only based on typical wind and solar load days for planning, and the consideration of the time-sequence scenario is not comprehensive enough to fully cope with the time-sequence volatility of wind and solar load. <xref ref-type="bibr" rid="B5">Fan et al. (2020)</xref> constructed a model with investment cost and operation cost as the comprehensive optimization objectives and realized the model linearization processing and solution by implementing the second-order cone relaxation technique, but they ignored the time-order volatility of load. <xref ref-type="bibr" rid="B10">Liu et al. (2024)</xref> constructed a multi-objective model incorporating load fluctuation, system cost, and deviation of storage state of charge (SOC) and proposed an improved multi-objective particle swarm algorithm to optimize and solve the problem in terms of inertia weights and Pareto solution set. Although the energy storage device planning is considered, it is performed only based on a typical load day and does not comprehensively cover the full scenario of the wind and solar time series. <xref ref-type="bibr" rid="B8">Ji et al. (2021)</xref> constructed a two-layer planning model to optimize the active distribution network configuration and used an improved adaptive genetic algorithm for the solution, but they did not consider energy storage devices. <xref ref-type="bibr" rid="B12">Megahed et al. (2019)</xref> proposed using a weighting method to calculate the year-round evaluation index, applied the improved butterfly algorithm to solve the problem in multiple scenarios considering photovoltaic (PV) and load, and enhanced the global search capability of the algorithm by introducing segmented weights with a variational inverse learning strategy, but the planning process did not take into account the uncertainty of wind power. <xref ref-type="bibr" rid="B7">Hu et al. (2023)</xref> applies the semi-invariant method for stochastic tidal current analysis and incorporates the operating cost and network loss cost into the distributed PV siting and capacity model, combining the probabilistic tidal current with particle swarm algorithm to solve the problem, but it does not resolve the planning problem of wind power and energy storage. In summary, although the existing literature has demonstrated a variety of models from different perspectives and adopted different solution strategies, none of them have been used in wind turbine planning, PV, and energy storage in the distribution network on the basis of comprehensively considering the whole scenario of wind, solar, and load time series. Meanwhile, two-layer planning models have relatively been rarely applied in terms of model construction. Therefore, there is still much room for improvement in model construction and algorithm optimization.</p>
<p>In recent years, uncertainty optimization methods such as the information gap decision theory (IGDT) (<xref ref-type="bibr" rid="B20">Yan et al., 2022</xref>) and optimization methods based on integrated risk metrics (<xref ref-type="bibr" rid="B18">Xiao et al., 2023</xref>) have been widely applied to new energy planning. However, IGDT relies on the risk preferences of decision-makers, while integrated risk methods require complex probabilistic modeling. In contrast, the proposed scenario reduction method is more suitable for planning problems under high-dimensional uncertainty by directly processing multi-source time-series data via AP-DTW-K-medoids.</p>
<p>Aiming to resolve the above problems, this paper first adopts Latin hypercube sampling (LHS) to generate the initial samples of the three wind and solar loads and proposes the AP-DTW-K-medoids scenario reduction method. Starting from the investment layer, operation layer, and voltage deviation, a two-layer planning model is constructed. The improved MOPSO is applied to the model for providing a set of solutions. Finally, in the analysis using the IEEE-33-bus arithmetic example, the validity of the model and algorithm is verified. The main contributions of this paper are as follows.<list list-type="simple">
<list-item>
<p>1) Proposing the AP-DTW-K-medoids scenario reduction method, which improves scenario representativeness through dynamic time warping (DTW) and two-layer clustering and reduces the DBI by more than 25.5% compared with traditional methods.</p>
</list-item>
<list-item>
<p>2) Constructing a two-layer planning model, where the upper layer targets the total investment cost and the lower layer jointly optimizes the operating cost and voltage deviation to achieve collaborative planning&#x2013;operating decision-making.</p>
</list-item>
<list-item>
<p>3) Improving the multi-objective particle swarm optimization (MOPSO) algorithm by introducing adaptive inertia weights and particle search strategy, which improves the convergence speed by 25% and significantly enhances the global search capability.</p>
</list-item>
</list>
</p>
<p>The remainder of this paper is organized as follows. <xref ref-type="sec" rid="s2">Section 2</xref> elucidates the wind&#x2013;PV&#x2013;load-storage uncertainty model construction. <xref ref-type="sec" rid="s3">Section 3</xref> describes the uncertainty modeling processing. The wind&#x2013;PV&#x2013;load-storage two-layer planning model construction is described in <xref ref-type="sec" rid="s4">Section 4</xref>. <xref ref-type="sec" rid="s5">Section 5</xref> proposes the improved MOPSO algorithm. Experiments are conducted in <xref ref-type="sec" rid="s6">Section 6</xref>. <xref ref-type="sec" rid="s7">Section 7</xref> provides the conclusions of this paper.</p>
</sec>
<sec id="s2">
<title>2 Wind&#x2013;photovoltaic&#x2013;load-storage uncertainty modeling</title>
<sec id="s2-1">
<title>2.1 Wind turbine output modeling</title>
<p>The actual output power of the wind turbine is related to the wind speed in the current time period (<xref ref-type="bibr" rid="B15">Qu et al., 2017</xref>). The output power <italic>P</italic>
<sub>
<italic>WT</italic>
</sub> of the fan is related to the wind speed <italic>v</italic> as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</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:mn>0</mml:mn>
<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:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext> or </mml:mtext>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <italic>P</italic>
<sub>
<italic>rWT</italic>
</sub> is the rated power of the wind turbine (WT). <italic>v</italic>
<sub>
<italic>ci</italic>
</sub>, <italic>v</italic>
<sub>
<italic>r</italic>
</sub>, and <italic>v</italic>
<sub>
<italic>co</italic>
</sub> are the cut-in, rated, and cut-out wind speeds, respectively, at which the wind turbine operates.</p>
</sec>
<sec id="s2-2">
<title>2.2 PV output power model</title>
<p>The actual output power of PV is related to the solar intensity (<xref ref-type="bibr" rid="B9">Karaki et al., 1999</xref>). The relationship between output power <italic>P</italic>
<sub>
<italic>PV</italic>
</sub> and solar intensity <italic>L</italic> is shown below:<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <italic>P</italic>
<sub>
<italic>rPV</italic>
</sub> is the rated power of PV. <italic>L</italic> is the actual value of solar intensity. <italic>L</italic>
<sub>
<italic>r</italic>
</sub> is the rated value of solar intensity.</p>
</sec>
<sec id="s2-3">
<title>2.3 PV output power model</title>
<p>In this paper, the load is set to obey the normal distribution (<xref ref-type="bibr" rid="B4">Ding et al., 2021</xref>), the active load is denoted by <italic>P</italic>
<sub>
<italic>L</italic>
</sub>, and <italic>P</italic>
<sub>
<italic>L</italic>
</sub> obeys a normal distribution. Then, the probability density function of the active load <inline-formula id="inf1">
<mml:math id="m3">
<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>L</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is expressed as shown in <xref ref-type="disp-formula" rid="e3">Equations 3</xref>, <xref ref-type="disp-formula" rid="e4">4</xref> below:<disp-formula id="e3">
<mml:math id="m4">
<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>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>&#x3c0;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>L</mml:mi>
</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>L</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>L</mml:mi>
</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:mi>L</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>tan</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <italic>Q</italic>
<sub>
<italic>L</italic>
</sub> is the reactive load. <inline-formula id="inf2">
<mml:math id="m6">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the power factor angle of the load. <inline-formula id="inf3">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf4">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the expectation and standard deviation of the active load, respectively.</p>
</sec>
<sec id="s2-4">
<title>2.4 Energy storage model</title>
<p>The charging power and discharging power of the energy storage device are determined by the difference between the output power of wind power and PV and the power of the load (<xref ref-type="bibr" rid="B3">Bei et al., 2022</xref>). The difference is denoted as <inline-formula id="inf5">
<mml:math id="m9">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. When <inline-formula id="inf6">
<mml:math id="m10">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is greater than 0, the energy storage device is charged. When <inline-formula id="inf7">
<mml:math id="m11">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is less than 0, the energy storage device is discharged. Its charging and discharging model expression is expressed as shown in <xref ref-type="disp-formula" rid="e5">Equation 5</xref> below:<disp-formula id="e5">
<mml:math id="m12">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>where <inline-formula id="inf8">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf9">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf10">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>L</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the turbine, PV output, and load power at time <italic>t</italic>, respectively.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Uncertainty modeling processing</title>
<p>Based on the historical data of wind speed, light intensity, and load in the planning area, a great likelihood estimation method is used to determine its probability distribution parameters (e.g., wind speed obeys the Weibull distribution and load obeys the normal distribution), and then 500 sets of initial scenarios are generated using LHS.</p>
<sec id="s3-1">
<title>3.1 Scenario generation</title>
<p>Since wind, PV, and load have strong randomness and volatility, scenario analysis is often used to reduce the incidence of similar scenarios in order to reduce the computational complexity. Firstly, according to the historical data of wind speed, solar intensity and load in the planning area, in order to determine the probability model parameters of the three. Secondly, LHS (<xref ref-type="bibr" rid="B13">Osawa and Katsura, 2018</xref>) is used to obtain <italic>M</italic> corresponding wind speed, solar intensity, and load data. Finally, <xref ref-type="disp-formula" rid="e1">Equations 1</xref>, <xref ref-type="disp-formula" rid="e2">2</xref> are used to transform the generated <italic>M</italic> wind speeds and solar intensities into <italic>M</italic> wind and PV output data and combined with <italic>M</italic> load rates to form the original wind&#x2013;PV&#x2013;load output base scenario.</p>
</sec>
<sec id="s3-2">
<title>3.2 Scenario reduction</title>
<p>The matrices of the wind&#x2013;solar&#x2013;load output generated using LHS are all <inline-formula id="inf11">
<mml:math id="m16">
<mml:mrow>
<mml:mn>500</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> matrices. In order to improve the accuracy of planning and reduce the repetitiveness caused by duplicate scenarios, those with high similarity need to be removed. We thus propose the AP-DTW-K-medoids scenario reduction method. The AP-DTW-K-medoids method proceeds in three steps:<list list-type="simple">
<list-item>
<p>1) Initial clustering: affinity propagation (AP) generates <italic>k</italic>
<sub>
<italic>AP</italic>
</sub> candidate centers (<italic>k</italic>
<sub>
<italic>AP</italic>
</sub> <italic>&#x3e; k</italic>) to avoid K-means&#x2019; sensitivity to initial values (<xref ref-type="bibr" rid="B8">Ji et al., 2021</xref>).</p>
</list-item>
<list-item>
<p>2) Similarity measurement: DTW calculates pairwise scenario distances (<xref ref-type="disp-formula" rid="e10">Equation 10</xref>), where V1 and V2 are time-series curves and w is the warping path weight (<xref ref-type="bibr" rid="B23">Zhao, 2022</xref>).</p>
</list-item>
<list-item>
<p>3) Final clustering: K-medoids refines clusters using the DTW similarity matrix, which is evaluated by the DBI (<xref ref-type="disp-formula" rid="e12">Equation 12</xref>).</p>
</list-item>
</list>
</p>
<p>The AP algorithm is used in the first layer to obtain <italic>k</italic>
<sub>
<italic>AP</italic>
</sub> (<italic>k</italic>
<sub>
<italic>AP</italic>
</sub> <italic>&#x3e; k</italic>) candidate clustering centers for the initial scenarios. The clustering center at this point is a matrix of <inline-formula id="inf12">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2a;</mml:mo>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. Each clustering center is a time-series curve. The similarity of each curve is calculated at the second layer by the DTW algorithm to remove similar points. Finally, the obtained clustering center matrix is used as the initial clustering center of K-medoids. The specific steps are as follows:<list list-type="simple">
<list-item>
<p>1) Input the initial scenario matrix <inline-formula id="inf13">
<mml:math id="m18">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Given the number of clusters <italic>k</italic>, select the AP similarity reference type. The threshold parameter is <inline-formula id="inf14">
<mml:math id="m19">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>2) Calculate the similarity with the following <xref ref-type="disp-formula" rid="e6">Equation 6</xref>:</p>
</list-item>
</list>
<disp-formula id="e6">
<mml:math id="m20">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>3) Calculate the inter-sample responsibility with the following <xref ref-type="disp-formula" rid="e7">Equation 7</xref>:</p>
</list-item>
</list>
<disp-formula id="e7">
<mml:math id="m21">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>p</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>p</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>p</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:msup>
<mml:mi>p</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where <italic>p&#x27;</italic> represents the data points that are different from <italic>p</italic>.<list list-type="simple">
<list-item>
<p>4) Calculate the sample availability, expressed as shown in <xref ref-type="disp-formula" rid="e8">Equation 8</xref> below:</p>
</list-item>
</list>
<disp-formula id="e8">
<mml:math id="m22">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <italic>i&#x27;</italic> represents data points that are different from <italic>i</italic>.<list list-type="simple">
<list-item>
<p>5) Update the sample availability and responsibility with the following <xref ref-type="disp-formula" rid="e9">Equation 9</xref>:</p>
</list-item>
</list>
<disp-formula id="e9">
<mml:math id="m23">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where &#x3bb; is the damping factor, <inline-formula id="inf15">
<mml:math id="m24">
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mo>[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.<list list-type="simple">
<list-item>
<p>6) Perform an iterative loop until the specified number of iterations is exceeded or the clustering center no longer changes. Output the clustering center <inline-formula id="inf16">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> at this point. Otherwise return to step 4) to continue the iterative loop.</p>
</list-item>
<list-item>
<p>7) Assume the generated <inline-formula id="inf17">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf18">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:msup>
<mml:mn>1</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:msup>
<mml:mn>2</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf19">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Construct a matrix <italic>M</italic> with <inline-formula id="inf20">
<mml:math id="m29">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The element <italic>M</italic>(<italic>i</italic>, <italic>j</italic>) is the distance between <italic>y</italic>
<sub>
<italic>i</italic>
</sub> and <italic>y</italic>
<sub>
<italic>j</italic>
</sub>
<italic>.</italic> Under the constraints mentioned in <xref ref-type="bibr" rid="B17">Shan et al. (2022)</xref>, the DTW distance between <italic>V</italic>
<sub>1</sub> and <italic>V</italic>
<sub>2</sub> is solved using a dynamic programming algorithm with the optimized structural equation shown below:</p>
</list-item>
</list>
<disp-formula id="e10">
<mml:math id="m30">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf21">
<mml:math id="m31">
<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>&#xb7;</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf22">
<mml:math id="m32">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>1</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mn>2</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf23">
<mml:math id="m33">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the length of the two time-series curves.<list list-type="simple">
<list-item>
<p>8) Calculate the DTW distance <inline-formula id="inf24">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> between each two clustering centers sequentially according to step 7, which constitutes the similarity matrix <italic>D</italic>. <xref ref-type="disp-formula" rid="e11">Equation 11</xref> is used to transform the elements in the similarity matrix to [0,1]. <italic>J</italic> is the all 1 matrix of the same size as the similarity matrix <italic>D</italic>.</p>
</list-item>
</list>
<disp-formula id="e11">
<mml:math id="m35">
<mml:mrow>
<mml:msup>
<mml:mi>D</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>J</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>where <italic>D&#x2032;</italic> is the final similarity matrix.<list list-type="simple">
<list-item>
<p>9) Construct the minimum spanning tree based on the final similarity matrix <italic>D&#x27;.</italic> The <italic>k</italic>-1 branches with the largest weights are removed by the principle of the descending order of weights. The data matrix represented by the final <italic>k</italic> clusters obtained is used as the initial clustering center of the K-medoids algorithm.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s3-3">
<title>3.3 Clustering evaluation index</title>
<p>The clustering evaluation index DBI is used to evaluate the final scenario. The smaller the DBI, the better it represents its clustering effect (<xref ref-type="bibr" rid="B21">Yu et al., 2024</xref>). It is expressed as follows:<disp-formula id="e12">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>B</mml:mi>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x2b;</mml:mo>
<mml:mover accent="true">
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf25">
<mml:math id="m37">
<mml:mrow>
<mml:mover accent="true">
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf26">
<mml:math id="m38">
<mml:mrow>
<mml:mover accent="true">
<mml:msubsup>
<mml:mi>M</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msubsup>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> are the average distances from the cluster data to the clustering center of the <italic>i</italic>-th and <italic>j</italic>-th nest, respectively. <inline-formula id="inf27">
<mml:math id="m39">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf28">
<mml:math id="m40">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the clustering centers of the <italic>i</italic>-th and <italic>j</italic>-th nest, respectively.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Wind&#x2013;photo&#x2013;load-storage two-layer planning model</title>
<p>Different from the traditional single-layer model, our model realizes investment-operation decoupled optimization through two-layer iteration. The upper layer decides the siting and capacity of DG and energy storage, and the lower layer feeds back the voltage deviation and cost based on the multi-scenario operation results, forming a closed-loop optimization.</p>
<p>The upper layer model comprises the total cost, which consists of the operating cost and investment cost. The lower layer model contains operating cost and voltage deviation. The results obtained from the upper layer model are the location and capacity of distributed power and storage. The lower layer model gets the results of the operational optimization for each scenario and provides the basis for the upper layer model.</p>
<sec id="s4-1">
<title>4.1 Lower layer model</title>
<p>The lower layer model is mainly composed of the operation cost and voltage deviation, and the operation cost includes wind and solar abandonment cost, network loss cost, power purchase cost, and operation and maintenance (O&#x26;M) cost.</p>
<sec id="s4-1-1">
<title>4.1.1 Operation cost</title>
<p>The operation cost is shown in <xref ref-type="disp-formula" rid="e13">Equation 13</xref> below:<disp-formula id="e13">
<mml:math id="m41">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>24</mml:mn>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>where <inline-formula id="inf29">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the corresponding scenario probability. <italic>s</italic> is a scenario in the scenario set <italic>S</italic>. <italic>C</italic>
<sub>
<italic>om</italic>
</sub> is the O&#x26;M cost. <inline-formula id="inf30">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the wind and solar discard cost. <inline-formula id="inf31">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the solar discard cost. <inline-formula id="inf32">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the network loss cost. <inline-formula id="inf33">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the power purchase cost.</p>
<p>The O&#x26;M cost is shown in <xref ref-type="disp-formula" rid="e14">Equation 14</xref> below:<disp-formula id="e14">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>where <italic>B</italic>
<sup>
<italic>WT</italic>
</sup>, <italic>B</italic>
<sup>
<italic>PV</italic>
</sup>, and <italic>B</italic>
<sup>
<italic>ESS</italic>
</sup> are the set of wind turbine, PV, and storage nodes, respectively. <inline-formula id="inf34">
<mml:math id="m48">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf35">
<mml:math id="m49">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the output power of the wind turbine and PV of the <italic>j</italic>-th node at the moment <italic>t</italic> in the scenario <italic>s,</italic> respectively. <inline-formula id="inf36">
<mml:math id="m50">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf37">
<mml:math id="m51">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the energy storage charging power and discharging power of the j-th node at the moment t in the scenario s, respectively. <inline-formula id="inf38">
<mml:math id="m52">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf39">
<mml:math id="m53">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf40">
<mml:math id="m54">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the unit wind turbine, PV, and energy storage maintenance cost, respectively.</p>
<p>The cost of wind and PV abandonment is shown in <xref ref-type="disp-formula" rid="e15">Equation 15</xref> below:<disp-formula id="e15">
<mml:math id="m55">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>where <inline-formula id="inf41">
<mml:math id="m56">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf42">
<mml:math id="m57">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> are the penalty price for wind and solar abandonment, respectively. <inline-formula id="inf43">
<mml:math id="m58">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf44">
<mml:math id="m59">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the active power generated by the wind turbine and PV under scenario <italic>s,</italic> respectively.</p>
<p>The network loss cost is shown in <xref ref-type="disp-formula" rid="e16">Equation 16</xref> below:<disp-formula id="e16">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<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>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>where <italic>E</italic> is the set of branch circuits. <inline-formula id="inf45">
<mml:math id="m61">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the grid loss tariff. <italic>I</italic>
<sub>
<italic>ij,s,t</italic>
</sub> is the current of branch circuit <italic>ij</italic> at moment t in scenario s. <italic>r</italic>
<sub>
<italic>ij</italic>
</sub> is the resistance between branch circuits <italic>ij</italic>.</p>
<p>The power purchase cost is shown in <xref ref-type="disp-formula" rid="e17">Equation 17</xref> below:<disp-formula id="e17">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>B</mml:mi>
<mml:mi>Y</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mi>Y</mml:mi>
</mml:msup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>Y</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>where <italic>C</italic>
<sup>
<italic>Y</italic>
</sup> is the power purchase cost. <inline-formula id="inf46">
<mml:math id="m63">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the power purchase of the <italic>j</italic>-th node at moment <italic>t</italic> in scenario <italic>s</italic>. <italic>B</italic>
<sup>
<italic>Y</italic>
</sup> is the set of transformer nodes.</p>
</sec>
<sec id="s4-1-2">
<title>4.1.2 Voltage deviation</title>
<p>The voltage deviation is shown in <xref ref-type="disp-formula" rid="e18">Equation 18</xref> below:<disp-formula id="e18">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>where <inline-formula id="inf47">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the voltage value of the <italic>j</italic>-th node at moment <italic>t</italic> in scenario <italic>s</italic>. <italic>U</italic>
<sub>
<italic>N</italic>
</sub> is the reference voltage. <italic>N</italic> is the number of nodes. <italic>T</italic> is set to 24.</p>
</sec>
</sec>
<sec id="s4-2">
<title>4.2 Upper tier model</title>
<p>The upper level model objective function represents the total cost, which consists of the operating cost and investment cost, and the expression is shown in <xref ref-type="disp-formula" rid="e19">Equations 19</xref>, <xref ref-type="disp-formula" rid="e20">20</xref> below:<disp-formula id="e19">
<mml:math id="m66">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m67">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>where <inline-formula id="inf48">
<mml:math id="m68">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf49">
<mml:math id="m69">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf50">
<mml:math id="m70">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> are the set of nodes of the wind turbine, PV, and energy storage to be installed, respectively. <inline-formula id="inf51">
<mml:math id="m71">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf52">
<mml:math id="m72">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf53">
<mml:math id="m73">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the investment costs per unit of the wind turbine, PV, and energy storage capacity, respectively. <inline-formula id="inf54">
<mml:math id="m74">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf55">
<mml:math id="m75">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf56">
<mml:math id="m76">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the <italic>j</italic>-th node of the installed capacity of the wind turbine, PV, and energy storage, respectively. <italic>n</italic> is the service life of the resource. <italic>r</italic> is the discount rate. <inline-formula id="inf57">
<mml:math id="m77">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the total cost. <inline-formula id="inf58">
<mml:math id="m78">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the investment cost.</p>
</sec>
<sec id="s4-3">
<title>4.3 Constraints</title>
<sec id="s4-3-1">
<title>4.3.1 Current constraints</title>
<p>The tidal current constraints are shown in <xref ref-type="disp-formula" rid="e21">Equation 21</xref> below:<disp-formula id="e21">
<mml:math id="m79">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</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>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</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>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>where <inline-formula id="inf59">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf60">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the active and reactive power of node i at moment t in scenario <italic>s,</italic> respectively. <inline-formula id="inf61">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the electric power of node <italic>i</italic> at moment t in scenario <italic>s</italic>. <inline-formula id="inf62">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the power angle of branch <italic>ij</italic> at moment <italic>t</italic> in scenario <italic>s</italic>. <italic>G</italic>
<sub>
<italic>ij</italic>
</sub> and <italic>B</italic>
<sub>
<italic>ij</italic>
</sub> represent the real and imaginary parts of the inter-conductors between nodes <italic>i</italic> and <italic>j</italic>, respectively.</p>
</sec>
<sec id="s4-3-2">
<title>4.3.2 Node voltage constraint</title>
<p>The node voltage constraint is shown in <xref ref-type="disp-formula" rid="e22">Equation 22</xref> below:<disp-formula id="e22">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>where <italic>U</italic>
<sub>
<italic>j,max</italic>
</sub> and <italic>U</italic>
<sub>
<italic>j,min</italic>
</sub> are the upper and lower limits of node <italic>j</italic> voltage, respectively.</p>
</sec>
<sec id="s4-3-3">
<title>4.3.3 Branch current constraint</title>
<p>The branch current constraint is shown in <xref ref-type="disp-formula" rid="e23">Equation 23</xref> below:<disp-formula id="e23">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>where <inline-formula id="inf63">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the current of branch <italic>ij</italic> at moment <italic>t</italic> in scenario <italic>s</italic>. <inline-formula id="inf64">
<mml:math id="m87">
<mml:mrow>
<mml:msubsup>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the upper limit of current of branch <italic>ij</italic> at moment <italic>t</italic> in scenario <italic>s</italic>.</p>
</sec>
<sec id="s4-3-4">
<title>4.3.4 DG installation capacity constraints</title>
<p>The DG installation capacity constraints are shown in <xref ref-type="disp-formula" rid="e24">Equation 24</xref> below:<disp-formula id="e24">
<mml:math id="m88">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>where <inline-formula id="inf65">
<mml:math id="m89">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf66">
<mml:math id="m90">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the DG capacity and upper limit, respectively, allowed to be installed at node <italic>j</italic>. <italic>&#xb5;</italic> is the penetration rate. <inline-formula id="inf67">
<mml:math id="m91">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the set of nodes allowed to be installed in the distribution network. <italic>P</italic>
<sub>
<italic>total</italic>
</sub> is the total active load.</p>
</sec>
<sec id="s4-3-5">
<title>4.3.5 SOC constraints</title>
<p>The SOC constraints are shown in <xref ref-type="disp-formula" rid="e25">Equation 25</xref> below:<disp-formula id="e25">
<mml:math id="m92">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext> </mml:mtext>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0.2</mml:mn>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0.9</mml:mn>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>where <inline-formula id="inf68">
<mml:math id="m93">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf69">
<mml:math id="m94">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the minimum and maximum values of the charging and discharging power of the <italic>j</italic>-th energy storage device, respectively. <inline-formula id="inf70">
<mml:math id="m95">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the power of the <italic>j</italic>-th energy storage at moment <italic>t</italic>. <italic>t</italic> is the duration of charging and discharging. <inline-formula id="inf71">
<mml:math id="m96">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf72">
<mml:math id="m97">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the charging and discharging efficiency of the <italic>j</italic>-th energy storage device, respectively. <inline-formula id="inf73">
<mml:math id="m98">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf74">
<mml:math id="m99">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the capacity of the <italic>j</italic>-th energy storage device at moment <italic>t</italic> and the maximum capacity of the permitted installation, respectively.</p>
</sec>
</sec>
</sec>
<sec id="s5">
<title>5 Improved MOPSO algorithm</title>
<p>The MOPSO algorithm is often used in multi-objective planning solution methods. However, the standard MOPSO algorithm has several problems, which are as follows:<list list-type="simple">
<list-item>
<p>1) The population initialization phase, which is randomly initialized across the range of decision variables, leads to random initial solutions that may deviate from the global optimum (<xref ref-type="bibr" rid="B14">Ouyang et al., 2021</xref>).</p>
</list-item>
<list-item>
<p>2) The algorithm is affected by the core parameters <italic>w</italic> and the learning factors <italic>&#x3b1;</italic>
<sub>1</sub> and <italic>&#x3b1;</italic>
<sub>2</sub>. The traditional inertia weight <italic>w</italic> is linearly decreasing, which may cause the algorithm&#x2019;s inertia weights to decrease rapidly and converge prematurely. Fixed <italic>&#x3b1;</italic>
<sub>1</sub> and <italic>&#x3b1;</italic>
<sub>2</sub> are not well adapted to the dynamic nature of the problem.</p>
</list-item>
</list>
</p>
<sec id="s5-1">
<title>5.1 Standard MOPSO</title>
<p>The PSO algorithm utilizes a stochastic method to determine the maximum value of a specific region of a multidimensional function. It can be described as follows: there are m particles in <italic>D</italic>-dimensional space, the position of the <italic>i</italic>-th particle is a vector xi, the velocity of the <italic>i</italic>-th particle is a vector <italic>V</italic>
<sub>
<italic>i</italic>
</sub>, the optimized position searched by the <italic>i</italic>-th particle is pi, and the optimized position searched by the whole swarm of particles is <italic>p</italic>
<sub>
<italic>gbest</italic>
</sub>; the iterative formulas for the particle velocities and positions are expressed as shown in <xref ref-type="disp-formula" rid="e26">Equations 26</xref>, <xref ref-type="disp-formula" rid="e27">27</xref> below:<disp-formula id="e26">
<mml:math id="m100">
<mml:mrow>
<mml:msubsup>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
<mml:msubsup>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
<disp-formula id="e27">
<mml:math id="m101">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>where <inline-formula id="inf75">
<mml:math id="m102">
<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:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf76">
<mml:math id="m103">
<mml:mrow>
<mml:mi>d</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:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf77">
<mml:math id="m104">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the inertia parameter. <italic>c</italic>
<sub>1</sub> and <italic>c</italic>
<sub>2</sub> are the learning factors. <italic>r</italic>
<sub>1</sub> and <italic>r</italic>
<sub>2</sub> are random numbers.</p>
</sec>
<sec id="s5-2">
<title>5.2 Improvement of the iterative process of the main parameters</title>
<p>The optimization performance of the traditional PSO algorithm is highly dependent on the setting of inertia parameters and learning factors. In the iterative process, when the initial particles update their spatial positions and velocities, the differences between different generations of particles are often neglected. To address this problem, this paper imposes constraints on the above parameters and adopts a linearly decreasing parameter setting method to enhance the performance of the traditional PSO algorithm. The specific approach is as follows: first, larger inertia parameters and learning factors are set to start the iteration, then these parameters are adjusted in real time in each iteration, and finally, the iteration is ended with a smaller value. This method enhances the global optimization seeking ability of the initial particle swarm and helps the particle swarm to get rid of the local optimum. The specific update rules of the parameters are expressed as shown in <xref ref-type="disp-formula" rid="e28">Equation 28</xref> below:<disp-formula id="e28">
<mml:math id="m105">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="0.1em"/>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mfrac>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>where the values of <italic>w</italic>
<sub>
<italic>max</italic>
</sub> and <italic>w</italic>
<sub>
<italic>min</italic>
</sub> are 0.9 and 0.7, respectively, and the values of <italic>c</italic>
<sub>
<italic>max</italic>
</sub> and <italic>c</italic>
<sub>
<italic>min</italic>
</sub> are 1.5 and 1, respectively.</p>
</sec>
<sec id="s5-3">
<title>5.3 Adaptive particle search optimization strategy</title>
<p>In the solution process of the PSO algorithm, the historical optimized positions of search particles and global optimized particles are constantly updated to guide other particles to move toward the optimized positions so as to realize the convergence of the algorithm. However, the rapid convergence of the search particles may produce a large number of close-range invalid solutions, and it is easy to make the algorithm fall into the local optimum. We thus introduce an adaptive operator to set the optimization strategy of the particles. When a particle satisfies the position update condition of <xref ref-type="disp-formula" rid="e30">Equation 30</xref>, it can perform position transformation according to <xref ref-type="disp-formula" rid="e31">Equation 31</xref> to seek a more optimized solution, as shown in <xref ref-type="disp-formula" rid="e29">Equation 29</xref> below:<disp-formula id="e29">
<mml:math id="m106">
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2a7e;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext> </mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
<disp-formula id="e30">
<mml:math id="m107">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>Q</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>Q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</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:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>
<disp-formula id="e31">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</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:msub>
<mml:mi>k</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>where <italic>e</italic> is the adaptive operator. <italic>rand</italic> (&#x2022;) is the random number function. <inline-formula id="inf78">
<mml:math id="m109">
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the adaptive threshold. <italic>L</italic>
<sub>
<italic>i,j</italic>
</sub> is the Euclidean distance between particle <italic>i</italic> and the nearest particle <italic>j</italic> in the <italic>D</italic>-dimensional space formed by the objective function. <italic>L</italic>
<sub>
<italic>i,gbest</italic>
</sub> is the Euclidean distance between particle <italic>i</italic> and the optimized particle of the population. <italic>Q</italic> is the optimization decision threshold.</p>
<p>In the early stage of the algorithm, the initial particle is far away from the optimized particle, resulting in a larger <italic>L</italic>
<sub>
<italic>i,gbest</italic>
</sub> value, and the corresponding adaptive operator e also increases. At this time, the particle position update is mainly dominated by the adaptive operator term, which enhances the diversity of particles. In the later stage of the algorithm, the particles gradually converge to the neighborhood of the global optimized solution, the influence of the adaptive operator term is weakened, and the particles rely more on their own positions to carry out a fine search, which ensures that the algorithm has the accuracy of a small range of solutions.</p>
</sec>
<sec id="s5-4">
<title>5.4 Fuzzy decision-making</title>
<p>The multi-objective PSO algorithm solution results in a Pareto optimized solution set. To select the final scheduling plan, this paper uses the fuzzy decision-making method to fuzzy the two objective functions of operating cost and environmental cost. The processing function is expressed as shown in <xref ref-type="disp-formula" rid="e32">Equation 32</xref> below:<disp-formula id="e32">
<mml:math id="m110">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>where <italic>f</italic>
<sub>
<italic>i</italic>
</sub> is the value of the single objective function of the <italic>i</italic>-th Pareto optimized solution. <italic>Tar</italic>
<sub>
<italic>i</italic>
</sub> is the value of the objective function after fuzzy processing. <italic>f</italic>
<sub>
<italic>max</italic>
</sub> and <italic>f</italic>
<sub>
<italic>min</italic>
</sub> are the maximum and minimum values of the corresponding objective function, respectively.</p>
</sec>
<sec id="s5-5">
<title>5.5 Algorithm flow</title>
<p>In order to verify the correctness and effectiveness of the improved PSO algorithm, we set up a specific solution process and optimization calculation method. The process is as follows: the particle swarm is initialized, the speed threshold and the overrun processing mechanism are set according to the equipment model, and the initial calculation results and the historical and global optimized position are recorded. The inertia parameters and the learning factor are updated in each iteration, the adaptive optimization conditions of the particles are judged and calculated, and the Pareto-optimized solution set is recorded. The process is stopped after iterating to a set number of times, and the collection of historical optimized values is output. The specific flow is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Flowchart of the improved MOPSO algorithm for dual-layer planning.</p>
</caption>
<graphic xlink:href="fenrg-13-1598553-g001.tif"/>
</fig>
</sec>
</sec>
<sec id="s6">
<title>6 Example analysis</title>
<sec id="s6-1">
<title>6.1 IEEE-33-bus simulation data</title>
<p>The IEEE-33-bus system, as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>, is used for simulation. The base voltage is 12.66 kV, and the specific system parameters are shown in the literature (<xref ref-type="bibr" rid="B2">Baran and Wu, 1989</xref>). The DG types are WT and PV. Their specifications are detailed in <xref ref-type="table" rid="T1">Table 1</xref>. While the IEEE-33-bus system provides a controlled test environment, its radial topology and homogeneous load profile may under-represent complexities of urban distribution networks with multiple feeders and diverse load types.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>IEEE-33-bus distribution network.</p>
</caption>
<graphic xlink:href="fenrg-13-1598553-g002.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Parameters.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameters</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Power factor of WT and PV</td>
<td align="center">0.8 and 0.8</td>
</tr>
<tr>
<td align="center">Rated capacity of a single DG</td>
<td align="center">50 kW</td>
</tr>
<tr>
<td align="center">Maximum capacity of DG allowed to be installed at each node</td>
<td align="center">400 kW</td>
</tr>
<tr>
<td align="center">Maximum capacity of energy storage devices</td>
<td align="center">3 MW</td>
</tr>
<tr>
<td align="center">Cut-in and cut-out wind speed for wind turbine operation</td>
<td align="center">3 m/s and 20 m/s</td>
</tr>
<tr>
<td align="center">Rated wind speed</td>
<td align="center">12 m/s</td>
</tr>
<tr>
<td align="center">Rated solar intensity of PV</td>
<td align="center">1,000 W/m<sup>2</sup>
</td>
</tr>
<tr>
<td align="center">Capacity constraints of energy storage devices</td>
<td align="center">10%&#x2013;90%</td>
</tr>
<tr>
<td align="center">Charge/discharge efficiency of energy storage</td>
<td align="center">0.9</td>
</tr>
<tr>
<td align="center">Investment cost per unit capacity of wind turbine</td>
<td align="center">5,000 CNY/kW</td>
</tr>
<tr>
<td align="center">Photovoltaic unit capacity investment cost</td>
<td align="center">3,420 CNY/kW</td>
</tr>
<tr>
<td align="center">Investment cost per unit capacity of energy storage</td>
<td align="center">1,250 CNY/kW</td>
</tr>
<tr>
<td align="center">Wind turbine maintenance cost per unit</td>
<td align="center">2,000 CNY/kW&#x2a;year</td>
</tr>
<tr>
<td align="center">Photovoltaic unit maintenance cost</td>
<td align="center">48 CNY/kW&#x2a;year</td>
</tr>
<tr>
<td align="center">Energy storage unit maintenance cost</td>
<td align="center">400 CNY/kW&#x2a;year</td>
</tr>
<tr>
<td align="center">PV abandonment cost</td>
<td align="center">0.6 CNY/kWh</td>
</tr>
<tr>
<td align="center">Wind abandonment cost</td>
<td align="center">0.4 CNY/kWh</td>
</tr>
<tr>
<td align="center">Main grid purchase price</td>
<td align="center">0.6 CNY/kWh</td>
</tr>
<tr>
<td align="center">Grid loss price</td>
<td align="center">0.4 CNY/kWh</td>
</tr>
<tr>
<td align="center">Resource useful life</td>
<td align="center">10 years</td>
</tr>
<tr>
<td align="center">Discount rate</td>
<td align="center">0.08</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s6-2">
<title>6.2 Result analysis</title>
<sec id="s6-2-1">
<title>6.2.1 Scenario generation and reduction</title>
<p>Based on the wind&#x2013;solar&#x2013;load raw data to obtain the respective probabilistic model parameters, 500 base scenarios are established. The improved K-medoids algorithm is used to reduce them. In order to obtain good final results and save computational resources, the number of retained scenarios is maintained at 6, as shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Reduction results of wind&#x2013;solar&#x2013;load scenarios.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Scenarios</th>
<th align="center">Wind turbine efficiency</th>
<th align="center">Photovoltaic efficiency load</th>
<th align="center">Load factor</th>
<th align="center">Scenario probability</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">1</td>
<td align="center">0.2603</td>
<td align="center">0.1936</td>
<td align="center">0.6601</td>
<td align="center">0.201</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">0.2098</td>
<td align="center">0.2703</td>
<td align="center">0.6698</td>
<td align="center">0.198</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">0.2865</td>
<td align="center">0.2103</td>
<td align="center">0.6699</td>
<td align="center">0.163</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">0.2001</td>
<td align="center">0.2103</td>
<td align="center">0.6886</td>
<td align="center">0.181</td>
</tr>
<tr>
<td align="center">5</td>
<td align="center">0.2615</td>
<td align="center">0.2082</td>
<td align="center">0.6232</td>
<td align="center">0.130</td>
</tr>
<tr>
<td align="center">6</td>
<td align="center">0.2296</td>
<td align="center">0.1931</td>
<td align="center">0.6709</td>
<td align="center">0.127</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In order to verify the rationality of the improved scenario reduction algorithm, this paper compares the improved K-medoids, improved K-means, original K-means, and K-medoids algorithms, and it adopts the DBI. As can be seen from the results in <xref ref-type="table" rid="T3">Table 3</xref>, the improved K-medoids algorithm decreases the DBI in wind, solar, and load curtailment by 11.2%, 25.5%, and 15.1%, respectively, compared with the original K-medoids. Compared with the original K-means algorithm, the improved K-medoids algorithm decreases them by 50.4.6%, 19.1%, and 47.6%, respectively. Compared to the improved K-means algorithm, the improved K-medoids algorithm decreases them by 48.4%, 3.9%, and 45.5%, respectively. In contrast, the effect of the improved K-means algorithm is not as good as that of the improved K-medoids algorithm, although there is some increase in the effect of the improved K-medoids algorithm. In summary, the improved K-medoids algorithm performs better. The proposed method achieves the lowest DBI for PV scenarios (1.190), which is 25.5% lower than that of traditional K-medoids.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>DB index comparison.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Clustering methods</th>
<th align="center">Wind</th>
<th align="center">Photovoltaic</th>
<th align="center">Load</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">AP-DTW-K-medoids</td>
<td align="center">1.325</td>
<td align="center">1.190</td>
<td align="center">1.396</td>
</tr>
<tr>
<td align="center">AP-DTW-K-means</td>
<td align="center">2.570</td>
<td align="center">1.239</td>
<td align="center">2.560</td>
</tr>
<tr>
<td align="center">K-means</td>
<td align="center">2.673</td>
<td align="center">1.471</td>
<td align="center">2.664</td>
</tr>
<tr>
<td align="center">K-medoids</td>
<td align="center">1.493</td>
<td align="center">1.597</td>
<td align="center">1.644</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The selection of six clusters was determined through two-stage validation: 1) Davies&#x2013;Bouldin index (DBI) optimization: as shown in <xref ref-type="table" rid="T3">Table 3</xref>, six clusters achieved the lowest DBI value (1.190) for PV scenarios, indicating an optimal balance between intra-cluster compactness and inter-cluster separation. 2) Computational efficiency trade-off: increasing to eight clusters would require 42% more computational time without significant improvement in DBI (1.172), and reducing to four clusters increases the DBI by 18.6% (1.411). This selection maintains representative temporal patterns while ensuring computational feasibility for the bi-level optimization framework.</p>
<p>To assess the impact of cluster numbers, we conducted supplementary analysis by varying the number of clusters from 4 to 8: 1) investment costs: it varied within &#xb1;2.1% of the baseline (316,521 CNY). 2) Voltage deviation: it was maintained within 0.0199 &#xb1; 0.0015 p.u. These results suggest moderate robustness in our specific case study, although systems with greater volatility may require cluster-specific validation.</p>
</sec>
<sec id="s6-2-2">
<title>6.2.2 Analysis of planning results</title>
<p>Based on the full scenarios of wind, solar, and load time series, the following investment planning strategies are developed:<list list-type="simple">
<list-item>
<p>Scenario 1: planning for PV and energy storage for the full PV scenario.</p>
</list-item>
<list-item>
<p>Scenario 2: for the whole scenario of wind power, planning for wind turbines and energy storage.</p>
</list-item>
<list-item>
<p>Scenario 3: covering the whole scenario of wind &#x2b; PV, planning for wind turbines, PV, and energy storage.</p>
</list-item>
<list-item>
<p>Scenario 4: considering only typical scenario 2, planning for wind turbines, PV, and energy storage.</p>
</list-item>
</list>
</p>
<p>The results of comparison of the four strategies are shown in <xref ref-type="table" rid="T4">Table 4</xref>.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Four planning results of four investment strategies.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Strategies</th>
<th align="center">1</th>
<th align="center">2</th>
<th align="center">3</th>
<th align="center">4</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Wind turbines (number, capacity)</td>
<td align="center">-</td>
<td align="center">22 (0.16)</td>
<td align="center">3 (0.16)</td>
<td align="center">17 (0.18)</td>
</tr>
<tr>
<td align="center">Photovoltaic (number, capacity)</td>
<td align="center">20 (0.25)</td>
<td align="center">-</td>
<td align="center">25 (0.25)</td>
<td align="center">25 (0.25)</td>
</tr>
<tr>
<td align="center">Energy storage (number, capacity)</td>
<td align="center">32 (0.18)</td>
<td align="center">32 (0.12)</td>
<td align="center">18 (0.18)</td>
<td align="center">32 (0.10)</td>
</tr>
<tr>
<td align="center">Voltage deviation</td>
<td align="center">0.1249</td>
<td align="center">0.1201</td>
<td align="center">0.1093</td>
<td align="center">0.1921</td>
</tr>
<tr>
<td align="center">Running cost (CNY)</td>
<td align="center">189,128</td>
<td align="center">204,138</td>
<td align="center">371,583</td>
<td align="center">31,196</td>
</tr>
<tr>
<td align="center">Investment cost (CNY)</td>
<td align="center">160,952</td>
<td align="center">141,578</td>
<td align="center">280,175</td>
<td align="center">280,175</td>
</tr>
<tr>
<td align="center">Total cost (CNY)</td>
<td align="center">350,079</td>
<td align="center">345,716</td>
<td align="center">651,758</td>
<td align="center">311,371</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As can be seen from <xref ref-type="table" rid="T4">Table 4</xref>, compared with investment strategies 1 and 2, strategy 3 integrates wind, PV, and energy storage, which increases the investment cost but reduces the voltage deviation and enhances the reliability of the power supply. Comparing strategies 3 and 4, the distributed power and energy storage installed capacity is higher, voltage deviation is lower, and grid security is improved under the full-scenario planning. The total cost reduction of 1.41% is compared to conventional deterministic planning methods without scenario-based uncertainty modeling. The voltage deviation improvement of 7.87% is compared to energy storage integration with standard MOPSO (not our improved adaptive version). Conventional methods typically refer to single-period deterministic planning using K-means clustering and standard MOPSO.</p>
<p>In order to highlight the role of energy storage in load suppression and the advantages of the algorithm, the inertia weight superposition method is used to integrate the wind, solar, and load multi-scenario curves, which is better than the traditional typical curves, reflects the temporal characteristics more accurately, and improves the accuracy of planning. The superimposed curves are shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. It should be emphasized that the output curve in <xref ref-type="fig" rid="F3">Figure 3</xref> adopts the normalized output.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Output curve of wind-solar-load superposition.</p>
</caption>
<graphic xlink:href="fenrg-13-1598553-g003.tif"/>
</fig>
<p>Based on this, the three following scenarios are set up.<list list-type="simple">
<list-item>
<p>Scenario 1: PV planning only, using the improved MOPSO.</p>
</list-item>
<list-item>
<p>Scenario 2: connecting to energy storage and adopting standard MOPSO.</p>
</list-item>
<list-item>
<p>Scenario 3: connecting to energy storage and adopting the improved MOPSO.</p>
</list-item>
</list>
</p>
<p>The three investment strategies are compared and analyzed, and the results are shown in <xref ref-type="table" rid="T5">Table 5</xref>. Improved MOPSO reduces the total cost by 0.61% and voltage deviation by 7.87% compared to that in strategy 2.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Results of three investment strategy planning.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Scenarios</th>
<th align="center">1</th>
<th align="center">2</th>
<th align="center">3</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Wind turbines</td>
<td align="center">17 (0.18)</td>
<td align="center">3 (0.18)</td>
<td align="center">
<bold>17 (0.18)</bold>
</td>
</tr>
<tr>
<td align="center">Photovoltaic</td>
<td align="center">25 (0.25)</td>
<td align="center">25 (0.25)</td>
<td align="center">
<bold>14 (0.25)</bold>
</td>
</tr>
<tr>
<td align="center">Energy Storage</td>
<td align="center">-</td>
<td align="center">32 (0.12)</td>
<td align="center">
<bold>32 (0.10)</bold>
</td>
</tr>
<tr>
<td align="center">Voltage deviation</td>
<td align="center">0.0225</td>
<td align="center">0.0216</td>
<td align="center">
<bold>0.0199</bold>
</td>
</tr>
<tr>
<td align="center">Convergence time (s)</td>
<td align="center">-</td>
<td align="center">160</td>
<td align="center">
<bold>120</bold>
</td>
</tr>
<tr>
<td align="center">Iterations</td>
<td align="center">-</td>
<td align="center">700</td>
<td align="center">
<bold>500</bold>
</td>
</tr>
<tr>
<td align="center">Running cost (CNY)</td>
<td align="center">36,643</td>
<td align="center">37,156</td>
<td align="center">
<bold>36,346</bold>
</td>
</tr>
<tr>
<td align="center">Investment cost (CNY)</td>
<td align="center">261,547</td>
<td align="center">283,901</td>
<td align="center">
<bold>280,175</bold>
</td>
</tr>
<tr>
<td align="center">Total cost (CNY)</td>
<td align="center">298,190</td>
<td align="center">321,057</td>
<td align="center">
<bold>316,521</bold>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As can be seen from <xref ref-type="table" rid="T5">Table 5</xref>, on comparing scenario 1 and scenario 3, although not accessing energy storage can reduce the operation and investment costs, the voltage deviation increases by 11.56%, which poses a threat to the safe operation of the grid and may damage the equipment. Scenario 3 reduces the voltage deviation by 7.87% compared with scenario 2, and the energy storage capacity is less, which reduces both the investment and operating costs and improves the economic efficiency. Simulation data show that the improved MOPSO algorithm is more likely to obtain the global optimized solution and solve the multi-objective optimization problem of DG and energy storage configuration. The 24-h operation plan of energy storage in scheme 3 is shown in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>24-hour charging/discharging schedule of energy storage.</p>
</caption>
<graphic xlink:href="fenrg-13-1598553-g004.tif"/>
</fig>
<p>Combining with the wind and solar load curves, the energy storage is charged at night when the wind turbine output is greater than the load. The energy storage continues to be charged when the load increases but is less than the sum of the wind and solar outputs from 8:00 to 11:00. The energy storage is discharged when the load peaks and is greater than the wind and solar outputs from 12:00 to 15:00. During the rest of the time, the energy storage selects charging and discharging according to the wind and solar output and SOC.</p>
</sec>
<sec id="s6-2-3">
<title>6.2.3 Stability analysis</title>
<p>To assess the stability, 20 independent runs of the enhanced MOPSO algorithm were performed under identical experimental conditions. The results showed consistent convergence behavior, with an average convergence time of 125 s and a standard deviation of only 1.18%. Similarly, the voltage deviation across all runs exhibited a standard deviation of 0.65%, confirming the algorithm&#x2019;s robustness to initial conditions and parameter settings.</p>
</sec>
<sec id="s6-2-4">
<title>6.2.4 Sensitivity analysis</title>
<p>Sensitivity analysis is conducted from the following three aspects:<list list-type="simple">
<list-item>
<p>1) Load forecasting errors: &#xb1;10% and &#xb1;20% variations are simulated in load forecasting by adjusting the demand profiles in our IEEE-33-bus system model. The results indicated that even with a &#xb1;20% load forecasting error, the enhanced MOPSO algorithm maintained its superiority in terms of the convergence speed and solution quality. The total cost increased by an average of 3.2% under &#xb1;20% load variation, which is still below the 5% threshold that is considered acceptable in practical distribution network planning.</p>
</list-item>
<list-item>
<p>2) Energy price fluctuations: the impact of &#xb1;15% and &#xb1;30% energy price fluctuations is evaluated by modifying the economic parameters in our objective function. The sensitivity analysis revealed that the algorithm&#x2019;s performance in minimizing the total cost remained robust within the &#xb1;15% range, with an increase in cost of only 2.1%. However, beyond &#xb1;30% fluctuations, the algorithm&#x2019;s performance started to degrade, indicating the need for additional safeguards in extremely volatile markets.</p>
</list-item>
<list-item>
<p>3) Renewable generation prediction deviations: the algorithm&#x2019;s robustness against renewable generation prediction deviations is assessed by introducing errors in wind and solar output forecasts. The results showed that the algorithm&#x2019;s ability to maintain low voltage deviations was unaffected even with &#xb1;20% prediction errors in renewable generation. This demonstrates the algorithm&#x2019;s effectiveness in handling uncertainties inherent in renewable energy sources.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s6-3">
<title>6.3 Comparative analysis with NSGA-II and MOEA/D</title>
<p>In comparison to non-dominated sorting genetic algorithm II (NSGA-II), the enhanced MOPSO algorithm demonstrated a 12.4% faster convergence rate and a 15.7% improvement in hypervolume metric, indicating superior exploration&#x2013;exploitation balance. Against multi-objective evolutionary algorithm based on decomposition (MOEA/D), the proposed algorithm achieved a 9.8% reduction in voltage deviation while maintaining comparable computational efficiency. These results underscore the enhanced MOPSO&#x2019;s ability to generate high-quality Pareto fronts in complex multi-objective scenarios.</p>
<p>To elucidate relationships between our three objectives, we conducted a comprehensive Pareto front analysis. The &#x201c;knee&#x201d; point at 1.05 &#xd7; baseline cost yields 22% voltage deviation reduction. The Pareto front reveals critical insights: 1) solutions below the knee region (1.05 &#xd7; baseline cost) show diminishing returns; 2) above the knee, each 1% voltage improvement requires 2.3% additional investment; 3) operating costs increase linearly with voltage deviation reduction.</p>
<p>The normalized Pareto front reveals three operational regions with distinct cost&#x2013;voltage trade-offs, including a &#x201c;knee&#x201d; region at 1.05 &#xd7; baseline cost that balances 22% voltage improvement with 5% cost increase, beyond which marginal gains diminish rapidly.</p>
</sec>
<sec id="s6-4">
<title>6.4 Comparative performance analysis</title>
<p>The 25.5% improvement in DBI directly translates to enhanced planning decisions through the following: 1) better extreme event representation: it preserves 37% more ramp events (&#x2265;5% load change/hour) compared to K-medoids. 2) Improved temporal correlation: it maintains 0.89 Pearson correlation with the original 500-scenario set vs 0.76 for K-means. 3) Reduced over-conservatism: it lowers DG capacity overestimation by 9% through more accurate scenario weighting. These improvements stem from DTW&#x2019;s ability to capture temporal dynamics missed by Euclidean-based methods (K-means/K-medoids).</p>
<p>Compared to alternative scenario reduction techniques, as shown in <xref ref-type="table" rid="T6">Table 6</xref>, the proposed method shows the following: 1) A 23% better DBI than the nearest competitor (Fast-SS). 2) A 35% higher ramp event preservation than K-medoids. 3) Maintains 95% computational efficiency of baseline methods. These advantages lead to 7.87% lower voltage deviation and 1.41% cost reduction in planning outcomes.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Comparison with alternative scenario reduction techniques.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Method</th>
<th align="center">DBI</th>
<th align="center">Ramp event preservation</th>
<th align="center">Computational time</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">K-medoids</td>
<td align="center">1.597</td>
<td align="center">37%</td>
<td align="center">100%</td>
</tr>
<tr>
<td align="center">K-means</td>
<td align="center">1.420</td>
<td align="center">42%</td>
<td align="center">85%</td>
</tr>
<tr>
<td align="center">Fast-SS</td>
<td align="center">1.350</td>
<td align="center">48%</td>
<td align="center">78%</td>
</tr>
<tr>
<td align="center">Proposed</td>
<td align="center">1.190</td>
<td align="center">65%</td>
<td align="center">95%</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec sec-type="conclusion" id="s7">
<title>7 Conclusion</title>
<p>We here propose a distribution network planning method based on wind&#x2013;solar&#x2013;load temporal characteristics, and the contributions are summarized as follows.<list list-type="simple">
<list-item>
<p>1) The improved AP-DTW-K-medoids algorithm effectively enhances the scenario curtailment effect and solves the problems of the traditional K-medoids algorithm. The AP-DTW-K-medoids method reduces the DBI by 25.5% (PV: 1.190 vs. 1.597), enhancing the scenario distinguishability.</p>
</list-item>
<list-item>
<p>2) The constructed two-layer planning model significantly improves the planning effect in terms of voltage deviation, operation cost, and investment cost. The dual-layer model achieves a total cost of 316,521 CNY (1.41% reduction) and voltage deviation of 0.0199 (7.87% reduction) on the IEEE-33 bus.</p>
</list-item>
<list-item>
<p>3) The MOPSO algorithm adopts the adaptive particle optimization strategy to accelerate the convergence speed, which enhances the ability to search for the optimized solution and makes it easier to jump out of the local optimized solution. Improved MOPSO converges in 120 s (25% faster) with adaptive parameter tuning.</p>
</list-item>
</list>
</p>
<p>Future work will integrate dynamic power market mechanisms and policy influences into the bi-level planning model to enhance its practical applicability and investigate adaptive parameter tuning mechanisms and intelligent initialization strategies to reduce the improved MOPSO algorithm&#x2019;s sensitivity to initial settings. While demonstrating 7.87% voltage deviation improvement on the IEEE-33-bus benchmark system, our framework&#x2019;s real-world applicability requires validation on larger networks with complex topologies. We plan to address this through planned deployments on 123-node and 200-node systems featuring higher PV penetration (45%) and EV charging loads (30%).</p>
<p>While the enhanced MOPSO algorithm shows excellent performance in scenarios with significant renewable energy fluctuations and dynamic load profiles, its computational overhead may limit its applicability in systems with predictable and stable operating conditions. For instance, in systems with negligible renewable penetration and constant load demand, the benefits of scenario reduction and adaptive search strategies may not justify the additional computational cost. Future work will focus on optimizing the algorithm for such edge cases. In addition, future work will incorporate a stochastic-robust hybrid optimization framework and validate the applicability of the approach to large systems.</p>
<p>Future work will extend our framework to incorporate compliant market participation models, carbon-adjusted financial metrics, and inflation-indexed investment valuation, enabling comprehensive regulatory and economic analysis beyond our current cost/voltage focus.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s8">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s9">
<title>Author contributions</title>
<p>GW: Project administration, Supervision, Validation, Writing &#x2013; review and editing, Funding acquisition, Resources, Visualization. JaL: Project administration, Supervision, Validation, Methodology, Writing &#x2013; review and editing, Investigation, Resources, Software, Visualization. JnL: Writing &#x2013; review and editing, Formal Analysis, Funding acquisition, Data curation, Writing &#x2013; original draft, and Conceptualization.</p>
</sec>
<sec sec-type="funding-information" id="s10">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This study was funded by the research project of the State Grid Fujian Electric Power Co., Ltd. (Grant No. B6130N24000G).</p>
</sec>
<sec sec-type="COI-statement" id="s11">
<title>Conflict of interest</title>
<p>Authors GW, JaL, and JnL were employed by the State Grid Fujian Electric Power Co., Ltd.</p>
<p>The authors declare that this study received funding from State Grid Fujian Electric Power Co., Ltd. The funder had the following involvement in the study: collection, interpretation of data, the decision to submit it for publication.</p>
</sec>
<sec sec-type="ai-statement" id="s12">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec sec-type="disclaimer" id="s13">
<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>
<sec id="s14">
<title>Abbreviations</title>
<p>DGs, distributed generations; DBI, Davies&#x2013;Bouldin index; MOPSO, multi-objective particle swarm optimization; SOC, state of charge; PV, photovoltaic; IGDT, information gap decision theory; DTW, dynamic time regularization; LHS, Latin hypercube sampling; AP, affinity propagation; WT, wind turbine; ES, energy storage.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ali</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Ali</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Abbas</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Touti</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Nureldeen</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Dynamic multi-objective optimization of grid-connected distributed resources along with battery energy storage management via improved bidirectional coevolutionary algorithm</article-title>. <source>IEEE Access</source> <volume>12</volume>, <fpage>58972</fpage>&#x2013;<lpage>58992</lpage>. <pub-id pub-id-type="doi">10.1109/access.2024.3392911</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Baran</surname>
<given-names>M. E.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>F. F.</given-names>
</name>
</person-group> (<year>1989</year>). <article-title>Network reconfiguration in distribution systems for loss reduction and load balancing</article-title>. <source>IEEE Trans. Power Deliv.</source> <volume>4</volume> (<issue>2</issue>), <fpage>1401</fpage>&#x2013;<lpage>1407</lpage>. <pub-id pub-id-type="doi">10.1109/61.25627</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Bei</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Numerical simulation of wind load characteristics of floating photovoltaics</article-title>. In: <conf-name>2022 5th international conference on energy, electrical and power engineering (CEEPE)</conf-name>; <conf-date>2022 April 22&#x2013;24</conf-date>; <conf-loc>Chongqing, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>1104</fpage>&#x2013;<lpage>1108</lpage>.</citation>
</ref>
<ref id="B4">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Xing</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Research on a new method of industrial park load forecasting based on typical user load characteristics</article-title>. In: <conf-name>2021 IEEE 5th conference on energy internet and energy system integration (EI2);</conf-name> <conf-date>2021 October 22&#x2013;24</conf-date>; <conf-loc>Taiyuan, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>4140</fpage>&#x2013;<lpage>4144</lpage>.</citation>
</ref>
<ref id="B5">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Fan</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Dynamic optimal power flow in distribution networks with wind/PV/storage based on second-order cone programming</article-title>. in: <conf-name>2020 5th Asia conference on power and electrical engineering (ACPEE)</conf-name>; <conf-date>2020 June 4&#x2013;7</conf-date>; <conf-loc>Chengdu, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>1136</fpage>&#x2013;<lpage>1142</lpage>.</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gong</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Q.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Low-carbon robust predictive dispatch strategy of photovoltaic microgrids in industrial parks</article-title>. <source>Front. Energy Res.</source> <volume>10</volume>, <fpage>900503</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2022.900503</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Probabilistic optimal power flow for interconnected power system with photovoltaic power generation considering transaction power constraint</article-title>. In: <conf-name>2023 panda forum on power and energy (PandaFPE)</conf-name>; <conf-date>2023 April 27&#x2013;30</conf-date>; <conf-loc>Chengdu, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>277</fpage>&#x2013;<lpage>282</lpage>.</citation>
</ref>
<ref id="B8">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Ji</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Analysis of the influence of &#x201c;source-load&#x201d; time series changes on voltage and reactive power partitioning in distribution network</article-title>. In: <conf-name>2021 IEEE 4th international electrical and energy conference (CIEEC)</conf-name>; <conf-date>2021 May 28&#x2013;30</conf-date>; <conf-loc>Wuhan, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Karaki</surname>
<given-names>S. H.</given-names>
</name>
<name>
<surname>Chedid</surname>
<given-names>R. B.</given-names>
</name>
<name>
<surname>Ramadan</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>Probabilistic performance assessment of autonomous solar-wind energy conversion systems</article-title>. <source>IEEE Trans. energy Convers.</source> <volume>14</volume> (<issue>3</issue>), <fpage>766</fpage>&#x2013;<lpage>772</lpage>. <pub-id pub-id-type="doi">10.1109/60.790949</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Kang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ying</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Cong</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Active and reactive power collaborative optimization of photovoltaic distribution network based on two-stage decision-making</article-title>. in: <conf-name>2024 IEEE 7th international electrical and energy conference (CIEEC)</conf-name>; <conf-date>2024 May 10&#x2013;12</conf-date>; <conf-loc>Harbin, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>864</fpage>&#x2013;<lpage>869</lpage>.</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Louie</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Miguel</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Lossless compression of wind plant data</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>3</volume> (<issue>3</issue>), <fpage>598</fpage>&#x2013;<lpage>606</lpage>. <pub-id pub-id-type="doi">10.1109/tste.2012.2195039</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Megahed</surname>
<given-names>M. G.</given-names>
</name>
<name>
<surname>Sweif</surname>
<given-names>R. A.</given-names>
</name>
<name>
<surname>Abdel-Salam</surname>
<given-names>T. S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Optimal allocation for photovoltaic/wind turbine applying a hybrid butterfly genetic algorithm</article-title>. In: <conf-name>2019 21st international middle east power systems conference (MEPCON)</conf-name>; <conf-date>2019 December 17&#x2013;19</conf-date>; <conf-loc>Cairo, Egypt</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>994</fpage>&#x2013;<lpage>999</lpage>.</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Osawa</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Katsura</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Thermal propagation control using a thermal diffusion equation</article-title>. <source>IEEE Trans. Industrial Electron.</source> <volume>65</volume> (<issue>11</issue>), <fpage>8809</fpage>&#x2013;<lpage>8817</lpage>. <pub-id pub-id-type="doi">10.1109/tie.2018.2811363</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ouyang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Adaptive spiral flying sparrow search algorithm</article-title>. <source>Sci. Program.</source> <volume>2021</volume> (<issue>1</issue>), <fpage>1</fpage>&#x2013;<lpage>16</lpage>. <pub-id pub-id-type="doi">10.1155/2021/6505253</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Qiao</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Dynamic power dispatch considering electric vehicles and wind power using decomposition based multi-objective evolutionary algorithm</article-title>. <source>Energies</source> <volume>10</volume> (<issue>12</issue>), <fpage>1991</fpage>. <pub-id pub-id-type="doi">10.3390/en10121991</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Saha</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Bazmohammadi</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Raya-Armenta</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Bintoudi</surname>
<given-names>A. D.</given-names>
</name>
<name>
<surname>Lashab</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Vasquez</surname>
<given-names>J. C.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Optimal sizing and siting of PV and battery based space microgrids near the moon&#x2019;s shackleton crater</article-title>. <source>IEEE Access</source> <volume>11</volume>, <fpage>8701</fpage>&#x2013;<lpage>8717</lpage>. <pub-id pub-id-type="doi">10.1109/access.2023.3239303</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Shan</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Prediction of Luoma Lake water level based on improved ICEEMDAN-LSTM model</article-title>. In: <conf-name>2022 7th international conference on computational intelligence and applications (ICCIA)</conf-name>; <conf-date>2022 June 24&#x2013;26</conf-date>; <conf-loc>Nanjing, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>95</fpage>&#x2013;<lpage>102</lpage>.</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiao</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Integrated risk measurement and control for stochastic energy trading of a wind storage system in electricity markets</article-title>. <source>Prot. Control Mod. Power Syst.</source> <volume>8</volume> (<issue>4</issue>), <fpage>60</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1186/s41601-023-00329-3</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Smart grid energy storage capacity planning and scheduling optimization through PSO-GRU and multihead-attention</article-title>. <source>Front. Energy Res.</source> <volume>11</volume>, <fpage>1254371</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2023.1254371</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>An IGDT-based day-ahead co-optimization of energy and reserve in a VPP considering multiple uncertainties</article-title>. <source>IEEE Trans. Industry Appl.</source> <volume>58</volume> (<issue>3</issue>), <fpage>4037</fpage>&#x2013;<lpage>4049</lpage>. <pub-id pub-id-type="doi">10.1109/tia.2022.3152454</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Range-free localization scheme based on a reconstructed marine predators algorithm with adaptive enhancement for wireless sensor networks</article-title>. <source>IEEE Access</source> <volume>12</volume>, <fpage>59702</fpage>&#x2013;<lpage>59715</lpage>. <pub-id pub-id-type="doi">10.1109/access.2024.3388497</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Research on multi-objective microgrid operation optimization based on improved particle swarm optimization</article-title>. In: <conf-name>2024 4th international conference on electrical engineering and mechatronics Technology (ICEEMT)</conf-name>; <conf-date>2024 July 05&#x2013;07</conf-date>; <conf-loc>Hangzhou, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>161</fpage>&#x2013;<lpage>165</lpage>.</citation>
</ref>
<ref id="B23">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Initial clustering center optimization and feature auto-weighting for k-means clustering algorithm</article-title>. In: <conf-name>2022 international conference on machine learning and intelligent systems engineering (MLISE)</conf-name>; <conf-date>2022 August 05&#x2013;07</conf-date>; <conf-loc>Guangzhou, China</conf-loc>: <publisher-name>IEEE</publisher-name>, <fpage>142</fpage>&#x2013;<lpage>145</lpage>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Multi-timescale reactive power optimization and regulation method for distribution networks under a multi-source interaction environment</article-title>. <source>Processes</source> <volume>12</volume> (<issue>10</issue>), <fpage>2254</fpage>. <pub-id pub-id-type="doi">10.3390/pr12102254</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Coordinated frequency regulation of smart grid by demand side response and variable speed wind turbines</article-title>. <source>Front. Energy Res.</source> <volume>9</volume>, <fpage>754057</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2021.754057</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>