<?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">1132005</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2023.1132005</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>Multi-time-scale economic scheduling method for electro-hydrogen integrated energy system based on day-ahead long-time-scale and intra-day MPC hierarchical rolling optimization</article-title>
<alt-title alt-title-type="left-running-head">Zhang et&#xa0;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.2023.1132005">10.3389/fenrg.2023.1132005</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Leiqi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Dai</surname>
<given-names>Wuzhen</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhao</surname>
<given-names>Bo</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Xuesong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Liu</surname>
<given-names>Min</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2153083/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wu</surname>
<given-names>Qiliang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Chen</surname>
<given-names>Jian</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/586763/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>State Grid Zhejiang Electric Power Research Institute</institution>, <addr-line>Hangzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Key Laboratory of Power System Intelligent Dispatch and Control of Ministry of Education</institution>, <institution>Shandong University</institution>, <addr-line>Jinan</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/1363500/overview">Haixiang Zang</ext-link>, Hohai 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/1910498/overview">Guangsheng Pan</ext-link>, Southeast University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2159105/overview">Gabriel Heo Peng Ooi</ext-link>, Rolls Royce Pte Ltd. Singapore, Singapore</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1311402/overview">Feixiong Chen</ext-link>, Fuzhou University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Jian Chen, <email>ejchen@sdu.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Process and Energy Systems Engineering, a section of the journal Frontiers in Energy Research</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>08</day>
<month>02</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>11</volume>
<elocation-id>1132005</elocation-id>
<history>
<date date-type="received">
<day>26</day>
<month>12</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>19</day>
<month>01</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Zhang, Dai, Zhao, Zhang, Liu, Wu and Chen.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Zhang, Dai, Zhao, Zhang, Liu, Wu and Chen</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>To build a clean, secure, and efficient energy system, the hydrogen energy is an important developing trend for the energy revolution, and electro-hydrogen coupling system is expected to play an important role in the future. To obtain the optimal economic scheduling of the electro-hydrogen integrated energy system (E-H IES), this paper firstly establishes a refined model of the electrolyzer and hydrogen fuel cell and then proposes an optimal scheduling model based on day-ahead long-time-scale optimization and intra-day model predictive control (MPC) hierarchical rolling optimization. In the day-ahead stage, a long-time-scale optimization considering the impact of multi-day forecast information is proposed when performing the day-ahead optimization to achieve the effect of inter-day energy transfer of hydrogen energy and improve the overall economic efficiency. In addition, during the intra-day stage, the MPC is adopted to implement hierarchical rolling optimization to track and correct the day-ahead schedule and achieve coordinated operation between multi-energy systems while taking into account the different energy transfer characteristics. Finally, the simulation results demonstrate the feasibility of the proposed optimal scheduling model and the effectiveness of the proposed multi-time scale economic scheduling method.</p>
</abstract>
<kwd-group>
<kwd>electro-hydrogen integrated energy system</kwd>
<kwd>hydrogen storage</kwd>
<kwd>multi-time scale economic scheduling</kwd>
<kwd>MPC hierarchical rolling optimization</kwd>
<kwd>renewable energy</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Environmental pollution and energy shortages lead to the urgent development of new energy sources. As a widely available, clean and efficient secondary energy source, hydrogen energy is an important carrier to support the transformation of energy and build a modern energy system (<xref ref-type="bibr" rid="B6">Huang&#xa0;et&#xa0;al., 2022</xref>). With the increasing penetration of renewable energy sources, the development of electro-hydrogen coupling will help to build a new type of power system (<xref ref-type="bibr" rid="B12">Pan&#xa0;et&#xa0;al., 2021</xref>; <xref ref-type="bibr" rid="B13">Pei&#xa0;et&#xa0;al., 2022</xref>). The optimal scheduling of the electro-hydrogen integrated energy system (E-H IES) will be an attractive problem which is vitally important to maximize its advantages.</p>
<p>At present, the optimal scheduling of the E-H IES mainly focuses on the following aspects, e.g., profit maximization (<xref ref-type="bibr" rid="B14">Taljan&#xa0;et&#xa0;al., 2008</xref>; <xref ref-type="bibr" rid="B4">El-Taweel&#xa0;et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B15">Tao&#xa0;et&#xa0;al., 2021</xref>), flexibility enhancement (<xref ref-type="bibr" rid="B16">Teng&#xa0;et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B10">Ma&#xa0;et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B2">Cheng&#xa0;et&#xa0;al., 2023</xref>), renewable energy consumption (<xref ref-type="bibr" rid="B7">Khalilnejad&#xa0;et&#xa0;al., 2018</xref>; <xref ref-type="bibr" rid="B21">Zhang and Yu, 2022</xref>), power fluctuations minimization (<xref ref-type="bibr" rid="B1">Chen&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B18">Wen&#xa0;et&#xa0;al., 2020</xref>). In (<xref ref-type="bibr" rid="B4">El-Taweel&#xa0;et&#xa0;al., 2019</xref>), a model of a private hydrogen storage station is proposed to maximize the benefits by changing the selling price of hydrogen. In (<xref ref-type="bibr" rid="B10">Ma&#xa0;et&#xa0;al., 2022</xref>), a Laplacian matrix is proposed to evaluate the effect of hydrogen vehicles on system flexibility improvement. <xref ref-type="bibr" rid="B21">Zhang and Yu (2022)</xref> proposes a dynamic programming algorithm to analyze the value of hydrogen energy in reducing carbon emissions and maximize the utilization of renewable energy. <xref ref-type="bibr" rid="B1">Chen&#xa0;et&#xa0;al. (2020)</xref> takes into account the challenges posed by the integration of large amounts of renewable energy into the grid, using hydrogen energy conversion to minimize power fluctuations. In the above literatures, the proposed problems are solved by adopting genetic algorithm, robust optimization, mixed integer linear programming and hybrid algorithm based on 24&#xa0;h scheduling period. However, the above studies mostly ignore the effective utilization of hydrogen energy. In the electro-hydrogen coupling system, it is important to make full use of hydrogen energy storage systems (HESSs) characteristics to achieve the optimal distribution of energy on a long-time-scale. In general, electrical energy storage systems (EESSs) have short storage time and limited capacity scale. Currently, they are mainly used for regulating power grid frequency and peak, smoothing the fluctuation of renewable energy output, and implementing hourly short-cycle response and regulation. HESSs have the advantages of large storage capacity and long storage time, <italic>etc.</italic>, which can be used in scenarios where electrochemical energy storage is insufficient. The existing research works rarely distinguish the storage characteristics of EESSs and HESSs which hinder the use of their respective strengths.</p>
<p>The coexistence and development of EESSs and HESSs are expected to play an important role in supporting the development of a large proportion of renewable energy (<xref ref-type="bibr" rid="B5">Gils&#xa0;et&#xa0;al., 2021</xref>). HESS is the optimal method for large-scale, long-term storage of centralized renewable energy due to its high energy density as an energy source (<xref ref-type="bibr" rid="B19">Yamamoto&#xa0;et&#xa0;al., 2021</xref>). Regarding the long-term storage of hydrogen energy, there are also some research works which are all manifested as seasonal storage of hydrogen energy (<xref ref-type="bibr" rid="B3">Converse, 2012</xref>; <xref ref-type="bibr" rid="B9">Li&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B11">Pan&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B22">Zhang&#xa0;et&#xa0;al., 2020</xref>). (<xref ref-type="bibr" rid="B3">Converse, 2012</xref>) is based on the combination of current data and social development to infer that the development of seasonal hydrogen storage is a wise choice in the future. <xref ref-type="bibr" rid="B9">Li&#xa0;et&#xa0;al. (2020)</xref>, <xref ref-type="bibr" rid="B22">Zhang&#xa0;et&#xa0;al. (2020)</xref> carry out simulation analysis by giving case data and obtain the feasibility of seasonal storage through simulation results. Specifically (<xref ref-type="bibr" rid="B22">Zhang&#xa0;et&#xa0;al., 2020</xref>), gives the output data of wind turbine (WT) and photovoltaic (PV) for 8,760&#xa0;h a year and conducts modeling analysis for 365&#xa0;days a year (<xref ref-type="bibr" rid="B11">Pan&#xa0;et&#xa0;al., 2020</xref>). selects four typical days to represent the wind power and photovoltaic output of a year in spring, summer, autumn and winter.</p>
<p>Despite the fact that the aforementioned works have discussed the potential of hydrogen energy for long-term storage, there are still significant obstacles: 1) By using four typical days to represent the four seasons of the year, it is hard to truly reflect the storage situation of hydrogen energy in a year which makes it difficult to accurately simulate and exploit the advantages of seasonal storage of hydrogen energy. 2) If the data is given for 8,760&#xa0;h a year, although it is possible to retain more comprehensive information on the timing of the various types of source loads, the sheer volume of data increases the complexity of the calculation and makes it difficult to solve. 3) It is true that inter-seasonal storage of hydrogen can solve the problem of uneven spatial and temporal distribution of renewable energy sources, but the above literature does not consider the security issues associated with the storage of large quantities of hydrogen, the volume of hydrogen storage tanks, the size of the capacity of electrolysis tanks and the spatial and temporal transport of hydrogen. All these issues are critical constraints for the inter-seasonal storage of hydrogen energy and need to be properly addressed.</p>
<p>Taking into account the fact that EESSs are difficult to conveniently store energy for long periods of time, and hydrogen energy, as a new energy source with its high energy density, can be the optimal solution for long-term energy storage. Therefore, this paper proposes an optimal operation framework for the electro-hydrogen coupled system considering multi-day forecast information. By considering the impact of future multi-day forecast information conditions on the current optimization when performing day-ahead optimization operations, the HESSs consider future renewable energy information and decide whether to transfer energy, thereby achieving optimal coordination between EESSs and HESSs. The optimized operation framework proposed in this paper has the following advantages: 1) By considering multi-day forecasting information, day-ahead optimized operation will produce hydrogen for storage when renewable energy is abundant and transfer this energy to be released when renewable energy is scarce. The overall economic efficiency of the system will be significantly improved, with a significant reduction in WT and PV abandonment. 2) It can implement the inter-day energy transfer of hydrogen energy, flexibly realize the two-way interactive transformation of electric energy-hydrogen energy and form a multi-energy complementary system to meet the diversified energy needs of electricity, heat and hydrogen according to local conditions. 3) The electric energy storage systems conduct intra-day energy transfer and the hydrogen storage systems perform inter-day energy transfer, which alleviates the excessive usage of electric energy storage to a certain extent and mitigates the loss of electric energy storage.</p>
<p>On the basis of the preceding study, we suggest a long-term day-ahead optimization that incorporates multi-day forecast information, i.e., the impact of future multi-day forecast information on the day-ahead optimization is also taken into account when executing the day-ahead optimization. A hierarchical rolling optimization is performed within the day using model predictive control (MPC) to track and correct the day-ahead schedule, taking into account the uncertainty of renewable energy sources and loads as well as the changes in the nature of different energy transfers. The main contributions of this paper are as follows.<list list-type="simple">
<list-item>
<p>1) A framework for optimizing the day-ahead long-time-scale operation of E-H IES considering multi-day forecast information is proposed, achieving the effect of inter-day energy transfer of hydrogen energy and intra-day energy transfer of electric energy, realizing that all energy that can be sold to the grid is sold and unsold energy is stored for hydrogen production, greatly reducing WT and PV abandonment and improving the economy of the system.</p>
</list-item>
<list-item>
<p>2) On the basis of the day-ahead optimized operation, the difference of different energy transmission properties of electricity-heat-hydrogen is considered. The MPC is used in the intra-day stage for tiered rolling control, which makes the scheduling arrangement more realistic.</p>
</list-item>
<list-item>
<p>3) Considering the intrinsic operating characteristics of electrolyzer and hydrogen fuel cell (HFC), proposing a refined model of electrolyzer and HFC, and considering the waste heat utilization link to realize the efficient utilization of energy.</p>
</list-item>
</list>
</p>
<p>The rest of the paper is organized as follows. <xref ref-type="sec" rid="s2">Section&#xa0;2</xref> presents the structural model of the EH-IES. <xref ref-type="sec" rid="s3">Section&#xa0;3</xref> presents the optimization framework. <xref ref-type="sec" rid="s4">Section&#xa0;4</xref> introduces the optimization model and problem formulation. <xref ref-type="sec" rid="s5">Section&#xa0;5</xref> and <xref ref-type="sec" rid="s6">Section&#xa0;6</xref> are the case study and conclusion presentation, respectively.</p>
</sec>
<sec id="s2">
<title>2 The structural model of E-H IES</title>
<p>
<xref ref-type="fig" rid="F1">Figure&#xa0;1</xref> shows the structure of the E-H IES, which includes the energy supply side, the energy conversion side, the energy storage side, and the load side. Energy conversion is carried out through electro-hydrogen coupling to meet the needs of different energy sources of electricity-hydrogen-heat.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>The structure of E-H IES.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g001.tif"/>
</fig>
<sec id="s2-1">
<title>2.1 Electrolyzer model</title>
<p>Regarding the electrolytic cells, there are mainly alkaline electrolytic cells, proton exchange membranes and solid oxide electrolytic cells. Alkaline electrolyzers are the most mature and widely used model, so this paper uses alkaline electrolyzers as an example. The waste heat generated by the electrolyzer is recycled, and the refined model of the hydrogen-heat cogeneration of the electrolyzer is proposed. <xref ref-type="fig" rid="F2">Figure&#xa0;2</xref> shows the structure diagram of the refined utilization of the electrolytic cell. Electrolytic hydrogen production includes green electrolysis link, red heat transfer link and purple hydrogen energy utilization link.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Diagram of refined utilization of electrolyzer.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g002.tif"/>
</fig>
<p>Electrolysis link: During electrolysis, electrical energy is converted into hydrogen and heat. The relationship between the alternating current input to the electrolytic bath, the actual direct current used, and the hydrogen energy produced, and the heat energy is shown in (<xref ref-type="disp-formula" rid="e1">1</xref>&#x2013;<xref ref-type="disp-formula" rid="e3">3</xref>).<disp-formula id="e1">
<mml:math id="m1">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(1)</label>
</disp-formula>
<disp-formula id="e2">
<mml:math id="m2">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m3">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(3)</label>
</disp-formula>where <italic>P</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> and <italic>P</italic>
<sub>
<italic>ec</italic>,<italic>in</italic>,<italic>t</italic>
</sub> are the input DC power and AC power to the electrolyzer; <italic>&#x3b7;</italic>
<sub>
<italic>ec</italic>
</sub> is electrolyzer AC/DC conversion efficiency; <italic>i</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> is current of the electrolyzer; <italic>T</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> is temperature of the electrolyzer; <italic>U</italic>
<sub>
<italic>ec</italic>
</sub>(<italic>i</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub>, <italic>T</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub>) is voltage function of electrolyzer; <italic>U</italic>
<sub>
<italic>tn</italic>
</sub>(<italic>T</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub>) is thermoneutral voltage function of the electrolyzer; <italic>P</italic>
<sub>
<italic>ec</italic>,<italic>out</italic>,<italic>t</italic>
</sub> and <italic>Q</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> are hydrogen and heat production power of the electrolyzer; <inline-formula id="inf1">
<mml:math id="m4">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <italic>&#x3b7;</italic>
<sub>
<italic>h</italic>
</sub> are hydrogen production efficiency and heat production efficiency of the electrolyzer.</p>
<p>In (<xref ref-type="disp-formula" rid="e2">2</xref>, 3), a non-linear relationship can be obtained between the thermal energy generated by the electrolyzer and the hydrogen energy and the temperature of the electrolyzer.<disp-formula id="e4">
<mml:math id="m5">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="-.2em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="-.2em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="-.2em"/>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>Due to the non-linear nature, it cannot be directly used in the optimal operation of E-H IES. The final model of the electrolysis link is obtained by linearizing it based on (<xref ref-type="bibr" rid="B8">Li&#xa0;et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B11">Pan&#xa0;et&#xa0;al., 2020</xref>).<disp-formula id="e5">
<mml:math id="m6">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(5)</label>
</disp-formula>
<disp-formula id="e6">
<mml:math id="m7">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(6)</label>
</disp-formula>where <italic>&#x3bc;</italic>
<sub>1</sub>, <italic>&#x3bc;</italic>
<sub>2</sub>, <italic>&#x3bd;</italic>
<sub>1</sub>, <italic>&#x3bd;</italic>
<sub>2</sub> denote the linearized parameters for the hot hydrogen co-production operating area of the electrolyzer; <italic>&#x3b4;</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> is operating status of electrolyzer.</p>
<p>Heat transfer link: Some of the heat generated by the electrolyzer is lost and most of the rest goes to the heat exchanger. The heat entering the heat exchanger can either feed the heat load or optionally flow to the electrolyzer itself, maintaining the temperature of the electrolyzer itself. The electrolyzer can also choose to supply heat to the thermal load. The relationship between the final thermal energy supplied to the heat load and the thermal energy entering the heat exchanger is shown in (<xref ref-type="disp-formula" rid="e7">7</xref>). Quasi-steady state model of the electrolyzer temperature is expressed in (<xref ref-type="disp-formula" rid="e8">8</xref>). The thermal power lost by the electrolytic bath is shown by (<xref ref-type="disp-formula" rid="e9">9</xref>).<disp-formula id="e7">
<mml:math id="m8">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m9">
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m10">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(9)</label>
</disp-formula>where <italic>Q</italic>
<sub>
<italic>he</italic>,<italic>t</italic>
</sub> is heat energy supplied to the heat load by the electrolyzer; <italic>&#x3b7;</italic>
<sub>
<italic>he</italic>
</sub> is conversion efficiency of heat energy in heat exchanger; <italic>Q</italic>
<sub>
<italic>he</italic>,<italic>in</italic>,<italic>t</italic>
</sub> is hermal energy of electrolyzer entering heat exchanger; <italic>Q</italic>
<sub>
<italic>sl</italic>,<italic>t</italic>
</sub> is thermal energy lost in the electrolyzer; <italic>C</italic>
<sub>
<italic>ec</italic>
</sub> is lumped heat capacity of electrolyzer; <italic>T</italic>
<sub>
<italic>out,t</italic>
</sub> is outdoor temperature; <italic>R</italic>
<sub>
<italic>ec</italic>
</sub> is lumped thermal resistance of electrolyzer. If <italic>Q</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> &#x2212; <italic>Q</italic>
<sub>
<italic>sl</italic>,<italic>t</italic>
</sub> &#x3d; <italic>Q</italic>
<sub>
<italic>he</italic>,<italic>in</italic>,<italic>t</italic>
</sub>, almost all of the waste heat is supplied to the heat load and the temperature of the electrolyzer is basically unchanged. If <italic>Q</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> &#x2212; <italic>Q</italic>
<sub>
<italic>sl</italic>,<italic>t</italic>
</sub> &#x3e; <italic>Q</italic>
<sub>
<italic>he</italic>,<italic>in</italic>,<italic>t</italic>
</sub>, some of the waste heat flows to the electrolyzer and the temperature of the electrolyzer rises. If <italic>Q</italic>
<sub>
<italic>ec</italic>,<italic>t</italic>
</sub> &#x2212; <italic>Q</italic>
<sub>
<italic>sl</italic>,<italic>t</italic>
</sub> &#x3c; <italic>Q</italic>
<sub>
<italic>he</italic>,<italic>in</italic>,<italic>t</italic>
</sub>, the electrolyzer releases some heat to the heat load and the corresponding temperature of the electrolyzer decreases.</p>
<p>In addition, the operation of the electrolyzer also needs to meet the start-stop constraints and operational constraints.<disp-formula id="e10">
<mml:math id="m11">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(10)</label>
</disp-formula>
<disp-formula id="e11">
<mml:math id="m12">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m13">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m14">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(13)</label>
</disp-formula>
<disp-formula id="e14">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(14)</label>
</disp-formula>
<disp-formula id="e15">
<mml:math id="m16">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m17">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(16)</label>
</disp-formula>
<disp-formula id="e17">
<mml:math id="m18">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m19">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m20">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">apa</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">apa</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m21">
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m22">
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(21)</label>
</disp-formula>where <italic>M</italic>
<sub>
<italic>ec</italic>,<italic>on</italic>,&#x2009;<italic>min</italic>
</sub> and <italic>M</italic>
<sub>
<italic>ec</italic>,<italic>off</italic>,&#x2009;<italic>min</italic>
</sub> denote minimum operating time and minimum downtime for electrolyze; <italic>&#x3b1;</italic>
<sub>
<italic>ec</italic>,<italic>on</italic>,<italic>t</italic>
</sub> and <italic>&#x3b1;</italic>
<sub>
<italic>ec</italic>,<italic>off</italic>,<italic>t</italic>
</sub> denote 0&#x2013;1 variables for electrolyzer start-up and shutdown actions; <italic>&#x3b1;</italic>
<sub>
<italic>ec</italic>,<italic>on</italic>,&#x2009;<italic>max</italic>
</sub> and <italic>&#x3b1;</italic>
<sub>
<italic>ec</italic>,<italic>off</italic>,&#x2009;<italic>max</italic>
</sub> denote the upper limit of the daily start and stop actions of the electrolyzer; <italic>&#x3b6;</italic>
<sub>
<italic>ec</italic>,&#x2009;<italic>min</italic>
</sub> and <italic>&#x3b6;</italic>
<sub>
<italic>ec</italic>,&#x2009;<italic>max</italic>
</sub> are minimum/maximum load rate of the electrolyzer; <italic>C</italic>
<sub>
<italic>apa</italic>
</sub> is electrolyzer capacity; &#x394;<italic>P</italic>
<sub>
<italic>ec</italic>,&#x2009;<italic>max</italic>
</sub> is the maximum ramping power of the electrolyzer; <italic>T</italic>
<sub>
<italic>ec</italic>,&#x2009;<italic>min</italic>
</sub> and <italic>T</italic>
<sub>
<italic>ec</italic>,&#x2009;<italic>max</italic>
</sub> are the minimum and maximum temperature of the electrolyzer. (<xref ref-type="disp-formula" rid="e10">10</xref>&#x2013;<xref ref-type="disp-formula" rid="e13">13</xref>) limit the minimum working time and minimum downtime of the electrolyzer. (<xref ref-type="disp-formula" rid="e14">14</xref>) shows that the start-up and shutdown of an electrolytic cell cannot take place concurrently. (<xref ref-type="disp-formula" rid="e15">15</xref>) expresses the relationship between the state of the electrolytic cell switch and the start/stop action. (<xref ref-type="disp-formula" rid="e16">16</xref>) and (<xref ref-type="disp-formula" rid="e17">17</xref>) limit the number of start-ups and shutdowns of an electrolyzer per day. (<xref ref-type="disp-formula" rid="e18">18</xref>) ensures that the state of the electrolyzer before work is consistent with the state after work. (<xref ref-type="disp-formula" rid="e19">19</xref>) represents the relationship between the input electric power and the capacity of the electrolyzer. (<xref ref-type="disp-formula" rid="e20">20</xref>) and (<xref ref-type="disp-formula" rid="e21">21</xref>) represent the climbing constraints and the upper and lower temperature constraints for electrolyzer, respectively.</p>
</sec>
<sec id="s2-2">
<title>2.2 HFC model</title>
<p>The HFC supplies the electrical energy generated by the converter to the electrical load, and recycles the thermal energy generated by the stack reaction. The heat exchanger heats the return water of the circulating thermal system to supply the heat load and can also supply the fuel cell stack itself. HFC itself can absorb and release thermal energy. The relationship diagram of HFC cogeneration can be drawn, as shown in <xref ref-type="fig" rid="F3">Figure&#xa0;3</xref>. There is a clear proportional relationship between the electrical and thermal power generated by HFC. Considering that the loss of heat energy taken away by air flow does not affect the electrical output, the operating interval is shifted down overall from the ideal case. In the operating interval where air flow is considered, the highest electricity production efficiency is 0.6, corresponding to a heat production efficiency of 0.35, and the highest heat production efficiency is 0.53, corresponding to an electricity production efficiency of 0.33. According to the combined heat and power operating range of HFC, the operating model of the external characteristics of HFC can be summarized.<disp-formula id="e22">
<mml:math id="m23">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,e,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m24">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,h,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(23)</label>
</disp-formula>
<disp-formula id="e24">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,e,min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,e,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,e,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(24)</label>
</disp-formula>
<disp-formula id="e25">
<mml:math id="m26">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,h,min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,h,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,h,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(25)</label>
</disp-formula>
<disp-formula id="e26">
<mml:math id="m27">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,h,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,e,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(26)</label>
</disp-formula>
<disp-formula id="e27">
<mml:math id="m28">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,h,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2265;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,e,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(27)</label>
</disp-formula>
<disp-formula id="e28">
<mml:math id="m29">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,sl,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,ec</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(28)</label>
</disp-formula>
<disp-formula id="e29">
<mml:math id="m30">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,sl,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(29)</label>
</disp-formula>
<disp-formula id="e30">
<mml:math id="m31">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,he,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,he,in,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(30)</label>
</disp-formula>
<disp-formula id="e31">
<mml:math id="m32">
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t&#x2b;&#x394;t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfcc</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,he,in,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(31)</label>
</disp-formula>
<disp-formula id="e32">
<mml:math id="m33">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">apb</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">apb</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(32)</label>
</disp-formula>
<disp-formula id="e33">
<mml:math id="m34">
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t&#x2212;1</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(33)</label>
</disp-formula>
<disp-formula id="e34">
<mml:math id="m35">
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(34)</label>
</disp-formula>where <italic>P</italic>
<sub>
<italic>hfc,t</italic>
</sub> and <italic>Q</italic>
<sub>
<italic>hfc,t</italic>
</sub> denote electricity and thermal energy generated by HFC; <italic>P</italic>
<sub>
<italic>hfc,in,t</italic>
</sub> is hydrogen power input HFC; <italic>&#x3b7;</italic>
<sub>
<italic>hfc,e,t</italic>
</sub> and <italic>&#x3b7;</italic>
<sub>
<italic>hfc,h,t</italic>
</sub> denote electricity generation efficiency and heat generation efficiency of HFC; <italic>&#x3b7;</italic>
<sub>
<italic>hfc,e,min</italic>
</sub> and <italic>&#x3b7;</italic>
<sub>
<italic>hfc,e,max</italic>
</sub> are minimum and maximum efficiency of electricity generation; <italic>&#x3b7;</italic>
<sub>
<italic>hfc,h,min</italic>
</sub> and <italic>&#x3b7;</italic>
<sub>
<italic>hfc,h,max</italic>
</sub> are minimum and maximum efficiency of heat generation; <italic>k</italic>
<sub>
<italic>h</italic>,&#x2009;<italic>max</italic>
</sub> and <italic>k</italic>
<sub>
<italic>e</italic>,&#x2009;<italic>max</italic>
</sub> are the slope of maximum thermal efficiency and electrical efficiency operating boundary; <italic>Q</italic>
<sub>
<italic>hfc,sl,t</italic>
</sub> is the heat energy lost by HFC; <italic>T</italic>
<sub>
<italic>hfc,t</italic>
</sub> is the temperature of the HFC; <italic>R</italic>
<sub>
<italic>hfc,ec</italic>
</sub> is lumped thermal resistance of HFC; <italic>Q</italic>
<sub>
<italic>hfc,he,t</italic>
</sub> is the heat energy supplied by HFC to the heat load; <italic>Q</italic>
<sub>
<italic>hfc,he,in,t</italic>
</sub> is the heat energy entering the heat exchanger; <italic>&#x3b7;</italic>
<sub>
<italic>he</italic>
</sub> is the heat efficiency; <italic>C</italic>
<sub>
<italic>hfcc</italic>
</sub> is lumped heat capacity of HFC; <italic>&#x3b4;</italic>
<sub>
<italic>hfc,t</italic>
</sub> is perating status of HFC; <italic>&#x3b6;</italic>
<sub>
<italic>hfc,min</italic>
</sub> and <italic>&#x3b6;</italic>
<sub>
<italic>hfc,max</italic>
</sub> are the minimum and maximum load rate of the HFC; <italic>C</italic>
<sub>
<italic>apb</italic>
</sub> is HFC Capacity; &#x394;<italic>P</italic>
<sub>
<italic>hfc,max</italic>
</sub> is the maximum ramping power of the HFC; <italic>T</italic>
<sub>
<italic>hfc,min</italic>
</sub> and <italic>T</italic>
<sub>
<italic>hfc,max</italic>
</sub> are the minimum and maximum temperature of HFC. (<xref ref-type="disp-formula" rid="e22">22</xref>) and (<xref ref-type="disp-formula" rid="e23">23</xref>) express the relationship between the power generation and heat generation and the input hydrogen energy. (<xref ref-type="disp-formula" rid="e24">24</xref>) and (<xref ref-type="disp-formula" rid="e25">25</xref>) place limits on the efficiency of heat production and electricity production respectively. (<xref ref-type="disp-formula" rid="e26">26</xref>) and (<xref ref-type="disp-formula" rid="e27">27</xref>) ensure that HFC operates within the allowable range. The thermal power lost by HFC is shown by (<xref ref-type="disp-formula" rid="e28">28</xref>). (<xref ref-type="disp-formula" rid="e29">29</xref>) ensures that the input and output energy of HFC is conserved. (<xref ref-type="disp-formula" rid="e30">30</xref>) represents the relationship between the thermal energy supplied to the heat load and the thermal energy entering the heat exchanger. Eq.&#xa0;<xref ref-type="disp-formula" rid="e31">31</xref> is a quasi-steady-state model of HFC temperature. (<xref ref-type="disp-formula" rid="e32">32</xref>) represents the relationship between the input hydrogen power and the capacity of HFC. (<xref ref-type="disp-formula" rid="e33">33</xref>) and (<xref ref-type="disp-formula" rid="e34">34</xref>) represent the climbing constraint and the upper and lower temperature constraints for HFC, respectively.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>HFC cogeneration operating range.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g003.tif"/>
</fig>
<p>There are non-linear terms in (<xref ref-type="disp-formula" rid="e22">22</xref>, <xref ref-type="disp-formula" rid="e23">23</xref>) for the product of two continuous variables. To simplify the computation, the following linearized transformation of the non-linear terms is performed using the binary method and the big M method.<disp-formula id="e35">
<mml:math id="m36">
<mml:msup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>y</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(35)</label>
</disp-formula>
<disp-formula id="e36">
<mml:math id="m37">
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>y</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(36)</label>
</disp-formula>
<disp-formula id="e37">
<mml:math id="m38">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(37)</label>
</disp-formula>
<disp-formula id="e38">
<mml:math id="m39">
<mml:mi>m</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>m</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>y</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(38)</label>
</disp-formula>
<disp-formula id="e39">
<mml:math id="m40">
<mml:mi>m</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(39)</label>
</disp-formula>
<disp-formula id="e40">
<mml:math id="m41">
<mml:mo>&#x2212;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>M</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(40)</label>
</disp-formula>where <italic>m</italic> and <italic>W</italic>
<sup>
<italic>x</italic>
</sup> are continuous variables. <inline-formula id="inf2">
<mml:math id="m42">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is a binary variable. <inline-formula id="inf3">
<mml:math id="m43">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is an auxiliary variable. <italic>M</italic> is a very large number. <inline-formula id="inf4">
<mml:math id="m44">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf5">
<mml:math id="m45">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are the maximum and minimum values of the continuous variable <italic>W</italic>
<sup>
<italic>x</italic>
</sup>, respectively. <italic>p</italic> is the number of digits in the binary. <italic>y</italic> is the resolution.</p>
</sec>
<sec id="s2-3">
<title>2.3 Hydrogen storage tank (HST) model</title>
<p>In this paper, the ideal gas equation of state is used to describe the relationship between the hydrogen mass and the pressure in HST.<disp-formula id="e41">
<mml:math id="m46">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>R</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(41)</label>
</disp-formula>
<disp-formula id="e42">
<mml:math id="m47">
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(42)</label>
</disp-formula>
<disp-formula id="e43">
<mml:math id="m48">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(43)</label>
</disp-formula>
<disp-formula id="e44">
<mml:math id="m49">
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,t&#x2b;1</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,out,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(44)</label>
</disp-formula>
<disp-formula id="e45">
<mml:math id="m50">
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,in,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(45)</label>
</disp-formula>
<disp-formula id="e46">
<mml:math id="m51">
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,out,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(46)</label>
</disp-formula>
<disp-formula id="e47">
<mml:math id="m52">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(47)</label>
</disp-formula>where <italic>P</italic>
<sub>
<italic>HST,t</italic>
</sub> is the pressure of the HST; <italic>V</italic>
<sub>
<italic>HST</italic>
</sub> is the volume of the HST; <italic>n</italic>
<sub>
<italic>HST,t</italic>
</sub> is amount of hydrogen substance; <italic>R</italic> is ideal gas constant; <italic>T</italic>
<sub>
<italic>H</italic>
</sub> is gas temperature; <italic>m</italic>
<sub>
<italic>HST,t</italic>
</sub> is mass of hydrogen; <inline-formula id="inf6">
<mml:math id="m53">
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is molar mass of hydrogen; <italic>P</italic>
<sub>
<italic>HST,min</italic>
</sub> and <italic>P</italic>
<sub>
<italic>HST,max</italic>
</sub> are the minimum and maximum pressure of HST; <italic>m</italic>
<sub>
<italic>HST,in,t</italic>
</sub> and <italic>m</italic>
<sub>
<italic>HST,out,t</italic>
</sub> are hydrogen storage and release in HST; <italic>m</italic>
<sub>
<italic>HST,in,max</italic>
</sub> and <italic>m</italic>
<sub>
<italic>HST,out,max</italic>
</sub> are the maximum hydrogen storage and release rate; <italic>B</italic>
<sub>
<italic>HST,in,t</italic>
</sub> and <italic>B</italic>
<sub>
<italic>HST,out,t</italic>
</sub> are HST hydrogen storage and release 0&#x2013;1 variable. (<xref ref-type="disp-formula" rid="e43">43</xref>&#x2013;<xref ref-type="disp-formula" rid="e47">47</xref>) shows the operating model of HST. (<xref ref-type="disp-formula" rid="e43">43</xref>) is the pressure safe operating range of HST. (<xref ref-type="disp-formula" rid="e44">44</xref>) is the relationship between the hydrogen mass in HST at two adjacent moments. (<xref ref-type="disp-formula" rid="e45">45</xref>, <xref ref-type="disp-formula" rid="e46">46</xref>) are the maximum constraints of hydrogen storage and hydrogen release. (<xref ref-type="disp-formula" rid="e47">47</xref>) is the constraint of hydrogen storage state and hydrogen release state to ensure that the HST does not store and release hydrogen at the same time.</p>
</sec>
<sec id="s2-4">
<title>2.4 EESSs model</title>
<p>Electric energy storage model including energy model (<xref ref-type="disp-formula" rid="e48">48</xref>&#x2013;<xref ref-type="disp-formula" rid="e53">53</xref>) and life model (<xref ref-type="disp-formula" rid="e54">54</xref>&#x2013;<xref ref-type="disp-formula" rid="e58">58</xref>).<disp-formula id="e48">
<mml:math id="m54">
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dis,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
</mml:math>
<label>(48)</label>
</disp-formula>
<disp-formula id="e49">
<mml:math id="m55">
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(49)</label>
</disp-formula>
<disp-formula id="e50">
<mml:math id="m56">
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dis,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dis,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dis,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(50)</label>
</disp-formula>
<disp-formula id="e51">
<mml:math id="m57">
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dis,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(51)</label>
</disp-formula>
<disp-formula id="e52">
<mml:math id="m58">
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(52)</label>
</disp-formula>
<disp-formula id="e53">
<mml:math id="m59">
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(53)</label>
</disp-formula>
<disp-formula id="e54">
<mml:math id="m60">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(54)</label>
</disp-formula>
<disp-formula id="e55">
<mml:math id="m61">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">eff</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(55)</label>
</disp-formula>
<disp-formula id="e56">
<mml:math id="m62">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(56)</label>
</disp-formula>
<disp-formula id="e57">
<mml:math id="m63">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(57)</label>
</disp-formula>
<disp-formula id="e58">
<mml:math id="m64">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
<label>(58)</label>
</disp-formula>where <italic>E</italic>
<sub>
<italic>t</italic>
</sub> is the amount of electricity contained in the EES; <italic>P</italic>
<sub>
<italic>ch</italic>,<italic>t</italic>
</sub> and <italic>P</italic>
<sub>
<italic>dis,t</italic>
</sub> are charging and discharging power; <italic>&#x3b7;</italic>
<sub>
<italic>c</italic>
</sub> and <italic>&#x3b7;</italic>
<sub>
<italic>d</italic>
</sub> are charging and discharging efficiency; <italic>P</italic>
<sub>
<italic>ch</italic>,&#x2009;<italic>max</italic>
</sub> and <italic>P</italic>
<sub>
<italic>dis,max</italic>
</sub> are the maximum charging and discharging power; <italic>B</italic>
<sub>
<italic>ch</italic>,<italic>t</italic>
</sub> and <italic>B</italic>
<sub>
<italic>dis,t</italic>
</sub> are charging and discharging 0&#x2013;1 flag variable; <italic>E</italic>
<sub>
<italic>min</italic>
</sub> and <italic>E</italic>
<sub>
<italic>max</italic>
</sub> are the minimum and maximum energy of EES; <italic>E</italic>
<sub>0</sub> and <italic>E</italic>
<sub>
<italic>T</italic>
</sub> are the initilal and the end energy of EES; &#x393;<sub>
<italic>R</italic>
</sub> represents the rated usage Ampere hours of the electric energy storage; <italic>L</italic>
<sub>
<italic>R</italic>
</sub> is the rated cycle life; <italic>d</italic>
<sub>
<italic>R</italic>
</sub> is rated Ampere hours consumed by single discharge; <italic>D</italic>
<sub>
<italic>R</italic>
</sub> is rated depth of discharge; <italic>C</italic>
<sub>
<italic>R</italic>
</sub> is rated ampere-hour capacity. <italic>d</italic>
<sub>
<italic>eff</italic>
</sub> represents the ampere-hours consumed by a single use of electrical energy storage; <italic>SOC</italic> is the state of charge of the EES; <italic>k</italic>
<sub>0</sub>, <italic>k</italic>
<sub>1</sub>, <italic>k</italic>
<sub>2</sub> are constants. <italic>u</italic>
<sub>0</sub>, <italic>u</italic>
<sub>1</sub> are the parameter values obtained from the test during the simulation process.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Optimization framework</title>
<p>This paper proposes a day-ahead long-time-scale optimization considering multi-day forecast information and an intra-day MPC hierarchical rolling optimization operation strategy. The proposed optimized operation framework is shown in <xref ref-type="fig" rid="F4">Figure&#xa0;4</xref>. The multi-time scale in this paper consists of two stages.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>The proposed framework.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g004.tif"/>
</fig>
<p>Stage 1: day-ahead optimization. When performing day-ahead optimization, the optimization duration is not 24&#xa0;h on the short-time-scale. The system considers not only the WT, PV and load information of the day, but also the forecast information of the next few days. The system only retains the optimized operation results for the first day. After the first day&#x2019;s optimization is complete, the system&#x2019;s scheduling information is transferred to the second day, where the identical optimization approach is executed. In this way, the inter-day energy transfer of hydrogen energy is implemented in the day-ahead long-time-scale optimization considering multi-day forecast information.</p>
<p>Stage 2: intra-day rolling optimization. To solve the uncertainty of wt, pv and load day-ahead output, MPC is used for rolling optimization control during intra-day. Considering the difference among various energy transport properties of electricity-heat-hydrogen, this paper sets the control period for heat to 1&#xa0;h and the prediction period to 4&#xa0;h, the control period for hydrogen to 30&#xa0;min&#xa0;and the prediction period to 1&#xa0;h, and the control period for electricity to 15&#xa0;min&#xa0;and the prediction period to 30&#xa0;min. The day-ahead plan is tracked and corrected through the MPC rolling control.</p>
</sec>
<sec id="s4">
<title>4 Problem formulation</title>
<p>In the proposed E-H IES optimization operation strategy, the overall economic efficiency of the optimization cycle is optimized by taking forecast information for several days into account.</p>
<sec id="s4-1">
<title>4.1 Day-ahead optimization</title>
<sec id="s4-1-1">
<title>4.1.1 Objective function</title>
<p>A mixed-integer linear programming (MILP) problem is posed during day-ahead optimization. The objective function is to minimize the overall operating cost of the system.<disp-formula id="e59">
<mml:math id="m65">
<mml:mi>F</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(59)</label>
</disp-formula>
<disp-formula id="e60">
<mml:math id="m66">
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(60)</label>
</disp-formula>
<disp-formula id="e61">
<mml:math id="m67">
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(61)</label>
</disp-formula>
<disp-formula id="e62">
<mml:math id="m68">
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">eff</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(62)</label>
</disp-formula>
<disp-formula id="e63">
<mml:math id="m69">
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(63)</label>
</disp-formula>
<disp-formula id="e64">
<mml:math id="m70">
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(64)</label>
</disp-formula>where <italic>c</italic>
<sub>
<italic>in</italic>,<italic>t</italic>
</sub> and <italic>c</italic>
<sub>
<italic>out,t</italic>
</sub> are the price of electricity purchase and sale; <italic>P</italic>
<sub>
<italic>in</italic>,<italic>t</italic>
</sub> and <italic>P</italic>
<sub>
<italic>out,t</italic>
</sub> are the electricity purchased and sold; <italic>K</italic>
<sub>
<italic>in</italic>
</sub> is conversion factor for converting electricity purchased into carbon; <italic>&#x3bb;</italic>
<sub>
<italic>in</italic>
</sub> is environmental penalty factor for <italic>CO</italic> <sub>2</sub> emissions; <italic>C</italic>
<sub>
<italic>s</italic>
</sub> is the investment cost of EES; <italic>&#x3b1;</italic> and <italic>&#x3b2;</italic> are penalty factor for abandoning WT and PV; &#x394;<italic>P</italic>
<sub>
<italic>pv</italic>,<italic>t</italic>
</sub> and &#x394;<italic>P</italic>
<sub>
<italic>wt</italic>,<italic>t</italic>
</sub> are abandoned PV and WT power; <italic>&#x3c1;</italic> is heat selling price; <italic>Q</italic>
<sub>
<italic>yl</italic>,<italic>t</italic>
</sub> is the heat energy sold by the system; (<xref ref-type="disp-formula" rid="e60">60</xref>) represents the transaction cost with the upper-level grid. (<xref ref-type="disp-formula" rid="e61">61</xref>) represents the system carbon emission cost. (<xref ref-type="disp-formula" rid="e62">62</xref>) represents the life loss cost of electrical energy storage. (<xref ref-type="disp-formula" rid="e63">63</xref>) represents the cost of abandoning WT and PV. (<xref ref-type="disp-formula" rid="e64">64</xref>) represents the profit from the sale of some heat energy.</p>
</sec>
<sec id="s4-1-2">
<title>4.1.2 Operation constraints</title>
<p>
<disp-formula id="e65">
<mml:math id="m71">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dis,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">load,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(65)</label>
</disp-formula>
<disp-formula id="e66">
<mml:math id="m72">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,he,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dis,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">heat,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(66)</label>
</disp-formula>
<disp-formula id="e67">
<mml:math id="m73">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>H</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST,in,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>H</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(67)</label>
</disp-formula>
<disp-formula id="e68">
<mml:math id="m74">
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(68)</label>
</disp-formula>
<disp-formula id="e69">
<mml:math id="m75">
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(69)</label>
</disp-formula>
<disp-formula id="e70">
<mml:math id="m76">
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(70)</label>
</disp-formula>
<disp-formula id="e71">
<mml:math id="m77">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(71)</label>
</disp-formula>
<disp-formula id="e72">
<mml:math id="m78">
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(72)</label>
</disp-formula>
<disp-formula id="e73">
<mml:math id="m79">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(73)</label>
</disp-formula>where <italic>P</italic>
<sub>
<italic>pv</italic>,<italic>t</italic>
</sub> and <italic>P</italic>
<sub>
<italic>wt</italic>,<italic>t</italic>
</sub> are PV and WT power; <italic>P</italic>
<sub>
<italic>gl</italic>,<italic>t</italic>
</sub> is the electric power generated by the electric boiler; <italic>P</italic>
<sub>
<italic>load,t</italic>
</sub> is load demand; <italic>Q</italic>
<sub>
<italic>gl</italic>,<italic>t</italic>
</sub> is the thermal energy generated by the electric boiler; <italic>Q</italic>
<sub>
<italic>ch</italic>,<italic>t</italic>
</sub> and <italic>Q</italic>
<sub>
<italic>dis,t</italic>
</sub> are the heat charging and releasing of the HST; <italic>Q</italic>
<sub>
<italic>heat,t</italic>
</sub> is heat load; <inline-formula id="inf7">
<mml:math id="m80">
<mml:mi>H</mml:mi>
<mml:mi>H</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is high calorific value of hydrogen; <inline-formula id="inf8">
<mml:math id="m81">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is hydrogen load; <italic>P</italic>
<sub>
<italic>in</italic>,&#x2009;<italic>max</italic>
</sub> and <italic>P</italic>
<sub>
<italic>out,max</italic>
</sub> are the maximum purchase and sale electricity; <italic>F</italic>
<sub>
<italic>in</italic>,<italic>t</italic>
</sub> and <italic>F</italic>
<sub>
<italic>out,t</italic>
</sub> are electricity purchase and sale 0&#x2013;1 flag variable; <italic>&#x3b7;</italic>
<sub>
<italic>gl</italic>
</sub> is electric boiler electric heat conversion efficiency; <italic>Q</italic>
<sub>
<italic>gl</italic>,&#x2009;<italic>min</italic>
</sub> and <italic>Q</italic>
<sub>
<italic>gl</italic>,&#x2009;<italic>max</italic>
</sub> are the minimum and maximum heat output of electric boilers; <italic>U</italic>
<sub>
<italic>gl</italic>,<italic>t</italic>
</sub> is the start-stop state of the electric boiler; <italic>N</italic>
<sub>
<italic>gl</italic>
</sub> is daily maximum start and stop times of electric boiler. (<xref ref-type="disp-formula" rid="e65">65</xref>), (<xref ref-type="disp-formula" rid="e66">66</xref>), and (<xref ref-type="disp-formula" rid="e67">67</xref>) represent the electrical, thermal, and hydrogen power balances, respectively. (<xref ref-type="disp-formula" rid="e68">68</xref>&#x2013;<xref ref-type="disp-formula" rid="e70">70</xref>) represents the constraint relationship between the system and the grid tie line. The operating constraints of electric boilers include (<xref ref-type="disp-formula" rid="e71">71</xref>&#x2013;<xref ref-type="disp-formula" rid="e73">73</xref>).</p>
</sec>
</sec>
<sec id="s4-2">
<title>4.2 Intra-day rolling optimization</title>
<p>Although the renewable energy forecasting technology is always evolving and the forecasting accuracy is constantly improving, the optimized operation results derived by considering only the day-ahead renewable energy and load output may differ from the actual operation results.</p>
<p>Model predictive control (MPC) has the characteristics of rolling optimization and feedback correction (<xref ref-type="bibr" rid="B20">Ye&#xa0;et&#xa0;al., 2022</xref>), which can update the state of the system in real time and reduce the system error caused by inaccurate prediction. MPC mainly includes three steps: model prediction, rolling optimization and feedback correction (<xref ref-type="bibr" rid="B17">Vasilj&#xa0;et&#xa0;al., 2019</xref>).</p>
<sec id="s4-2-1">
<title>4.2.1 Model prediction</title>
<p>Model prediction is to predict the future output of the system based on historical information, and optimize the control to make the final output as close to the reference value as possible. Predictive models emphasize system inputs and outputs rather than the model&#x2019;s specific structure. In this paper, the incremental state space model is used as the system control expression, as shown in (<xref ref-type="disp-formula" rid="e74">74</xref>).<disp-formula id="e74">
<mml:math id="m82">
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>e</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(74)</label>
</disp-formula>where &#x394;<italic>x</italic>(<italic>k</italic>), &#x394;<italic>u</italic>(<italic>k</italic>), &#x394;<italic>e</italic>(<italic>k</italic>), and <italic>y</italic>(<italic>k</italic>) represent the state variables, input variables, the increase of disturbance variables and output variables of the system, respectively. <italic>A</italic>, <italic>B</italic>, <italic>C</italic>, <italic>D</italic> are system control parameters.</p>
<p>According to (<xref ref-type="disp-formula" rid="e74">74</xref>), the predicted output of the system at time (<italic>k</italic> &#x2b; <italic>j</italic>) can be written as follows,<disp-formula id="e75">
<mml:math id="m83">
<mml:mtable class="align">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>B</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x2b;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mi>C</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>D</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>e</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(75)</label>
</disp-formula>where <italic>j</italic> is the prediction period, and <italic>m</italic> is the control period.</p>
</sec>
<sec id="s4-2-2">
<title>4.2.2 Rolling optimization</title>
<p>MPC performs optimization solution by rolling forward, calculates the optimal control sequence according to the optimization index in the forecast period at each control moment, and continuously updates the forecast period. In general, the minimum weighted sum of the variance of the actual output and the reference trajectory and the variance of the control variable can be taken as the system optimization index, as shown below:<disp-formula id="e76">
<mml:math id="m84">
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>J</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>Q</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
<label>(76)</label>
</disp-formula>where <italic>P</italic> and <italic>Q</italic> are the weighting matrices of the output and control variables, respectively. <italic>M</italic> is the prediction time domain.</p>
</sec>
<sec id="s4-2-3">
<title>4.2.3 Feedback correction</title>
<p>To ensure that the system state will not significantly deviate from the safe and normal range in the event of system error interference, the system only executes the control plan at the current timestep. In the next timestep, the system will re-predict, and then compensate for the latest error during the subsequent optimization procedures. The above process constitutes a closed-loop feedback system, which makes the system optimization control strategy more effective. The system updates the error through (<xref ref-type="disp-formula" rid="e77">77</xref>).<disp-formula id="e77">
<mml:math id="m85">
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>r</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>r</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(77)</label>
</disp-formula>where, &#x394;<italic>r</italic>(<italic>k</italic>) is the actual deviation between the predicted value and the actual value, and <italic>&#x3bb;</italic>
<sub>
<italic>r</italic>
</sub> is the error coefficient matrix.</p>
</sec>
<sec id="s4-2-4">
<title>4.2.4 Hierarchical optimization</title>
<p>The E-H IES contains various types of energy such as electricity, hydrogen, and heat. Due to the various transmission properties of multiple energy sources, if the dynamic characteristics of various energy sources are ignored in the operation optimization of E-H IES, the final output plan will depart significantly from the real situation. Therefore, on the basis of MPC, this paper proposes a hierarchical optimization operation method that considers the difference of energy transmission characteristics.</p>
<p>The dynamic characteristics of various energy networks in E-H IES are highly distinct, and so is the response of each piece of equipment to the system. Among them, the power transmission speed and the response speed to the system power fluctuation are the quickest. It can be considered that the power transmission is completed instantaneously. In general, the transient process of the power transmission does not need to be considered in the scheduling. The hydrogen transmission may be affected by the pipeline, the transmission speed is relatively slow, and the influence of the transient process needs to be considered in the optimal scheduling. The transmission speed of thermal energy is the slowest of the three types of energy, as it transmits thermal energy through mediums such as hot water.</p>
<p>In the multi-time-scale optimization of E-H IES, the planned output of each piece of equipment in the next day is obtained through day-ahead optimization, and the scheduling period is 1&#xa0;h. Intra-day hierarchical rolling optimization is an adjustment to the day-ahead plan. Among them, the intra-day control period of thermal energy is 1&#xa0;h, and the prediction period is 4&#xa0;h. The intra-day control period of hydrogen energy is 30&#xa0;min, and the prediction period is 1&#xa0;h. The intra-day control period of electric energy is 15&#xa0;min, and the prediction period is 30&#xa0;min.</p>
<p>Thermal energy control scheduling: This stage is to adjust the output of heat-generating equipment according to the day-ahead output plan and the deviation of predicted heat load. The objective is to minimize the operating cost of the thermal layer and the power adjustment cost of related components.<disp-formula id="e78">
<mml:math id="m86">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">heat</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mspace width="0.17em"/>
<mml:mi>min</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">heat</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close="">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3c1;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">TST</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">tst,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mspace width=".5em"/>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,he,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(78)</label>
</disp-formula>where <italic>T</italic>
<sub>
<italic>heat</italic>
</sub> is heat intra-day scheduling cycle; <italic>S</italic>
<sub>
<italic>gl</italic>
</sub> is electric boiler unit power adjustment cost; <italic>S</italic>
<sub>
<italic>TST</italic>
</sub> is TST unit power adjustment cost; <italic>S</italic>
<sub>
<italic>ez</italic>
</sub> is electrolyzer unit power adjustment cost; <italic>S</italic>
<sub>
<italic>hfc</italic>
</sub> is HFC unit power adjustment cost; &#x394;<italic>Q</italic>
<sub>
<italic>gl</italic>,<italic>t</italic>
</sub> is difference between the heat production of electric boiler and the day-ahead plan; &#x394;<italic>Q</italic>
<sub>
<italic>tst,t</italic>
</sub> is difference between TST output and day-ahead plan; &#x394;<italic>Q</italic>
<sub>
<italic>he</italic>,<italic>t</italic>
</sub> is difference between heat production of the electrolyzer and day-ahead plan; &#x394;<italic>Q</italic>
<sub>
<italic>hfc,he,t</italic>
</sub> is difference between HFC heat production and day-ahead plan.</p>
<p>Hydrogen energy control scheduling: This stage is to adjust the output of hydrogen-generating equipment according to the output plan of the day-ahead and the output plan of the thermal layer and the deviation of the hydrogen load prediction. The objective is to minimize the operating cost of the hydrogen layer and the power adjustment cost of related components.<disp-formula id="e79">
<mml:math id="m87">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hydrogen</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mi>min</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hydrogen</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="(" close="">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">HST</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hst,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,in,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(79)</label>
</disp-formula>where <italic>T</italic>
<sub>
<italic>hydrogen</italic>
</sub> is hydrogen intra-day scheduling cycle; <italic>S</italic>
<sub>
<italic>HST</italic>
</sub> is HST unit power adjustment cost; &#x394;<italic>M</italic>
<sub>
<italic>hst,t</italic>
</sub> is difference between HST output and day-ahead plan; &#x394;<italic>P</italic>
<sub>
<italic>ec</italic>,<italic>out</italic>,<italic>t</italic>
</sub> is difference between the hydrogen produced by electrolyzer and the plan of the thermal dispatch layer; &#x394;<italic>P</italic>
<sub>
<italic>hfc,in,t</italic>
</sub> is difference between the hydrogen consumption of HFC and the plan of the thermal dispatch layer.</p>
<p>Electric energy control scheduling: This stage is to adjust the output of power equipment according to the output plan of the day-ahead, the output plan of the thermal layer, the output plan of the hydrogen layer, the deviation of the electric load forecast and the deviation of the wind power photovoltaic prediction. The objective is to minimize the operating cost of the electrical layer and the power adjustment cost of related components.<disp-formula id="e80">
<mml:math id="m88">
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ele</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>min</mml:mi>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ele</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">out,t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">eff</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">EES</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ees,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">hfc,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">grid</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="&#x7c;" close="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">grid,t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(80)</label>
</disp-formula>where <italic>T</italic>
<sub>
<italic>ele</italic>
</sub> is electric intra-day scheduling cycle; <italic>S</italic>
<sub>
<italic>EES</italic>
</sub> is EES unit power adjustment cost; <italic>S</italic>
<sub>
<italic>grid</italic>
</sub> is grid contact lines unit power adjustment cost; &#x394;<italic>E</italic>
<sub>
<italic>ees,t</italic>
</sub> is difference between EES output and day-ahead plan; &#x394;<italic>P</italic>
<sub>
<italic>ec</italic>,<italic>in</italic>,<italic>t</italic>
</sub> is difference between the electric energy consumed by the electrolyzer and the plan of the hydrogen dispatch layer; &#x394;<italic>P</italic>
<sub>
<italic>hfc,t</italic>
</sub> is difference between the electric energy consumed by HFC and the plan of the hydrogen dispatch layer; &#x394;<italic>P</italic>
<sub>
<italic>grid,t</italic>
</sub> is difference between the power of the contact line and the day-ahead plan.</p>
</sec>
</sec>
</sec>
<sec id="s5">
<title>5 Case study</title>
<p>To validate the effectiveness of the proposed day-ahead scheduling strategy comparisons between the proposed strategy and traditional day-ahead optimization are illustrated. In the intra-day stage, MPC is used to track and correct the day-ahead plan obtained by the proposed approach.</p>
<sec id="s5-1">
<title>5.1 System parameters and data</title>
<p>The structure diagram of the E-H IES is shown in <xref ref-type="fig" rid="F1">Figure&#xa0;1</xref>. Load, photovoltaic and wind power forecast information are shown in <xref ref-type="fig" rid="F5">Figures&#xa0;5</xref>, <xref ref-type="fig" rid="F6">6</xref>, respectively. The parameters of some devices are shown in <xref ref-type="table" rid="T1">Table&#xa0;1</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Electricity-heat-hydrogen load forecast information.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>PV and WT forecast information.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g006.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Parameters of related devices.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameters</th>
<th align="center">Value</th>
<th align="center">Parameters</th>
<th align="center">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<italic>&#x3bc;</italic>
<sub>1</sub>/<italic>&#x3bc;</italic>
<sub>2</sub>
</td>
<td align="center">0.62/0.28</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>hfc,min &#x2215;&#xa0;max</italic>
</sub>&#xa0;(&#xb0;<italic>C</italic>)</td>
<td align="center">55/90</td>
</tr>
<tr>
<td align="center">
<italic>&#x3bd;</italic>
<sub>1</sub>/<italic>&#x3bd;</italic>
<sub>2</sub>
</td>
<td align="center">0.50/-0.49</td>
<td align="center">
<italic>&#x3b7;</italic>
<sub>
<italic>c</italic>
</sub>/<italic>&#x3b7;</italic>
<sub>
<italic>d</italic>
</sub>
</td>
<td align="center">0.95</td>
</tr>
<tr>
<td align="center">
<italic>T</italic>
<sub>
<italic>ec</italic>,&#x2009;<italic>min</italic>/&#xa0;<italic>max</italic>
</sub>&#xa0;(&#xb0;<italic>C</italic>)</td>
<td align="center">60/80</td>
<td align="center">
<italic>E</italic>
<sub>
<italic>min</italic>/&#xa0;<italic>max</italic>
</sub>&#xa0;(<italic>kWh</italic>)</td>
<td align="center">1,000/6,500</td>
</tr>
<tr>
<td align="center">
<italic>C</italic>
<sub>
<italic>apa</italic>
</sub>(<italic>kWh</italic>)</td>
<td align="center">6,500</td>
<td align="center">
<italic>T</italic>
<sub>
<italic>out</italic>
</sub>&#xa0;(&#xb0;<italic>C</italic>)</td>
<td align="center">25</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The World Meteorological Organization divides weather forecasts into three categories based on their duration: very short-range weather forecasting (next 12&#xa0;h), short-range weather forecasting (next 3&#xa0;days) and medium-range weather forecasting (next 10&#xa0;days). In order to consider both the long-term operation of hydrogen energy and the accuracy of the forecast, this paper chooses to predict the information of the next 3&#xa0;days. In addition, renewable energy and load forecasting are not the focus of this paper.</p>
</sec>
<sec id="s5-2">
<title>5.2 Day-ahead optimization</title>
<p>The comparison cases in this paper are as follows.<list list-type="simple">
<list-item>
<p>Case 1: Traditional day-ahead optimization.</p>
</list-item>
<list-item>
<p>Case 2: Day-ahead optimization considering multi-day forecast information.</p>
</list-item>
</list>
</p>
<p>To see the transfer effect of hydrogen energy more intuitively, a 4-day optimization operation is conducted. In Case 1 and Case 2, the energy changes of electric and hydrogen energy storage are shown in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>. The relationship between thermal energy and temperature in the electrolyzer and HFC is shown in <xref ref-type="fig" rid="F8">Figures&#xa0;8</xref>, <xref ref-type="fig" rid="F9">9</xref>, respectively.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>HES and EES energy. <bold>(A)</bold> Case 1 HES. <bold>(B)</bold> Case 2 HES. <bold>(C)</bold> Case 1 EES. <bold>(D)</bold> Case 2 EES.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>The relationship between thermal energy and temperature of electrolyzer. <bold>(A)</bold> Case 1. <bold>(B)</bold> Case 2.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g008.tif"/>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>The relationship between thermal energy and temperature of HFC. <bold>(A)</bold> Case 1. <bold>(B)</bold> Case 2.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g009.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F6">Figure&#xa0;6</xref> depicts the weather conditions over the next 4&#xa0;days. The changes in the quality of hydrogen in the HST in cases 1 and case 2 are significant. In the traditional day-ahead optimization, the energy of hydrogen returns to its initial state at the end of each day, which can only meet the daily energy demand. In day-ahead optimization that considers multi-day forecast information, hydrogen is stored while renewable energy is abundant and released when it is scarce. The proposed method maximizes the use of renewable energy, resolves the problem of uneven distribution of renewable energy, and implement the inter-day energy transfer for hydrogen energy. Under the traditional optimal operation strategy, the electric energy storage is frequently charged and discharged and the SOC of electric energy storage is at a low level. The day-ahead optimal operation strategy proposed in this paper shows that the frequency of charging and discharging of electric energy storage is reduced and the SOC is at a high level, which has a certain mitigation effect on the life depreciation of electric energy storage. The proposed day-ahead long-time-scale optimal operation strategy achieves the inter-day energy transfer of hydrogen energy storage and the intra-day energy transfer of electric energy storage, and realizes the coordinated control of multiple types of energy storage.</p>
<p>Renewable energy is abundant in the system on the first and third days, when the electrolyzer produces a large amount of hydrogen with a large amount of heat. In case 1, the electrolyzer must continue to operate on the second and fourth days to maintain a balance between hydrogen energy and heat energy. However, in case 2, the HST plays a significant role on the second and fourth days, and the HFC can use this portion of the free resources to generate heat. In the day-ahead optimization considering multi-day forecast information, it is evident that the electrolyzer can reduce some workload when wind and solar resources are insufficient, thereby preventing damage to the equipment from excessive use. Based on the heat generation and the heat supply to the heat load, the temperature of the electrolyzer changes accordingly.</p>
<p>In case 1, on the first day when renewable energy is abundant, HFC employs hydrogen to generate a great deal of heat to prevent excessive abandonment of wind power and photovoltaics. When renewable energy is scarce, hydrogen is provided primarily to the hydrogen load, with any excess going to the HFC. Thus, the output of the HFC is relatively low. In case 2, when the renewable energy is sufficient, the HFC uses the hydrogen generated by the electrolyzer to work, as the HFC cannot work with the hydrogen stored in the HST, and the output of the HFC remains stable.</p>
<p>In the day-ahead stage, the power balances of different energy sources in case 1 and case 2 are shown in <xref ref-type="fig" rid="F10">Figures&#xa0;10</xref>, <xref ref-type="fig" rid="F11">11</xref>, respectively. In case 1, when the renewable energy is sufficient, E-H IES chooses to sell electricity to the upper power grid to make a profit. Under the penalty of abandoning wind power and photovoltaics, part of the renewable energy is converted into hydrogen through the electrolyzer, and HFC uses this part of the hydrogen to generate heat for sale. When there is a shortage of renewable energy, the system can only choose to buy electricity from the upper-level grid to meet the system demand, and the system does not sell heat to the outside. The traditional day-ahead optimization may obtain greater benefits in some cases, but in the long-term development, it is not a smart development model.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Power balance of different energy sources in case 1.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g010.tif"/>
</fig>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Power balance of different energy sources in case 2.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g011.tif"/>
</fig>
<p>In case 2, from the electricity-hydrogen-thermal coupling point of view, the HST is almost in the storage state on the first and third days and is released for system usage on the second and fourth days. When renewable energy is in excess, the system also sells power and heat. When there is a shortage of renewable energy, the system not only greatly reduces the purchase of electricity from the upper grid, but also has a small profit from heat sales. The system&#x2019;s overall economic value is then significantly enhanced.</p>
<p>Comparisons of case 1 and case 2 are shown in <xref ref-type="table" rid="T2">Table&#xa0;2</xref>. It can be calculated from <xref ref-type="table" rid="T2">Table&#xa0;2</xref> that the average cost of case 1 is &#x2212;24,435.8 yuan, while the average cost of case 2 is &#x2212;32,421.7 yuan. The average life of the EES in case 1 is 5.80605&#xa0;years, and the average life of the EES in case 2 is 6.1829&#xa0;years. It can be seen that the profitability of case 1 is slightly higher than that of case 2 on the first and third days, but it is much lower than that of case 2 on the second and fourth days. From the perspective of long-term development of the system, day-ahead optimization considering multi-day forecast information can tackle the problem of uneven distribution of renewable energy. The overall economic effect of the system is better, and it also has a certain mitigation effect on the loss of EES, reducing the abandonment of wind power and photovoltaics in the system.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Optimization results for two cases.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th colspan="4" align="center">Case 1</th>
<th colspan="4" align="center">Case 2</th>
</tr>
<tr>
<th align="left"/>
<th align="center">Day 1</th>
<th align="center">Day 2</th>
<th align="center">Day 3</th>
<th align="center">Day 4</th>
<th align="center">Day 1</th>
<th align="center">Day 2</th>
<th align="center">Day 3</th>
<th align="center">Day 4</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Cost (Yuan)</td>
<td align="center">&#x2212;86557.4</td>
<td align="center">30518.9</td>
<td align="center">&#x2212;73330.8</td>
<td align="center">31626.1</td>
<td align="center">&#x2212;71315.2</td>
<td align="center">&#x2212;5118.7423</td>
<td align="center">&#x2212;48973.6333</td>
<td align="center">&#x2212;4279.3073</td>
</tr>
<tr>
<td align="center">Battery Life(year)</td>
<td align="center">5.8323</td>
<td align="center">5.9316</td>
<td align="center">5.5449</td>
<td align="center">5.9154</td>
<td align="center">6.3121</td>
<td align="center">6.1796</td>
<td align="center">6.0609</td>
<td align="center">6.1790</td>
</tr>
<tr>
<td align="center">Abandon PV (kWh)</td>
<td align="center">373.9557</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">Abandon WT (kWh)</td>
<td align="center">702.8867</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">
<italic>&#x3b7;</italic>
<sub>
<italic>hfc,h</italic>
</sub>
</td>
<td align="center">0.53</td>
<td align="center">0.53</td>
<td align="center">0.53</td>
<td align="center">0.53</td>
<td align="center">0.53</td>
<td align="center">0.53</td>
<td align="center">0.53</td>
<td align="center">0.53</td>
</tr>
<tr>
<td align="center">
<italic>&#x3b7;</italic>
<sub>
<italic>hfc,e</italic>
</sub>
</td>
<td align="center">0.33</td>
<td align="center">0.33</td>
<td align="center">0.33</td>
<td align="center">0.33</td>
<td align="center">0.33</td>
<td align="center">0.33</td>
<td align="center">0.33</td>
<td align="center">0.33</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5-3">
<title>5.3 Intra-day rolling optimization</title>
<p>After the day-ahead plan is obtained, MPC is used to track and correct the day-ahead plan within the day. Since the steps of intra-day rolling are the same, this paper only analyses the intra-day optimization on the first day. According to the different dispatch periods of electricity-heat-hydrogen, <xref ref-type="fig" rid="F12">Figure&#xa0;12</xref> shows the comparison results of the load day-ahead forecast and the intra-day forecast, respectively.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Intra-day forecast data. <bold>(A)</bold> Electricity load. <bold>(B)</bold> Heat load. <bold>(C)</bold> Hydrogen load.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g012.tif"/>
</fig>
<p>In the heat energy dispatching stage, the output adjustment of related heat equipment and thermal storage tank (TST) is mainly determined by the heat load prediction inaccuracy. Since the heat energy dispatching cycle is the longest, as the first stage of intra-day dispatching, it is sufficient to follow the system&#x2019;s day-ahead plan and analyze the system operating economy and the output fluctuation of each component under the premise of meeting the load requirements. In the second stage of intra-day hydrogen scheduling, in addition to following the system&#x2019;s day-ahead output plan, it also needs to follow the adjustment plan of the thermal energy scheduling stage. In the hydrogen scheduling stage, the output adjustment of the relevant hydrogen energy equipment is mostly determined by the hydrogen load prediction inaccuracy. Electric energy dispatching has the shortest cycle and is also the last stage of intra-day dispatching. On the basis of following the system&#x2019;s day-ahead output plan, it is also necessary to meet the output adjustment plans of each component in the first two stages. In the electric energy dispatching stage, the output adjustment of related electric energy equipment and EES is mainly carried out according to the electric load and the forecast error of wind power photovoltaic. <xref ref-type="fig" rid="F13">Figure&#xa0;13</xref> shows intra-day heat balance, hydrogen balance, and electrical power balance, respectively.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Intra-day operation. <bold>(A)</bold> Heat balance. <bold>(B)</bold> Hydrogen balance. <bold>(C)</bold> Electrical power balance.</p>
</caption>
<graphic xlink:href="fenrg-11-1132005-g013.tif"/>
</fig>
</sec>
</sec>
<sec sec-type="conclusion" id="s6">
<title>6 Conclusion</title>
<p>This paper proposes a multi-time-scale optimization operation strategy, which includes day-ahead long-time-scale optimization considering multi-day forecast information and intra-day MPC hierarchical rolling optimization. In the day-ahead stage, the system achieves a balanced distribution of renewable energy <italic>via</italic> hydrogen energy transfer by incorporating forecast information for multi-day in the future. In the intra-day stage, using MPC to track and revise the day-ahead plan, more precise scheduling control is obtained with consideration of variable energy transmission qualities. The case analysis shows that.<list list-type="simple">
<list-item>
<p>1) Compared with the typical day-ahead optimization, the proposed day-ahead optimization that takes into account the multi-day forecast information enables the inter-day energy transfer of hydrogen energy, for sake that the electric energy storage has a greater impact on intra-day energy transfer. With the cooperation of the long-time-scale of hydrogen energy and the short-time-scale of electric energy, the overall economy of the system has been improved, the utilization rate of renewable energy has been greatly improved, and there is also a certain protective effect on the life of electric energy storage.</p>
</list-item>
<list-item>
<p>2) Since there are errors in the forecast of renewable energy and load, as well as differences in the transmission qualities of various energy sources, hierarchical rolling optimization through MPC is required to track and adjust the day-ahead plan, resulting in a more accurate dispatch plan.</p>
</list-item>
</list>
</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s8">
<title>Author contributions</title>
<p>LZ: Conceptualization, methodology, validation, software, investigation, writing&#x2013;review editing, project administration, resources. WD: Methodology, software, formal analysis, validation, writing&#x2013;original draft, visualization, funding acquisition. BZ: Methodology, validation, writing&#x2013;review editing, project administration. XZ: Methodology, validation, writing&#x2013;review editing, project administration. ML: Methodology, validation, writing&#x2013;review editing, project administration. QW: Methodology, validation, writing&#x2013;review editing, project administration. JC: Methodology, writing&#x2013;review editing, supervision.</p>
</sec>
<sec id="s9">
<title>Funding</title>
<p>This work was supported by Research on multi-time scale coordinated control and operation optimization technology of distributed electro-hydrogen coupling system, Science and Technology Project of State Grid Zhejiang Electric Power Co., Ltd. (No. B311DS221003).</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</title>
<p>LZ, BZ, XZ, ML, and QW were employed by State Grid Zhejiang Electric Power Research Institute.</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Artificial intelligence-aided model predictive control for a grid-tied wind-hydrogen-fuel cell system</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>92418</fpage>&#x2013;<lpage>92430</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.2994577</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cheng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Secure multi-party household load scheduling framework for real-time demand-side management</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>14</volume>, <fpage>602</fpage>&#x2013;<lpage>612</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2022.3221081</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Converse</surname>
<given-names>A. O.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Seasonal energy storage in a renewable energy system</article-title>. <source>Proc. IEEE</source> <volume>100</volume>, <fpage>401</fpage>&#x2013;<lpage>409</lpage>. <pub-id pub-id-type="doi">10.1109/JPROC.2011.2105231</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>El-Taweel</surname>
<given-names>N. A.</given-names>
</name>
<name>
<surname>Khani</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Farag</surname>
<given-names>H. E. Z.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Hydrogen storage optimal scheduling for fuel supply and capacity-based demand response program under dynamic hydrogen pricing</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>10</volume>, <fpage>4531</fpage>&#x2013;<lpage>4542</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2018.2863247</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gils</surname>
<given-names>H. C.</given-names>
</name>
<name>
<surname>Gardian</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Schmugge</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Interaction of hydrogen infrastructures with other sector coupling options towards a zero-emission energy system in Germany</article-title>. <source>Renew. Energy</source> <volume>180</volume>, <fpage>140</fpage>&#x2013;<lpage>156</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2021.08.016</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Multi-objective optimal operation of combined cascade reservoir and hydrogen system</article-title>. <source>IEEE Trans. Ind. Appl.</source> <volume>58</volume>, <fpage>2836</fpage>&#x2013;<lpage>2847</lpage>. <pub-id pub-id-type="doi">10.1109/tia.2021.3138949</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khalilnejad</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sundararajan</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sarwat</surname>
<given-names>A. I.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Optimal design of hybrid wind/photovoltaic electrolyzer for maximum hydrogen production using imperialist competitive algorithm</article-title>. <source>J. Mod. Power Syst. Clean. Energy</source> <volume>6</volume>, <fpage>40</fpage>&#x2013;<lpage>49</lpage>. <pub-id pub-id-type="doi">10.1007/s40565-017-0293-0</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xing</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Operation optimization of power to hydrogen and heat (p2hh) in adn coordinated with the district heating network</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>10</volume>, <fpage>1672</fpage>&#x2013;<lpage>1683</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2018.2868827</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Optimal investment of electrolyzers and seasonal storages in hydrogen supply chains incorporated with renewable electric networks</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>11</volume>, <fpage>1773</fpage>&#x2013;<lpage>1784</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2019.2940604</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Toward the resilient design of interdependencies between hydrogen refueling and power systems</article-title>. <source>IEEE Trans. Ind. Appl.</source> <volume>58</volume>, <fpage>2792</fpage>&#x2013;<lpage>2802</lpage>. <pub-id pub-id-type="doi">10.1109/TIA.2021.3122401</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pan</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Optimal planning for electricity-hydrogen integrated energy system considering power to hydrogen and heat and seasonal storage</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>11</volume>, <fpage>2662</fpage>&#x2013;<lpage>2676</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2020.2970078</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pan</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Assessment of plum rain&#x2019;s impact on power system emissions in yangtze-huaihe river basin of China</article-title>. <source>Nat. Commun.</source> <volume>12</volume>, <fpage>6156</fpage>. <pub-id pub-id-type="doi">10.1038/s41467-021-26358-w</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pei</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Review of operational control strategy for dc microgrids with electric-hydrogen hybrid storage systems</article-title>. <source>CSEE J. Power Energy Syst.</source> <volume>8</volume>, <fpage>329</fpage>&#x2013;<lpage>346</lpage>. <pub-id pub-id-type="doi">10.17775/CSEEJPES.2021.06960</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Taljan</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Canizares</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Fowler</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Verbic</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>The feasibility of hydrogen storage for mixed wind-nuclear power plants</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>23</volume>, <fpage>1507</fpage>&#x2013;<lpage>1518</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2008.922579</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lai</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Integrated electricity and hydrogen energy sharing in coupled energy systems</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>12</volume>, <fpage>1149</fpage>&#x2013;<lpage>1162</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2020.3023716</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Teng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Hui</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Multi-energy storage system model based on electricity heat and hydrogen coordinated optimization for power grid flexibility</article-title>. <source>CSEE J. Power Energy Syst.</source> <volume>5</volume>, <fpage>266</fpage>&#x2013;<lpage>274</lpage>. <pub-id pub-id-type="doi">10.17775/CSEEJPES.2019.00190</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vasilj</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gros</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jakus</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zanon</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Day-ahead scheduling and real-time economic mpc of chp unit in microgrid with smart buildings</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>10</volume>, <fpage>1992</fpage>&#x2013;<lpage>2001</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2017.2785500</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Research on modeling and the operation strategy of a hydrogen-battery hybrid energy storage system for flexible wind farm grid-connection</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>79347</fpage>&#x2013;<lpage>79356</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.2990581</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yamamoto</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Fujioka</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Okano</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Cost analysis of stable electric and hydrogen energy supplies derived from 100% variable renewable resources systems</article-title>. <source>Renew. Energy</source> <volume>178</volume>, <fpage>1165</fpage>&#x2013;<lpage>1173</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2021.06.061</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ye</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>An optimal dispatching strategy of island microgrid considering economy and flexibility</article-title>. <source>Zhejiang Electr. Power</source> <volume>41</volume>, <fpage>54</fpage>&#x2013;<lpage>64</lpage>. <pub-id pub-id-type="doi">10.19585/j.zjdl.202203007</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Carbon value assessment of hydrogen energy connected to the power grid</article-title>. <source>IEEE Trans. Ind. Appl.</source> <volume>58</volume>, <fpage>2803</fpage>&#x2013;<lpage>2811</lpage>. <pub-id pub-id-type="doi">10.1109/TIA.2021.3126691</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Guan</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ye</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>X.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Optimal design and operation of regional multi-energy systems with high renewable penetration considering reliability constraints</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>205307</fpage>&#x2013;<lpage>205315</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2020.3036640</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>