<?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">1348823</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1348823</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>Stackelberg game-based optimal electricity trading method for distribution networks with small-micro industrial parks</article-title>
<alt-title alt-title-type="left-running-head">Chen et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1348823">10.3389/fenrg.2024.1348823</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Chen</surname>
<given-names>Liyuan</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<uri xlink:href="https://loop.frontiersin.org/people/2594633/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Ye</surname>
<given-names>Qingquan</given-names>
</name>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wu</surname>
<given-names>Xuguang</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/2581623/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chen</surname>
<given-names>Yundi</given-names>
</name>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Wanhuan</given-names>
</name>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff>
<institution>State Grid Pingyang Power Supply Company</institution>, <addr-line>Wenzhou</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/2365354/overview">Minglei Bao</ext-link>, Zhejiang University, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2598359/overview">Cong Zhang</ext-link>, Zibo Vocational Institute, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1939457/overview">Lei Sun</ext-link>, Hefei University of Technology, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1312399/overview">Linfei Yin</ext-link>, Guangxi University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Liyuan Chen, <email>yuanli202309@163.com</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>23</day>
<month>02</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1348823</elocation-id>
<history>
<date date-type="received">
<day>03</day>
<month>12</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>29</day>
<month>01</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Chen, Ye, Wu, Chen and Wang.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Chen, Ye, Wu, Chen and Wang</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>In order to improve the operating benefits of the distribution network (DN) and reduce the energy consumption costs of small-micro industrial parks (SMIPs), a two-layer optimal electricity trading method for DN with SMIPs is proposed. First, based on the Stackelberg game, a multi-objective two-layer optimal trading model for DN and SMIP is established. In the upper layer, the DN agent is regarded as the leader, and a trading model is established with the goal of maximizing the profits of agents. In the lower layer, an energy optimization model is proposed for the SMIP operators, which are regarded as the followers, with the goal of minimizing the operating costs. According to the buying and selling electricity prices at the upper and lower layers, a dynamic pricing strategy is formulated. The Karush&#x2013;Kuhn&#x2013;Tucker condition (KKT) is introduced to transform the two-layer model into a single-layer model, and based on linear transformations, the model is further converted into a mixed-integer linear programming model. The transformations aim to address the non-linear issues arising from multivariable coupling between the upper and lower-layer trading models. The simulation results show that the trading strategy proposed in this paper can effectively increase the profit of DNs while reducing the operating costs of SMIPs and can provide a reference for decision-making in the electricity market (EM) with the participation of SMIP.</p>
</abstract>
<kwd-group>
<kwd>electricity market</kwd>
<kwd>multiple stakeholders</kwd>
<kwd>Stackelberg game</kwd>
<kwd>small-micro industrial parks</kwd>
<kwd>distribution network</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Process and Energy Systems Engineering</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>In recent years, small and micro enterprises have developed rapidly in Zhejiang Province, China. In order to facilitate the prosperous development of such enterprises, Zhejiang Province has standardized and renovated the existing small-micro industrial parks (SMIPs) based on the actual operation. However, the SMIPs do not dispatch enough power generation and energy storage (ES) devices, which results in a low capacity to withstand the operating risks. With the rapid development of SMIPs, the demand for electricity trading between SMIPs and distribution networks (DNs) is constantly increasing. On one hand, trading electricity with the DNs can help the SMIPs to withstand the operating risks. On the other hand, an optimal trading electricity strategy can help the SMIPs to save the operating costs. Then, how to optimize the electricity trading between the DNs and SMIPs is currently a highly important issue (<xref ref-type="bibr" rid="B11">He et al., 2021</xref>).</p>
<p>As the electricity market (EM) continues to expanding, the operators and agents in the DNs gradually participate in EM competition (<xref ref-type="bibr" rid="B14">Jin et al., 2022</xref>), and the economic operation of the DNs has been significantly improved (<xref ref-type="bibr" rid="B21">Li et al., 2023a</xref>). A market simulator for peer-to-peer electricity trading is proposed in <xref ref-type="bibr" rid="B17">Kuno et al. (2022)</xref>, and a market agent is designed to perform power bidding and contract processing. <xref ref-type="bibr" rid="B9">Guo et al. (2022)</xref> showed that all agents can freely trade in an asynchronous mode without waiting for idle or inactive neighboring agents, and the sublinear regret upper bound is proved for the asynchronous mode, which can maximize the social welfare in the EM. A real-time congestion management strategy is applied by <xref ref-type="bibr" rid="B16">Klsch et al. (2022)</xref>, and the strategy can enable grid-supportive operation of the operators without interventions. Considering the characteristic that natural gas can blend with hydrogen, <xref ref-type="bibr" rid="B5">Ding et al. (2023)</xref> proposed a multi-agent electricity&#x2013;heat&#x2013;hydrogen trading model by taking hydrogen produced on the load side. <xref ref-type="bibr" rid="B29">Tan et al. (2022)</xref> treated carbon as a direct trading object and proposed an internal multi-energy trading mechanism, which adopts an auction based on the demands for cooling, heating, electricity, and carbon. To further explore the multi-energy coupling capacity and carbon reduction potential of the integrated energy systems, <xref ref-type="bibr" rid="B36">Yang M. et al. (2023)</xref> proposed a cooling&#x2013;heat&#x2013;electricity&#x2013;gas collaborative optimization model of integrated energy systems, given the ladder carbon trading mechanism and multi-energy demand response. <xref ref-type="bibr" rid="B23">Li Z. et al. (2023)</xref> proposed a medium-term, multi-stage, distributionally robust optimization scheduling approach for the price-taking of hydro&#x2013;wind&#x2013;solar complementary systems in the EM. A multi-agent deep reinforcement learning approach combining the multi-agent actor-critic algorithm with the twin-delayed deep deterministic policy gradient algorithm is proposed by <xref ref-type="bibr" rid="B3">Chen et al. (2022)</xref>, and the proposed approach can handle the high-dimensional continuous action space and aligns with the nature of peer-to-peer energy trading. <xref ref-type="bibr" rid="B37">Yang et al. (2022)</xref> analyzed the impact of different bidding decisions on the distribution of wind farm revenues in a process where the interest of two markets is played against each other. <xref ref-type="bibr" rid="B15">Khaligh et al. (2022)</xref> introduced a stochastic agent-based model for the coordinated scheduling of multi-vector microgrids, considering interactions between electricity, hydrogen, and gas agents. Considering the power loss, flexible load demand, and other operating indicators, to maximize the user and supplier benefits, the real-time transaction electricity price model of the user side and the power supply side is constructed by <xref ref-type="bibr" rid="B25">Lyu et al. (2022)</xref>. In order to meet the challenge of global low-carbon development, a multi-objective optimal scheduling model considering the participation of the park-level integrated energy system in the EM is proposed by <xref ref-type="bibr" rid="B30">Wang L. et al. (2022)</xref>, which takes into account multiple uncertainties on the renewable energy and load. <xref ref-type="bibr" rid="B20">Li et al. (2023c)</xref> analyzed the impact of uncertainties for the multi-energy virtual power plant on the peak-regulation market, and the operation mechanism for the multi-energy virtual power plant in the peak-regulation market is proposed by considering the integrated demand response. As a user-side system, SMIPs can participate in electricity trading under the management of SMIP operators (<xref ref-type="bibr" rid="B4">Davoudi and Moeini-Aghtaie, 2022</xref>), which can develop the hierarchical structure of the EM (<xref ref-type="bibr" rid="B27">Pownall et al., 2021</xref>). Meanwhile, the agents in DNs can link the SMIP with EM (<xref ref-type="bibr" rid="B1">Anwar et al., 2022</xref>), which exerts a significant influence on the energy costs of such parks (<xref ref-type="bibr" rid="B39">Yuan et al., 2022</xref>). As SMIPs participate in electricity trading, how to balance the benefits between agents and operators, achieve the expected profit of agents, and reduce the operating costs of operators has become a key concern in current EM.</p>
<p>Different stakeholders have different optimization goals in EM trading (<xref ref-type="bibr" rid="B33">Xiao et al., 2021</xref>), and a coupling relationship exists among the EM trading models (<xref ref-type="bibr" rid="B35">Yang et al., 2021</xref>). Finding the balanced benefits in EM trading has become a key way to keep the stability of the alliances (<xref ref-type="bibr" rid="B2">Cao et al., 2021</xref>). To find the balanced benefits in EM trading, Stackelberg game theory has become an effective tool (<xref ref-type="bibr" rid="B19">Li et al., 2022</xref>). To solve the inherent conflict among the players, a Stackelberg game-based technique is proposed by <xref ref-type="bibr" rid="B10">Haghifam et al. (2020)</xref>, and the distribution system operator attempts to minimize its operating costs as the leader, while the distributed energy resource aggregator tends to maximize its profit as the follower. <xref ref-type="bibr" rid="B13">Huang et al. (2022)</xref> proposed a Stackelberg game-based optimization model for energy service providers and integrated energy systems based on the collaborative optimization of integrated energy systems and carbon transaction cost, where the energy service provider acts as a leader while the integrated energy systems serve as followers. A Stackelberg game model between the load aggregator and distribution system operator was proposed by <xref ref-type="bibr" rid="B34">Xu et al. (2022)</xref>; the distribution system operator issues subsidies to decrease the frequency of voltage violations, and the load aggregator schedules the demand to maximize profits. A trading model based on the Stackelberg game model was proposed by <xref ref-type="bibr" rid="B32">Wei et al. (2022)</xref> to balance the interests of the supply side and demand side and reduce carbon emissions. To solve the problems of environmental pollution and conflict of interests among multiple stakeholders in the integrated energy system, <xref ref-type="bibr" rid="B31">Wang R. et al. (2022)</xref> proposed a novel collaborative optimization strategy for a low-carbon economy in the integrated energy system based on the carbon trading mechanism and Stackelberg game theory. <xref ref-type="bibr" rid="B7">Envelope et al. (2022)</xref> proposed a Stackelberg game-based optimal scheduling model for electro-thermal integrated energy systems, which seeks to maximize the revenue of the integrated energy operator and minimize the cost of users. <xref ref-type="bibr" rid="B28">Pu et al. (2023)</xref> constructed a two-stage supply chain consisting of a manufacturer and a retailer based on the dual-credit policy, considered three different power structure models, including the vertical Nash game model, the manufacturer Stackelberg game model, and the retailer Stackelberg game model, and explored the operational strategy issues of new energy vehicle enterprises under the dual-credit policy. <xref ref-type="bibr" rid="B40">Zhang et al. (2022)</xref> took the integrated energy system operator as the leader and each integrated energy system as the follower to construct the Stackelberg operation model, and the proposed model is constructed and solved by the double mutation differential evolution algorithm. <xref ref-type="bibr" rid="B12">Hua et al. (2023)</xref> proposed a framework of local energy markets to manage this transactive energy and facilitate the flexibility provision; the decision-making and interactions between a DN operator and multiple microgrid traders are formulated as the Stackelberg game-theoretic problem. <xref ref-type="bibr" rid="B8">Fattaheian et al. (2022)</xref> applied the Stackelberg game to model incentivizing resource scheduling optimization in post-contingency conditions, and a strong duality condition is used to re-cast the preliminary bi-level model into a one-level mathematical problem. The pricing strategies in existing research studies mainly belong to fixed pricing mechanisms (<xref ref-type="bibr" rid="B6">Du et al., 2022</xref>). In the future, as more SMIPs participate in EM trading, the fixed pricing mechanisms will not be satisfied to the flexible EM model. In this context, studying the dynamic pricing strategies for DN trading with SMIPs to enhance the economic operation of DNs is highly necessary.</p>
<p>As described previously, a two-layer optimal electricity trading method for DNs with SMIPs is proposed based on the Stackelberg game. The main contributions of this paper are summarized as follows.<list list-type="simple">
<list-item>
<p>(1) A two-layer optimization trading model is established for DNs and SMIPs, and the competitive game relationship between different stakeholders in the trading process is characterized by the Stackelberg game. The paper shows that through the proposed scheme, the profit of DNs increases by 14.8% in a typical day, and the operating costs of SMIPs decreased by 2.5% and 3.8%, respectively.</p>
</list-item>
<list-item>
<p>(2) The Karush&#x2013;Kuhn&#x2013;Tucker (KKT) condition and linear relaxation technique are utilized to transform the proposed non-linear model into a mixed-integer linear programming model. This method solves the coupling&#x2013;nesting problem of interactive power and electricity price in the proposed model without any approximation.</p>
</list-item>
<list-item>
<p>(3) To address the disadvantage of fixed pricing mechanisms, a dynamic pricing strategy is formulated in this paper. The DN agent sets the dynamic prices to lead the trading behavior of SMIP operators, and the SMIP operators choose the trading time to follow the guidance of the DN agent without passive price reception. Then, the overall profits of both the DN agent and SMIP operators are greatly improved.</p>
</list-item>
</list>
</p>
<p>The remainder of this paper is organized as follows. A two-layer game optimization trading framework for multi-stakeholders is proposed in <xref ref-type="sec" rid="s2">Section 2</xref>. In addition, a two-layer game optimization trading model based on the Stackelberg game is proposed in <xref ref-type="sec" rid="s3">Section 3</xref>. In <xref ref-type="sec" rid="s4">Section 4</xref>, the solution process of the proposed model is introduced. In <xref ref-type="sec" rid="s5">Section 5</xref>, the case study is analyzed. The discussion and conclusion are described in <xref ref-type="sec" rid="s6">Section 6</xref>.</p>
</sec>
<sec id="s2">
<title>2 Two-layer optimization trading framework</title>
<p>In order to improve the operating benefits of DN and reduce the energy costs of SMIPs, a two-layer optimization trading framework for multi-stakeholders is established, as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Two-layer trading model framework.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g001.tif"/>
</fig>
<p>In the trading framework, the stakeholders include the EM, DN agent, and SMIP operators. The trading framework is divided into two layers, with EM and DN agent located in the upper layer and SMIP operators located in the lower layer. The stakeholders in the upper and lower layers have different benefits goals, and they mutually influence each other. In the upper layer, the DN agent makes decisions on the volume of purchased electricity or sold electricity based on the needs of EM and SMIPs. If EM supply cannot meet the demand, electricity trading occurs between two adjacent DN agents. Additionally, the DN agent will use dynamic trading prices to encourage the trading of lower-layer SMIP operators. In the lower layer, SMIP operators will dynamically adjust the outputs of internal generation units based on the trading prices set by DN agents, as well as the electricity demand on the user side. Simultaneously, SMIP operators provide real-time feedback to the upper layer DN agents regarding the electricity usage strategies. DN agents, based on the energy consumption situation, dynamically adjust the trading prices. Through the iterative process between the upper and lower layers, a balance point that aligns with the interests of both stakeholders is ultimately determined.</p>
</sec>
<sec id="s3">
<title>3 Two-layer optimization trading model based on the Stackelberg game</title>
<sec id="s3-1">
<title>3.1 Upper-layer optimization model for the DN agent</title>
<p>In two-layer game optimization trading, the DN agent is regarded as the leader of the Stackelberg game (<xref ref-type="bibr" rid="B24">Liu et al., 2023</xref>), and an optimization model with the goal of maximizing profits is established for the DN agent.<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close=" " separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open=" " close="]" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>tra</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sop</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>The optimization model for DNs mainly imposes constraints on power balance, ES operation, trading of the DN agent, and pricing. The constraints are as follows:<list list-type="simple">
<list-item>
<p>(1) Power balance constraints</p>
</list-item>
</list>
<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sop</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(2) ES operation constraints</p>
</list-item>
</list>
<disp-formula id="e3">
<mml:math id="m3">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mtext>ESS</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</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>P</mml:mi>
<mml:mrow>
<mml:mtext>ESS</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mtext>ESS</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</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>P</mml:mi>
<mml:mrow>
<mml:mtext>ESS</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m4">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>ESS</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>ESS</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:msup>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m5">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>ESS</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mtext>ESS</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>e</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Considering the service life of the ESs, the constraints on the number of ES charging and discharging cycles are shown in Eqs <xref ref-type="disp-formula" rid="e6">(6</xref>) and <xref ref-type="disp-formula" rid="e7">(7</xref>):<disp-formula id="e6">
<mml:math id="m6">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m7">
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>24</mml:mn>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>w</mml:mi>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">E</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(3) Trading constraints of DN agents</p>
</list-item>
</list>
</p>
<p>The day-ahead market contract electricity quantity and real-time EM trading must meet the constraints of upper and lower limits of trading power, as shown below:<disp-formula id="e8">
<mml:math id="m8">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m9">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3ba;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:msup>
<mml:mi>R</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>R</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3ba;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mi>max</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m10">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3ba;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3ba;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(4) Pricing constraints</p>
</list-item>
</list>
</p>
<p>The DN agent formulates dynamic electricity prices to lead trading among SMIP operators. Therefore, it is necessary to impose constraints on pricing as follows:<disp-formula id="e11">
<mml:math id="m11">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>To encourage the active participation of SMIP operators in energy trading, the real-time electricity trading price of the DN agent needs to be constrained by the average value of the electricity price as<disp-formula id="e12">
<mml:math id="m12">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mtext>av</mml:mtext>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m13">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">K</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">K</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2265;</mml:mo>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mtext>av</mml:mtext>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-2">
<title>3.2 Lower-layer optimization model for SMIP operators</title>
<p>In the lower-layer model, SMIP operators provide real-time feedback to the upper-layer agents based on the electricity trading prices provided by DNs and the real-time energy demands of the users (<xref ref-type="bibr" rid="B18">Lei et al., 2023</xref>). The optimization objective is to minimize the operating costs as follows:<disp-formula id="e14">
<mml:math id="m14">
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mi>DEG</mml:mi>
</mml:msup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>The optimization model for the lower-layer SMIP operators mainly imposes constraints on power balance, DEG operation, SMIP operator trading, and opportunity constraints. Each constraint is as follows:<list list-type="simple">
<list-item>
<p>(1) Power balance constraints in the SMIP area:</p>
</list-item>
</list>
<disp-formula id="e15">
<mml:math id="m15">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>m</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>PV</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>WT</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>load</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(2) DEG operation constraints</p>
</list-item>
</list>
<disp-formula id="e16">
<mml:math id="m16">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>DEG</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>DEG</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(3) SMIP operator trading constraints</p>
</list-item>
</list>
<disp-formula id="e17">
<mml:math id="m17">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(4) Opportunity constraints</p>
</list-item>
</list>
</p>
<p>The prediction of the load, WTs, and PVs is susceptible to uncontrollable factors such as weather, resulting in forecasting errors. The level of error is approximately represented by a normal distribution (<xref ref-type="bibr" rid="B22">Li et al., 2023d</xref>). In order to deal with the prediction errors caused by such uncertainties, the system should have a backup capacity in operation, which is described in probability with a given confidence level:<disp-formula id="e19">
<mml:math id="m19">
<mml:mrow>
<mml:mtext>P</mml:mtext>
<mml:mrow>
<mml:mfenced open="{" close="" separators="">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>m</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>DEG</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>R</mml:mtext>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>DEG</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>PV</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mtext>PV</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>WT</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mtext>WT</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2265;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>load</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b4;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mtext>load</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>where <italic>P</italic>{} represents the probability at a given confidence level. The proposed model cannot be solved because of the presence of random variables; then, the opportunity constraint is converted into a deterministic equivalent constraint as<disp-formula id="e20">
<mml:math id="m20">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>m</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>DEG</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>R</mml:mtext>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>DEG</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>PV</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>WT</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2265;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>load</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mtext>F</mml:mtext>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>PV</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>WT</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>load</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>where <italic>F</italic>
<sup>&#x2212;1</sup>(<italic>&#x3b1;</italic>) represents the quantile point <inline-formula id="inf1">
<mml:math id="m21">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> under the standard normal distribution function.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Solution process of the proposed model</title>
<p>In the constructed two-layer optimization model, the upper and lower optimization models are coupled through the electricity trading price. The upper-layer DN agent, acting as the leader in the Stackelberg game, optimizes the electricity trading with EM and SMIP operators based on their own internal demand. The lower-layer SMIP operators, as followers in the Stackelberg game, optimize their internal energy consumption based on the electricity trading price provided by the DN agent.</p>
<p>Due to coupling in the two-layer model in this paper, the KKT condition transformation (<xref ref-type="bibr" rid="B38">Yang X. et al., 2023</xref>) is employed to convert the original coupled two-layer optimization model into a single-layer linear programming model. The specific process is as follows:<disp-formula id="e21">
<mml:math id="m22">
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
<disp-formula id="e22">
<mml:math id="m23">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m24">
<mml:mrow>
<mml:msup>
<mml:mi>c</mml:mi>
<mml:mi>DEG</mml:mi>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>The dual variables above need to satisfy the following conditions:<disp-formula id="e24">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>&#x22a5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>DEG</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
<disp-formula id="e25">
<mml:math id="m26">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>&#x22a5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>DEG</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
<disp-formula id="e26">
<mml:math id="m27">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22a5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
<disp-formula id="e27">
<mml:math id="m28">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22a5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>
<disp-formula id="e28">
<mml:math id="m29">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22a5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>
<disp-formula id="e29">
<mml:math id="m30">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22a5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
<disp-formula id="e30">
<mml:math id="m31">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mo>&#x22a5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close="" separators="">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>load</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>PV</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>WT</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>load</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>m</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>PV</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>WT</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>
</p>
<p>In the above equations, <italic>x</italic>&#x22a5;<italic>y</italic> represents that <italic>x</italic> and <italic>y</italic> have at most one non-zero value. To linearize the model, this paper relaxes the above equations by introducing Boolean variables:<disp-formula id="e31">
<mml:math id="m32">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>
<disp-formula id="e32">
<mml:math id="m33">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>DEG</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>
<disp-formula id="e33">
<mml:math id="m34">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>DEG</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>
<disp-formula id="e34">
<mml:math id="m35">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>
<disp-formula id="e35">
<mml:math id="m36">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>
<disp-formula id="e36">
<mml:math id="m37">
<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:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(36)</label>
</disp-formula>
<disp-formula id="e37">
<mml:math id="m38">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(37)</label>
</disp-formula>
<disp-formula id="e38">
<mml:math id="m39">
<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:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(38)</label>
</disp-formula>
<disp-formula id="e39">
<mml:math id="m40">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(39)</label>
</disp-formula>
<disp-formula id="e40">
<mml:math id="m41">
<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:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(40)</label>
</disp-formula>
<disp-formula id="e41">
<mml:math id="m42">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(41)</label>
</disp-formula>
<disp-formula id="e42">
<mml:math id="m43">
<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:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(42)</label>
</disp-formula>
<disp-formula id="e43">
<mml:math id="m44">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(43)</label>
</disp-formula>
<disp-formula id="e44">
<mml:math id="m45">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close="" separators="">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>load</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>PV</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>WT</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>load</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>m</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>DEG</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>PV</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>WT</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(44)</label>
</disp-formula>
</p>
<p>In the above equations, <inline-formula id="inf2">
<mml:math id="m46">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf3">
<mml:math id="m47">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf4">
<mml:math id="m48">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf5">
<mml:math id="m49">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf6">
<mml:math id="m50">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>min</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf7">
<mml:math id="m51">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf8">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the Boolean variables. M is the maximum value. After the transformation, the objective function still contains two non-linear terms: <inline-formula id="inf9">
<mml:math id="m53">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf10">
<mml:math id="m54">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>t</mml:mi>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. To facilitate the solution, the strong duality principle (<xref ref-type="bibr" rid="B26">Ouyang et al., 2023</xref>) is employed to process the objective function, resulting in the transformation of the objective function into a linear programming model.<disp-formula id="e45">
<mml:math id="m55">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>max</mml:mtext>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mtext>c</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>sell</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mtext>c</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>buy</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>&#x3c0;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>R</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>&#x3c0;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>R</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mtext>t</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mtext>R</mml:mtext>
<mml:mtext>t</mml:mtext>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mtext>c</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>tra</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>sop</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x21d2;</mml:mo>
<mml:mtext>max</mml:mtext>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>m</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>min</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>m</mml:mtext>
<mml:mrow>
<mml:mtext>DEG</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>min</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c1;</mml:mi>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>m</mml:mtext>
<mml:mrow>
<mml:mtext>DEG</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>min</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>min</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mtext>sell</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>min</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>min</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mrow>
<mml:mtext>buy</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mn>4</mml:mn>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mtext>F</mml:mtext>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>PV</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>WT</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mtext>load</mml:mtext>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>load</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>PV</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>WT</mml:mtext>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mtext>R</mml:mtext>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>DEG</mml:mtext>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>m</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msup>
<mml:mtext>c</mml:mtext>
<mml:mtext>DEG</mml:mtext>
</mml:msup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mrow>
<mml:mtext>m</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
<mml:mtext>DEG</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>&#x3c0;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>R</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>&#x3c0;</mml:mi>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>R</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msub>
<mml:mi>&#x3c0;</mml:mi>
<mml:mtext>t</mml:mtext>
</mml:msub>
<mml:msub>
<mml:mtext>R</mml:mtext>
<mml:mtext>t</mml:mtext>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mtext>c</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>tra</mml:mtext>
</mml:msubsup>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>sop</mml:mtext>
</mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mtext>t</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(45)</label>
</disp-formula>
</p>
<p>By employing the above method, the non-linear dual-layer game model can be transformed into a mixed-integer linear single-layer optimization model. The optimal solution can be obtained using the commercial solver CPLEX (<xref ref-type="bibr" rid="B41">Zhao et al., 2022</xref>). The overall solving process of the model established in this paper is illustrated as follows and is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>:</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Solving process of the model.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g002.tif"/>
</fig>
<p>
<statement content-type="step" id="Step_1">
<label>Step 1:</label>
<p>The outputs of WTs, PVs, and user load demand are forecasted within the SMIP.</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_2">
<label>Step 2:</label>
<p>The data obtained from the previous step are utilized to generate EM trading scenarios, including the electricity generation volume and trading prices in EM.</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_3">
<label>Step 3:</label>
<p>A two-layer optimization trading model is established, with the upper-layer DN agent as the price leaders and the lower-layer SMIP operators as the price followers, thus forming the Stackelberg game optimization model.</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_4">
<label>Step 4:</label>
<p>KKT conditions are applied to transform the dual-layer problem into a single-layer problem. Dual theory, linear relaxation, and other methods are combined to convert the optimization model into a more easily solvable mixed-integer linear programming model. In this step, the specific electricity trading volume of each stakeholder can be calculated through the nested solution of electricity price and trading volume.</p>
</statement>
</p>
<p>
<statement content-type="step" id="Step_5">
<label>Step 5:</label>
<p>Through the real-time dynamic optimization processes, the optimal electricity price and trading volume are obtained, and an optimal solution for all stakeholders in the Stackelberg game is achieved.</p>
</statement>
</p>
</sec>
<sec id="s5">
<title>5 Case study</title>
<sec id="s5-1">
<title>5.1 Case study system</title>
<p>In order to verify the effectiveness of the proposed method, an actual DN with SMIPs in Zhejiang Province, China, is utilized to analyze. The topology of this system is illustrated in <xref ref-type="fig" rid="F3">Figure 3</xref>. Within this system, DNs and SMIPs are connected through the public connection point (PCC). The DNs are connected through intelligent software switches. In this topology, DN agents, SMIP operators, and the EM conduct mutual trading to meet their respective demands.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Physical topology of the system.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g003.tif"/>
</fig>
<p>In the optimization of trading strategies in this paper, the upper-layer DN maximizes their profits primarily by adjusting the ESs. Meanwhile, the two lower-layer SMIP operators minimize their operational costs by adjusting various distributed resources such as PVs, WTs, DEGs, and loads. The installed capacity of the distributed resources is shown in <xref ref-type="table" rid="T1">Table 1</xref>. The predicted data for the output of photovoltaics and wind power in SMIPs are shown in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Installed capacity of the distributed resources.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Distributed resource</th>
<th align="center">SMIP operator 1</th>
<th align="center">SMIP operator 2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">DEG</td>
<td align="center">1.2&#xa0;MW</td>
<td align="center">1.2&#xa0;MW</td>
</tr>
<tr>
<td align="center">PV</td>
<td align="center">150&#xa0;kW</td>
<td align="center">350&#xa0;kW</td>
</tr>
<tr>
<td align="center">WT</td>
<td align="center">250&#xa0;kW</td>
<td align="center">530&#xa0;kW</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Forecasted power of WTs and PVs.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g004.tif"/>
</fig>
<p>The day-ahead contract electricity price of the DN agent is shown in <xref ref-type="table" rid="T2">Table 2</xref>, which is denoted as <italic>&#x3c0;</italic>
<sub>
<italic>t</italic>
</sub>. Due to the flexibility in actual trading, the real electricity trading price is generally higher than the day-ahead contract electricity price. Therefore, in this paper, the real-time buying and selling prices, <italic>&#x3c0;</italic>&#x2b; <italic>t</italic> and <italic>&#x3c0;</italic>-<italic>t</italic>, respectively, are set at 1.2 <italic>&#x3c0;</italic>
<sub>
<italic>t</italic>
</sub>. The trading price between DN agents is set at 0.9 <italic>&#x3c0;</italic>
<sub>
<italic>t</italic>
</sub>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Day-ahead contract electricity price.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Time</th>
<th align="center">Price/<inline-formula id="inf11">
<mml:math id="m56">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Time</th>
<th align="center">Price/<inline-formula id="inf12">
<mml:math id="m57">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Time</th>
<th align="center">Price/<inline-formula id="inf13">
<mml:math id="m58">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Time</th>
<th align="center">Price/<inline-formula id="inf14">
<mml:math id="m59">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">0:00&#x2013;1:00</td>
<td align="center">0.32</td>
<td align="center">6:00&#x2013;7:00</td>
<td align="center">0.44</td>
<td align="center">12:00&#x2013;13:00</td>
<td align="center">0.8</td>
<td align="center">18:00&#x2013;19:00</td>
<td align="center">0.63</td>
</tr>
<tr>
<td align="center">1:00&#x2013;2:00</td>
<td align="center">0.31</td>
<td align="center">7:00&#x2013;8:00</td>
<td align="center">0.46</td>
<td align="center">13:00&#x2013;14:00</td>
<td align="center">0.74</td>
<td align="center">19:00&#x2013;20:00</td>
<td align="center">0.52</td>
</tr>
<tr>
<td align="center">2:00&#x2013;3:00</td>
<td align="center">0.29</td>
<td align="center">8:00&#x2013;9:00</td>
<td align="center">0.53</td>
<td align="center">14:00&#x2013;15:00</td>
<td align="center">0.81</td>
<td align="center">20:00&#x2013;21:00</td>
<td align="center">0.5</td>
</tr>
<tr>
<td align="center">3:00&#x2013;4:00</td>
<td align="center">0.34</td>
<td align="center">9:00&#x2013;10:00</td>
<td align="center">0.59</td>
<td align="center">15:00&#x2013;16:00</td>
<td align="center">0.83</td>
<td align="center">21:00&#x2013;22:00</td>
<td align="center">0.46</td>
</tr>
<tr>
<td align="center">4:00&#x2013;5:00</td>
<td align="center">0.37</td>
<td align="center">10:00&#x2013;11:00</td>
<td align="center">0.68</td>
<td align="center">16:00&#x2013;17:00</td>
<td align="center">0.81</td>
<td align="center">22:00&#x2013;23:00</td>
<td align="center">0.42</td>
</tr>
<tr>
<td align="center">5:00&#x2013;6:00</td>
<td align="center">0.41</td>
<td align="center">11:00&#x2013;12:00</td>
<td align="center">0.76</td>
<td align="center">17:00&#x2013;18:00</td>
<td align="center">0.74</td>
<td align="center">23:00&#x2013;24:00</td>
<td align="center">0.37</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As shown in <xref ref-type="table" rid="T2">Table 2</xref>, the day-ahead contract electricity price of the DN agent exhibits continuous fluctuations throughout the day. The price steadily increases from 2:00, experiences a slight decrease around noon at 12:00, and reaches its peak in the afternoon at 16:00. Then, the price gradually decreases to reach the lowest point. This pattern of price variation indicates that in EM, the electricity price during different time periods may be influenced by supply and demand dynamics, peak loads, and other factors. The fluctuations in prices can have a significant impact on EM stakeholders when formulating trading strategies. Based on these fluctuations, the leader&#x2013;follower model needs to undergo a corresponding electricity trading strategy design to maximize the interests of the stakeholders involved.</p>
</sec>
<sec id="s5-2">
<title>5.2 Analysis of the pricing strategy and energy usage optimization</title>
<p>For the study of pricing strategies of the DN agent and energy optimization for SMIP operators, considering the variations in electricity consumption across regions, the DN agent provides pricing methods that align with the differences in electricity consumption. The pricing strategy of the DN agent for SMIP operators is illustrated in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Pricing strategies of the DN agent.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g005.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, due to the constraints imposed by the average price, the interests of SMIP operators are protected. Under this premise, the DN agent formulates trading prices tailored to the electricity demand of different SMIP operators to maximize their own benefits, thus achieving a win&#x2013;win situation.</p>
<p>The internal energy optimization for SMIP operators 1 and 2 is shown in <xref ref-type="fig" rid="F6">Figure 6</xref> and <xref ref-type="fig" rid="F7">Figure 7</xref>, respectively. <xref ref-type="fig" rid="F6">Figure 6</xref> and <xref ref-type="fig" rid="F7">Figure 7</xref> show that the lower-layer SMIP operators provide feedback to dynamic trading prices after optimizing the output of internal generation units. For SMIP operator 1, where the user exhibits significant fluctuations, the DN agent sets the dynamic electricity price close to the price floor during periods of relatively low electricity consumption, such as the time period from 1:00 to 6:00. During the time period from 7:00 to 9:00, when the energy demand within SMIP operators begins to increase but the outputs of WTs and PVs are relatively low, the DN agent increases the trading price to maximize profits while still meeting the average price constraint. During the time period from 10:00 to 18:00, when the energy consumption in SMIP operator 1 is relatively stable and the outputs of WTs and PVs are high, SMIPs do not need the electricity urgently, so the trading price is close to the price floor. During the time period from 19:00 to 24:00, as the outputs of WTs and PVs cannot meet the required energy demand and the user-side electricity demand is high, the DN agent sets the trading price to the price ceiling to maximize its own profits.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Internal energy optimization of SMIP operator 1.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g006.tif"/>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Internal energy optimization of SMIP operator 2.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g007.tif"/>
</fig>
<p>For SMIP operator 2, which is characterized by stable load fluctuations, the pricing strategy of the DN agent is less influenced by the load. In this situation, the pricing strategy is determined more by the outputs of WTs and PVs. During the periods that the outputs of WTs and PVs are high, such as the time period from 10:00 to 18:00, the demand for electricity purchase in the SMIP has decreased, and then, the trading price is set close to the price floor. Conversely, during the time periods from 1:00 to 9:00 and 17:00 to 20:00, the outputs of WTs and PVs are low, the demand for electricity purchase in the SMIP has increased, and then the trading price is set close to the price ceiling. <xref ref-type="fig" rid="F8">Figure 8</xref> shows the optimal trading strategy between the DN agent and SMIP operators. The agents determine the day-ahead contract electricity volume based on the day-ahead data. During the time periods between 1:00&#x2013;8:00 and 21:00&#x2013;24:00, due to the lower day-ahead contract electricity prices, the DN agent increases the day-ahead contract electricity volume for trading with EM based on the past experiences. Meanwhile, as shown in <xref ref-type="fig" rid="F9">Figure 9</xref>, a portion of the purchased electricity is charged and stored in the ES, and the stored energy is discharged during time periods with relatively higher electricity prices, allowing for maximum profit. Additionally, to ensure their own benefits, SMIP operators increase their electricity purchases from the upper layer during these time periods. During periods with higher day-ahead electricity prices, such as from 9:00 to 16:00, the DN agent reduces the day-ahead contract electricity volume and release stored energy. The electricity is sold to the adjacent DN agent as a means of balancing electricity prices. Meanwhile, SMIP operators increase the generation output of internal distributed power sources and sell electricity to the upper-layer DN agent. Through this strategy, the DN agent and SMIP operators achieve a balance of benefits.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Optimal trading between the DN agent and SMIP operators.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g008.tif"/>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Operation of the ES.</p>
</caption>
<graphic xlink:href="fenrg-12-1348823-g009.tif"/>
</fig>
<p>The optimization results based on the dynamic pricing strategy under the Stackelberg game are compared with the conventional fixed-value time-of-use pricing, as shown in <xref ref-type="table" rid="T3">Table 3</xref>. Under the former strategy, the profit of DN has increased, and the operating costs of SMIP operators have decreased. The reason is that the dynamic pricing strategy under the Stackelberg game can formulate electricity prices according to the varying electricity demands of different SMIP operators. The role of lower-layer SMIP operators has undergone a significant transformation as they are no longer passive recipients of electricity prices. DN can influence dynamic trading prices indirectly by autonomously planning energy demands. By formulating dynamic electricity prices, the initiative of lower-layer SMIP operators is enhanced, allowing them to actively participate in the optimization scheduling of the EM. Simultaneously, this also improves the overall economic efficiency of DN optimization to a certain extent.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Comparison of pricing strategies.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">Stackelberg game pricing strategy</th>
<th align="center">Conventional pricing strategy</th>
<th align="center">Optimization result (%)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Profits of the DN agent/<inline-formula id="inf15">
<mml:math id="m60">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">6572.7</td>
<td align="center">5724.6</td>
<td align="center">&#x2191;14.8</td>
</tr>
<tr>
<td align="left">Operating costs of SMIP operator 1/<inline-formula id="inf16">
<mml:math id="m61">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">17486.31</td>
<td align="center">17936.55</td>
<td align="center">&#x2193;2.5</td>
</tr>
<tr>
<td align="left">Operating costs of SMIP operator 2/<inline-formula id="inf17">
<mml:math id="m62">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">25631.24</td>
<td align="center">26661.23</td>
<td align="center">&#x2193;3.8</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The profits of the upper-layer DN agent in a typical day increased from the original price of 5724.6 <inline-formula id="inf18">
<mml:math id="m63">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to 6572.7 <inline-formula id="inf19">
<mml:math id="m64">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, showing an overall increase of 14.8%. The operating costs of lower-layer SMIP operators decreased from 17936.55 <inline-formula id="inf20">
<mml:math id="m65">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and 26661.23 <inline-formula id="inf21">
<mml:math id="m66">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to 17486.31 <inline-formula id="inf22">
<mml:math id="m67">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and 25631.24 <inline-formula id="inf23">
<mml:math id="m68">
<mml:mrow>
<mml:mo>&#xa5;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, resulting in an overall reduction of 2.5% and 3.8%, respectively. The dynamic pricing can improve the benefits of different stakeholders. As indicated in <xref ref-type="table" rid="T1">Table 1</xref>, under the Stackelberg game-based dynamic pricing strategy, the benefits of the DN agent and SMIP operators are effectively balanced. On one hand, the DN agent can dynamically adjust the trading electricity price based on the electricity demand of SMIP operators, as well as the output of WTs and PVs, thereby increasing their own profits. On the other hand, SMIP operators optimize the outputs of internal power generation, as well as purchasing strategies through responding to the dynamic trading prices, thereby reducing operating costs. This indicates that under the Stackelberg game-based dynamic pricing strategy, the DN agent and SMIP operators have achieved maximum benefits, fulfilling the goal of a win&#x2013;win situation. The dynamic pricing strategy allows for timely adjustments based on electricity buying and selling conditions in the market, enabling the market to respond more rapidly and flexibly. Moreover, the prices can be adjusted according to different market conditions, thereby enabling the stakeholders to pinpoint their market positions and adapt more effectively to market changes. Furthermore, the prices can also be adjusted based on market demand, supply conditions, and the strategies of competitors. This can enable the business to maximize profits, meet market demands, and gain a greater competitive advantage.</p>
</sec>
</sec>
<sec id="s6">
<title>6 Discussion and conclusion</title>
<p>With the rapid development of SMIP, the demand for electricity trading between SMIPs and DNs is constantly increasing. An optimal trading electricity strategy with the DN can help the SMIPs to withstand the operating risks, as well as help the SMIPs to save the operating costs. For the electricity trading between the DNs and SMIPs, the existing methods have the following issues that need to be addressed:<list list-type="simple">
<list-item>
<p>&#x2022; The electricity trading mode between the DN and SMIP is unclear. How to characterize the competitive game relationship between the DN and SMIP in the trading process needs to be solved.</p>
</list-item>
<list-item>
<p>&#x2022; In existing electricity trading methods, due to different optimization objectives of different stakeholders, there are multivariable nested problems such as the trading price and trading quantity, which are often difficult to solve.</p>
</list-item>
<list-item>
<p>&#x2022; The pricing strategies in existing research studies mainly belong to fixed pricing mechanisms. As the SMIPs continue to develop, a fixed pricing mechanism will not be able to adapt to the flexible trend of the EM. Proposing a dynamic pricing strategy to further improve the profits of stakeholders is necessary.</p>
</list-item>
</list>
</p>
<p>To address the above issues, a Stackelberg game-based optimal electricity trading method for DNs with SMIPs is proposed. Our conclusions are as follows:<list list-type="simple">
<list-item>
<p>&#x2022; The proposed two-layer optimization trading model can characterize the competitive game relationship between the DNs and SMIPs. Furthermore, under the proposed scheme, the profit of DNs increases by 14.8% in a typical day, and the operating costs of SMIPs decreased by 2.5% and 3.8%, respectively.</p>
</list-item>
<list-item>
<p>&#x2022; The proposed solution method transforms the proposed non-linear model into a mixed-integer linear programming model, which solves the coupling&#x2013;nesting problem of interactive power and electricity price in the proposed model without any approximation.</p>
</list-item>
<list-item>
<p>&#x2022; A dynamic pricing strategy is formulated to address the disadvantage of fixed pricing mechanisms. Under the dynamic pricing strategy, the DN agent sets the dynamic prices to lead the trading behavior of SMIP operators, and the SMIP operators choose the trading time to follow the guidance of the DN agent without the passive price reception.</p>
</list-item>
</list>
</p>
<p>The trading strategy proposed in this paper can effectively increase the profits of the DN agent while reducing the operating costs of SMIP operators. In future research, a two-layer robust optimization trading method for the DN agent and SMIP operators will be developed with the consideration of the uncertainty of PVs and WTs to make the methods more comprehensive.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s8">
<title>Author contributions</title>
<p>LC: writing&#x2013;original draft. QY: writing&#x2013;review and editing. XW: writing&#x2013;review and editing. YC: writing&#x2013;original draft. WW: writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s9">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. The study in this paper was supported by the Project Supported by Zhejiang Electric Power Industry Corporation Technology Project (CF058810002022001).</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</title>
<p>Authors LC, QY, XW, YC, and WW were employed by State Grid Pingyang Power Supply Company.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Anwar</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Stephen</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Dalvi</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Frew</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ericson</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Brown</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Modeling investment decisions from heterogeneous firms under imperfect information and risk in wholesale electricity markets</article-title>. <source>Appl. Energy</source> <volume>306</volume>, <fpage>117908</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2021.117908</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Day-ahead economic optimal dispatch of microgrid cluster considering shared energy storage system and P2P transaction</article-title>. <source>Front. energy Res.</source> <volume>9</volume> (<issue>9</issue>), <fpage>645017</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2021.645017</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Bu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Kang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>F. R.</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Peer-to-peer energy trading and energy conversion in interconnected multi-energy microgrids using multi-agent deep reinforcement learning</article-title>. <source>IEEE Trans. smart grid</source> <volume>13</volume> (<issue>1</issue>), <fpage>715</fpage>&#x2013;<lpage>727</lpage>. <pub-id pub-id-type="doi">10.1109/tsg.2021.3124465</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Davoudi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Moeini-Aghtaie</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Local energy markets design for integrated distribution energy systems based on the concept of transactive peer-to-peer market</article-title>. <source>IET generation, Transm. distribution</source> (<issue>1</issue>), <fpage>16</fpage>. <pub-id pub-id-type="doi">10.1049/gtd2.12274</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Optimal operation of multi-agent electricity-heat-hydrogen sharing in integrated energy system based on Nash bargaining</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>148</volume> (<issue>6</issue>), <fpage>108930</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108930</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Du</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Sizing of centralized shared energy storage for resilience microgrids with controllable load: a bi-level optimization approach</article-title>. <source>Front. energy Res.</source> <volume>10</volume> (<issue>10</issue>), <fpage>954833</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2022.954833</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Envelope</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Envelope</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Envelope</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Stackelberg game-based optimal scheduling of integrated energy systems considering differences in heat demand across multi-functional areas</article-title>. <source>Energy Rep.</source> <volume>8</volume>, <fpage>11885</fpage>&#x2013;<lpage>11898</lpage>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.08.199</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fattaheian</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Tavakkoli</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Abbaspour</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Fotuhi-Firuzabad</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Lehtonen</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Optimal energy management of distribution networks in post-contingency conditions</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>141</volume> (<issue>11</issue>), <fpage>108022</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108022</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Pinson</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>An asynchronous online negotiation mechanism for real-time peer-to-peer electricity markets</article-title>. <source>IEEE Trans. power Syst.</source> <volume>37</volume> (<issue>3</issue>), <fpage>1868</fpage>&#x2013;<lpage>1880</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrs.2021.3111869</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Haghifam</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zare</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Abapour</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mu&#xf1;oz-Delgado</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Contreras</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Stackelberg game-based approach for transactive energy management in smart distribution networks</article-title>. <source>Energies</source> <volume>13</volume> (<issue>14</issue>), <fpage>3621</fpage>. <pub-id pub-id-type="doi">10.3390/en13143621</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Optimal planned electricity allocation model for power exchange under the plan-market double-track mechanism</article-title>. <source>Front. energy Res.</source> <volume>9</volume> (<issue>9</issue>), <fpage>679365</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2021.679365</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hua</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Pei</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Chiu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Transactive energy and flexibility provision in multi-microgrids using Stackelberg game</article-title>. <source>CSEE J. power energy Syst.</source> <volume>9</volume> (<issue>2</issue>), <fpage>505</fpage>&#x2013;<lpage>515</lpage>. <pub-id pub-id-type="doi">10.17775/CSEEJPES.2021.04370</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>N.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Low-carbon economic dispatch and energy sharing method of multiple integrated energy systems from the perspective of system of systems</article-title>. <source>Energy</source> <volume>244</volume>, <fpage>122717</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2021.122717</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jin</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Research on the development of electricity market based on performance guarantee</article-title>. <source>Front. energy Res.</source> <volume>10</volume> (<issue>10</issue>), <fpage>900901</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2022.900901</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khaligh</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Ghezelbash</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mazidi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ryu</surname>
<given-names>J. H.</given-names>
</name>
<name>
<surname>Na</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A stochastic agent-based cooperative scheduling model of a multi-vector microgrid including electricity, hydrogen, and gas sectors</article-title>. <source>J. power sources</source> <volume>546</volume> (<issue>10</issue>), <fpage>231989</fpage>&#x2013;<lpage>232014</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2022.231989</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Klsch</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zellmann</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Vyas</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Pfeifer</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hohmann</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Optimal distributed frequency and voltage control for zonal electricity markets</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>37</volume> (<issue>4</issue>), <fpage>2666</fpage>&#x2013;<lpage>2678</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrs.2021.3123088</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kuno</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Tanaka</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Yamada</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Effectiveness and feasibility of market makers for P2P electricity trading</article-title>. <source>Energies</source> <volume>15</volume> (<issue>12</issue>), <fpage>4218</fpage>. <pub-id pub-id-type="doi">10.3390/en15124218</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lei</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Analysis of strategic bidding of a DER aggregator in energy markets through the Stackelberg game model with the mixed-integer lower-level problem</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>152</volume> (<issue>12</issue>), <fpage>109237</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2023.109237</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Nie</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Trading strategy and benefit optimization of load aggregators in integrated energy systems considering integrated demand response: a hierarchical Stackelberg game</article-title>. <source>Energy</source> <volume>249</volume>, <fpage>123678</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2022.123678</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Shahidehpour</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2023c</year>). <article-title>Robust bidding strategy for multi-energy virtual power plant in peak-regulation ancillary service market considering uncertainties</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>151</volume> (<issue>9</issue>), <fpage>109101</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2023.109101</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2023a</year>). <article-title>Part-load performance analysis of a dual-recuperated gas turbine combined cycle system</article-title>. <source>Energy</source> <volume>269</volume>, <fpage>126744</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2023.126744</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>K. J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2023d</year>). <article-title>Probabilistic harmonic forecasting of the distribution system considering time-varying uncertainties of the distributed energy resources and electrical loads</article-title>. <source>Appl. Energy</source> <volume>329</volume>, <fpage>120298</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2022.120298</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2023b</year>). <article-title>Medium-term multi-stage distributionally robust scheduling of hydro&#x2013;wind&#x2013;solar complementary systems in electricity markets considering multiple time-scale uncertainties</article-title>. <source>Appl. Energy</source> <volume>347</volume>, <fpage>121371</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2023.121371</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Network-constrained peer-to-peer energy trading for multiple microgrids considering zoning pricing</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>147</volume> (<issue>5</issue>), <fpage>108837</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108837</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lyu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Lai</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yi</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Cooperative game consistency optimal strategy of multi-microgrid system considering flexible load</article-title>. <source>Energy sources.</source> <volume>44</volume> (<issue>3</issue>), <fpage>7378</fpage>&#x2013;<lpage>7399</lpage>. <pub-id pub-id-type="doi">10.1080/15567036.2022.2109779</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ouyang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Reliability modeling of multi-terminal DC circuit breaker and its impact on multi-terminal DC distribution network</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>7</volume> (<issue>1</issue>), <fpage>32</fpage>&#x2013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108888</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pownall</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Soutar</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Mitchell</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Re-designing GB&#x2019;s electricity market design: a conceptual framework which recognises the value of distributed energy resources</article-title>. <source>Energies</source> <volume>14</volume> (<issue>4</issue>), <fpage>1124</fpage>. <pub-id pub-id-type="doi">10.3390/en14041124</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chun</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Operation strategy for new energy vehicle enterprises based on dual credit policy</article-title>. <source>J. industrial Manag. Optim.</source> <volume>19</volume> (<issue>8</issue>), <fpage>5724</fpage>&#x2013;<lpage>5748</lpage>. <pub-id pub-id-type="doi">10.3934/jimo.2022192</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tan</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Optimization and trading of district multi-energy system in university community considering carbon emission</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>137</volume> (<issue>5</issue>), <fpage>107450</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2021.107450</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022a</year>). <article-title>Multi-objective optimal scheduling model with IGDT method of integrated energy system considering ladder-type carbon trading mechanism</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>143</volume> (<issue>12</issue>), <fpage>108386</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108386</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zuo</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022b</year>). <article-title>Optimal management of multi stakeholder integrated energy system considering dual incentive demand response and carbon trading mechanism</article-title>. <source>Int. J. energy Res.</source> <volume>46</volume> (<issue>5</issue>), <fpage>6246</fpage>&#x2013;<lpage>6263</lpage>. <pub-id pub-id-type="doi">10.1002/er.7561</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wei</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Long</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Transaction model based on Stackelberg game method for balancing supply and demand sides of multi-energy microgrid</article-title>. <source>Energies</source> <volume>15</volume> (<issue>4</issue>), <fpage>1362</fpage>&#x2013;<lpage>1420</lpage>. <pub-id pub-id-type="doi">10.3390/en15041362</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiao</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chung</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Network partition-based two-layer optimal scheduling for active distribution networks with multiple stakeholders</article-title>. <source>IEEE Trans. industrial Inf.</source> <volume>17</volume> (<issue>9</issue>), <fpage>5948</fpage>&#x2013;<lpage>5960</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2020.3038668</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hua</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Shao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Cui</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Stackelberg-game-based demand response for voltage regulation in distribution network with high penetration of electric vehicles</article-title>. <source>Energies</source> <volume>15</volume> (<issue>10</issue>), <fpage>3654</fpage>. <pub-id pub-id-type="doi">10.3390/en15103654</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Pandzic</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Optimal dispatching of an energy system with integrated compressed air energy storage and demand response</article-title>. <source>Energy</source> <volume>234</volume> (<issue>19</issue>), <fpage>121232</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2021.121232</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2023a</year>). <article-title>Research on multi-energy collaborative operation optimization of integrated energy system considering carbon trading and demand response</article-title>. <source>Energy</source> <volume>283</volume>, <fpage>129117</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2023.129117</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Analysis of wind farm participation in frequency regulation considering multi-market interests</article-title>. <source>J. Renew. Sustain. energy</source> <volume>14</volume> (<issue>1</issue>), <fpage>013304</fpage>. <pub-id pub-id-type="doi">10.1063/5.0073140</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Q.</given-names>
</name>
<etal/>
</person-group> (<year>2023b</year>). <article-title>Network-constrained transactive control for multi-microgrids-based distribution networks with soft open points</article-title>. <source>IEEE Trans. Sustain. energy</source> <volume>14</volume> (<issue>3</issue>), <fpage>1769</fpage>&#x2013;<lpage>1783</lpage>. <pub-id pub-id-type="doi">10.1109/tste.2023.3246360</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yuan</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Optimal scheduling of cascade hydropower plants in a portfolio electricity market considering the dynamic water delay</article-title>. <source>Energy</source> <volume>252</volume>, <fpage>124025</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2022.124025</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Research on dynamic pricing and operation optimization strategy of integrated energy system based on Stackelberg game</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>143</volume> (<issue>12</issue>), <fpage>108446</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108446</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zou</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A fault recovery strategy of flexible interconnected distribution network with SOP flexible closed-loop operation</article-title>. <source>Int. J. Electr. power energy Syst.</source> <volume>142</volume> (<issue>11</issue>), <fpage>108360</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108360</pub-id>
</citation>
</ref>
</ref-list>
<sec id="s12">
<title>Glossary</title>
<table-wrap id="udT1" position="float">
<table>
<tbody valign="top">
<tr>
<td align="left">
<bold>DN</bold>
</td>
<td align="left">distribution network</td>
</tr>
<tr>
<td align="left">
<bold>SMIP</bold>
</td>
<td align="left">small-micro industrial park</td>
</tr>
<tr>
<td align="left">
<bold>KKT</bold>
</td>
<td align="left">Karush&#x2013;Kuhn&#x2013;Tucker condition</td>
</tr>
<tr>
<td align="left">
<bold>EM</bold>
</td>
<td align="left">electricity market</td>
</tr>
<tr>
<td align="left">
<bold>Formulas</bold>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>sell <italic>t</italic>
</bold>
</td>
<td align="left">electricity selling price of DN agents at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>buy <italic>t</italic>
</bold>
</td>
<td align="left">electricity selling price of SMIP operators at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>&#x394;<italic>t</italic>
</bold>
</td>
<td align="left">optimization time period</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>tra <italic>t</italic>
</bold>
</td>
<td align="left">trading price among DN agents at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>sop <italic>t</italic>
</bold>
</td>
<td align="left">traded electricity of the adjacent DN agent at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>sell <italic>t</italic>
</bold>
</td>
<td align="left">electricity sold by DN agents to SMIP operators at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>buy <italic>t</italic>
</bold>
</td>
<td align="left">electricity bought by DN agents from SMIP operators at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c0;&#x2b; t</italic>
</bold>
</td>
<td align="left">buying prices of electricity for DN agents from EM at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c0;-t</italic>
</bold>
</td>
<td align="left">selling prices of electricity for DN agents from EM at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c0;</italic>
</bold>
<sub>
<bold>
<italic>t</italic>
</bold>
</sub>
</td>
<td align="left">day-ahead contract price of electricity</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>R&#x2b; t</italic>
</bold>
</td>
<td align="left">electricity bought by DN agents from EM at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>R- t</italic>
</bold>
</td>
<td align="left">electricity sold by DN agents from EM at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>R</italic>
</bold>
<sub>
<bold>
<italic>t</italic>
</bold>
</sub>
</td>
<td align="left">day-ahead contract electricity</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>E</italic>
</bold>
<sub>
<bold>
<italic>t</italic>
</bold>
</sub>
</td>
<td align="left">ES charging power at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>e</italic>
</bold>
<sub>
<bold>
<italic>t</italic>
</bold>
</sub>
</td>
<td align="left">ES discharging power at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>
</bold>
<sup>
<bold>ESS,max</bold>
</sup>
</td>
<td align="left">upper limits of ES charging and discharging power</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>
</bold>
<sup>
<bold>ESS,min</bold>
</sup>
</td>
<td align="left">lower limits of ES charging and discharging power</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>S</italic>ESS <italic>t</italic>
</bold>
</td>
<td align="left">ES capacity value at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3b7;</italic>
</bold>
<sup>
<bold>E</bold>
</sup>
</td>
<td align="left">ES charging efficiency</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3b7;</italic>
</bold>
<sup>
<bold>e</bold>
</sup>
</td>
<td align="left">ES discharging efficiency</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>w</italic>E <italic>t</italic>
</bold>
</td>
<td align="left">ES charging state at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>w</italic>e <italic>t</italic>
</bold>
</td>
<td align="left">ES discharging state at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3be;</italic>
</bold>
</td>
<td align="left">number of transitions between ES charging and discharging states</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>R</italic>
</bold>
<sup>
<bold>max</bold>
</sup>
</td>
<td align="left">maximum value of electricity quantity in the market contract trading</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3ba;</italic>&#x2b; <italic>t</italic>
</bold>
</td>
<td align="left">buying status between DN agents and EM at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3ba;</italic>- <italic>t</italic>
</bold>
</td>
<td align="left">selling status between DN agents and EM at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>
</bold>
<sup>
<bold>buy,max</bold>
</sup>
</td>
<td align="left">upper limits of the electricity buying price setting by the DN agent</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>
</bold>
<sup>
<bold>buy,min</bold>
</sup>
</td>
<td align="left">lower limits of the electricity buying price setting by the DN agent</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>
</bold>
<sup>
<bold>sell,max</bold>
</sup>
</td>
<td align="left">upper limits of the electricity selling price setting by the DN agent</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>
</bold>
<sup>
<bold>sell,min</bold>
</sup>
</td>
<td align="left">lower limits of the electricity selling price setting by the DN agent</td>
</tr>
<tr>
<td align="left">
<bold>ES</bold>
</td>
<td align="left">energy storage</td>
</tr>
<tr>
<td align="left">
<bold>DEG</bold>
</td>
<td align="left">diesel generator</td>
</tr>
<tr>
<td align="left">
<bold>PV</bold>
</td>
<td align="left">photovoltaic power</td>
</tr>
<tr>
<td align="left">
<bold>WT</bold>
</td>
<td align="left">wind power</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>
</bold>
<sup>
<bold>av</bold>
</sup>
</td>
<td align="left">average electricity price for DN agents</td>
</tr>
<tr>
<td align="left">
<bold>T</bold>
</td>
<td align="left">time period of electricity sold by the DN agent</td>
</tr>
<tr>
<td align="left">
<bold>K</bold>
</td>
<td align="left">time period of electricity bought by the DN agent</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>c</italic>
</bold>
<sup>
<bold>DEG</bold>
</sup>
</td>
<td align="left">cost coefficient for DEG</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>DEG <italic>m</italic>,<italic>t</italic>
</bold>
</td>
<td align="left">outputs of the <italic>mth</italic> DEG at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>PV <italic>t</italic>
</bold>
</td>
<td align="left">outputs of PV at time <italic>t</italic> in the SMIP</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>WT <italic>t</italic>
</bold>
</td>
<td align="left">outputs of WT at time <italic>t</italic> in the SMIP</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>load <italic>t</italic>
</bold>
</td>
<td align="left">load demand at time <italic>t</italic> in the SMIP</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>DEG, max <italic>m</italic>
</bold>
</td>
<td align="left">maximum outputs of <italic>mth</italic> DEG</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>DEG, min <italic>m</italic>
</bold>
</td>
<td align="left">minimum outputs of <italic>mth</italic> DEG</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>sell, max <italic>t</italic>
</bold>
</td>
<td align="left">upper limit of electricity power sold by SMIP operators at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>sell, min <italic>t</italic>
</bold>
</td>
<td align="left">lower limit of electricity power sold by SMIP operators at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>buy, max <italic>t</italic>
</bold>
</td>
<td align="left">upper limit of electricity power bought by SMIP operators at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>P</italic>buy, min <italic>t</italic>
</bold>
</td>
<td align="left">lower limit of the electricity power bought by SMIP operators at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>R</italic>DEG <italic>m</italic>,<italic>t</italic>
</bold>
</td>
<td align="left">rotational backup capacity provided by the <italic>m</italic>th DEG in the SMIP at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3b4;</italic>PV <italic>t</italic>
</bold>
</td>
<td align="left">mean values of normal distribution for PV forecasting errors</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3b4;</italic>WT <italic>t</italic>
</bold>
</td>
<td align="left">mean values of normal distribution for WT forecasting errors</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3b4;</italic>load <italic>t</italic>
</bold>
</td>
<td align="left">mean values of normal distribution for load forecasting errors</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3b1;</italic>
</bold>
</td>
<td align="left">confidence level</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c3;</italic>
</bold>
<sup>
<bold>PV</bold>
</sup>
</td>
<td align="left">standard deviations of normal distribution for the PV forecasting errors</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c3;</italic>
</bold>
<sup>
<bold>WT</bold>
</sup>
</td>
<td align="left">standard deviations of normal distribution for the WT forecasting errors of WTs</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c3;</italic>
</bold>
<sup>
<bold>load</bold>
</sup>
</td>
<td align="left">standard deviations of normal distribution for the load forecasting errors</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c1;</italic>max <italic>m</italic>,<italic>t</italic>
</bold>
</td>
<td align="left">dual variables for the upper limits of the <italic>m</italic>th DEG outputs at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3c1;</italic>min <italic>m</italic>,<italic>t</italic>
</bold>
</td>
<td align="left">dual variables for the lower limits of the <italic>m</italic>th DEG outputs at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3bb;</italic>2, min <italic>t</italic>
</bold>
</td>
<td align="left">dual variables for the lower limits of the electricity sold by the DN agent at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3bb;</italic>2, max <italic>t</italic>
</bold>
</td>
<td align="left">dual variables for the upper limits of the electricity sold by the DN agent at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3bb;</italic>3min <italic>t</italic>
</bold>
</td>
<td align="left">dual variables for the lower limits of the bought electricity quantity by the DN agent at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3bb;</italic>3, max <italic>t</italic>
</bold>
</td>
<td align="left">dual variables for the upper limits of the bought electricity quantity by the DN agent at time <italic>t</italic>
</td>
</tr>
<tr>
<td align="left">
<bold>
<italic>&#x3bb;</italic>4 <italic>t</italic>
</bold>
</td>
<td align="left">dual variable for the opportunity constraint at time <italic>t</italic>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</back>
</article>