<?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">1506921</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1506921</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>Optimal dispatch of an electricity-heat virtual power plant based on Benders decomposition</article-title>
<alt-title alt-title-type="left-running-head">Wu et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1506921">10.3389/fenrg.2024.1506921</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Wu</surname>
<given-names>Yunxia</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Yang</surname>
<given-names>Shenhao</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Su</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Longyuan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Yan</surname>
<given-names>Xiaobin</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Jingxuan</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1829355/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Energy Planning and Research Institute of Southwest Electric Power Design Institute Co., Ltd. of China Power Engineering Consulting Group</institution>, <addr-line>Chengdu</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>College of Electrical Engineering</institution>, <institution>Taiyuan University of Technology</institution>, <addr-line>Taiyuan</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/2527001/overview">Lun Yang</ext-link>, Xi&#x2019;an Jiaotong 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/2862087/overview">Haotian Zhao</ext-link>, Tsinghua University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1848520/overview">Lirong Deng</ext-link>, Shanghai University of Electric Power, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Shenhao Yang, <email>937206058@qq.com</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>20</day>
<month>11</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1506921</elocation-id>
<history>
<date date-type="received">
<day>06</day>
<month>10</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>04</day>
<month>11</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Wu, Yang, Zhang, Li, Yan and Li.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Wu, Yang, Zhang, Li, Yan and Li</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>Recently, wind energy has been developed as an important technology to address the energy crisis. However, due to an unreasonable energy structure, wind power curtailment is becoming increasingly severe. Combined heat and power dispatch (CHPD) provided a solution for wind accommodation by utilizing the flexibility resources of district heating systems. Because of the imperfect dispatch methods and CHPD platforms, many wind power heating projects have not effectively linked the use of abandoned wind and heating. The virtual power plant (VPP) achieves the reasonable combination of controllable power sources, distributed energy, controllable loads, and energy storage systems within a certain area. Thus, we propose a VPP model based on combined dispatch of wind power and heat energy, which integrates wind turbines, thermal turbines, CHP units, etc., into a whole to join in the grid operation. Besides, to preserve the privacy of energy agents, Benders decomposition algorithm is adopted to solve the proposed model in this paper. The validity and efficiency of the proposed VPP model and Benders decomposition algorithm are verified via numerical cases.</p>
</abstract>
<kwd-group>
<kwd>renewable energy</kwd>
<kwd>virtual power plant</kwd>
<kwd>wind accommodation</kwd>
<kwd>district heating system</kwd>
<kwd>Benders decomposition</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Sustainable Energy Systems</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In recent years, wind energy has been developed as a key strategy to handle with the energy crisis. The total installed capacity of wind turbines is expected to reach 3,105.9 GW by 2030. However, due to an unreasonable energy structure and lack of flexibility, wind power curtailment is becoming increasingly severe. In Inner Mongolia in China, the total amount of wind curtailment reaches 5.06 billion, accounting for 8.9% of the total available output in 2021 (<xref ref-type="bibr" rid="B15">Zhao et al., 2023</xref>). Especially in winter, due to the large number of combined heat and power (CHP) units undertaking the heating task, the implementation of the &#x201c;determining power by heat&#x201d; operation mode seriously reduces the accommodation space of wind power (<xref ref-type="bibr" rid="B5">Li et al., 2016</xref>; <xref ref-type="bibr" rid="B6">Qu et al., 2020</xref>).</p>
<p>To address this crisis, some researchers have conducted research on the combined dispatch of wind power and heat energy (<xref ref-type="bibr" rid="B4">Li et al., 2024</xref>), such as demand response (<xref ref-type="bibr" rid="B7">Rigoni et al., 2021</xref>), energy storage deployment (<xref ref-type="bibr" rid="B11">Toubeau et al., 2021</xref>), flexibility reformation of thermal power units (<xref ref-type="bibr" rid="B9">Sun et al., 2020</xref>), etc. <xref ref-type="bibr" rid="B7">Rigoni et al. (2021)</xref> present a method that combines demand response aggregators with power operators for combined heat and power dispatch (CHPD). Meanwhile, many wind power heating demonstration projects are constantly emerging. However, due to the imperfect dispatch methods and CHPD platforms, many wind power heating projects have not effectively linked the use of abandoned wind and heating, resulting in only a small portion of wind power heating electricity coming from abandoned wind power, which deviates from the original intention of wind power heating projects.</p>
<p>In order to promote the efficient utilization and wind accommodation by wind power heating, many scholars generally consider wind power heating as a heat load side management resource. There are virtual power plant (VPP) projects that combine CHP units, wind turbines, and load side management within a certain region (<xref ref-type="bibr" rid="B3">Houwing et al., 2009</xref>). VPP refers to the reasonable combination of controllable power sources, distributed energy, controllable loads, and energy storage systems within a certain area, managed by a control center, and integrated into a whole to join in the grid operation <xref ref-type="bibr" rid="B13">Xia et al. (2016)</xref>, <xref ref-type="bibr" rid="B12">Wang et al. (2022)</xref>, <xref ref-type="bibr" rid="B3">Houwing et al. (2009)</xref> propose the formation of a VPP consisting of wind turbines and CHP units, achieving the objective of smoothing wind fluctuations and reducing operation costs. <xref ref-type="bibr" rid="B13">Xia et al. (2016)</xref> add an electric boiler to the VPP-CHPD operation model to achieve direct conversion of wind power to heating, reducing carbon emissions. However, due to the fact that the electric power system (EPS) and district heating system (DHS) belong to different energy agents, the traditional centralized dispatch cannot guarantee the privacy of each energy agents (<xref ref-type="bibr" rid="B14">Zhao et al., 2024</xref>). Therefore, VPP is difficult to apply in practice due to the demand for privacy preservation.</p>
<p>Many distributed optimal algorithms have been studied to ensure privacy preservation among energy agents. Each energy agent solves its own subproblem, only interacting boundary information to achieve the global optimal, implementing privacy preservation in a decoupled manner (<xref ref-type="bibr" rid="B1">Chen et al., 2020</xref>). As one of the most popular optimal algorithms in combined dispatch, the Benders decomposition algorithm has been widely applied in integrated energy system (<xref ref-type="bibr" rid="B10">Tan et al., 2023</xref>; <xref ref-type="bibr" rid="B2">Du et al., 2024</xref>). <xref ref-type="bibr" rid="B10">Tan et al. (2023)</xref> propose a coordinated optimization framework based on equivalent projection theory, which can be solved by Benders decomposition algorithm. <xref ref-type="bibr" rid="B1">Chen et al. (2020)</xref> propose a improved generalized Benders decomposition method to address the combined natural gas and power model without privacy leakage.</p>
<p>The main contributions of this paper are summarized as follows:<list list-type="simple">
<list-item>
<p>(1) To better accommodate wind energy, a VPP model based on combined dispatch of wind power and heat energy is proposed, which integrate wind turbines, thermal turbines, CHP units, etc. into a whole to join in the grid operation, reducing wind curtailment.</p>
</list-item>
<list-item>
<p>(2) Inspired by multi-agent characteristics, Benders decomposition algorithm is adopted to handle with the VPP model in this paper, in order to preserve the privacy of energy agents. The efficiency and accuracy of the algorithm are verified via numerical cases.</p>
</list-item>
</list>
</p>
<p>The remaining part of this paper is summarized as follows: The VPP model is formulated in <xref ref-type="sec" rid="s2">Section 2</xref>. <xref ref-type="sec" rid="s3">Section 3</xref> focuses on the solution strategy based on Benders decomposition algorithms. <xref ref-type="sec" rid="s4">Section 4</xref> discusses the case studies. <xref ref-type="sec" rid="s5">Section 5</xref> summaries and concludes this paper.</p>
</sec>
<sec id="s2">
<title>2 Problem formulation</title>
<p>This section discusses the VPP model. Its goal is to maximize the profits of EPS and DHS, with the physical constraints related to two system.</p>
<sec id="s2-1">
<title>2.1 Objective function</title>
<p>The objective of the virtual power plant model is to maximize the revenue of all units in EPS and DHS, i.e., to minimize their operation cost. And the objective function and constraints (<xref ref-type="disp-formula" rid="e1">Equations 1</xref>&#x2013;<xref ref-type="disp-formula" rid="e5">5</xref>) are as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>W</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where,<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="6em"/>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="6em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m3">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>P</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m4">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>W</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m5">
<mml:mrow>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>where, <inline-formula id="inf1">
<mml:math id="m6">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the set of units. <italic>T</italic> is the set of time. <inline-formula id="inf2">
<mml:math id="m7">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the unit operation cost. <inline-formula id="inf3">
<mml:math id="m8">
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the fuel consumption of heating boiler <italic>i</italic> during dispatch time <italic>t</italic>. <inline-formula id="inf4">
<mml:math id="m9">
<mml:mrow>
<mml:msubsup>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the heating power of CHP units during dispatch time <italic>t</italic>. <inline-formula id="inf5">
<mml:math id="m10">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf6">
<mml:math id="m11">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf7">
<mml:math id="m12">
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> denote the electric power of CHP units, wind turbines and thermal units during dispatch time <italic>t</italic> respectively. <inline-formula id="inf8">
<mml:math id="m13">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf9">
<mml:math id="m14">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf10">
<mml:math id="m15">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf11">
<mml:math id="m16">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf12">
<mml:math id="m17">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the coefficient of cost function of units.</p>
</sec>
<sec id="s2-2">
<title>2.2 Constraints</title>
<p>The constraints in the VPP model include the constraints related to the DHS and the EPS, as follows i.e., (<xref ref-type="disp-formula" rid="e6">Equations 6</xref>&#x2013;<xref ref-type="disp-formula" rid="e21">21</xref>) and (<xref ref-type="disp-formula" rid="e22">Equations 22</xref>&#x2013;<xref ref-type="disp-formula" rid="e28">28</xref>):</p>
<sec id="s2-2-1">
<title>2.2.1 District heating system</title>
<p>The heating source consists of CHP units and heating boilers. The heating output of heating sources must be controlled to a specific range due to the limitations of transmission capacity of pipelines and lines and feasible operation range (<xref ref-type="bibr" rid="B8">Xue et al., 2020</xref>).<disp-formula id="e6">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m19">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>H</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m20">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>H</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where, <inline-formula id="inf13">
<mml:math id="m21">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf14">
<mml:math id="m22">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>H</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf15">
<mml:math id="m23">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>H</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the maximum output of CHP units and heating boilers. <inline-formula id="inf16">
<mml:math id="m24">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf17">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf18">
<mml:math id="m26">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>H</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the minimum output of them.</p>
<p>The output of heating source satisfies the specific heat capacity formula (<xref ref-type="bibr" rid="B8">Xue et al., 2020</xref>), as follows:<disp-formula id="e9">
<mml:math id="m27">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where, <italic>c</italic> is the specific heat capacity of water, <inline-formula id="inf19">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the total mass flow at node <italic>n</italic>, <inline-formula id="inf20">
<mml:math id="m29">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf21">
<mml:math id="m30">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the node temperature in heating network during dispatch time <italic>t</italic>. The superscript <italic>S</italic> represents the supply network, and <italic>R</italic> represents the return network.<disp-formula id="e10">
<mml:math id="m31">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where, <inline-formula id="inf22">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the heating output efficiency of boilers in DHS.</p>
<p>To guarantee a certain level of heating quality, the node temperature connected to the heat sources must be maintained within a certain range:<disp-formula id="e11">
<mml:math id="m33">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>n</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>where, <inline-formula id="inf23">
<mml:math id="m34">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>n</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf24">
<mml:math id="m35">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are minimum and maximum node temperature in the supply network.</p>
<p>The mass flow rate of the supply and return pipeline at the same node should be consistent.<disp-formula id="e12">
<mml:math id="m36">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>The flow in the pipeline should be balanced, which means the inflow flow is equal to the outflow flow.<disp-formula id="e13">
<mml:math id="m37">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>D</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>n</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>D</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>n</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
<disp-formula id="e14">
<mml:math id="m38">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>M</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mover accent="true">
<mml:mi>M</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:munder accentunder="true">
<mml:mi>M</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mover accent="true">
<mml:mi>M</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>Moreover, the mixed temperature of node in DHS is presented as follows:<disp-formula id="e15">
<mml:math id="m39">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="0.3em"/>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>where <inline-formula id="inf25">
<mml:math id="m40">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf26">
<mml:math id="m41">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">PR</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the outlet temperatures of pipelines in heating network, <inline-formula id="inf27">
<mml:math id="m42">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf28">
<mml:math id="m43">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the mass flow of heating network. <inline-formula id="inf29">
<mml:math id="m44">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf30">
<mml:math id="m45">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the set of inlet and outlet pipelines connected to node <italic>n</italic>. The first equation presents the supply network, and the second equation presents the return network. The inlet temperature of the mass flow in pipeline is consistent with the temperature of the nodes connected to it.<disp-formula id="e16">
<mml:math id="m46">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">PR</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>where, <inline-formula id="inf31">
<mml:math id="m47">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf32">
<mml:math id="m48">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">PR</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the inlet temperatures in supply network and return network.</p>
<p>The heat loss and transfer delay of mass flow are involved in this paper, which can be computed as follow:<disp-formula id="e17">
<mml:math id="m49">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>0</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>0</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>0</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m50">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x2308;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x2309;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m51">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>p</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>where, <inline-formula id="inf33">
<mml:math id="m52">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the set of heating pipelines in DHS. <inline-formula id="inf34">
<mml:math id="m53">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>0</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is ambient temperature in DHS. <inline-formula id="inf35">
<mml:math id="m54">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf36">
<mml:math id="m55">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
<mml:mi mathvariant="italic">PR</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are intermediate variable. <inline-formula id="inf37">
<mml:math id="m56">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>S</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf38">
<mml:math id="m57">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c6;</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are transfer time of heating pipelines in supply network and return network. <inline-formula id="inf39">
<mml:math id="m58">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is water density. <inline-formula id="inf40">
<mml:math id="m59">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is heat transfer factor. <inline-formula id="inf41">
<mml:math id="m60">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the time interval. <inline-formula id="inf42">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf43">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>l</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the length and cross area of pipelines.</p>
<p>The heating load <inline-formula id="inf44">
<mml:math id="m63">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> can be represented by specific heat capacity formulation.<disp-formula id="e20">
<mml:math id="m64">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>D</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>where, <inline-formula id="inf45">
<mml:math id="m65">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the set of heating load. Similarly, the water temperature of return network must be limited a specific range (<xref ref-type="bibr" rid="B8">Xue et al., 2020</xref>).<disp-formula id="e21">
<mml:math id="m66">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>n</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>where <inline-formula id="inf46">
<mml:math id="m67">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>n</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf47">
<mml:math id="m68">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
<mml:mi>R</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the minimum and maximum node temperature in the return network.</p>
</sec>
<sec id="s2-2-2">
<title>2.2.2 Electric power system</title>
<p>The constraints related to EPS are presented as follows:<disp-formula id="e22">
<mml:math id="m69">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>W</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m70">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>L</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>W</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>D</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="-25em"/>
<mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(23)</label>
</disp-formula>
<disp-formula id="e24">
<mml:math id="m71">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
<disp-formula id="e25">
<mml:math id="m72">
<mml:mrow>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>W</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
<disp-formula id="e26">
<mml:math id="m73">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>R</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>R</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>G</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
<disp-formula id="e27">
<mml:math id="m74">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:munder accentunder="true">
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2003;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>
<disp-formula id="e28">
<mml:math id="m75">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>
</p>
<p>The energy balance constraint in EPS is presented in <xref ref-type="disp-formula" rid="e22">Equation 22</xref>. <xref ref-type="disp-formula" rid="e23">Equation 23</xref> is the network capacity constraint. The unit output constraints of CHP units and wind turbines are showed in <xref ref-type="disp-formula" rid="e24">Equations 24</xref>, <xref ref-type="disp-formula" rid="e25">25</xref>. <xref ref-type="disp-formula" rid="e26">Equations 26</xref>&#x2013;<xref ref-type="disp-formula" rid="e28">28</xref> are shows the ramping and spinning reserve constraints. <inline-formula id="inf48">
<mml:math id="m76">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> refer to the upward/downward ramping rate, <inline-formula id="inf49">
<mml:math id="m77">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> refer to the spinning reserve, <inline-formula id="inf50">
<mml:math id="m78">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> refer to the shift factor.</p>
</sec>
</sec>
</sec>
<sec id="s3">
<title>3 Solving strategy</title>
<p>In this paper, the Benders decomposition method is proposed to solve the privacy information protection of the whole system. According to the variable type of the virtual power plant system, the original problem is decomposed into the main problem of the district heating system and the sub-problem of the electricity power system. There is no need for interactive privacy information between the electricity power system and the district heating system. Two systems only need to interact with the optimal output of the system and Benders cut constraints to solve the model.</p>
<sec id="s3-1">
<title>3.1 Second-order control relaxion</title>
<p>In order to successfully apply Benders to solve the original problem, the model needs to be relaxed. This is because the change in flow rate introduces a bilinear term, which causes the subproblem of heat to be non-convex and cannot be solved.</p>
<p>To reduce the complexity of the model, the auxiliary variable <inline-formula id="inf51">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is introduced to replace the product of <italic>M</italic> and <italic>T.</italic>
<disp-formula id="e29">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
</p>
<p>Based on the above re-formulation, the above model can be transformed into the NCQCP model. However, constraint <xref ref-type="disp-formula" rid="e29">Equation 29</xref> is still a nonlinear term, which needs to be dealt with. Therefore, the second-order control relaxation is introduced to relax the bilinear term, which could be solved efficiently by solvers such as the cplex.</p>
<p>Constraint <xref ref-type="disp-formula" rid="e29">Equation 29</xref> is equivalent to the following <xref ref-type="disp-formula" rid="e30">Equation 30</xref>:<disp-formula id="e30">
<mml:math id="m81">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="1.5em"/>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>where the parameters <inline-formula id="inf52">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is to make the order of magnitude of the parameter close. The constraint is transformed into inequality constraint (<xref ref-type="disp-formula" rid="e31">Equations 31</xref>, <xref ref-type="disp-formula" rid="e32">32</xref>):<disp-formula id="e31">
<mml:math id="m83">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>
<disp-formula id="e32">
<mml:math id="m84">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>
</p>
<p>Since constraint (<xref ref-type="disp-formula" rid="e32">Equation 32</xref>) is nonconvex, it is transformed into a second-order cone form (<xref ref-type="disp-formula" rid="e33">Equation 33</xref>).<disp-formula id="e33">
<mml:math id="m85">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c4;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b5;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c9;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-2">
<title>3.2 Decomposed model based on the benders decomposition</title>
<p>The Benders algorithm has certain requirements for the format. For the optimization problem of a specific format, it will divide the original problem into a main problem and two groups of sub-problems, namely, the feasibility subproblem and the optimal subproblem. Therefore, it is necessary to rewrite the original problem into a vector form that is easy to solve, which is expressed as follow <xref ref-type="disp-formula" rid="e34">Equation 34</xref>:<disp-formula id="e34">
<mml:math id="m86">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="8em"/>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-1.2em"/>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-0.2em"/>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="3em"/>
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="3em"/>
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>
</p>
<p>The main problem (<xref ref-type="disp-formula" rid="e35">Equation 35</xref>) is the optimization of the power system.<disp-formula id="e35">
<mml:math id="m87">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="3.3em"/>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-5em"/>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-3.5em"/>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-0.5em"/>
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="0.5em"/>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>
</p>
<p>The solution to the main problem is brought into the subproblem. The <inline-formula id="inf53">
<mml:math id="m88">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>E</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> refer to the objective functions of the main problem, <inline-formula id="inf54">
<mml:math id="m89">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the bounds for the objective function of subproblem. If the subproblem is feasible, the optimal subproblem is obtained. The optimal subproblem (<xref ref-type="disp-formula" rid="e36">Equation 36</xref>) is the optimization of the district heating system.<disp-formula id="e36">
<mml:math id="m90">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="2em"/>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-4em"/>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2em"/>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="1.3em"/>
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="2.1em"/>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(36)</label>
</disp-formula>where <inline-formula id="inf55">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf56">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represent the objective functions of optimal subproblem. And the optimality cut is generated to update the <inline-formula id="inf57">
<mml:math id="m93">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in the main problem. which (<xref ref-type="disp-formula" rid="e37">Equations 37</xref>) is expressed as:<disp-formula id="e37">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mtext> </mml:mtext>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:math>
<label>(37)</label>
</disp-formula>
</p>
<p>If the subproblem is infeasible with the fixed solution of the main problem, the feasibility subproblem is generated. The feasibility subproblem (<xref ref-type="disp-formula" rid="e38">Equation 38</xref>) is expressed as:<disp-formula id="e38">
<mml:math id="m95">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="3em"/>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-2.5em"/>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="-0.7em"/>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="2.6em"/>
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="7.8em"/>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mspace width="6.5em"/>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2004;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(38)</label>
</disp-formula>where the <inline-formula id="inf58">
<mml:math id="m96">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf59">
<mml:math id="m97">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is the slack variables. And the feasibility cut (<xref ref-type="disp-formula" rid="e39">Equation 39</xref>) is expressed as follows:<disp-formula id="e39">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mtext> </mml:mtext>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(39)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-3">
<title>3.3 Iteration procedure</title>
<p>The optimal solution needs to be obtained iteratively by the main problem and the subproblem. The summary of this Benders decomposition procedure is as follows:</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm</label>
<p>The Benders Decomposition.<list list-type="simple">
<list-item>
<p>1.&#x2003;Initialize <inline-formula id="inf60">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf61">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf62">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>2.&#x2003;<bold>While</bold> <inline-formula id="inf63">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>3.&#x2003;&#x2003;Solve the main problem and send the solution <inline-formula id="inf64">
<mml:math id="m103">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>B</mml:mi>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mtext>out</mml:mtext>
</mml:msub>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> to the subproblem</p>
</list-item>
<list-item>
<p>3.&#x2003;&#x2003;<bold>IF</bold> SP is feasible</p>
</list-item>
<list-item>
<p>&#x2003; <bold>THEN:</bold>
</p>
</list-item>
<list-item>
<p>3.&#x2003;&#x2003;The optimal subproblem is generated</p>
</list-item>
<list-item>
<p>3&#x2003;&#x2003;Add the optimality cut to the main problem and solve the main problem</p>
</list-item>
<list-item>
<p>&#x2003;&#x2003;<bold>ELSE:</bold>
</p>
</list-item>
<list-item>
<p>3.&#x2003;&#x2003;The feasibility subproblem is generated</p>
</list-item>
<list-item>
<p>3.&#x2003;&#x2003;Add feasibility cut to the main problem and solve the main problem</p>
</list-item>
<list-item>
<p>4.&#x2003;&#x2003;Update the value of the <inline-formula id="inf65">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf66">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf67">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>5.&#x2003;<bold>End While</bold>
</p>
</list-item>
</list>
</p>
</statement>
</p>
<p>The proposed solution strategy includes two problems, the primary problem (PP) is divided into the master problem (MP) and the subproblem (SP). To better and clearer illustrate the process of the consensus algorithm in this paper, we have added the descriptions of the pseudocode. The solution progress is expressed as follows:</p>
<p>First, the upper and lower bounds are initialized. And set the number of iterations <inline-formula id="inf68">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is 0. Second, the first iteration is to solve the MP and send the initial value <inline-formula id="inf69">
<mml:math id="m108">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
<mml:mi>B</mml:mi>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mtext>out</mml:mtext>
</mml:msub>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> to the SP. SP is solved and add the OC or FC to the SP. The next step is to solve the MP and update the value of the <inline-formula id="inf70">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf71">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf72">
<mml:math id="m111">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>If the convergence criterion <inline-formula id="inf73">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is satisfied, the iteration procedure ends, otherwise the loop is continued until the criterion is satisfied. The detailed steps are shown in the <xref ref-type="statement" rid="Algorithm_1">Algorithm</xref>.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Case studies</title>
<sec id="s4-1">
<title>4.1 Case setting</title>
<p>In this paper, a park-level power-heat virtual power plant considering mass flow is built to verify the validity of the model. <xref ref-type="fig" rid="F1">Figure 1</xref> shows the system of the P6H6, in which the two nodes are traditional power units, two nodes are wind farms, and one node is the CHP unit. The upper and lower temperature bounds of the mass flow rate in the supply pipeline are 110&#xb0;C/80&#xb0;C, and the temperature in the return pipeline is 70&#xb0;C/40&#xb0;C.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>The configuration of the P6H6 system.</p>
</caption>
<graphic xlink:href="fenrg-12-1506921-g001.tif"/>
</fig>
<p>To prove the rationality and validity of the model, and solution method proposed in this paper, the following two schemes are set up and solved by the gurobi 9.5.0 software package. The results of different schemes are compared and analyzed:</p>
<p>
<statement content-type="case" id="Case_1">
<label>Case 1</label>
<p>Chose the Quality regulation mode (refer to the constant flow and variable temperature).</p>
</statement>
</p>
<p>
<statement content-type="case" id="Case_2">
<label>Case 2</label>
<p>Chose the Quality&#x2013;quantity regulation mode (refer to the variable flow and variable temperature).</p>
</statement>
</p>
</sec>
<sec id="s4-2">
<title>4.2 Analysis of case results</title>
<p>As shown in <xref ref-type="table" rid="T1">Table 1</xref>, the operating cost of the electricity-heat virtual power plant in <xref ref-type="statement" rid="Case_2">Case 2</xref> decreased by 6.8% the virtual power plant in <xref ref-type="statement" rid="Case_1">Case 1</xref>. It can be seen that compared with the constant mass flow rate, the variable flow rate will have a wider adjustment range. Therefore, in <xref ref-type="statement" rid="Case_2">Case 2</xref>, the cost of wind curtailment is further reduced. Moreover, the Benders algorithm is consistent with the results of the centralized algorithm. It further demonstrates the effectiveness of the Benders in this paper.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>The cost of two modes in <xref ref-type="statement" rid="Case_1">Case 1</xref> and <xref ref-type="statement" rid="Case_2">Case 2</xref>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="center"/>
<th colspan="2" align="center">Centralized</th>
<th rowspan="2" align="center">Benders</th>
</tr>
<tr>
<th align="center">Case1</th>
<th align="center">Case2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<inline-formula id="inf74">
<mml:math id="m113">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>H</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> ($)</td>
<td align="center">18436</td>
<td align="center">16142</td>
<td align="center">16142</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf75">
<mml:math id="m114">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>B</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> ($)</td>
<td align="center">3,547</td>
<td align="center">1,568</td>
<td align="center">1,568</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf76">
<mml:math id="m115">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> ($)</td>
<td align="center">70468</td>
<td align="center">69475</td>
<td align="center">69475</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf77">
<mml:math id="m116">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>S</mml:mi>
<mml:mi>W</mml:mi>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msubsup>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>W</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> ($)</td>
<td align="center">1,681</td>
<td align="center">543</td>
<td align="center">543</td>
</tr>
<tr>
<td align="center">Total cost ($)</td>
<td align="center">94132</td>
<td align="center">87728</td>
<td align="center">87728</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The dispatch results of the two cases are shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. The CHP units store more heat supply between 10:00&#x2013;15:00, which can release more wind power at night, thus further improving the wind accommodation. The amount of heat stored during the day of <xref ref-type="statement" rid="Case_2">Case 2</xref> is 19% more than that of <xref ref-type="statement" rid="Case_1">Case 1</xref>, and the wind power consumption is 4.1% more, which shows the superiority of variable flow and temperature mode. Through the combination of the two variables of mass flow rate and temperature, the adjustment range of CHP units becomes larger, CHP units bear more heat during the day, and the thermal power unit reduces the output. Obviously, in this mode, the output of wind power will be greater, thus reducing wind curtailment.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Comparison of power in two cases. <bold>(A)</bold> Heat power in two cases <bold>(B)</bold> Wind power in two cases.</p>
</caption>
<graphic xlink:href="fenrg-12-1506921-g002.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> compares the differences in temperature and mass flow rate at the source node under the two modes. From the difference between the two cases, it demonstrates the mode of variable flow rate and temperature in <xref ref-type="statement" rid="Case_1">Case 1</xref> has more advantages. This is because the change of mass flow rate in case 1 will make the change of temperature tend to be gentle. The supply temperature of <xref ref-type="statement" rid="Case_2">Case 2</xref> in <xref ref-type="fig" rid="F3">Figure 3A</xref> is obviously lower than that of <xref ref-type="statement" rid="Case_1">Case 1</xref>. Lower temperatures will bring less heat loss. The heat loss is reduced by 10.3% considering the flow rate in <xref ref-type="fig" rid="F3">Figure 3B</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison of temperature and heat loss in two cases. <bold>(A)</bold> Temperature in two cases <bold>(B)</bold> Heat loss in two cases.</p>
</caption>
<graphic xlink:href="fenrg-12-1506921-g003.tif"/>
</fig>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>This paper presented a VPP model considering the combined dispatch of wind power and heat energy with the variable mass flow rate mode, which reduces wind curtailment and heat loss. Besides, the Benders algorithm is adopted to solve the VPP model to protect the information privacy of energy agents. And the correctness of the model and the effectiveness of the algorithm are further verified in the case. In the future, we can consider extending the quality&#x2013;quantity regulation mode to the secondary heating network, further analyze the architecture of the heating network, explore the mode suitable for each part, and achieve a better adjustment effect in the electricity-heat virtual power plant.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>YW: Writing&#x2013;original draft, Writing&#x2013;review and editing. SY: Funding acquisition, Methodology, Supervision, Writing&#x2013;review and editing. SZ: Resources, Software, Visualization, Writing&#x2013;review and editing. LL: Conceptualization, Data curation, Supervision, Writing&#x2013;review and editing. XY: Formal Analysis, Project administration, Supervision, Writing&#x2013;original draft. JL: Investigation, Writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This work was supported by Sichuan Science and Technology Program (2024YFHZ0138).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>Authors YW, SY, SZ, LL, and XY were employed by Energy Planning and Research Institute of Southwest Electric Power Design Institute Co., Ltd. of China Power Engineering Consulting Group.</p>
<p>The remaining author declares that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s10">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Bu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Decentralized optimal gas-power flow calculation via modified generalized Benders decomposition</article-title>. in: <conf-name>2020 IEEE 4th Conference on Energy Internet and Energy System Integration (EI2)</conf-name>, <conf-loc>Wuhan, China</conf-loc>, <fpage>1366</fpage>&#x2013;<lpage>1370</lpage>. <pub-id pub-id-type="doi">10.1109/EI250167.2020.9346617</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Du</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shahidehpour</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Coordinated planning of integrated electric and heating system considering the optimal reconfiguration of district heating network</article-title>. <source>IEEE Trans. On Power Sys.</source> <volume>39</volume>, <fpage>794</fpage>&#x2013;<lpage>808</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2023.3242652</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Houwing</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Papaefthymiou</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Heijnen</surname>
<given-names>P. W.</given-names>
</name>
<name>
<surname>Ili&#xfc;</surname>
<given-names>M. D.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Balancing wind power with virtual power plants of micro-CHPs</article-title>. <source>2009 IEEE Bucharest Power Tech</source> <volume>2</volume>, <fpage>1</fpage>&#x2013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.1109/PTC.2009.5282056</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Distributionally robust negative-emission optimal energy scheduling for off-grid integrated electricity-heat microgrid</article-title>. <source>IEEE Trans. On Sustainable Energy.</source> <volume>15</volume>, <fpage>803</fpage>&#x2013;<lpage>818</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2023.3306360</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shahidehpour</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Combined heat and power dispatch considering pipeline energy storage of district heating network</article-title>. <source>IEEE Trans On Sustainable Energy.</source> <volume>7</volume>, <fpage>12</fpage>&#x2013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2015.2467383</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Shahidehpour</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An analytical method for generation unit aggregation in virtual power plants</article-title>. <source>IEEE Transac. On Smart Grid</source> <volume>11</volume>, <fpage>5466</fpage>&#x2013;<lpage>5469</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2020.3002104</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rigoni</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Flynn</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Keane</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Coordinating demand response aggregation with LV network operational constraints</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>36</volume>, <fpage>979</fpage>&#x2013;<lpage>990</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2020.3014144</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Van</surname>
<given-names>H. J.</given-names>
</name>
<name>
<surname>Mar&#xe9;chal</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Enhancing the operational flexibility of thermal power plants by coupling high-temperature power-to-gas</article-title>. <source>Appl. Energy</source> <volume>263</volume>, <fpage>114608</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2020.114608</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Non-iterative solution for coordinated optimal dispatch via equivalent projection-Part I: theory</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>39</volume>, <fpage>890</fpage>&#x2013;<lpage>898</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrs.2023.3258066</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Toubeau</surname>
<given-names>J.-F.</given-names>
</name>
<name>
<surname>Bottieau</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>De</surname>
<given-names>G. Z.</given-names>
</name>
<name>
<surname>Vallee</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Bruninx</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Data-driven scheduling of energy storage in day-ahead energy and reserve markets with probabilistic guarantees on real-time delivery</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>36</volume>, <fpage>2815</fpage>&#x2013;<lpage>2828</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2020.3046710</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Shahidepour</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>A coordinated reconfiguration strategy for multi-stage resilience enhancement in integrated power distribution and heating networks</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>14</volume>, <fpage>2709</fpage>&#x2013;<lpage>2722</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2022.3231590</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xia</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Carbon emission impact on the operation of virtual power plant with combined heat and power system</article-title>. <source>Front. Inf. Technol.Electron. Eng.</source> <volume>17</volume>, <fpage>479</fpage>&#x2013;<lpage>488</lpage>. <pub-id pub-id-type="doi">10.1631/FITEE.1500467</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Coordinated Dispatch of Integrated Electric and District Heating Systems Using Heterogeneous Decomposition</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>11</volume>, <fpage>1495</fpage>&#x2013;<lpage>1507</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2019.2929183</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Privacy-preserving combined heat and power dispatch based on information masking mechanism: a decentralized perspective</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>15</volume>, <fpage>4550</fpage>&#x2013;<lpage>4563</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2024.3390128</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Benefit allocation for combined heat and power dispatch considering mutual trust</article-title>. <source>Appl. Energy</source> <volume>345</volume>, <fpage>121279</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2023.121279</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>