<?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">1612065</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2025.1612065</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>Coordinated multi-level scheduling method considering uncertainty of renewable energy and load</article-title>
<alt-title alt-title-type="left-running-head">Song 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.1612065">10.3389/fenrg.2025.1612065</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Song</surname>
<given-names>Bingbing</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Qin</surname>
<given-names>Kangping</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wen</surname>
<given-names>Min</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Zhu</surname>
<given-names>Moyan</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3027893/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zou</surname>
<given-names>Kaiming</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>He</surname>
<given-names>Guangyu</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>East China Branch of State Grid Corporation of China</institution>, <addr-line>Shanghai</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>Key Laboratory of Control of Power Transmission and Conversion, <institution>Ministry of Education Shanghai Jiao Tong University</institution>, <addr-line>Shanghai</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/1056888/overview">Morteza Nazari-Heris</ext-link>, East Carolina University, United States</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/2588714/overview">Haitham A. Mahmoud</ext-link>, King Saud University, Saudi Arabia</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3055802/overview">Chengwei Lou</ext-link>, China Agricultural University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Moyan Zhu, <email>13401839932@sjtu.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>18</day>
<month>08</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>13</volume>
<elocation-id>1612065</elocation-id>
<history>
<date date-type="received">
<day>15</day>
<month>04</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>04</day>
<month>07</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Song, Qin, Wen, Zhu, Zou and He.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Song, Qin, Wen, Zhu, Zou and He</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>As renewable energy continues to be widely integrated, the energy structure is gradually transforming. The increasing grid connection of wind and photovoltaic power signifies a major shift in the energy mix. This change is particularly evident in heavy load areas at the regional grid and provincial dispatch levels, where uncertainties on both the supply and demand sides impact the daily operation of power systems. New dispatch strategies are urgently needed to address these uncertainties. This paper introduces a two-stage day-ahead and intra-day coordinated multi-level dispatch method that considers both the regional-level and provincial-level power systems, addressing supply-demand uncertainties from the perspective of regional grid-level and unmet load peak shaving. Unmet load refers to the load that cannot be met solely by the output of regional grid units. At the regional grid level, a unit dispatch model for unmet load peak shaving is developed. We introduce the concept of unmet load and, based on peak-valley weighting, propose a multi-province load peak shaving method, improving the approach to unmet load considerations. At the provincial level, a two-stage robust optimization dispatch model is constructed based on regional grid dispatch, and it is solved using the Karush-Kuhn-Tucker conditions and the Column-and-Constraint Generation (C&#x26;CG) algorithm. Finally, case study results validate the proposed model&#x2019;s effectiveness, demonstrating its ability to provide an optimized coordinated grid-provincial dispatch strategy under supply-demand uncertainty.</p>
</abstract>
<kwd-group>
<kwd>uncertainty</kwd>
<kwd>coordinated scheduling</kwd>
<kwd>unmet load</kwd>
<kwd>peak shaving</kwd>
<kwd>robust optimization</kwd>
<kwd>C&#x26;CG</kwd>
</kwd-group>
<contract-num rid="cn001">529924240008</contract-num>
<contract-sponsor id="cn001">Science and Technology Project of State Grid<named-content content-type="fundref-id">10.13039/501100013096</named-content>
</contract-sponsor>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Smart Grids</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In the current context of widespread integration of renewable energy, considering the high degree of new energy integration in large-scale grid dispatch, the system is prone to fluctuations due to load and the variability in wind and solar power outputs, and is more susceptible to peak load situations, increasing the risk to power safety. It is particularly crucial to consider dispatch strategies at both regional grid and provincial levels to ensure power balance during peak load periods and to coordinate regional and provincial dispatch strategies. This aims to ensure stable power supply at the regional grid level and promote the consumption of new energy at the provincial level, thereby maximizing the safety of large-scale power grids.</p>
<p>At the regional grid level, the impact of new energy is significantly amplified due to the integration of multi-provincial loads, making it highly likely to encounter peak load situations during daily operations. Taking the East China Grid as an example, which mainly supplies power to Shanghai, Jiangsu, Zhejiang, Fujian, and Anhui, the daily power supply pressure is substantial, and it frequently participates in inter-provincial power dispatch (<xref ref-type="bibr" rid="B9">Li et al., 2024</xref>). Considering the limitations of line capacity and the cost of power adjustments in conventional units, using energy storage systems for cross-time scale power dispatch is an effective solution. Energy storage offers flexibility, efficiency, adjustability, rapid response, and environmental friendliness. <xref ref-type="bibr" rid="B11">Liu and Peng (2024)</xref> proposes a peak load transfer optimization model for wind-power-energy hybrid energy system based on situational awareness theory. <xref ref-type="bibr" rid="B16">Uddin et al. (2018)</xref> discusses on possible challenges and future research directions for each type of the strategy. <xref ref-type="bibr" rid="B4">Chua et al. (2016)</xref> provide an effective sizing method and an optimal peak shaving strategy for an energy storage system to reduce the electrical peak demand of the customers. <xref ref-type="bibr" rid="B12">Luo et al. (2024)</xref>, <xref ref-type="bibr" rid="B28">Zhao et al. (2024)</xref>, <xref ref-type="bibr" rid="B3">Cheng et al. (2018)</xref>; <xref ref-type="bibr" rid="B10">Liao et al. (2024)</xref> construct different short-term peak-shaving frameworks to address the modeling challenge and optimization difficulty. <xref ref-type="bibr" rid="B17">Wallberg et al. (2024)</xref> presents a control algorithm that uses a negative correlation scheme, adjusted to the local grid load, to effectively manage the battery energy storage. <xref ref-type="bibr" rid="B6">Jin et al. (2022)</xref> uses flexible hydropower to buffer the volatility and the randomness of RE sources and aid peak shaving in response to the transition towards sustainability. <xref ref-type="bibr" rid="B19">Wang et al. (2021)</xref> proposes a nonlinear programming model to solve this problem. The research on energy storage for peak shaving is well-established, yet there is limited focus on regional grid-level dispatch scenarios. This paper takes into account the common issue of insufficient unit output at the regional grid level and considers the resulting unmet load situations. By utilizing energy storage systems to perform peak shaving and valley filling across multiple provinces, this study extends the objectives of peak shaving and valley filling to include reducing the fluctuations in unmet load.</p>
<p>At the provincial dispatch level, the main responsibility lies in accommodating the consumption of new energy after implementing unmet load peak shaving at the regional grid level. <xref ref-type="bibr" rid="B5">Dong et al. (2024)</xref> studies the operation and scheduling problem of virtual power plant with the collaborative optimization of multiple flexible loads and new energy, and improves the mismatch between power supply and demand through the efficient aggregation and optimal control of new energy and demand-side resources. <xref ref-type="bibr" rid="B22">Yang et al. (2024)</xref> designs a two-stage scheduling optimization framework to minimize the operating cost in the day-ahead phase and the system deviation cost in the intra-day phase. However, given the increasingly complex operational environment and various uncertainties, traditional optimization methods often fall short of meeting practical operational needs. The two-stage robust optimization method, an emerging optimization technology, has garnered considerable attention in recent years. This method has broad applicability in the field of power systems, whether in power market design, generation dispatch, or grid planning. By incorporating the two-stage robust optimization approach, complex issues in actual operations can be effectively addressed. Especially in the areas of new energy grid integration and inter-regional power trading, this method can effectively overcome challenges posed by uncertainties, ensuring efficient operation of the power system and optimal resource allocation. <xref ref-type="bibr" rid="B27">Zhao and Guan (2015)</xref> develops stochastic optimization models and solution methods to improve reliability unit commitment run practice. <xref ref-type="bibr" rid="B2">B&#xfc;sing and Schmitz (2024)</xref>, <xref ref-type="bibr" rid="B29">Zhu et al. (2024)</xref>, <xref ref-type="bibr" rid="B14">Niu et al. (2022)</xref>, <xref ref-type="bibr" rid="B18">Wang et al. (2022)</xref>, <xref ref-type="bibr" rid="B7">Kong et al. (2022)</xref> study different two-stage robust optimization method under uncertainty of different variables. <xref ref-type="bibr" rid="B24">Zeng and Zhao (2013)</xref> present a column-and-constraint generation algorithm to solve two-stage robust optimization problems. <xref ref-type="bibr" rid="B23">Yang et al. (2023)</xref> proposes a distributed robust optimal scheduling method for microgrid based on discrete scenarios. <xref ref-type="bibr" rid="B1">Bendotti et al. (2023)</xref> proposes the anchor-robust approach as a middle ground between guaranteeing starting times and guaranteeing the thought.</p>
<p>This paper primarily introduces a two-stage robust optimization model under the coordination of regional grid-level dispatch. Based on regional grid dispatch strategies, it considers provincial dispatch under the influence of new energy sources. It also takes into account constraints such as tie-line power and inter-provincial electricity trading, aiming to minimize economic costs. The solution is obtained through iterative calculations.</p>
</sec>
<sec sec-type="materials|methods" id="s2">
<title>2 Materials and methods</title>
<p>
<xref ref-type="fig" rid="F1">Figure 1</xref> shows the model architecture in this document.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Model framework diagram.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g001.tif">
<alt-text content-type="machine-generated">Flowchart illustrating a two-level dispatch model. The top section shows the Regional Grid-Level Dispatch Model, focusing on minimizing the variance of unmet load with variables for peak periods and penalty functions. The bottom section depicts the Provincial-Level Dispatch Model, including a master problem with variables for energy storage and power trading plans. It features iterative processes to update parameters, constraints, and bounds, utilizing KKT conditions and addressing worst-case scenarios with variables for power and frequency. Arrows indicate the flow between components and stages.</alt-text>
</graphic>
</fig>
<sec id="s2-1">
<title>2.1 Model formulation</title>
<sec id="s2-1-1">
<title>2.1.1 Regional grid-level dispatch model</title>
<p>The dispatch optimization problem at the regional grid level studied in this paper involves two types of units: conventional generation units and pumped-storage power stations. The main constraints can be categorized as follows:</p>
<p>Controllable Conventional Unit Constraints:</p>
<p>Ramping Constraint <xref ref-type="disp-formula" rid="e1">Equation 1</xref>:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>In the formula, t denotes the time period index, and p represents the province index. <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the generation power at time t&#x2b;1 and t respectively. <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the ramp rate limit of the thermal power unit, indicating the maximum increase or decrease in output per unit time.</p>
<p>Unit Output Boundary Constraint <xref ref-type="disp-formula" rid="e2">Equation 2</xref>:<disp-formula id="e2">
<mml:math id="m4">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>In the formula, <inline-formula id="inf3">
<mml:math id="m5">
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> denotes the maximum output of the unit, and the constraint is defined with a zero lower bound, which applies to the generation stage of all units.</p>
<p>Pumped-Storage Unit Constraints <xref ref-type="disp-formula" rid="e3">Equations 3</xref>&#x2013;<xref ref-type="disp-formula" rid="e7">7</xref>:</p>
<p>Pumped-Storage Unit Equality Constraints, including water level conversion power constraint and power balance constraint:<disp-formula id="e3">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>g</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m7">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="1.50em"/>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mi>&#x3c1;</mml:mi>
<mml:msup>
<mml:mi>V</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>The boundary constraints of pumped -storage units include energy boundary constraints as well as pumping and generating power constraints:<disp-formula id="e6">
<mml:math id="m9">
<mml:mrow>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>min</mml:mi>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m10">
<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>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</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>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>In the formula, <inline-formula id="inf4">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the equivalent stored energy of the pumped-storage unit at time period t; <inline-formula id="inf5">
<mml:math id="m12">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the equivalent energy change corresponding to the variation in water level; <inline-formula id="inf6">
<mml:math id="m13">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> respectively refer to the mass of water in the reservoir, gravitational acceleration, water level height, water density, volume, and bottom area; <inline-formula id="inf7">
<mml:math id="m14">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the pumping and generating power of the pumped-storage unit at time period t; <inline-formula id="inf8">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the efficiency of pumping and power generation for the pumped-storage station; <inline-formula id="inf9">
<mml:math id="m16">
<mml:mrow>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>min</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> denote the minimum and maximum stored energy of the pumped-storage station; <inline-formula id="inf10">
<mml:math id="m17">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the maximum output for both pumping and generating; and <inline-formula id="inf11">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the pumping status of the pumped-storage station at time period t, and they are Boolean variables.</p>
<p>Unit Output Proportion Constraint <xref ref-type="disp-formula" rid="e8">Equation 8</xref>:</p>
<p>The output of all types of units needs to be allocated to each provincial grid according to the agreed proportions, and during the pumping period, the corresponding proportion of grid power is also consumed accordingly.<disp-formula id="e8">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>In the formula, <inline-formula id="inf12">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the output power of the <italic>g</italic>th unit to province p at time period t; <inline-formula id="inf13">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the power transmission ratio of the <italic>g</italic>th unit to the province p.</p>
</sec>
<sec id="s2-1-2">
<title>2.1.2 Provincial-level dispatch model</title>
<p>The provincial two-stage robust optimization model presented in this paper is based on the unit dispatch data obtained from the regional grid-level dispatch strategy after load peak shaving. It addresses the source-load uncertainty problem under the integration of renewable energy.</p>
<p>Controllable Generation Units:</p>
<p>Controllable generation units include adjustable gas turbines, diesel generators, and others. After linearization, their cost function can be expressed as a linear function of their generation power <xref ref-type="disp-formula" rid="e9">Equation 9</xref>:<disp-formula id="e9">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>In the formula, <inline-formula id="inf14">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the generation power of the unit at time period t; a, b are the cost coefficients; and <inline-formula id="inf15">
<mml:math id="m24">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the duration of each time period.</p>
<p>Output Power Constraint <xref ref-type="disp-formula" rid="e10">Equation 10</xref>:<disp-formula id="e10">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>In the formula, <inline-formula id="inf16">
<mml:math id="m26">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denote the minimum and maximum generation power of the unit, respectively.</p>
<p>Energy Storage Components.</p>
<p>The cost of energy storage components is the cost associated with the charging and discharging processes, which can be expressed as <xref ref-type="disp-formula" rid="e11">Equation 11</xref>:<disp-formula id="e11">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>In the formula, <inline-formula id="inf17">
<mml:math id="m28">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represent the charging and discharging power of the energy storage at time period t; <inline-formula id="inf18">
<mml:math id="m29">
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the charging and discharging efficiency; and <inline-formula id="inf19">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the unit charging and discharging cost.</p>
<p>The constraints that the energy storage components must satisfy are as follows <xref ref-type="disp-formula" rid="e12">Equation 12</xref>:<disp-formula id="e12">
<mml:math id="m31">
<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>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mi>s</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<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>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mi>s</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>min</mml:mi>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b7;</mml:mi>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mfrac>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>In the formula, <inline-formula id="inf20">
<mml:math id="m32">
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> represents the maximum allowable output of the energy storage; <inline-formula id="inf21">
<mml:math id="m33">
<mml:mrow>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is a Boolean variable indicating the charging or discharging state of the energy storage; and <inline-formula id="inf22">
<mml:math id="m34">
<mml:mrow>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>min</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>E</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> denote the lower and upper bounds of the energy storage capacity.</p>
<p>Demand Response Load:</p>
<p>The flexible scheduling process of demand response load is considered in <xref ref-type="bibr" rid="B25">Zhang et al. (2025a)</xref>, <xref ref-type="bibr" rid="B26">Zhang et al. (2025b)</xref>, <xref ref-type="bibr" rid="B20">Wang et al. (2025)</xref>; <xref ref-type="bibr" rid="B8">Li et al. (2025)</xref>; <xref ref-type="bibr" rid="B15">Shao et al. (2024)</xref>. Under the condition that the electricity usage characteristics meet the requirements for providing demand response services, the grid can adjust users&#x2019; electricity consumption plans while providing appropriate compensation to the users. Thus, the adjustment cost of the demand response load is expressed as <xref ref-type="disp-formula" rid="e13">Equation 13</xref>:<disp-formula id="e13">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>The constraints that need to be satisfied are as follows <xref ref-type="disp-formula" rid="e14">Equation 14</xref>:<disp-formula id="e14">
<mml:math id="m36">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>In the formula, <inline-formula id="inf23">
<mml:math id="m37">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the actual dispatch power of the demand response load at time period t; <inline-formula id="inf24">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the total electricity demand across all time periods; <inline-formula id="inf25">
<mml:math id="m39">
<mml:mrow>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denote the minimum and maximum demand response load at time period t, respectively.</p>
<p>Since <xref ref-type="disp-formula" rid="e13">Equation 13</xref> is a nonlinear function, auxiliary variables are introduced to linearize it. The final cost function and constraints are expressed as <xref ref-type="disp-formula" rid="e15">Equations 15</xref>, <xref ref-type="disp-formula" rid="e16">16</xref>:<disp-formula id="e15">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m41">
<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:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>In the formula, <inline-formula id="inf26">
<mml:math id="m42">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the linearized auxiliary variables.</p>
<p>Power Trading Interaction:</p>
<p>When the generation output cannot meet the actual load demand, power needs to be purchased from other sectors, and when there is excess power, it can be sold to others.</p>
<p>The power trading process needs to satisfy the basic power balance <xref ref-type="disp-formula" rid="e17">Equation 17</xref>:<disp-formula id="e17">
<mml:math id="m43">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="5em"/>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>In the formula, <inline-formula id="inf27">
<mml:math id="m44">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represent the power purchased or sold at time period t; <inline-formula id="inf28">
<mml:math id="m45">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denote the load data and photovoltaic generation data at time period t, respectively.</p>
<p>The cost function and constraints of power trading are expressed as follows <xref ref-type="disp-formula" rid="e18">Equations 18</xref>, <xref ref-type="disp-formula" rid="e19">19</xref>:<disp-formula id="e18">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m47">
<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>t</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<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>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>In the formula, <inline-formula id="inf29">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the day-ahead transaction price; <inline-formula id="inf30">
<mml:math id="m49">
<mml:mrow>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is a Boolean variable indicating the purchase or sale state; and <inline-formula id="inf31">
<mml:math id="m50">
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the maximum exchange power.</p>
<p>In summary, the objective function of this model is to minimize the dispatch cost, expressed as <xref ref-type="disp-formula" rid="e20">Equation 20</xref>:<disp-formula id="e20">
<mml:math id="m51">
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>Uncertain Parameters:</p>
<p>To address the conservativeness of robust optimization results, uncertain parameter variables and the maximum values of these parameters are incorporated into the model to limit the frequency of photovoltaic and load data reaching the worst-case scenarios, ensuring that the overall model result is not overly conservative <xref ref-type="disp-formula" rid="e21">Equation 21</xref>:<disp-formula id="e21">
<mml:math id="m52">
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>The uncertain parameter is a Boolean variable indicating whether the worst-case scenario is reached, used to control the actual values of photovoltaic and load data in the optimization model. Typically, the worst-case scenario occurs when photovoltaic generation is insufficient while load demand is high. Thus, the model considers the lower bound deviation of photovoltaic generation and the upper bound deviation of load demand.<disp-formula id="e22">
<mml:math id="m53">
<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:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>In the formula <xref ref-type="disp-formula" rid="e22">Equation 22</xref>, <inline-formula id="inf32">
<mml:math id="m54">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represent the predicted values of photovoltaic and load data, respectively, while <inline-formula id="inf33">
<mml:math id="m55">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denote the deviation values of photovoltaic and load power at time period t obtained through fuzzy clustering.</p>
<p>Additionally, the uncertain parameters need to satisfy boundary constraints <xref ref-type="disp-formula" rid="e23">Equation 23</xref>:<disp-formula id="e23">
<mml:math id="m56">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>In the formula, <inline-formula id="inf34">
<mml:math id="m57">
<mml:mrow>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denote the upper limit of the uncertain parameter. The larger the upper limit, the more conservative the model results will be.</p>
</sec>
</sec>
<sec id="s2-2">
<title>2.2 Solution method</title>
<sec id="s2-2-1">
<title>2.2.1 Regional grid-level dispatch objective: Minimization of unmet load fluctuation</title>
<p>Based on the aforementioned variables and constraints, the optimization model is established. The primary objective at the regional grid-level is to use the output of generation units and pumped-storage power stations to smooth the unmet load curves of each province, thereby reducing the impact of peak loads on provincial-level dispatch. To achieve this goal, referring to the generation dispatch function of the Chinese power system, the minimization of the variance of unmet loads is selected as the objective function (<xref ref-type="bibr" rid="B13">Meng et al., 2023</xref>; <xref ref-type="bibr" rid="B21">Wang et al., 2023</xref>).</p>
<p>Thus, the objective function of this optimization problem is <xref ref-type="disp-formula" rid="e24">Equation 24</xref>:<disp-formula id="e24">
<mml:math id="m58">
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>/</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>Since there is a corresponding load variance for each province, this model is a multi-objective optimization problem. The weighted sum method is used to combine multiple objectives into an equivalent scalar objective.</p>
<p>To avoid unreasonable results caused by large differences in load magnitudes among provincial grids, the total accepted generation output is normalized. Then, the objective functions of different provinces are integrated into a single objective using appropriate weighting coefficients.</p>
<p>Therefore, the composite objective function can be expressed as:<disp-formula id="e25">
<mml:math id="m59">
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msubsup>
<mml:mi>j</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>In the formula <xref ref-type="disp-formula" rid="e25">Equation 25</xref>, <inline-formula id="inf35">
<mml:math id="m60">
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msubsup>
<mml:mi>j</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the normalized form of the objective function for province p.<disp-formula id="e26">
<mml:math id="m61">
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msubsup>
<mml:mi>j</mml:mi>
<mml:mi>p</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>/</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>In the formula <xref ref-type="disp-formula" rid="e26">Equation 26</xref>, <inline-formula id="inf36">
<mml:math id="m62">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the weight of province p in the objective function, and <inline-formula id="inf37">
<mml:math id="m63">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the maximum value in the load curve of province p.</p>
<p>By substituting the sum of generation outputs into <xref ref-type="disp-formula" rid="e25">Equation 25</xref>, we obtain <xref ref-type="disp-formula" rid="e27">Equation 27</xref>:<disp-formula id="e27">
<mml:math id="m64">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mfrac>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="4.50em"/>
<mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>G</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>G</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>Considering the separate optimization of peak and valley period variances, the two optimization objectives are weighted to transform the multi-objective problem into a single-objective problem again, as expressed by <xref ref-type="disp-formula" rid="e28">Equation 28</xref>:<disp-formula id="e28">
<mml:math id="m65">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="4.50em"/>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>In the formula, <inline-formula id="inf38">
<mml:math id="m66">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the weights for peak and valley periods set in this study, and <inline-formula id="inf39">
<mml:math id="m67">
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> correspond to the objective functions for peak and valley periods, respectively.</p>
<p>Thus, through the above formula transformations, the multi-objective problem is converted into a single-objective problem. In this model, the objective function is a quadratic function of the decision variables.</p>
<p>The power balance constraints in this model cannot be satisfied. However, research tests show that merely removing the power balance constraints leads to passive output from conventional generation units and non-unique solutions. The primary reason is that the relaxation of constraints is too excessive, requiring additional constraints or changes to the objective function.</p>
<p>This study adopts the penalty function method, adding penalty terms to the objective function in <xref ref-type="disp-formula" rid="e28">Equation 28</xref>, as shown in <xref ref-type="disp-formula" rid="e29">Equation 29</xref>:<disp-formula id="e29">
<mml:math id="m68">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>G</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="1.50em"/>
<mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>G</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>The construction of the penalty function is derived from the weighting method. In the formula, the max function is used to determine whether the maximum generation output of units at time period ttt can meet the load demand. If it cannot be met, unmet load is generated. The difference is used as a weight and multiplied by the difference between the actual unit output and the load. By adding this penalty term to the original objective function in <xref ref-type="disp-formula" rid="e28">Equation 28</xref>, the issue of passive output from conventional generation units can be resolved.</p>
<p>The objective function after adding the penalty term is shown in <xref ref-type="disp-formula" rid="e30">Equation 30</xref>:<disp-formula id="e30">
<mml:math id="m69">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="4em"/>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>h</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:msub>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="4em"/>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>where:<disp-formula id="e31">
<mml:math id="m70">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>G</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>In the formula <xref ref-type="disp-formula" rid="e31">Equation 31</xref>, <inline-formula id="inf40">
<mml:math id="m71">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denotes the total received generation output of grid p at time period t; <inline-formula id="inf41">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the power transmission of unit g to grid p at time period t; and T is the total number of time periods.</p>
<p>The highest degree term of the objective function in this model is quadratic. Therefore, this optimization problem is a quadratic programming problem. To prove that the model can converge to the global optimum, the compact form of the model is presented as follows <xref ref-type="disp-formula" rid="e32">Equation 32</xref>:<disp-formula id="e32">
<mml:math id="m73">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold">bx</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Dx</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">d</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>In the compact form, <inline-formula id="inf42">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mtext mathvariant="bold">eq</mml:mtext>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represent the constraint coefficient matrix in the model, and <inline-formula id="inf43">
<mml:math id="m75">
<mml:mrow>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf44">
<mml:math id="m76">
<mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are the constant matrixes corresponding to the constraints. Since the coefficient matrix <inline-formula id="inf45">
<mml:math id="m77">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> of the quadratic term in the objective function is a symmetric matrix, its eigenvalues are real numbers. By solving the eigenvalue equation, It can be concluded that all eigenvalues are non-negative, indicating that a is a positive semi-definite matrix. Thus, this problem is a convex quadratic optimization problem. For convex optimization, under the conditions that are satisfied, any local optimal solution is a global optimal solution, and this problem is solvable within polynomial time.</p>
</sec>
<sec id="s2-2-2">
<title>2.2.2 Provincial-level dispatch objective: minimization of economic cost</title>
<p>The provincial two-stage robust dispatch model constructed in this paper is mainly solved in two stages: the master problem and the sub-problem.</p>
<p>The compact form of the provincial-level dispatch problem is as follows:<disp-formula id="e33">
<mml:math id="m78">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:munder>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="bold">cy</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Ex</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Mu</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>In the formula <xref ref-type="disp-formula" rid="e33">Equation 33</xref>, the variables represented by x <xref ref-type="disp-formula" rid="e34">Equation 34</xref>, are:<disp-formula id="e34">
<mml:math id="m80">
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>The variables represented by y <xref ref-type="disp-formula" rid="e35">Equation 35</xref> are:<disp-formula id="e35">
<mml:math id="m82">
<mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>
<xref ref-type="disp-formula" rid="e36">Equation 36</xref> indicates the frequency of reaching the worst-case scenarios.<disp-formula id="e36">
<mml:math id="m84">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>B</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(36)</label>
</disp-formula>
<inline-formula id="inf49">
<mml:math id="m85">
<mml:mrow>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf50">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> respectively denote the coefficient matrices corresponding to inequality and equality constraints.</p>
<p>For the objective function, it is divided into two layers, the inner and the outer. The outer layer <inline-formula id="inf51">
<mml:math id="m87">
<mml:mrow>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents finding the minimum value of the inner function and making decisions on the variables <inline-formula id="inf52">
<mml:math id="m88">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, so that <inline-formula id="inf53">
<mml:math id="m89">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can be used as a constant term in the inner layer&#x2019;s solution. The inner function <inline-formula id="inf54">
<mml:math id="m90">
<mml:mrow>
<mml:munder>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="bold">cy</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the cost minimization result under the worst-case scenario. The feasible region <inline-formula id="inf55">
<mml:math id="m91">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is defined by the feasible values of variables <inline-formula id="inf56">
<mml:math id="m92">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and uncertain parameters <inline-formula id="inf57">
<mml:math id="m93">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The function <inline-formula id="inf58">
<mml:math id="m94">
<mml:mrow>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="bold">cy</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the optimization result within this feasible region, while <inline-formula id="inf59">
<mml:math id="m95">
<mml:mrow>
<mml:munder>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> identifies the scenario with the worst-case photovoltaic and load values among all cost minimization results.</p>
<p>Based on the above analysis, the master problem and sub-problem can be organized as follows:</p>
<p>The master problem focuses on making decisions for the state variables of energy storage and power trading in the day-ahead stage, using the predicted photovoltaic and load data to optimize and obtain the lower bound of the final solution, as shown in <xref ref-type="disp-formula" rid="e37">Equation 37</xref>:<disp-formula id="e37">
<mml:math id="m96">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">cy</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Mu</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Ex</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(37)</label>
</disp-formula>The sub-problem is solved in the intraday stage, where, based on the already determined values of <inline-formula id="inf60">
<mml:math id="m97">
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the goal is to find the cost-minimizing decision under the worst-case scenario, as shown in <xref ref-type="disp-formula" rid="e38">Equation 38</xref>.<disp-formula id="e38">
<mml:math id="m98">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>max min</mml:mtext>
<mml:mi mathvariant="bold"> cy</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="-2em"/>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Mu</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(38)</label>
</disp-formula>For the two-stage robust optimization model above, this study uses the Column-and- Constraint Generation (C&#x26;CG) algorithm to solve it. The C&#x26;CG algorithm achieves the optimal solution of the original problem by decomposing it into a master problem and a sub-problem and solving them iteratively in an alternating manner. The main solution logic is illustrated in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Flowchart of the C&#x26;CG algorithm.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g002.tif">
<alt-text content-type="machine-generated">Flowchart outlining a computational procedure. It starts with initializing variables LB and UB. The master problem is solved, and the scheduling result updates LB. The optimal scheduling result is fixed to solve the subproblem. The target value and scenario probability update UB. If the difference between LB and UB is less than a threshold, the final results are outputted. Otherwise, variables and constraints are updated, and the process repeats. The procedure ends once the condition is satisfied.</alt-text>
</graphic>
</fig>
<p>In the process of solving the master problem using the C&#x26;CG algorithm, variables and constraints related to the sub-problem are continuously introduced, allowing for a tighter lower bound of the original objective function value, thereby effectively reducing the number of iterations.</p>
<p>The master problem and sub-problem of the provincial-level dispatch are given by <xref ref-type="disp-formula" rid="e37">Equations 37</xref> and <xref ref-type="disp-formula" rid="e38">38</xref> above. During the iterative process of the C&#x26;CG algorithm, the uncertain parameters and their corresponding constraints are dynamically updated. Thus, the formal representations of the master problem and sub-problem should be expressed as follows:</p>
<p>Master Problem <xref ref-type="disp-formula" rid="e39">Equation 39</xref>:<disp-formula id="e39">
<mml:math id="m99">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">cy</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Ex</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(39)</label>
</disp-formula>Subproblem <xref ref-type="disp-formula" rid="e40">Equation 40</xref>:<disp-formula id="e40">
<mml:math id="m100">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>max min </mml:mtext>
<mml:mi mathvariant="bold">cy</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(40)</label>
</disp-formula>fundinWhere <inline-formula id="inf61">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the value of the uncertain parameter selected in the <italic>k</italic>th iteration. In the sub-problem, the variables <inline-formula id="inf62">
<mml:math id="m102">
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> determined by the master problem are treated as constants.</p>
<p>Since the sub-problem is a bilevel problem, this study employs the KKT algorithm to reformulate the inner cost minimization problem into KKT conditions, transforming the bilevel problem into a single-level problem, as shown in <xref ref-type="disp-formula" rid="e41">Equation 41</xref>:<disp-formula id="e41">
<mml:math id="m103">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">c</mml:mi>
<mml:mi mathvariant="bold">y</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Gy</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(41)</label>
</disp-formula>It should be noted that the problem contains nonlinear constraints. By using the Big-M method to linearize the constraints, the sub-problem is ultimately converted into a single-level optimization problem, as shown in <xref ref-type="disp-formula" rid="e42">Equation 42</xref>:<disp-formula id="e42">
<mml:math id="m104">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">c</mml:mi>
<mml:mi mathvariant="bold">y</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi mathvariant="bold">k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>&#x221e;</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">Gy</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold">Mu</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>&#x221e;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>&#x221e;</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">l</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">h</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi mathvariant="bold">value</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>&#x221e;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">l</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>&#x221e;</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">G</mml:mi>
<mml:mi mathvariant="bold">eq</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>&#x221e;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">w</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(42)</label>
</disp-formula>In the formula, <inline-formula id="inf63">
<mml:math id="m105">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">w</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represent auxiliary operators in the Big-M method, all of which are Boolean variables; <inline-formula id="inf64">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>&#x221e;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a constant significantly larger than all parameters; <inline-formula id="inf65">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denote the Lagrange multipliers in the KKT transformation.</p>
</sec>
</sec>
</sec>
<sec sec-type="results|discussion" id="s3">
<title>3 Results and discussion</title>
<sec id="s3-1">
<title>3.1 Regional grid-level dispatch: minimizing the fluctuation of unmet load in each province</title>
<p>Given that the focus of this chapter is on multi-province load peak shaving, a dispatch model for multiple provinces is constructed.</p>
<p>In the inter-provincial dispatch model, four conventional generation units and two pumped-storage units supplying power to two provinces are considered, using 24-period load demand data. The weights for receiving generation output among different provinces are determined based on the ratio of the average load values of each province, and weighting for peak and valley periods is also taken into account.</p>
<p>The average load values of each province and the corresponding weights, generation allocation ratios, and unit data for each generation unit are shown in <xref ref-type="table" rid="T1">Tables 1</xref>&#x2013;<xref ref-type="table" rid="T3">3</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Average load values and weights of each province.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Province</th>
<th align="center">Average load (MW)</th>
<th align="center">Weight</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Province 1</td>
<td align="center">600</td>
<td align="center">0.4</td>
</tr>
<tr>
<td align="center">Province 2</td>
<td align="center">900</td>
<td align="center">0.6</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Generation unit allocation ratios.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Unit index</th>
<th align="center">Province 1<break/>Allocation ratio</th>
<th align="center">Province 2<break/>Allocation ratio</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Generation Unit 1</td>
<td align="center">0.6</td>
<td align="center">0.4</td>
</tr>
<tr>
<td align="center">Generation Unit 2</td>
<td align="center">0.6</td>
<td align="center">0.4</td>
</tr>
<tr>
<td align="center">Generation Unit 3</td>
<td align="center">0.5</td>
<td align="center">0.5</td>
</tr>
<tr>
<td align="center">Generation Unit 4</td>
<td align="center">0.5</td>
<td align="center">0.5</td>
</tr>
<tr>
<td align="center">Pumped-Storage Unit 1</td>
<td align="center">0.5</td>
<td align="center">0.5</td>
</tr>
<tr>
<td align="center">Pumped-Storage Unit 2</td>
<td align="center">0.4</td>
<td align="center">0.6</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Generation unit data.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Unit index</th>
<th align="center">Maximum output (MW)</th>
<th align="center">Maximum capacity (MWh)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Generation Unit1</td>
<td align="center">110</td>
<td align="center">&#x2014;</td>
</tr>
<tr>
<td align="center">Generation Unit2</td>
<td align="center">90</td>
<td align="center">&#x2014;</td>
</tr>
<tr>
<td align="center">Generation Unit3</td>
<td align="center">110</td>
<td align="center">&#x2014;</td>
</tr>
<tr>
<td align="center">Generation Unit4</td>
<td align="center">90</td>
<td align="center">&#x2014;</td>
</tr>
<tr>
<td align="center">Pumped-Storage Unit1</td>
<td align="center">50</td>
<td align="center">300</td>
</tr>
<tr>
<td align="center">Pumped-Storage Unit2</td>
<td align="center">50</td>
<td align="center">300</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>From the data in <xref ref-type="table" rid="T1">Table 1</xref>, it can be observed that the total maximum output of all units in this study is less than the average load of each province, indicating that the load demand cannot be met in every time period.</p>
<p>Based on the data from <xref ref-type="table" rid="T1">Tables 1</xref> and <xref ref-type="table" rid="T3">3</xref>, a model is constructed, and the results are shown in <xref ref-type="fig" rid="F3">Figures 3</xref>&#x2013;<xref ref-type="fig" rid="F8">8</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Pumped storage 1 status. <bold>(a)</bold> Pumped storage 1 Power. <bold>(b)</bold> Pumped storage 1 Energy.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g003.tif">
<alt-text content-type="machine-generated">Chart (a) displays a bar graph of power fluctuations over a time period, showing both positive and negative values. Chart (b) shows a bar graph of energy levels over the same period, generally increasing with some fluctuations. Both charts are labeled &#x22;Pumped storage 1&#x22; for power and energy, respectively.</alt-text>
</graphic>
</fig>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Pumped storage 2 status. <bold>(a)</bold> Pumped storage 2 Power. <bold>(b)</bold> Pumped storage 2 Energy.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g004.tif">
<alt-text content-type="machine-generated">Panel (a) is a bar chart showing &#x22;Pumped storage 2 Power&#x22; over time periods, with values fluctuating between approximately 40 and negative 50. Panel (b) is a bar chart showing &#x22;Pumped storage 2 Energy&#x22; over time periods, with values ranging from 0 to 300. Both charts use time periods along the x-axis.</alt-text>
</graphic>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Peak shaving results of unmet load in province 1.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g005.tif">
<alt-text content-type="machine-generated">Line graph titled &#x22;Load dispatch in Province 1&#x22; with three lines: blue for load curve, orange for total output, and green for residual load. Power is on the y-axis, and time period is on the x-axis. The load curve fluctuates between 300 and 450, total output varies between 200 and 300, and residual load remains near 200.</alt-text>
</graphic>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Peak shaving results of unmet load in province 2.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g006.tif">
<alt-text content-type="machine-generated">Line graph titled &#x22;Load dispatch in Province 2&#x22; showing power over time. Blue line represents the load curve, green line shows residual load, and orange line depicts total unit output. Time period is on the x-axis, and power is on the y-axis.</alt-text>
</graphic>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Total power received from conventional units in province 1.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g007.tif">
<alt-text content-type="machine-generated">Bar chart showing energy levels consistently at 210 across time periods from 0 to 24. The legend indicates &#x22;Generator power to 1.&#x22; The y-axis is labeled &#x22;Energy&#x22; and the x-axis is labeled &#x22;Time Period.&#x22;</alt-text>
</graphic>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Total power received from conventional units in province 2.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g008.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x22;Generator power to 2&#x22; displaying energy values over time periods. The y-axis shows energy ranging from 0 to 175, and the x-axis shows time periods from 0 to 23. Each bar is consistently at the 175 energy level.</alt-text>
</graphic>
</fig>
<p>As shown in <xref ref-type="fig" rid="F7">Figures 7</xref>, <xref ref-type="fig" rid="F8">8</xref>, the introduction of the penalty function allows conventional generation units to maintain a high power state even without power balance constraints, indicating that the penalty function construction in this study is effective. Additionally, as seen in <xref ref-type="fig" rid="F5">Figures 5</xref>, <xref ref-type="fig" rid="F6">6</xref>, the fluctuation degree of the unmet load stabilizes after peak shaving. For Province 1, the valley and peak periods stabilize at 100 MW and 200 MW, respectively, while for Province 2, they stabilize at 300 MW and 440 MW, respectively. This is beneficial for determining the output of backup generation units or the power output from electricity sellers. Stable power delivery can reduce the probability of power system incidents and increase economic benefits.</p>
</sec>
<sec id="s3-2">
<title>3.2 Provincial dispatch: robust optimization for uncertainty</title>
<p>The grid operation parameters 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>Grid operation parameters.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Unit type</th>
<th align="center">Parameter</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="center">Controllable<break/>Generation Unit</td>
<td align="center">Maximum Power</td>
<td align="center">800</td>
</tr>
<tr>
<td align="center">Minimum Power</td>
<td align="center">80</td>
</tr>
<tr>
<td align="center">Cost Coefficient (a/b)</td>
<td align="center">0.67/0</td>
</tr>
<tr>
<td rowspan="6" align="center">Energy Storage<break/>Component</td>
<td align="center">Maximum Power</td>
<td align="center">500</td>
</tr>
<tr>
<td align="center">Maximum Residual<break/>Capacity</td>
<td align="center">2000</td>
</tr>
<tr>
<td align="center">Minimum Residual<break/>Capacity</td>
<td align="center">450</td>
</tr>
<tr>
<td align="center">Initial Capacity</td>
<td align="center">900</td>
</tr>
<tr>
<td align="center">Cost Coefficient <inline-formula id="inf66">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">0.38</td>
</tr>
<tr>
<td align="center">Charging/Discharging<break/>Efficiency</td>
<td align="center">0.95</td>
</tr>
<tr>
<td rowspan="2" align="center">Demand Response Load</td>
<td align="center">Cost Coefficient <inline-formula id="inf67">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">0.32</td>
</tr>
<tr>
<td align="center">Total Demand</td>
<td align="center">2,900</td>
</tr>
<tr>
<td align="center">Power Trading Interaction</td>
<td align="center">Maximum Trading Power</td>
<td align="center">1,500</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>After 24 iterations, the model converged, and the upper and lower bound variation curves are shown in <xref ref-type="fig" rid="F9">Figure 9</xref>.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Upper and lower bound variation curves.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g009.tif">
<alt-text content-type="machine-generated">Line chart titled &#x22;Upper and lower bounds change curves&#x22; with an orange line representing the upper bound, slightly decreasing from 5075 to 5073 between points five and eight. A blue line represents the lower bound, rising from 5055 to 5059 by point one and remaining stable. The x-axis is labeled zero to eight, and the y-axis ranges from 5055 to 5075.</alt-text>
</graphic>
</fig>
<p>The final results are as follows: the upper bound value is approximately 5,068.342, and the lower bound value is approximately 5,057.569. The result using a standard economic dispatch program is 5,055.049, indicating that the model incurs additional costs to account for extreme scenarios while not deviating significantly from the results of general dispatch methods. This suggests that the model&#x2019;s solution is reliable.</p>
<p>The load demand curve and photovoltaic output curve are shown in <xref ref-type="fig" rid="F10">Figures 10</xref>, <xref ref-type="fig" rid="F11">11</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Load demand curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g010.tif">
<alt-text content-type="machine-generated">Line graph titled &#x22;Actual load output curve&#x22; depicting power over time. The x-axis represents the time period from 0 to 24, and the y-axis represents power from 600 to 1000. The curve shows fluctuations, peaking above 1000 around time 10, with various smaller peaks and a declining trend toward the end.</alt-text>
</graphic>
</fig>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Photovoltaic output curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g011.tif">
<alt-text content-type="machine-generated">Line graph titled &#x22;Actual PV output curve&#x22; showing power over time. Power, ranging from 0 to 1400, peaks sharply around 1000 at the midpoint of the time period axis, then declines symmetrically.</alt-text>
</graphic>
</fig>
<p>The power trading curve and day-ahead transaction price curve are shown in <xref ref-type="fig" rid="F12">Figures 12</xref>, <xref ref-type="fig" rid="F13">13</xref>.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Power trading curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g012.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x22;Purchase and sale of electricity curves&#x22; showing power on the vertical axis and time period on the horizontal axis. Blue bars represent purchase data, peaking around 800 to 1000 units at periods 0 to 7 and 20. Orange bars represent sales, peaking around 800 to 1000 units at periods 8 to 16.</alt-text>
</graphic>
</fig>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Day-ahead transaction price curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g013.tif">
<alt-text content-type="machine-generated">Bar chart showing day-ahead trading electricity prices over time periods. Prices range from zero to over two hundred. Peaks occur around periods ten and eighteen with prices reaching approximately one hundred seventy-five.</alt-text>
</graphic>
</fig>
<p>The controllable generation unit output curve and energy storage output curve are presented in <xref ref-type="fig" rid="F14">Figures 14</xref>, <xref ref-type="fig" rid="F15">15</xref>.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Controllable generation unit output curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g014.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x22;Controllable genset power,&#x22; showing power output over a time period. Power remains low at about 100 for the first eight periods, rises sharply to 800 from periods eight to twenty, and then drops back to about 100.</alt-text>
</graphic>
</fig>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Energy storage output curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g015.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x22;Energy storage output curve&#x22; showing power output over time. Blue bars at time periods 0 and 21 reach approximately 100 and 500. An orange bar at time period 10 peaks at around 500, with smaller orange bars at time periods 18 to 20.</alt-text>
</graphic>
</fig>
<p>The expected demand response plan and actual demand response load are shown in <xref ref-type="fig" rid="F16">Figures 16</xref>, <xref ref-type="fig" rid="F17">17</xref>.</p>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption>
<p>Expected demand response plan.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g016.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x22;Demand response Expectation&#x22; showing power usage over time periods. Power ranges from 0.4 to 1.4. There are initial low values, a peak between time periods 9 and 14, then consistent high values around 19 and 21 before dropping.</alt-text>
</graphic>
</fig>
<fig id="F17" position="float">
<label>FIGURE 17</label>
<caption>
<p>Demand response load curve.</p>
</caption>
<graphic xlink:href="fenrg-13-1612065-g017.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x22;Demand response power&#x22; showing power levels over time periods. Y-axis is labeled &#x22;Power&#x22; ranging from 0 to 200. Peaks appear at various intervals with notable drops around time periods 8 to 12.</alt-text>
</graphic>
</fig>
<p>As shown in <xref ref-type="fig" rid="F11">Figure 11</xref>, during periods 1 to 4 and 19 to 24, photovoltaic output is zero, indicating that the load demand is entirely met by controllable generation units, energy storage components, and power purchases. During these periods, when the day-ahead transaction price is lower than the generation cost of controllable units, the output power of controllable units is reduced to the minimum value, as shown in periods 0 to 6 in <xref ref-type="fig" rid="F12">Figures 12</xref>, <xref ref-type="fig" rid="F14">14</xref>. In the remaining periods, the output power of controllable units is increased to the maximum value to increase the power available for external sales, as seen in periods 7 to 16 and period 20 in <xref ref-type="fig" rid="F12">Figure 12</xref>, or to reduce the power purchase quantity, as shown in periods 17 to 19 and periods 21 and 22 in <xref ref-type="fig" rid="F12">Figure 12</xref>, thereby reducing operational costs.</p>
<p>As observed in <xref ref-type="fig" rid="F15">Figure 15</xref>, under the given pricing mechanism, the energy storage components are charged during periods 6 and 23 and discharged during periods 8, 19, and 20, thereby storing energy during low-price periods and selling it during high-price periods. In <xref ref-type="fig" rid="F16">Figure 16</xref>, the peak electricity price period corresponds to the peak of the expected demand response load plan. By redistributing the electricity demand from periods 18 to 22 to periods 1 to 6 and period 24, the total electricity demand and time-specific electricity constraints are satisfied, reducing the amount of energy that needs to be purchased during peak price periods.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s4">
<title>4 Conclusion</title>
<p>This paper primarily investigates the collaborative optimization strategy for regional grid-level and provincial-level dispatch under the influence of renewable energy, focusing on two main issues: peak load shaving in regional grid-level dispatch and uncertainty optimization in provincial-level dispatch.</p>
<p>At the regional grid-level dispatch stage, this paper delves into strategies for effective management of peak shaving and unmet load in a multi-province grid system using pumped-storage units. Traditional peak shaving and valley filling strategies primarily adjust grid operating modes to balance power supply and demand, reducing power consumption during peak periods and increasing power reserves during valley periods. By introducing power variance as the objective function of the optimization problem, this study not only aims to smooth the traditional load curve but also addresses the management of unmet load. Through analyzing the actual power dispatch scenarios between the East China grid and other provincial grids, the paper identifies potential issues of insufficient unit output in cross-regional power trading. To tackle this problem, the study proposes further exploration into the peak shaving demand caused by unmet load and how to manage it through optimized dispatch strategies. To effectively manage load and its residual components, a comprehensive planning method considering both load peak shaving and multi-province dispatch is proposed. By flexibly scheduling energy storage systems such as pumped-storage units, effective management of both load and unmet load can be achieved. This research provides a new perspective and approach for power system operation, enhancing the overall stability and reliability of the grid by addressing unmet load management in addition to traditional peak shaving and valley filling.</p>
<p>At the provincial-level dispatch stage, a two-stage robust optimization model is proposed to minimize economic costs. This model aims to enhance the operational efficiency and reliability of the power system by closely integrating day-ahead dispatch and real-time dispatch. Based on existing modeling methods considering source-load uncertainty, a two-stage robust optimization model is developed. The first stage, day-ahead dispatch, primarily determines the unit status for the following day, while the second stage, real-time dispatch, deals with uncertainties caused by forecast deviations. The model effectively decomposes the complex optimization problem into a master problem and sub-problems. Using the KKT condition algorithm and Column-and-Constraint Generation (C&#x26;CG) algorithm, the model can be solved, improving decision accuracy and execution speed. The effectiveness of the proposed two-stage robust optimization model is validated through specific case studies. The results show that this model can maintain power system stability and efficiency by appropriately increasing costs in the face of high uncertainty.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec sec-type="author-contributions" id="s6">
<title>Author contributions</title>
<p>BS: Funding acquisition, Writing &#x2013; original draft, Conceptualization. KQ: Methodology, Funding acquisition, Writing &#x2013; review and editing. MW: Writing &#x2013; review and editing, Conceptualization, Funding acquisition. MZ: Validation, Writing &#x2013; original draft. KZ: Validation, Writing &#x2013; review and editing, Writing &#x2013; original draft. GH: Methodology, Writing &#x2013; review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s7">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This work was supported by the Science and Technology Project of East China Branch of State Grid under Grant No. 529924240008. We would like to extend our sincere gratitude to all project collaborators and contributors for their invaluable insights and support throughout the research.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>Authors BS, KQ, and MW were employed by East China Branch of State Grid Corporation of China.</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
<p>The authors declare that this study received funding from East China Branch of State Grid. The funder had the following involvement in the study: providing access to power grid operational data and technical expertise.</p>
</sec>
<sec sec-type="ai-statement" id="s9">
<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="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bendotti</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Chr&#xe9;tienne</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Fouilhoux</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Pass-Lanneau</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>The anchor-robust project scheduling problem</article-title>. <source>Operations Res.</source> <volume>71</volume> (<issue>6</issue>), <fpage>2267</fpage>&#x2013;<lpage>2290</lpage>. <pub-id pub-id-type="doi">10.1287/opre.2022.2315</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>B&#xfc;sing</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Schmitz</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Robust two-stage combinatorial optimization problems under discrete demand uncertainties and consistent selection constraints</article-title>. <source>Discrete Appl. Math.</source> <volume>347</volume>, <fpage>187</fpage>&#x2013;<lpage>213</lpage>. <pub-id pub-id-type="doi">10.1016/j.dam.2023.12.028</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cheng</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>An MILP-based model for short-term peak shaving operation of pumped-storage hydropower plants serving multiple power grids</article-title>. <source>Energy</source> <volume>163</volume>, <fpage>722</fpage>&#x2013;<lpage>733</lpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2018.08.077</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chua</surname>
<given-names>K. H.</given-names>
</name>
<name>
<surname>Lim</surname>
<given-names>Y. S.</given-names>
</name>
<name>
<surname>Morris</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Energy storage system for peak shaving</article-title>. <source>Int. J. Energy Sect. Manag.</source> <volume>10</volume> (<issue>1</issue>), <fpage>3</fpage>&#x2013;<lpage>18</lpage>. <pub-id pub-id-type="doi">10.1108/ijesm-01-2015-0003</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dong</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Research on day-ahead optimal dispatching of virtual power plants considering the coordinated operation of diverse flexible loads and new energy</article-title>. <source>Energy</source> <volume>297</volume>, <fpage>131235</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2024.131235</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jin</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Z.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Wasserstein metric-based two-stage distributionally robust optimization model for optimal daily peak shaving dispatch of cascade hydro-plants under renewable energy uncertainties</article-title>. <source>Energy</source> <volume>260</volume>, <fpage>125107</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2022.125107</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kong</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Mi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A two-stage distributionally robust optimization model for optimizing water-hydrogen complementary operation under multiple uncertainties</article-title>. <source>J. Clean. Prod.</source> <volume>378</volume>, <fpage>134538</fpage>. <pub-id pub-id-type="doi">10.1016/j.jclepro.2022.134538</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>Energy management strategy for community prosumers aggregated VPP participation in the ancillary services market based on P2P trading</article-title>. <source>Appl. Energy</source> <volume>384</volume>, <fpage>125472</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2025.125472</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Fair trading strategy in multi-energy systems considering design optimization and demand response based on consumer psychology</article-title>. <source>Energy</source> <volume>306</volume>, <fpage>132393</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2024.132393</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>MILP model for short-term peak shaving of multi-grids using cascade hydropower considering discrete HVDC constraints</article-title>. <source>Renew. Energy</source> <volume>235</volume>, <fpage>121341</fpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2024.121341</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Research on peak load shifting for hybrid energy system with wind power and energy storage based on situation awareness</article-title>. <source>J. Energy Storage</source> <volume>82</volume>, <fpage>110472</fpage>. <pub-id pub-id-type="doi">10.1016/j.est.2024.110472</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Long</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Short-term peak shaving model of cascade hybrid pumped storage hydropower station retrofitted from conventional hydropower</article-title>. <source>Int. J. Electr. Power Energy Syst.</source> <volume>162</volume>, <fpage>110226</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2024.110226</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Meng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Transmission and distribution network-constrained large-scale demand response based on locational customer directrix load for accommodating renewable energy</article-title>. <source>Appl. Energy</source> <volume>350</volume>, <fpage>121681</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2023.121681</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Niu</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>An interval two-stage robust stochastic programming approach for steam power systems design and operation optimization under complex uncertainties</article-title>. <source>Chem. Eng. Sci.</source> <volume>253</volume>, <fpage>117533</fpage>. <pub-id pub-id-type="doi">10.1016/j.ces.2022.117533</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Meng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Jia</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Personalized demand response based on sub-CDL considering energy consumption characteristics of customers</article-title>. <source>Appl. Energy</source> <volume>374</volume>, <fpage>123964</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2024.123964</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Uddin</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Romlie</surname>
<given-names>M. F.</given-names>
</name>
<name>
<surname>Abdullah</surname>
<given-names>M. F.</given-names>
</name>
<name>
<surname>Abd Halim</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Kwang</surname>
<given-names>T. C.</given-names>
</name>
<name>
<surname>Chia Kwang</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A review on peak load shaving strategies</article-title>. <source>Renew. Sustain. Energy Rev.</source> <volume>82</volume>, <fpage>3323</fpage>&#x2013;<lpage>3332</lpage>. <pub-id pub-id-type="doi">10.1016/j.rser.2017.10.056</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wallberg</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Castellucci</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Flygare</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Lind</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Schultz</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Mattos</surname>
<given-names>M. M.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Negative correlation peak shaving control in a parking garage in Uppsala, Sweden</article-title>. <source>Appl. Energy</source> <volume>375</volume>, <fpage>124082</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2024.124082</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Two-stage robust optimization of thermal-ESS units scheduling under wind uncertainty</article-title>. <source>Energy Rep.</source> <volume>8</volume>, <fpage>1147</fpage>&#x2013;<lpage>1155</lpage>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.02.277</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Huo</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Dispatch optimization of thermal power unit flexibility transformation under the deep peak shaving demand based on invasive weed optimization</article-title>. <source>J. Clean. Prod.</source> <volume>315</volume>, <fpage>128047</fpage>. <pub-id pub-id-type="doi">10.1016/j.jclepro.2021.128047</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Guan</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>Multi-period electrical array reconfiguration for multi-PV systems considering net power fluctuation mitigation</article-title>. <source>J. Mod. Power Syst. Clean Energy</source> <volume>203</volume>, <fpage>68</fpage>&#x2013;<lpage>80</lpage>. <pub-id pub-id-type="doi">10.35833/MPCE.2024.000779</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Online fault diagnosis of PV array considering label errors based on distributionally robust logistic regression</article-title>. <source>Renew. Energy</source> <volume>203</volume>, <fpage>68</fpage>&#x2013;<lpage>80</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2022.11.126</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Fang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Lv</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ju</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Two-stage coordinated optimal dispatching model and benefit allocation strategy for rural new energy microgrid</article-title>. <source>Energy</source> <volume>292</volume>, <fpage>130274</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2024.130274</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2023</year>). &#x201c;<article-title>Two-stage distributed robust optimization based on multi-discrete scenarios</article-title>,&#x201d; in <conf-name>2023 10th International Forum on Electrical Engineering and Automation (IFEEA)</conf-name>, <conf-loc>Nanjing, China</conf-loc>, <fpage>1275</fpage>&#x2013;<lpage>1280</lpage>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zeng</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Solving two-stage robust optimization problems using a column-and-constraint generation method</article-title>. <source>Operations Res. Lett.</source> <volume>41</volume> (<issue>5</issue>), <fpage>457</fpage>&#x2013;<lpage>461</lpage>. <pub-id pub-id-type="doi">10.1016/j.orl.2013.05.003</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Meng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2025a</year>). <article-title>Payment and incentive allocation in demand response based on cost causation principle</article-title>. <source>IEEE Trans. Industry Appl.</source> <fpage>1</fpage>&#x2013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1109/tia.2025.3575746</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Meng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2025b</year>). <article-title>Multi-time scale customer directrix load-based demand response under renewable energy and customer uncertainties</article-title>. <source>Appl. Energy</source> <volume>383</volume>, <fpage>125334</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2025.125334</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Guan</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Data-driven stochastic unit commitment for integrating wind generation</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>31</volume> (<issue>4</issue>), <fpage>2587</fpage>&#x2013;<lpage>2596</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrs.2015.2477311</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Fang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Short-term peak-shaving scheduling of a hydropower-dominated hydro-wind-solar photovoltaic hybrid system considering a shared multi-energy coupling transmission channel</article-title>. <source>Appl. Energy</source> <volume>372</volume>, <fpage>123786</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2024.123786</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>B.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Two-stage robust optimization of unified power quality conditioner (UPQC) siting and sizing in active distribution networks considering uncertainty of loads and renewable generators</article-title>. <source>Renew. Energy</source> <volume>224</volume>, <fpage>120197</fpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2024.120197</pub-id>
</citation>
</ref>
</ref-list>
<sec id="s11">
<title>Glossary</title>
<sec id="s11-1">
<title>Sets</title>
<def-list>
<def-item>
<term id="G1-fenrg.2025.1612065">
<inline-formula id="inf68">
<mml:math id="m110">
<mml:mrow>
<mml:mi mathvariant="bold-italic">T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Set of time periods, indexed by <inline-formula id="inf69">
<mml:math id="m111">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G2-fenrg.2025.1612065">
<inline-formula id="inf70">
<mml:math id="m112">
<mml:mrow>
<mml:mi mathvariant="bold-italic">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Set of provinces, indexed by <inline-formula id="inf71">
<mml:math id="m113">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G3-fenrg.2025.1612065">
<inline-formula id="inf72">
<mml:math id="m114">
<mml:mrow>
<mml:mi mathvariant="bold-italic">G</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Set of generation units, indexed by <inline-formula id="inf73">
<mml:math id="m115">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
</def-list>
</sec>
<sec id="s11-2">
<title>Variables and parameters</title>
<sec id="s11-2-1">
<title>Regional grid-level variables</title>
<def-list>
<def-item>
<term id="G4-fenrg.2025.1612065">
<inline-formula id="inf74">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Output power of unit <inline-formula id="inf75">
<mml:math id="m117">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to province <inline-formula id="inf76">
<mml:math id="m118">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> at time period <inline-formula id="inf77">
<mml:math id="m119">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G5-fenrg.2025.1612065">
<inline-formula id="inf78">
<mml:math id="m120">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Equivalent stored energy of pumped-storage unit at time period <inline-formula id="inf79">
<mml:math id="m121">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G6-fenrg.2025.1612065">
<inline-formula id="inf80">
<mml:math id="m122">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Pumping power of pumped-storage unit at time period <inline-formula id="inf81">
<mml:math id="m123">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G7-fenrg.2025.1612065">
<inline-formula id="inf82">
<mml:math id="m124">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Generating power of pumped-storage unit at time period <inline-formula id="inf83">
<mml:math id="m125">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G8-fenrg.2025.1612065">
<inline-formula id="inf84">
<mml:math id="m126">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Boolean variable for pumping status at time period <inline-formula id="inf85">
<mml:math id="m127">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G9-fenrg.2025.1612065">
<inline-formula id="inf86">
<mml:math id="m128">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Boolean variable for generating status at time period <inline-formula id="inf87">
<mml:math id="m129">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
</def-list>
</sec>
</sec>
<sec id="s11-3">
<title>Provincial-level variables</title>
<def-list>
<def-item>
<term id="G10-fenrg.2025.1612065">
<inline-formula id="inf88">
<mml:math id="m130">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Generation power of controllable unit <inline-formula id="inf89">
<mml:math id="m131">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> at time period <inline-formula id="inf90">
<mml:math id="m132">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G11-fenrg.2025.1612065">
<inline-formula id="inf91">
<mml:math id="m133">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Charging power of energy storage at time period <inline-formula id="inf92">
<mml:math id="m134">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G12-fenrg.2025.1612065">
<inline-formula id="inf93">
<mml:math id="m135">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Discharging power of energy storage at time period <inline-formula id="inf94">
<mml:math id="m136">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G13-fenrg.2025.1612065">
<inline-formula id="inf95">
<mml:math id="m137">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Boolean variable for energy storage charging/discharging state</p>
</def>
</def-item>
<def-item>
<term id="G14-fenrg.2025.1612065">
<inline-formula id="inf96">
<mml:math id="m138">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Actual dispatch power of demand response load at time period <inline-formula id="inf97">
<mml:math id="m139">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G15-fenrg.2025.1612065">
<inline-formula id="inf98">
<mml:math id="m140">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Power purchased at time period <inline-formula id="inf99">
<mml:math id="m141">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G16-fenrg.2025.1612065">
<inline-formula id="inf100">
<mml:math id="m142">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Power sold at time period <inline-formula id="inf101">
<mml:math id="m143">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G17-fenrg.2025.1612065">
<inline-formula id="inf102">
<mml:math id="m144">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Boolean variable for power trading state (purchase/sale)</p>
</def>
</def-item>
<def-item>
<term id="G18-fenrg.2025.1612065">
<inline-formula id="inf103">
<mml:math id="m145">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Actual photovoltaic power at time period <inline-formula id="inf104">
<mml:math id="m146">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G19-fenrg.2025.1612065">
<inline-formula id="inf105">
<mml:math id="m147">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Actual load power at time period <inline-formula id="inf106">
<mml:math id="m148">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G20-fenrg.2025.1612065">
<inline-formula id="inf107">
<mml:math id="m149">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Boolean uncertain parameter for photovoltaic power</p>
</def>
</def-item>
<def-item>
<term id="G21-fenrg.2025.1612065">
<inline-formula id="inf108">
<mml:math id="m150">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">B</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">L</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Boolean uncertain parameter for load power</p>
</def>
</def-item>
</def-list>
</sec>
<sec id="s11-4">
<title>Key parameters</title>
<def-list>
<def-item>
<term id="G22-fenrg.2025.1612065">
<inline-formula id="inf109">
<mml:math id="m151">
<mml:mrow>
<mml:mi mathvariant="bold-italic">R</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Ramp rate limit of thermal power unit <inline-formula id="inf110">
<mml:math id="m152">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G23-fenrg.2025.1612065">
<inline-formula id="inf111">
<mml:math id="m153">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mi mathvariant="bold">max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Maximum output of unit <inline-formula id="inf112">
<mml:math id="m154">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G24-fenrg.2025.1612065">
<inline-formula id="inf113">
<mml:math id="m155">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mi mathvariant="bold">min</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Minimum generation power of unit <inline-formula id="inf114">
<mml:math id="m156">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G25-fenrg.2025.1612065">
<inline-formula id="inf115">
<mml:math id="m157">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Efficiency of pumping for pumped-storage station</p>
</def>
</def-item>
<def-item>
<term id="G26-fenrg.2025.1612065">
<inline-formula id="inf116">
<mml:math id="m158">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold">arg</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Efficiency of power generation for pumped-storage station</p>
</def>
</def-item>
<def-item>
<term id="G27-fenrg.2025.1612065">
<inline-formula id="inf117">
<mml:math id="m159">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mi mathvariant="bold">min</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Minimum stored energy of pumped-storage station</p>
</def>
</def-item>
<def-item>
<term id="G28-fenrg.2025.1612065">
<inline-formula id="inf118">
<mml:math id="m160">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mi mathvariant="bold">max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Maximum stored energy of pumped-storage station</p>
</def>
</def-item>
<def-item>
<term id="G29-fenrg.2025.1612065">
<inline-formula id="inf119">
<mml:math id="m161">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">R</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Power transmission ratio of unit <inline-formula id="inf120">
<mml:math id="m162">
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to province <inline-formula id="inf121">
<mml:math id="m163">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
<def-item>
<term id="G30-fenrg.2025.1612065">
<inline-formula id="inf122">
<mml:math id="m164">
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Cost coefficients for controllable generation units</p>
</def>
</def-item>
<def-item>
<term id="G31-fenrg.2025.1612065">
<inline-formula id="inf123">
<mml:math id="m165">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Unit charging and discharging cost of energy storage</p>
</def>
</def-item>
<def-item>
<term id="G32-fenrg.2025.1612065">
<inline-formula id="inf124">
<mml:math id="m166">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Cost coefficient for demand response load</p>
</def>
</def-item>
<def-item>
<term id="G33-fenrg.2025.1612065">
<inline-formula id="inf125">
<mml:math id="m167">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b7;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Charging and discharging efficiency of energy storage</p>
</def>
</def-item>
<def-item>
<term id="G34-fenrg.2025.1612065">
<inline-formula id="inf126">
<mml:math id="m168">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi mathvariant="bold-italic">R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Total electricity demand across all time periods</p>
</def>
</def-item>
<def-item>
<term id="G35-fenrg.2025.1612065">
<inline-formula id="inf127">
<mml:math id="m169">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</term>
<def>
<p>Day-ahead transaction price at time period <inline-formula id="inf128">
<mml:math id="m170">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</def>
</def-item>
</def-list>
</sec>
</sec>
</back>
</article>