<?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">767721</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2021.767721</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>Economic Dispatch Methods for Smart Grid Based on Improved SPEA2 and Improved NSGA2</article-title>
<alt-title alt-title-type="left-running-head">Li and Wang</alt-title>
<alt-title alt-title-type="right-running-head">Economic Dispatch Methods</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Li</surname>
<given-names>Bo</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<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/1459649/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Jingwen</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1572330/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>School of Automation Engineering, Northeast Electric Power University, <addr-line>Jilin</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>Jilin Province Key Laboratory of Smart Energy Advanced Control Technology, <addr-line>Jilin</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/1160602/overview">Chandrasekhar Perumalla</ext-link>, Indian Institute of Technology Bhubaneswar, India</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/1121848/overview">Yushuai Li</ext-link>, University of Denver, United&#x20;States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/507713/overview">Minh Quan Duong</ext-link>, The University of Danang, Vietnam</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Bo Li, <email>libo@neepu.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Smart Grids, a section of the journal Frontiers in Energy Research</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>07</day>
<month>12</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>9</volume>
<elocation-id>767721</elocation-id>
<history>
<date date-type="received">
<day>31</day>
<month>08</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>10</day>
<month>11</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Li and Wang.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Li and Wang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>The severity of the ongoing environmental crisis has prompted the development of renewable energy generation and smart grids integration. The access of enewable energy makes the economic dispatching of smart grid complicated. Therefore, the economic dispatching model for smart grid is very necessary. This paper presents an economic dispatching model of smart power grid, which considers both economy and pollution emission. The smart grid model used for the simulation is construced of wind energy, solar energy, fuel cell, and thermal power, and the use of fuel cell enables the smart grid to achieve multi-energy complementar. To overcome the defect of the traditional centralized communication methods, which are prone to communication jams, this paper adopts a multi-agent inform ation exchange method to improve the stability and efficiency. In terms of the solution method for this model, this paper proposes Improved Strength Pareto Evolutionary Algorithm 2(ISPEA2) and Improved Non-dominated Sorting Genetic Algorithm 2(INSGA2) that solves the economic dispatch problem of a smart grid. The strength Pareto evolutionary algorithm 2(SPEA2),non-dominated sorting genetic algorithm 2(NSGA2) and the improved algorithms are simultaneously applied to the proposed smart grid model for economic dispatching simulation. The simulation results show that ISPEA2 and INSGA2 are effective. ISPEA2 and INSGA2 have shown improvements over SPEA2 and NSGA2 in accuracy or running&#x20;times.</p>
</abstract>
<kwd-group>
<kwd>economic dispatch (ED) problem</kwd>
<kwd>multi-objective optimization (MOO)</kwd>
<kwd>SPEA2 method</kwd>
<kwd>NSGA2</kwd>
<kwd>smart grid (SG) power system</kwd>
</kwd-group>
<contract-num rid="cn001">61873057</contract-num>
<contract-sponsor id="cn001">National Natural Science Foundation of China<named-content content-type="fundref-id">10.13039/501100001809</named-content>
</contract-sponsor>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>While traditonal fossil fuels has brought tremendous postive impact to the world, its large negative impacts to the environment is hard to ignore and many would argue that it&#x2019;s one of the most important problems faced by humanity right now. The concept of &#x201c;carbon peak&#x201d; and &#x201c;carbon neutral&#x201d; make people pay more and more attention to the application of renewable energy in power generation. The economic dispatching problem of power grid is very important all the time. The original economic dispatch problem of electric power grid can be traced back to the 1920s. The main types of generators in traditional electric power grids are thermal power generators. At the same time, the total number of power units is small, which makes the economic dispatch problem of the ancient electric power grid relatively simple. The access of renewable energy makes the economic dispatch problem of smart grid complicated and the economic dispatching model of smart grid becomes very important. Many scholars have carried out research in related fields. A new distributed dual-Newton descent (DDND) algorithm for energy management of multiple energy bodies is proposed in Literature <xref ref-type="bibr" rid="B31">Yushuai et&#x20;al. (2020)</xref>. Literature <xref ref-type="bibr" rid="B17">Li et&#x20;al. (2019)</xref> proposed an event-triggered based distributed algorithm for energy management of multi-energy systems. In order to enhance the adaptability and flexibility of multi-energy systems, a double-mode energy management model of multi-energy systems is established in Literature <xref ref-type="bibr" rid="B16">Li et&#x20;al. (2020)</xref>. Literature <xref ref-type="bibr" rid="B13">Jing (2018)</xref> many studies on the economic dispatch of smart grids. Literature <xref ref-type="bibr" rid="B24">Tang et&#x20;al. (2019)</xref> applies the Lagrangian method to solve economic scheduling problems in large wind power scenarios. literature <xref ref-type="bibr" rid="B18">Liang et&#x20;al. (2017)</xref> proposes a state-based potential game approach to solve the smart grid economic dispatch problem. Literature <xref ref-type="bibr" rid="B28">Yin et&#x20;al. (2020)</xref> combined deep learning with the economic dispatch of smart grids, and the authors proposed a possibility for the future development of smart grids. Literature <xref ref-type="bibr" rid="B9">Elnozahy et&#x20;al. (2021)</xref> applied artificial neural network and sliding mode control to new energy operation control. As shown by the recent research trends, it&#x2019;s inevitable that power grid will become more and more intelligent, requireing more information exchange between different components of the powergrid and communication congestion will become one of the most prevalent challenges as mentioned in <xref ref-type="bibr" rid="B1">Ali et&#x20;al. (2018)</xref>. To address the communication congestion issues, this paper proposes a dis tributed communication scheme that greatly improves the communication efficienc and robustness of the communication network. It can better meet the plug-and-play of smart grids. Literature <xref ref-type="bibr" rid="B30">Younes et&#x20;al. (2021)</xref> proposes a new smart grid economic dispatch method, but this method is a single-objective optimization. This paper proposes a multi-objective (<xref ref-type="bibr" rid="B36">Zx and Kai, 2021</xref>; <xref ref-type="bibr" rid="B22">Simonetti et&#x20;al., 2021</xref>; <xref ref-type="bibr" rid="B35">Zhou et&#x20;al., 2021</xref>) optimization in the true sense, and the results are expressed by the Pareto-front (<xref ref-type="bibr" rid="B12">Hja et&#x20;al., 2019</xref>; <xref ref-type="bibr" rid="B34">Zheng and Wang 2019</xref>), which expresses the relationship between cost and emissions. Therefore, the solution method for the economic dispatch model of smart grid proposed in this paper shall use multi-objective optimization algorithms. Among many published multi-objective optimization algorithms, some of them have received very high attention in scientific, engineering and commercial applications because of their powerful ability to obtain the closest approximation to the real Pareto frontier. SPEA2 and NSGA2 are two widely adopted multi-objective optimization algorithms, but their computational performances still have the potential to improve due to fixed genetic parameters. In this paper, the two algorithms are improved, and the simulation results show that the improved algorithms are effective.</p>
<p>The main contributions of this paper are as follows: Firstly, wind power, thermal power, solar power, and fuel cells are used to construct a multi-energy complementary smart grid economic dispatching model. Both economy and pollution emission are considered in this model. Secondly, two algorithms are improved in this paper. The performance of four algorithms in solving the economic dispatching of a smart grid is compared. The solutions and running time are analyzed, providing more algorithm choices for the economic dispatching of the smart grid. Experimental results show that ISPEA2 is more accurate than before. INSGA2 has higher computational accuracy and higher computational speed than before. Finally, a distributed communication method is proposed in this article to obtain information through the neighbor nodes, which is suitable for the plug-and-play mode of smart&#x20;grids.</p>
</sec>
<sec id="s2">
<title>2 Problem Description</title>
<p>In this paper, a mathematical model is established with generators of photovoltaic(PV) wind, thermal, and fuel cells. In this model, multi-energy complementarity is reflected.</p>
<sec id="s2-1">
<title>2.1 Cost Function and Constraints</title>
<p>As mentioned in <xref ref-type="bibr" rid="B32">Zhang and Liang (2021)</xref>, <xref ref-type="bibr" rid="B11">Hetzer et&#x20;al. (2008)</xref>, the cost of the system is the sum of the costs of all generators.<disp-formula id="e1">
<mml:math id="m1">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</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>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</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>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(1)</label>
</disp-formula>The acronyms are shown as follows <italic>C</italic>
<sub>
<italic>z</italic>
</sub>(<italic>t</italic>) total cost of grid, <italic>C</italic>
<sub>
<italic>r</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) cost of thermal unit, <italic>C</italic>
<sub>
<italic>f</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) cost of wind unit, <italic>C</italic>
<sub>
<italic>f</italic>,<italic>i</italic>,<italic>f</italic>
</sub>(<italic>t</italic>) penalty cost of wind, <italic>C</italic>
<sub>
<italic>f</italic>,<italic>i</italic>,<italic>r</italic>
</sub>(<italic>t</italic>) reserve cost of wind, <italic>C</italic>
<sub>
<italic>d</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) cost of fuel cell, <italic>C</italic>
<sub>
<italic>d</italic>,<italic>i</italic>,<italic>r</italic>
</sub>(<italic>t</italic>) thermal load cost, <italic>C</italic>
<sub>
<italic>d</italic>,<italic>i</italic>,<italic>H</italic>
</sub>(<italic>t</italic>) hydrogen storing cost, <italic>C</italic>
<sub>
<italic>PV</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) Photovoltaic power generation cost, All generators can not exceed their respective generating capacity (<xref ref-type="bibr" rid="B11">Hetzer et&#x20;al., 2008</xref>; <xref ref-type="bibr" rid="B8">El-Sharkh et&#x20;al., 2006</xref>; <xref ref-type="bibr" rid="B29">Yin et&#x20;al., 2021</xref>).<disp-formula id="e2">
<mml:math id="m2">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m3">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m4">
<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>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m5">
<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>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<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>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>The acronyms are shown as follows <italic>P</italic>
<sub>
<italic>r</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) power of thermal unit, <inline-formula id="inf1">
<mml:math id="m6">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> maximum thermal generator power, <inline-formula id="inf2">
<mml:math id="m7">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> minimum thermal generator power, <italic>P</italic>
<sub>
<italic>d</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) power of fuel cell, <inline-formula id="inf3">
<mml:math id="m8">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> maximum fuel cell power, <inline-formula id="inf4">
<mml:math id="m9">
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> minimum fuel cell power, <italic>P</italic>
<sub>
<italic>f</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) power output of wind unit, <italic>P</italic>
<sub>
<italic>f</italic>,<italic>i</italic>,<italic>r</italic>
</sub> wind unit rated power, <italic>P</italic>
<sub>
<italic>PV</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) Photovoltaic generator output power, <inline-formula id="inf5">
<mml:math id="m10">
<mml:msubsup>
<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>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> Maximum output power of photovoltaic generator, The total generating power must meet the sum of power demand, <italic>P</italic>
<sub>
<italic>Dem</italic>
</sub>(<italic>t</italic>) is total power demand.<disp-formula id="e6">
<mml:math id="m11">
<mml:mo>&#x2211;</mml:mo>
<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>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2211;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-2">
<title>2.2 The Model of Unit Operation</title>
<p>Thermal power generating units conform to the following model (<xref ref-type="bibr" rid="B10">Hemamalini and Simon, 2009</xref>; <xref ref-type="bibr" rid="B7">Cheong et&#x20;al., 2010</xref>; <xref ref-type="bibr" rid="B2">Bahrani and Patra, 2017</xref>; <xref ref-type="bibr" rid="B25">Wang et&#x20;al., 2010</xref>; <xref ref-type="bibr" rid="B26">Wei et&#x20;al., 2021</xref>).<disp-formula id="e7">
<mml:math id="m12">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m13">
<mml:msub>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</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>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(8)</label>
</disp-formula>
<italic>a</italic>
<sub>
<italic>i</italic>
</sub>; <italic>b</italic>
<sub>
<italic>i</italic>
</sub>; <italic>c</italic>
<sub>
<italic>i</italic>
</sub>; <italic>e</italic>
<sub>
<italic>i</italic>
</sub>; <italic>f</italic>
<sub>
<italic>i</italic>
</sub> are emission coeffcients. <italic>&#x3b8;</italic>
<sub>
<italic>i</italic>
</sub>; <italic>&#x3b2;</italic>
<sub>
<italic>i</italic>
</sub>; <italic>&#x3b3;</italic>
<sub>
<italic>i</italic>
</sub>; <italic>&#x3c2;</italic>
<sub>
<italic>i</italic>
</sub>; <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub> are cost coefficients. This article takes <italic>&#x3b8;</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 1, <italic>&#x3b2;</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 1.25, <italic>&#x3b3;</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 1, <italic>&#x3c2;</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 0.3, <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub>&#x20;&#x3d;&#x20;15, <italic>a</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 0.036, <italic>b</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 0.04256, <italic>c</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 0.06490, <italic>e</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 2.6615<sup>&#x2013;10</sup>, <italic>f</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 2.857. Wind turbine generators conforms to the following model (<xref ref-type="bibr" rid="B11">Hetzer et&#x20;al., 2008</xref>). <italic>k</italic>
<sub>
<italic>pi</italic>
</sub> is penalty cost coefficient and <italic>P</italic>
<sub>
<italic>f</italic>,<italic>i</italic>,<italic>k</italic>
</sub> is available wind for generator,<disp-formula id="e9">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m15">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</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>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msqrt>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>This article takes <italic>k</italic>
<sub>
<italic>pi</italic>
</sub> &#x3d; 2. If the power of the wind turbine is less than the required value, then power compensation must be obtained from the outside world (<xref ref-type="bibr" rid="B11">Hetzer et&#x20;al., 2008</xref>).<disp-formula id="e11">
<mml:math id="m16">
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close="">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msqrt>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>This article takes <italic>k</italic>
<sub>
<italic>ri</italic>
</sub> &#x3d; 4. PEM fuel cell conforms to the following model <xref ref-type="bibr" rid="B8">El-Sharkh et&#x20;al., 2006</xref>).<disp-formula id="e12">
<mml:math id="m17">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</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>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>z</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mtext>-</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(12)</label>
</disp-formula>
<italic>C</italic>
<sub>
<italic>n</italic>
</sub> is price of natural gas, <italic>P</italic>
<sub>
<italic>fz</italic>(<italic>t</italic>)</sub> is auxiliary devices power, <italic>P</italic>
<sub>
<italic>y</italic>(<italic>t</italic>)</sub> is equivalent power for hydrogen production, <italic>&#x3b7;</italic>
<sub>
<italic>i</italic>_</sub> is electrical efficiency of fuel cell. This article takes <italic>C</italic>
<sub>
<italic>n</italic>
</sub> &#x3d; 0.4. When the fuel cell is loaded enough, the heat generated can be used to generate electricity. It is worth mentioning that multi-energy complementarity is achieved in this case. At this point, the working situation of the fuel cell unit is more complicated. This paper considers the operation of the fuel cell unit in this case. The use of fuel cells can meet not only the electrical load, but also the thermal load. Partial load ratio is represented here by PR. The ratio of heat energy to electric energy is expressed as<italic>&#x3b3;</italic>
<sub>
<italic>R</italic>,<italic>D</italic>
</sub> &#x3d; 0.6801. When PR<inline-formula id="inf6">
<mml:math id="m18">
<mml:mo>&#x3c;</mml:mo>
</mml:math>
</inline-formula>0.05, <italic>&#x3b7;</italic>
<sub>
<italic>i</italic>
</sub>_ &#x3d; 0.2716. When PR &#x2265; 0.05, <italic>&#x3b7;</italic>
<sub>
<italic>i</italic>
</sub>_ is expressed in <xref ref-type="disp-formula" rid="e13">Eq. 13</xref>.<disp-formula id="e13">
<mml:math id="m19">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>_</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.9033</mml:mn>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2.9996</mml:mn>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>3.6503</mml:mn>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2.0704</mml:mn>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0.4623</mml:mn>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0.3747</mml:mn>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>The ratio of heat energy to electric energy is expressed as <xref ref-type="disp-formula" rid="e14">Eq. 14</xref>.<disp-formula id="e14">
<mml:math id="m20">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.0785</mml:mn>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1.9739</mml:mn>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1.5005</mml:mn>
<mml:mi>P</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.2817</mml:mn>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>0.6838</mml:mn>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>The thermal power from the fuel cell can be expressed as<disp-formula id="e15">
<mml:math id="m21">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
<p>The cost generated by heat load is expressed as<disp-formula id="e16">
<mml:math id="m22">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>
<italic>C</italic>
<sub>
<italic>F</italic>,<italic>i</italic>,<italic>R</italic>
</sub>(<italic>t</italic>) is the cost generated by heat load, <italic>P</italic>
<sub>
<italic>F</italic>,<italic>i</italic>,<italic>R</italic>
</sub>(<italic>t</italic>) is the thermal power from the fuel cell. Photovoltaic units are conformed to the following model (<xref ref-type="bibr" rid="B20">Niknam et&#x20;al., 2012</xref>). This cost includes two parts: operation cost and penalty cost.<disp-formula id="e17">
<mml:math id="m23">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<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>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<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:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m24">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:math>
<label>(18)</label>
</disp-formula>
<italic>k</italic>
<sub>
<italic>PV</italic>,<italic>i</italic>
</sub> is Photovoltaic power generation cost coefficient, <italic>P</italic>
<sub>
<italic>PV</italic>,<italic>f</italic>
</sub> is Photovoltaic forecast power, &#x394;<italic>P</italic>
<sub>
<italic>PV</italic>
</sub> is the value of Photovoltaic actual power minus predicted power, <inline-formula id="inf7">
<mml:math id="m25">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is actual light intensity, <inline-formula id="inf8">
<mml:math id="m26">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is forecast light intensity, <italic>C</italic>
<sub>
<italic>P</italic>,<italic>PV</italic>,<italic>i</italic>
</sub>(<italic>t</italic>) is Photovoltaic power penalty cost, <italic>k</italic>
<sub>
<italic>P</italic>,<italic>PV</italic>,<italic>i</italic>
</sub> is PV power penalty cost coefficient.</p>
</sec>
<sec id="s2-3">
<title>2.3 System Structure</title>
<p>As shown in <xref ref-type="fig" rid="F1">Figure&#x20;1</xref>, each generator is connected to an agent. Each agent exchanges information with the agents of its neighboring units (<xref ref-type="bibr" rid="B15">Li et&#x20;al., 2018</xref>). Before the entire system starts to work, the operating parameters of each unit are first uploaded to their respective agents. After several information exchanges, the operating parameters and weather conditions of all units are uploaded to each agent. Then the system starts to work. Finally, the instructions are sent to each unit through distributed information transmission to achieve harmony and unity of the entire system. In this system, thermal power units&#x20;and wind turbines generate alternating current, while fuel cells and photovoltaic units generate direct current. All the electricity is modulated by the inverter and sent to the&#x20;loads.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>System structure.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g001.tif"/>
</fig>
<p>Due to limited space, this article uses four agents to describe the communication process briefly. The process is shown in <xref ref-type="fig" rid="F2">Figure&#x20;2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Communication progress.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g002.tif"/>
</fig>
<p>Before the information exchange begins, each agent has their own information. After information exchange, the information of each agent is described as follows.<list list-type="simple">
<list-item>
<p>Agent1:{1, &#x3c; 2, 4&#x20;&#x3e;},</p>
</list-item>
<list-item>
<p>Agent2:{2, &#x3c; 1, 3&#x20;&#x3e;},</p>
</list-item>
<list-item>
<p>Agent3:{3, &#x3c; 2, 4&#x20;&#x3e;},</p>
</list-item>
<list-item>
<p>Agent4:{4, &#x3c; 3, 1&#x20;&#x3e;},</p>
</list-item>
</list>
</p>
<p>For example, Agent 1 communicates with Agent 2 and Agent 4. At this point, Agent 1 gets the informations from Agent 2 and Agent 4. Other agents get the informations in exactly the same way. At this time, each agent not only has its own information, but also obtains the information of neighboring nodes. After a step of information exchange again, each agent has more abundant information. The details are as follows.<list list-type="simple">
<list-item>
<p>Agent1:{1, &#x3c; 2, 4&#x20;&#x3e;}, {2, &#x3c; 1, 3&#x20;&#x3e;}, {4, &#x3c; 3, 1&#x20;&#x3e;},</p>
</list-item>
<list-item>
<p>Agent2:{2, &#x3c; 1, 3&#x20;&#x3e;}, {1, &#x3c; 2, 4&#x20;&#x3e;}, {3, &#x3c; 2, 4&#x20;&#x3e;},</p>
</list-item>
<list-item>
<p>Agent3:{3, &#x3c; 2, 4&#x20;&#x3e;}, {2, &#x3c; 1, 3&#x20;&#x3e;}, {4, &#x3c; 3, 1&#x20;&#x3e;},</p>
</list-item>
<list-item>
<p>Agent4:{4, &#x3c; 3, 1&#x20;&#x3e;}, {3, &#x3c; 2, 4&#x20;&#x3e;}, {1, &#x3c; 2, 4&#x20;&#x3e;},</p>
</list-item>
</list>
</p>
<p>The amount of information held by each agent increases again. For the reader&#x2019;s convenience, the expression here does not remove duplicate informations owned by the Agents. After the information exchange, each agent will have global information. For example, Agent1 has informations from all other agents. In this way, global informations are stored in each&#x20;agent.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Algorithm</title>
<p>SPEA2 (<xref ref-type="bibr" rid="B23">Sla et&#x20;al., 2020</xref>; <xref ref-type="bibr" rid="B4">Cao et&#x20;al., 2020</xref>; <xref ref-type="bibr" rid="B19">Mk et&#x20;al., 2020</xref>; <xref ref-type="bibr" rid="B3">Biswas and Pal, 2020</xref>) and NSGA2 (<xref ref-type="bibr" rid="B14">Khammassi and Krichen, 2020</xref>; <xref ref-type="bibr" rid="B5">Che et&#x20;al., 2021</xref>; <xref ref-type="bibr" rid="B21">Prakash et&#x20;al., 2020</xref>; <xref ref-type="bibr" rid="B33">Zhang and Liu, 2020</xref>; <xref ref-type="bibr" rid="B27">Yeh, 2019</xref>), as classical multi-objective optimization algorithms, can be widely used in solving multi-objective optimization problems. For example, Literature <xref ref-type="bibr" rid="B23">Sla et&#x20;al. (2020)</xref> applies SPEA2 to solve multiobjective optimization of a continuous kraft pulp digester. Literature <xref ref-type="bibr" rid="B27">Yeh (2019)</xref> applies NSGA2 to solve a bi-objective optimization problem of multi-state electronic transaction network. This paper is to solve a multi&#x2014;objective optimization problem. So these two algorithms can be used. However, these two algorithms have limitations. In order to get the optimal solution faster and more accurately, the two algorithms are improved in this paper. Experimental results show that the improved algorithms are effective.</p>
<sec id="s3-1">
<title>3.1 SPEA2</title>
<p>SPEA2 is a broadly used multi-objective optimization algorithm. It can be known the procedure from <xref ref-type="fig" rid="F3">Figure&#x20;3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Workflow of&#x20;spea2.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g003.tif"/>
</fig>
<sec id="s3-1-1">
<title>3.1.1 Start</title>
<p>Generating initial solutions whose number is N. At the same time, an empty achieve is needed. The initial solutions are stored in<italic>p</italic>
<sub>0_</sub>, and the empty achieve is called&#x20;<italic>A</italic>
<sub>0_</sub>.</p>
</sec>
<sec id="s3-1-2">
<title>3.1.2 Fitness Assignment</title>
<p>Each solution is given an strength value <italic>S</italic>(<italic>i</italic>) whether in <italic>P</italic>
<sub>0_</sub> or <italic>A</italic>
<sub>0_</sub>.<disp-formula id="e19">
<mml:math id="m27">
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="0.28em"/>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mspace width="0.28em"/>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>_</mml:mtext>
<mml:mspace width="0.28em"/>
<mml:mo>&#x222a;</mml:mo>
<mml:mspace width="0.28em"/>
<mml:mi>A</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>_</mml:mtext>
<mml:mo>&#x2227;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x227b;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>Each individual is assigned a fitness value called <italic>R</italic>(<italic>i</italic>).<disp-formula id="e20">
<mml:math id="m28">
<mml:mi>R</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c3;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x227b;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>Next, the density information should be known. The values are calculated from the kth neighbor.<disp-formula id="e21">
<mml:math id="m29">
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:math>
<label>(21)</label>
</disp-formula>the <inline-formula id="inf9">
<mml:math id="m30">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> means the distance from i to the kth nearest neighbor, and the 2 makes D(i) is a value between 0 and 0.5. In this way, multiple individuals having the same S(i) value is avoided. So, the fitness <italic>F</italic>(<italic>i</italic>) is the sum of R(i) and&#x20;D(i).</p>
</sec>
<sec id="s3-1-3">
<title>3.1.3 Selection From Environment</title>
<p>The non-dominated solutions are transferred to the next generation.<disp-formula id="e22">
<mml:math id="m31">
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mtext>_</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x222a;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2227;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(22)</label>
</disp-formula>
</p>
<p>If the solutions can fit the archive size, then <italic>A</italic>
<sub>
<italic>t</italic>&#x2b;1_</sub> &#x3d; N. Otherwise, some other methods are taken to make the number of current solutions is equal to&#x20;N.</p>
</sec>
<sec id="s3-1-4">
<title>3.1.4 Termination</title>
<p>When the condition is met, the loop&#x20;ends.</p>
</sec>
<sec id="s3-1-5">
<title>3.1.5 Mating Selection</title>
<p>The mating pool is filled by binary tournament selection from &#x7c;<italic>A</italic>
<sub>
<italic>t</italic>&#x2b;1_</sub>&#x7c;.</p>
</sec>
<sec id="s3-1-6">
<title>3.1.6 Variation</title>
<p>Perform mutation and reorganization operations.</p>
</sec>
</sec>
<sec id="s3-2">
<title>3.2 NSGA2</title>
<p>Non-dominated sorting genetic algorithm (NSGA2) is another multi-objective optimization algorithm. The workflow NSGA2 is shown in <xref ref-type="fig" rid="F4">Figure&#x20;4</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Workflow of&#x20;nsga2.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g004.tif"/>
</fig>
<sec id="s3-2-1">
<title>3.2.1 Start</title>
<p>Parent solutions <italic>P</italic>
<sub>0_</sub> is gererated randomly. Next, each solution is assigned a fitness from its dominance&#x20;rank.</p>
</sec>
<sec id="s3-2-2">
<title>3.2.2 Variation</title>
<p>Then the next generation individuals <italic>Q</italic>
<sub>0_</sub> whose size is N. The whole solutions are <italic>P</italic>
<sub>0_</sub> &#x222a;&#x20;<italic>Q</italic>
<sub>0_</sub>.</p>
</sec>
<sec id="s3-2-3">
<title>3.2.3 Sorting According to Ranks</title>
<p>The solutions should be sorted according to&#x20;ranks.</p>
</sec>
<sec id="s3-2-4">
<title>3.2.4 Sorting According to Crowding Distance</title>
<p>Then selecting the individual F1 of the best rank, that is, all non-dominated solutions appear. If the number of F1 is not enough, sub-optimal solutions called F2 will also be selected. Repeat this process until N individuals are met. Obviously, N is sure, so the selected individuals in the lowest rank need to be eliminated. In other words, only the best part of the lowest-rank individuals selected can be transferred to the next step. It can be called the lowest rank F3. The selection of the optimal solution in F3 has its own rules. The rules are called crowded distance sort.<disp-formula id="e23">
<mml:math id="m32">
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mtext>_</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>
<italic>Dis</italic>(<italic>i</italic>) is distance of solutions in spea2, where Dis(1) &#x3d; Dis(l) &#x3d; <italic>&#x221e;</italic>. After the crowding distance sorting, the best individuals whose size is <inline-formula id="inf10">
<mml:math id="m33">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> from F3 are chosen.</p>
</sec>
<sec id="s3-2-5">
<title>3.2.5 Termination</title>
<p>When the condition is met, the loop&#x20;ends.</p>
</sec>
<sec id="s3-2-6">
<title>3.3 ISPEA2</title>
<p>The defects of SPEA2 cannot be ignored. From the variation point of view, the values of crossover and mutation are invariable. Therefore, the flexibility of SPEA2 is reduced severely. This paper adopts a method to make the probabilities of crossover and variation vary with the current solution. The workflow of ISPEA2 is shown in <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Workflow of ispea2.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g005.tif"/>
</fig>
<p>In this paper, a few concepts <xref ref-type="bibr" rid="B6">Chengwang and Lixin, 2010</xref>) need to be understood. The population diversity index is used to evaluate the quality of population diversity. The population diversity index is defined as H.<disp-formula id="e24">
<mml:math id="m34">
<mml:mi>H</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(24)</label>
</disp-formula>
<disp-formula id="e25">
<mml:math id="m35">
<mml:mi>S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<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>m</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>The <italic>m</italic> represents groups quantity, <italic>p</italic>
<sub>
<italic>i</italic>
</sub> represents the proportion of the <italic>i</italic>th species to the whole groups. Suppose the distance of several individuals is less than D. In that case, they are very resemblance. These individuals are defined as one group. <italic>H</italic>&#x20;&#x2208; [0, 1], The more even the distribution of the population, the greater the value of H, so it is more likely to find the suspected optimal solutions. According to the population diversity parameter H, the crossover and mutation probability values will be dynamically changed in the next step.<disp-formula id="e26">
<mml:math id="m36">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</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>c</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</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>c</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>sin</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(26)</label>
</disp-formula>
<disp-formula id="e27">
<mml:math id="m37">
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</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>m</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</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>m</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(27)</label>
</disp-formula>
</p>
<p>
<italic>P</italic>
<sub>
<italic>cMin</italic>
</sub>, <italic>P</italic>
<sub>
<italic>cMax</italic>
</sub>, <italic>P</italic>
<sub>
<italic>mMin</italic>
</sub> and <italic>P</italic>
<sub>
<italic>mMax</italic>
</sub> are the preset range of crossover and mutation probability values respectively. It should be noted in particular that the variation range of genetic parameters can be determined by experimenter according to the actual situation. The numerical range adopted in this paper are: <italic>P</italic>
<sub>
<italic>cMin</italic>
</sub> &#x3d; 0.001, <italic>P</italic>
<sub>
<italic>mMax</italic>
</sub> &#x3d; 0.1, <italic>P</italic>
<sub>
<italic>cMin</italic>
</sub> &#x3d; 0.9, <italic>P</italic>
<sub>
<italic>cMax</italic>
</sub> &#x3d; 0.97. It is worth mentioning that this range can be changed according to the actual needs of the researchers. In this way, the probabilities of crossover and mutation from SPEA2 are adaptive. So the algorithm performance is improved.</p>
</sec>
</sec>
<sec id="s3-3">
<title>3.4 INSGA2</title>
<p>The genetic parameters of traditional NSGA2 are fixed. In this paper, dynamic genetic parameters are adopted to enhance the adaptability of the algorithm. As the number of iterations changes, the crossing probability of INSGA2 is updated according to <xref ref-type="disp-formula" rid="e28">Eq. 28</xref>. The workflow of INSGA2 is shown in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>.<disp-formula id="e28">
<mml:math id="m38">
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</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>c</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>M</mml:mi>
</mml:math>
<label>(28)</label>
</disp-formula>
</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Workflow of insga2.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g006.tif"/>
</fig>
<p>As the number of iterations changes, the mutation probability of INSGA2 is updated according to <xref ref-type="disp-formula" rid="e29">Eq. 29</xref>.<disp-formula id="e29">
<mml:math id="m39">
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</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>m</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>M</mml:mi>
</mml:math>
<label>(29)</label>
</disp-formula>i is the current iteration, M is the total number of iterations. <italic>p</italic>
<sub>
<italic>c1max</italic>
</sub>, <italic>p</italic>
<sub>
<italic>c1min</italic>
</sub> are the maximum and minimum crossover probability, and <italic>p</italic>
<sub>
<italic>m1max</italic>
</sub>, <italic>p</italic>
<sub>
<italic>m1min</italic>
</sub> are the maximum and minimum mutation probability. Their range of variation can be determined by the researchers according to the actual situation. The values adopted in this paper are as follows:<italic>p</italic>
<sub>
<italic>c1max</italic>
</sub> &#x3d; 0.95, <italic>p</italic>
<sub>
<italic>c1min</italic>
</sub> &#x3d; 0.4, <italic>p</italic>
<sub>
<italic>m1max</italic>
</sub> &#x3d; 0.1, <italic>p</italic>
<sub>
<italic>m1min</italic>
</sub> &#x3d; 0.01. Researchers can change this range to suit their different&#x20;needs.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Simulation Results</title>
<p>Before the simulation starts, the configuration number of each kind of generator needs to be determined. The system consists of five thermal power generators, three fuel cells, two wind power generators, and two photovoltaic generators. In this paper, it is considered that the computational performance of the algorithms mentioned above for smart grid economic dispatch with fewer iterations. Before the algorithms running, the initialization individuals of the four algorithms are the same. Running the algorithms 20&#x20;times and the average valus are taked as the final results. In this paper, the output of the generators is expressed by the sum of normalized values.</p>
<p>As shown in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref> and <xref ref-type="table" rid="T1">Tables&#x20;1</xref>&#x2013;<xref ref-type="table" rid="T3">3</xref>, the number of iterations is 100. The performance of SPEA2 is better than that of NSGA2 from the point of view of the solutions. Compared with the improved algorithm, the accuracy and diversity of ISPEA2 solutions are better than that of SPEA2. INSGA2 solutions are not significantly better than NSGA2 solutions. In terms of running time, NSGA2 runs much faster than SPEA2, and INSGA2 runs faster than NSGA2.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>100 iterations.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g007.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>100 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">SPEA2</th>
<th align="center">ISPEA2</th>
<th align="center">NSGA2</th>
<th align="center">INSGA2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Emin(ton/h)</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1211</td>
<td align="char" char=".">0.1184</td>
</tr>
<tr>
<td align="left">Cmin($/h)</td>
<td align="char" char=".">18.0646</td>
<td align="char" char=".">17.8420</td>
<td align="char" char=".">18.3700</td>
<td align="char" char=".">18.3027</td>
</tr>
<tr>
<td align="left">time(s)</td>
<td align="char" char=".">3.9730</td>
<td align="char" char=".">4.3210</td>
<td align="char" char=".">1.4070</td>
<td align="char" char=".">1.3690</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>The least cost scheme at 100 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="left">Thermal power</th>
<th align="left">Wind power</th>
<th align="left">Photovoltaic</th>
<th align="left">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">1.684942</td>
<td align="char" char=".">1.172386</td>
<td align="char" char=".">1.263625</td>
<td align="char" char=".">3.379047</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">2.921474</td>
<td align="char" char=".">1.247965</td>
<td align="char" char=".">0.760825</td>
<td align="char" char=".">2.569737</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">2.093457</td>
<td align="char" char=".">1.015058</td>
<td align="char" char=".">1.054696</td>
<td align="char" char=".">3.336788</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">2.907721</td>
<td align="char" char=".">1.176557</td>
<td align="char" char=".">0.738921</td>
<td align="char" char=".">2.676801</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>The least emissions scheme at 100 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">1.303302</td>
<td align="char" char=".">1.41503</td>
<td align="char" char=".">1.766311</td>
<td align="char" char=".">3.015357</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">1.721885</td>
<td align="char" char=".">1.870412</td>
<td align="char" char=".">1.155672</td>
<td align="char" char=".">2.752032</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">1.323214</td>
<td align="char" char=".">1.507701</td>
<td align="char" char=".">1.310309</td>
<td align="char" char=".">3.358776</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">1.60489</td>
<td align="char" char=".">1.620995</td>
<td align="char" char=".">1.425408</td>
<td align="char" char=".">2.848707</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As shown in <xref ref-type="fig" rid="F8">Figure&#x20;8</xref> and <xref ref-type="table" rid="T4">Tables&#x20;4</xref>&#x2013;<xref ref-type="table" rid="T6">6</xref>, the number of iterations is 200. SPEA2 is better than NSGA2 overall. From the perspective of solutions, ISPEA2 is superior to SPEA2, while INSGA2 is not superior to NSGA2. ISPEA2 runs longer than SPEA2. In terms of running time, ISPEA2 runs slower than SPEA2, and INSGA2 runs faster than NSGA2.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>200 iterations.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g008.tif"/>
</fig>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>200 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">SPEA2</th>
<th align="center">ISPEA2</th>
<th align="center">NSGA2</th>
<th align="center">INSGA2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Emin(ton/h)</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1170</td>
</tr>
<tr>
<td align="left">Cmin($/h)</td>
<td align="char" char=".">17.7960</td>
<td align="char" char=".">17.7379</td>
<td align="char" char=".">17.7722</td>
<td align="char" char=".">17.7623</td>
</tr>
<tr>
<td align="left">time(s)</td>
<td align="char" char=".">7.9060</td>
<td align="char" char=".">8.1200</td>
<td align="char" char=".">2.2810</td>
<td align="char" char=".">2.2380</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>The least cost scheme at 200 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">2.303944</td>
<td align="char" char=".">0.93989</td>
<td align="char" char=".">1.028783</td>
<td align="char" char=".">3.227382</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">2.514736</td>
<td align="char" char=".">0.957151</td>
<td align="char" char=".">0.809179</td>
<td align="char" char=".">3.218934</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">2.116473</td>
<td align="char" char=".">0.946305</td>
<td align="char" char=".">1.018767</td>
<td align="char" char=".">3.418455</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">2.317267</td>
<td align="char" char=".">0.990976</td>
<td align="char" char=".">0.845954</td>
<td align="char" char=".">3.345803</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>The least emissions scheme at 200 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">1.312516</td>
<td align="char" char=".">1.149055</td>
<td align="char" char=".">1.586885</td>
<td align="char" char=".">3.451544</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">1.332547</td>
<td align="char" char=".">1.018</td>
<td align="char" char=".">1.786001</td>
<td align="char" char=".">3.363453</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">1.340919</td>
<td align="char" char=".">1.378198</td>
<td align="char" char=".">1.372097</td>
<td align="char" char=".">3.408787</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">1.495224</td>
<td align="char" char=".">1.102759</td>
<td align="char" char=".">1.548095</td>
<td align="char" char=".">3.353922</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As shown in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref> and <xref ref-type="table" rid="T7">Tables&#x20;7</xref>&#x2013;<xref ref-type="table" rid="T9">9</xref>, in this case, the solutions from INSGA2 are better than these of NSGA2. The running time of INSGA2 is less than that of NSGA2. On the other hand, the solutions produced by ISPEA2 are not obviously different from solutions of SPEA2 on the whole, and ISPEA2 has a slight advantage in obtaining lower-cost solutions. The running time of ISPEA2 is slightly longer than SPEA2.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>300 iterations.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g009.tif"/>
</fig>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>300 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">SPEA2</th>
<th align="center">ISPEA2</th>
<th align="center">NSGA2</th>
<th align="center">INSGA2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Emin(ton/h)</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
</tr>
<tr>
<td align="left">Cmin($/h)</td>
<td align="char" char=".">17.8337</td>
<td align="char" char=".">17.8000</td>
<td align="char" char=".">17.8745</td>
<td align="char" char=".">17.8115</td>
</tr>
<tr>
<td align="left">time(s)</td>
<td align="char" char=".">12.0550</td>
<td align="char" char=".">12.2210</td>
<td align="char" char=".">3.9090</td>
<td align="char" char=".">3.6880</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T8" position="float">
<label>TABLE 8</label>
<caption>
<p>The least cost scheme at 300 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">2.112679</td>
<td align="char" char=".">0.997161</td>
<td align="char" char=".">1.050533</td>
<td align="char" char=".">3.339627</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">2.511344</td>
<td align="char" char=".">0.990781</td>
<td align="char" char=".">0.951936</td>
<td align="char" char=".">3.045939</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">2.272125</td>
<td align="char" char=".">1.038351</td>
<td align="char" char=".">0.907097</td>
<td align="char" char=".">3.282427</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">2.092264</td>
<td align="char" char=".">1.03601</td>
<td align="char" char=".">1.089012</td>
<td align="char" char=".">3.282715</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T9" position="float">
<label>TABLE 9</label>
<caption>
<p>The least emissions scheme at 300 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">1.314326</td>
<td align="char" char=".">1.35376</td>
<td align="char" char=".">1.412212</td>
<td align="char" char=".">3.419701</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">1.309147</td>
<td align="char" char=".">1.307245</td>
<td align="char" char=".">1.483354</td>
<td align="char" char=".">3.400254</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">1.313774</td>
<td align="char" char=".">1.541804</td>
<td align="char" char=".">1.255385</td>
<td align="char" char=".">3.389037</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">1.333483</td>
<td align="char" char=".">1.320083</td>
<td align="char" char=".">1.46705</td>
<td align="char" char=".">3.37943</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As shown in <xref ref-type="fig" rid="F10">Figure&#x20;10</xref> and <xref ref-type="table" rid="T10">Tables&#x20;10</xref>&#x2013;<xref ref-type="table" rid="T12">12</xref>, the iteration number is 400. The solutions from ISPEA2 are better than those from SPEA2, and the solutions from INSGA2 are better than those from NSGA2. From the running time perspective, as before, ISPEA2 is faster than SPEA2. INSGA2 is still faster than NSGA2.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>400 iterations.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g010.tif"/>
</fig>
<table-wrap id="T10" position="float">
<label>TABLE 10</label>
<caption>
<p>400 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">SPEA2</th>
<th align="center">ISPEA2</th>
<th align="center">NSGA2</th>
<th align="center">INSGA2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Emin(ton/h)</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
</tr>
<tr>
<td align="left">Cmin($/h)</td>
<td align="char" char=".">17.7613</td>
<td align="char" char=".">17.7588</td>
<td align="char" char=".">17.9167</td>
<td align="char" char=".">17.8333</td>
</tr>
<tr>
<td align="left">time(s)</td>
<td align="char" char=".">11.4770</td>
<td align="char" char=".">11.2050</td>
<td align="char" char=".">3.9080</td>
<td align="char" char=".">3.2300</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T11" position="float">
<label>TABLE 11</label>
<caption>
<p>The least cost scheme at 400 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">2.119391</td>
<td align="char" char=".">1.053909</td>
<td align="char" char=".">0.901614</td>
<td align="char" char=".">3.425086</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">2.106319</td>
<td align="char" char=".">1.15936</td>
<td align="char" char=".">1.075992</td>
<td align="char" char=".">3.158328</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">1.875477</td>
<td align="char" char=".">1.051127</td>
<td align="char" char=".">1.102771</td>
<td align="char" char=".">3.470626</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">1.885996</td>
<td align="char" char=".">1.160107</td>
<td align="char" char=".">1.048259</td>
<td align="char" char=".">3.405638</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T12" position="float">
<label>TABLE 12</label>
<caption>
<p>The least emissions scheme at 400 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">1.31305</td>
<td align="char" char=".">1.388701</td>
<td align="char" char=".">1.320382</td>
<td align="char" char=".">3.477867</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">1.310583</td>
<td align="char" char=".">1.509376</td>
<td align="char" char=".">1.540883</td>
<td align="char" char=".">3.132084</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">1.313774</td>
<td align="char" char=".">1.541804</td>
<td align="char" char=".">1.255385</td>
<td align="char" char=".">3.389037</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">1.308089</td>
<td align="char" char=".">1.605501</td>
<td align="char" char=".">1.255914</td>
<td align="char" char=".">3.330496</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As shown in <xref ref-type="fig" rid="F11">Figure&#x20;11</xref> and <xref ref-type="table" rid="T13">Tables&#x20;13</xref>&#x2013;<xref ref-type="table" rid="T15">15</xref>, the iteration number is 500. At this point, the computing power of ISPEA2 and SPEA2 tends to be the same. The solutions of INSGA2 are better than these of NSGA2. The running time of NSGA2 is significantly shorter than that of SPEA2. The running time of INSGA2 is shorter than that of NSGA2. It is important to note that the pollution emission provided by the solutions will not be zero. The main reason is that the operation cost of thermal power unit is less, and its operation stability is stronger. In actual operation, the waste caused by shutting down the thermal power unit completely and restarting it is very serious. Therefore, the minimum value of pollution emission in this paper is not&#x20;zero.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>500 iterations.</p>
</caption>
<graphic xlink:href="fenrg-09-767721-g011.tif"/>
</fig>
<table-wrap id="T13" position="float">
<label>TABLE 13</label>
<caption>
<p>500 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">SPEA2</th>
<th align="center">ISPEA2</th>
<th align="center">NSGA2</th>
<th align="center">INSGA2</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Emin(ton/h)</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
<td align="char" char=".">0.1161</td>
</tr>
<tr>
<td align="left">Cmin($/h)</td>
<td align="char" char=".">17.7700</td>
<td align="char" char=".">17.7793</td>
<td align="char" char=".">17.8608</td>
<td align="char" char=".">17.6607</td>
</tr>
<tr>
<td align="left">time(s)</td>
<td align="char" char=".">12.0970</td>
<td align="char" char=".">12.6820</td>
<td align="char" char=".">4.1460</td>
<td align="char" char=".">3.7670</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T14" position="float">
<label>TABLE 14</label>
<caption>
<p>The least cost scheme at 500 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">1.893881</td>
<td align="char" char=".">1.056683</td>
<td align="char" char=".">1.102907</td>
<td align="char" char=".">3.446529</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">2.093862</td>
<td align="char" char=".">1.190873</td>
<td align="char" char=".">0.991284</td>
<td align="char" char=".">3.22398</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">1.881558</td>
<td align="char" char=".">1.056786</td>
<td align="char" char=".">1.128345</td>
<td align="char" char=".">3.4331</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">2.092246</td>
<td align="char" char=".">0.868215</td>
<td align="char" char=".">1.052962</td>
<td align="char" char=".">3.486576</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T15" position="float">
<label>TABLE 15</label>
<caption>
<p>The least emissions scheme at 500 iterations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Algorithm</th>
<th align="center">Thermal power</th>
<th align="center">Wind power</th>
<th align="center">Photovoltaic</th>
<th align="center">Fuel cell</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">SPEA2</td>
<td align="char" char=".">1.327454</td>
<td align="char" char=".">1.448908</td>
<td align="char" char=".">1.236683</td>
<td align="char" char=".">3.486955</td>
</tr>
<tr>
<td align="left">NSGA2</td>
<td align="char" char=".">1.310583</td>
<td align="char" char=".">1.509376</td>
<td align="char" char=".">1.540883</td>
<td align="char" char=".">3.139158</td>
</tr>
<tr>
<td align="left">ISPEA2</td>
<td align="char" char=".">1.312474</td>
<td align="char" char=".">1.451972</td>
<td align="char" char=".">1.324006</td>
<td align="char" char=".">3.411548</td>
</tr>
<tr>
<td align="left">INSGA2</td>
<td align="char" char=".">1.303875</td>
<td align="char" char=".">1.548222</td>
<td align="char" char=".">1.637543</td>
<td align="char" char=".">3.010359</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>This paper presents a multi-energy complementary model for smart grid economic dispatching and provides the solution to the model. The economic dispatching model of smart grid constructed in this paper can well reflect the characteristics of multi-energy complementarity of smart grid, and also meet the plug and play mode of new energy. In terms of the solution method, this paper has demonstrated improvements of ISPEA2 and INSGA2 over SPEA2 and NSGA2 via this model. From the point of view of the obtained solution, ISPEA2 is better than SPEA2 regardless of the number of iterations. When the number of iterations is small, the output results of INSGA2 and NSGA2 are not significantly different. When the number of iterations is large, INSGA2 is consistently better than NSGA2. From the perspective of running time, ISPEA2 is slightly slower than SPEA2, and INSGA2 is slightly faster than NSGA2. In the next phase, the smart grid economic dispatching model needs to be further improved. The calculated speed of ISPEA2 still needs to be accelerated, and the accuracy of INSGA2 also needs to be improved. In summary, ISPEA2 has the best accuracy and INSGA2 has the best efficienchy out of the four algorithms compared. Depends on the needs, either ISPEA2 or INSGA2 can be suitable for the&#x20;model.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>BL contributed to the conception of the study; BL and JW performed the experiment; BL contributed significantly to analysis and manuscript preparation; JW performed the data analyses and wrote the manuscript.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This work is supported by the National Natural Science Foundation of China (61873057), Education Department of Jilin Province, China (JJKH20200118KJ).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of Interest</title>
<p>The 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="s10">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ack>
<p>We would like to deepest gratitude to the reviewers for their valuable comments, which helped us improve this manuscript.</p>
</ack>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ali</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mohammad</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Elham</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Game Theoretic Spectrum Allocation in Femtocell Networks for Smart Electric Distribution Grids</article-title>. <source>Energies.</source> <volume>11</volume> (<issue>7</issue>), <fpage>1635</fpage>. <pub-id pub-id-type="doi">10.3390/en11071635</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bahrani</surname>
<given-names>L. A.</given-names>
</name>
<name>
<surname>Patra</surname>
<given-names>J.&#x20;C.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Orthogonal Pso Algorithm for Economic Dispatch of Thermal Generating Units Under Various Power Constraints in Smart Power Grid</article-title>. <source>Appl. Soft Comput.</source> <volume>58</volume>, <fpage>401</fpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2017.04.059</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Biswas</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Pal</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Comparison between Metaheuristics for Solving a Capacitated Fixed Charge Transportation Problem With Multiple Objectives</article-title>. <source>Expert Syst. Appl.</source> <volume>170</volume> (<issue>1</issue>), <fpage>114491</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2020.114491</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Shao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An Efficient Scheduling Approach for an Iron-Steel Plant Equipped With Self-Generation Equipment Under Time-Of-Use Electricity Tariffs</article-title>. <source>Swarm Evol. Comput.</source> <volume>60</volume>, <fpage>100764</fpage>. <pub-id pub-id-type="doi">10.1016/j.swevo.2020.100764</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Che</surname>
<given-names>Z. H.</given-names>
</name>
<name>
<surname>Chiang</surname>
<given-names>T.-A.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>T.-T.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A Multi-Objective Genetic Algorithm for Assembly Planning and Supplier Selection With Capacity Constraints</article-title>. <source>Appl. Soft Comput.</source> <volume>101</volume>, <fpage>107030</fpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2020.107030</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chengwang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Lixin</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Research on Diversity Strategy in Multi-Objective Evolutionary Algorithm</article-title>. <source>Computer Sci.</source> <volume>37</volume> (<issue>2</issue>), <fpage>175</fpage>&#x2013;<lpage>179</lpage>. <pub-id pub-id-type="doi">10.3969/j.issn.1002-137X.2010.02.042</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Cheong</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>P. Y.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Control Oriented Modeling and System Identification of a Diesel Generator Set (Genset)</article-title>. In <conf-name>American Control Conference</conf-name>. <pub-id pub-id-type="doi">10.1109/acc.2010.5530454</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>El-Sharkh</surname>
<given-names>M. Y.</given-names>
</name>
<name>
<surname>Tanrioven</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Rahman</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Alam</surname>
<given-names>M. S.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Cost Related Sensitivity Analysis for Optimal Operation of a Grid-Parallel Pem Fuel Cell Power Plant</article-title>. <source>J.&#x20;Power Sourc.</source> <volume>161</volume>, <fpage>1198</fpage>&#x2013;<lpage>1207</lpage>. <pub-id pub-id-type="doi">10.1016/j.jpowsour.2006.06.046</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Elnozahy</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Yousef</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Abo-Elyousr</surname>
<given-names>F. K.</given-names>
</name>
<name>
<surname>Mohamed</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Abdelwahab</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Performance Improvement of Hybrid Renewable Energy Sources Connected to the Grid Using Artificial Neural Network and Sliding Mode Control</article-title>. <source>J.&#x20;Power Electronics.</source> <volume>21</volume>, <fpage>1166</fpage>&#x2013;<lpage>1179</lpage>. <pub-id pub-id-type="doi">10.1007/s43236-021-00242-8</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hemamalini</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Simon</surname>
<given-names>S. P.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Maclaurin Series-Based Lagrangian Method for Economic Dispatch With Valve-point Effect</article-title>. <source>Iet Generation Transm. Distribution.</source> <volume>3</volume>, <fpage>859</fpage>&#x2013;<lpage>871</lpage>. <pub-id pub-id-type="doi">10.1049/iet-gtd.2008.0499</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hetzer</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>D. C.</given-names>
</name>
<name>
<surname>Bhattarai</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>An Economic Dispatch Model Incorporating Wind Power</article-title>. <source>IEEE Trans. Energ. Convers.</source> <volume>23</volume>, <fpage>603</fpage>&#x2013;<lpage>611</lpage>. <pub-id pub-id-type="doi">10.1109/tec.2007.914171</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hja</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ckk</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Cyc</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Kly</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A Multi-Objective Evolutionary Approach for Fuzzy Regression Analysis</article-title>. <source>Expert Syst. Appl.</source> <volume>130</volume>, <fpage>225</fpage>&#x2013;<lpage>235</lpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2019.04.033</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jing</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A Survey on Multi-Objective Evolutionary Algorithms for the Solution of the Environmental/Economic Dispatch Problems</article-title>. <source>Swarm Evol. Comput.</source> <volume>38</volume>, <fpage>1</fpage>. <pub-id pub-id-type="doi">10.1016/j.swevo.2017.06.002</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khammassi</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Krichen</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Nsga2-Lr Wrapper Approach for Feature Selection in Network Intrusion Detection</article-title>. <source>Computer Networks.</source> <volume>172</volume>, <fpage>107183</fpage>. <pub-id pub-id-type="doi">10.1016/j.comnet.2020.107183</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A Fully Distributed Approach for Economic Dispatch Problem of Smart Grid</article-title>. <source>Energies.</source> <volume>11</volume>, <fpage>1993</fpage>. <pub-id pub-id-type="doi">10.3390/en11081993</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>D. W.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Double-mode Energy Management for Multi-Energy System via Distributed Dynamic Event-Triggered Newton-Raphson Algorithm</article-title>. <source>IEEE Trans. Smart Grid.</source> <volume>1</volume>, <fpage>1</fpage>. <pub-id pub-id-type="doi">10.1109/tsg.2020.3005179</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Event-Triggered-Based Distributed Cooperative Energy Management for Multienergy Systems</article-title>. <source>IEEE Trans. Ind. Inf.</source> <volume>15</volume>, <fpage>2008</fpage>&#x2013;<lpage>2022</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2018.2862436</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Mei</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Distributed Real-Time Economic Dispatch in Smart Grids: A State-Based Potential Game Approach</article-title>. <source>IEEE Trans. Smart Grid.</source> <volume>9</volume>, <fpage>4194</fpage>&#x2013;<lpage>4208</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2017.2652919</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mk</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ohm</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Na</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Multi-Objective Optimization and the Effect of the Economic Factors on the Design of the Microgrid Hybrid System - Sciencedirect</article-title>. <source>Sustainable Cities Soc.</source> <volume>65</volume>, <fpage>102646</fpage>. <pub-id pub-id-type="doi">10.1016/j.scs.2020.102646</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Niknam</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Azizipanah-Abarghooee</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Narimani</surname>
<given-names>M. R.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>An Efficient Scenario-Based Stochastic Programming Framework for Multi-Objective Optimal Micro-grid Operation</article-title>. <source>Appl. Energ.</source> <volume>99</volume>, <fpage>455</fpage>&#x2013;<lpage>470</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2012.04.017</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Prakash</surname>
<given-names>V. P.</given-names>
</name>
<name>
<surname>Patvardhan</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Srivastav</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Novel Hybrid Multi-Objective Evolutionary Algorithm for the Bi-Objective Minimum Diameter-Cost Spanning Tree (Bi-mdcst) Problem</article-title>. <source>Eng. Appl. Artif. Intelligence.</source> <volume>87</volume>, <fpage>103237</fpage>. <pub-id pub-id-type="doi">10.1016/j.engappai.2019.103237</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Simonetti</surname>
<given-names>H. L.</given-names>
</name>
<name>
<surname>de Assis das Neves</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Almeida</surname>
<given-names>V. S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Multiobjective Topology Optimization With Stress and Strain Energy Criteria Using the Seso Method and a Multicriteria Tournament Decision</article-title>. <source>Structures.</source> <volume>30</volume>, <fpage>188</fpage>&#x2013;<lpage>197</lpage>. <pub-id pub-id-type="doi">10.1016/j.istruc.2021.01.002</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sla</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Lp</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ip</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Fs</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Multiobjective Optimization of a Continuous Kraft Pulp Digester Using spea2</article-title>. <source>Comput. Chem. Eng.</source> <volume>143</volume> <issue>(1)</issue>, <fpage>107086</fpage>. <pub-id pub-id-type="doi">10.1016/j.compchemeng.2020.107086</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Lagrangian Relaxation With Incremental Proximal Method for Economic Dispatch With Large Numbers of Wind Power Scenarios</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>34</volume>, <fpage>2685</fpage>&#x2013;<lpage>2695</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrs.2019.2891227</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>D. H.</given-names>
</name>
<name>
<surname>Nayar</surname>
<given-names>C. V.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Modeling of Stand-Alone Variable Speed Diesel Generator Using Doubly-Fed Induction Generator</article-title>. In <conf-name>The 2nd International Symposium on Power Electronics for Distributed Generation Systems</conf-name>. <pub-id pub-id-type="doi">10.1109/pedg.2010.5545769</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wei</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ye</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ai</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Optimization Model of a Thermal-Solar-Wind Power Planning Considering Economic and Social Benefits</article-title>. <source>Energy.</source> <volume>222</volume>, <fpage>119752</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2021.119752</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yeh</surname>
<given-names>C.-T.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>An Improved Nsga2 to Solve a Bi-objective Optimization Problem of Multi-State Electronic Transaction Network</article-title>. <source>Reliability Eng. Syst. Saf.</source> <volume>191</volume>, <fpage>106578</fpage>. <pub-id pub-id-type="doi">10.1016/j.ress.2019.106578</pub-id> </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yin</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Expandable Deep Learning for Real-Time Economic Generation Dispatch and Control of Three-State Energies Based Future Smart Grids</article-title>. <source>Energy.</source> <volume>191</volume>, <fpage>116561</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2019.116561</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yin</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Expandable Depth and Width Adaptive Dynamic Programming for Economic Smart Generation Control of Smart Grids</article-title>. <source>Energy.</source> <volume>232</volume>, <fpage>120964</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2021.120964</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Younes</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Alhamrouni</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Mekhilef</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Reyasudin</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A Memory-Based Gravitational Search Algorithm for Solving Economic Dispatch Problem in Micro-grid</article-title>. <source>Ain Shams Eng. J.</source> <volume>65</volume> (<issue>1</issue>), <fpage>1985</fpage>&#x2013;<lpage>1994</lpage>. <pub-id pub-id-type="doi">10.1016/j.asej.2020.10.021</pub-id> </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yushuai</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Distributed Double-Newton Descent Algorithm for Cooperative Energy Management of Multiple Energy Bodies in Energy Internet</article-title>. <source>IEEE Trans. Ind. Inform.</source> <issue>(99)</issue>, <fpage>1</fpage>. <pub-id pub-id-type="doi">10.1109/TII.2020.3029974</pub-id> </citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Convergence Analysis of a Distributed Gradient Algorithm for Economic Dispatch in Smart Grids</article-title>. <source>Int. J.&#x20;Electr. Power Energ. Syst.</source> <volume>134</volume>, <fpage>107373</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2021.107373</pub-id> </citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Adaptive Directed Evolved Nsga2 Based Node Placement Optimization for Wireless Sensor Networks</article-title>. <source>Wireless Networks.</source> <volume>26</volume> (<issue>10</issue>), <fpage>1</fpage>&#x2013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1007/s11276-020-02279-2</pub-id> </citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Bi-objective Flexible Job Shop Scheduling With Operation Overlapping Costs</article-title>. <source>IFAC-PapersOnLine.</source> <volume>52</volume>, <fpage>893</fpage>&#x2013;<lpage>898</lpage>. <pub-id pub-id-type="doi">10.1016/j.ifacol.2019.11.308</pub-id> </citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A Novel Grey Prediction Evolution Algorithm for Multimodal Multiobjective Optimization</article-title>. <source>Eng. Appl. Artif. Intelligence.</source> <volume>100</volume>, <fpage>104173</fpage>. <pub-id pub-id-type="doi">10.1016/j.engappai.2021.104173</pub-id> </citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zx</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kai</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Multiobjective Multifactorial Immune Algorithm for Multiobjective Multitask Optimization Problems - Sciencedirect</article-title>. <source>Appl. Soft Comput.</source> <volume>107</volume>, <fpage>107399</fpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2021.107399</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>