<?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">843241</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2022.843241</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>A GPU-Based Resilience Enhanced Voltage Optimization Model for Distribution Networks</article-title>
<alt-title alt-title-type="left-running-head">Liang and Luo</alt-title>
<alt-title alt-title-type="right-running-head">GPU Parallelized Voltage Optimization Model</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Liang</surname>
<given-names>Liang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1284168/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Luo</surname>
<given-names>Chuhang</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Harbin Institute of Technology</institution>, <addr-line>Shenzhen</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Guangzhou Power Supply Bureau of Guangdong Power Grid Corporation</institution>, <addr-line>Guangzhou</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/1527165/overview">Shunjiang Lin</ext-link>, South China University of Technology, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1256586/overview">Bin Zhou</ext-link>, Hunan University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1614723/overview">Haoran Liu</ext-link>, The Chinese University of Hong Kong, Hong Kong SAR, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Liang Liang, <email>liangl@hit.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>14</day>
<month>03</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>843241</elocation-id>
<history>
<date date-type="received">
<day>25</day>
<month>12</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>21</day>
<month>02</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Liang and Luo.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Liang and Luo</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>Improving the survivability of critical loads after extreme events is essential to enhance the resilience of power systems, especially for distribution networks. A distribution network with various operational resources can be separated into several sub-distribution networks without electrical connections. Maintaining the power supply with acceptable power quality to critical loads in such separated distribution networks is a challenging task for the operators of power systems. In this paper, an optimization model is proposed to maximize the ability to supply power to critical loads in distribution networks. Moreover, a GPU was employed to accelerate the proposed model using genetic algorithm. With the acceleration of the GPU platform, the solving time was reduced and the population size can be enlarged to enhance the convergence rate and convergence quality of the algorithm. Finally, case studies were carried out in IEEE 33-bus and 118-bus systems, and the effectiveness of the method was validated by comparing the solution results on GPU and CPU platforms.</p>
</abstract>
<kwd-group>
<kwd>resilience</kwd>
<kwd>voltage regulation</kwd>
<kwd>distribution network</kwd>
<kwd>gpu</kwd>
<kwd>genetic algorithm</kwd>
</kwd-group>
<contract-num rid="cn001">52077045</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>Introduction</title>
<p>In recent years, a number of extreme natural events have brought huge economic losses to the society (<xref ref-type="bibr" rid="B16">Panteli and Mancarella, 2015a</xref>; <xref ref-type="bibr" rid="B25">Wang et&#x20;al., 2016</xref>; <xref ref-type="bibr" rid="B14">Mohamed et&#x20;al., 2019</xref>). Critical loads, such as government buildings, communication systems, transportation systems, and the sensors and controllers of power systems, are essential for the operation of power systems during extreme natural events, as well as the restoration of power systems after such extreme natural events. Improving the survivability of critical loads after these extreme natural events can enhance the resilience of the power system. Resilience is defined as the survivability and the ability to defend against extreme natural events. It is defined as the ability of the power system to survive, defend, and recover from extreme natural disasters (<xref ref-type="bibr" rid="B17">Panteli and Mancarella, 2015b</xref>; <xref ref-type="bibr" rid="B6">Gao et&#x20;al., 2016</xref>). Nowadays, more and more distributed generation resources, such as photovoltaic (PV) systems, small scale wind turbines, and gas turbines are integrated into distribution networks. Moreover, most loads of power systems, especially critical loads, are supplied by distribution networks. The operation of distribution network during and after extreme natural events is essential to enhance the resilience of power systems.</p>
<p>A huge challenge for the distribution network operation during and after extreme natural events is the insufficiency of controllable operational resources. Conventional fossil fueled power generators with large capacities may not be able to connect to distribution networks because of the damaged transmission networks. In this case, all kinds of operational resources in distribution networks, such as distributed PV resources, distributed wind farms, small scale energy storage systems, diesel generators, demand response devices, and voltage support devices, should be well coordinated to provide sufficient operation resources.</p>
<p>Currently, a large number of distributed PV stations, other renewable resources, and energy storage systems with declining costs are connected to the distribution network (<xref ref-type="bibr" rid="B12">Mahmud et&#x20;al., 2014</xref>). Comparing with traditional distribution networks, these distributed resources make the operating environment of the distribution network more complex and challenging (<xref ref-type="bibr" rid="B24">Wang et&#x20;al., 2020</xref>). As indicated in (<xref ref-type="bibr" rid="B24">Wang et&#x20;al., 2020</xref>), the PV systems could take effects on the voltage quality of distribution network in different locations. On the other hand, these resources can be survived after extreme natural events in most cases and bring more flexible resources to the distribution networks and provide new technical devices and methods to enhance power supply to critical loads. All types of flexible operational resources should be effectively involved in the operation of the distribution networks to ensure a stable power supply of critical loads and support restoration after extreme natural events (<xref ref-type="bibr" rid="B23">Utkarsh et&#x20;al., 2021</xref>). An operation framework is proposed in (<xref ref-type="bibr" rid="B23">Utkarsh et&#x20;al., 2021</xref>) to coordinate the demand response resources, such as the home energy systems.</p>
<p>Regulating bus voltages within acceptable area is an important operational target in distribution networks. Considering the critical loads are sensitive to the voltage quality, the voltage optimization model can improve the survival ability of critical loads. The distribution networks should dispatch various types of reactive power and voltage support devices, such as distribution static synchronous compensators (D-STATCOMs), capacitor banks, and line voltage regulators (LVRs). These devices have different operational characteristics. For instance, the capacitor banks (CBs) are ON/OFF-type devices and several discrete control states are available for LVRs. While D-STATCOMs can adjust its output power continuously. Thus, coordinate these devices with different types of mathematic models is a challenge for the operation of distribution networks. An optimal operational model is proposed in this paper to coordinate the operation of different types of devices with a multi objective optimization model. The proposed model is a mixed integer nonlinear programming (MINLP) model. These models can be solved by traditional solution methods and commercial software, such as the gradient based optimization algorithm (<xref ref-type="bibr" rid="B15">Nicholson and H. Sterling, 1973</xref>; <xref ref-type="bibr" rid="B13">Mamandur and Chenoweth, 1981</xref>; <xref ref-type="bibr" rid="B8">Grudinin, 1998</xref>), and decomposition approach (<xref ref-type="bibr" rid="B3">Deeb and Shahidehpour, 1990</xref>). However, the nonlinear characteristics and binary variables of the optimization model make the global optimization results can not be achieved guaranteed. The computing time is varied a lot depends on the proposed mathematic models. The Genetic algorithms (GAs) are metaheuristic algorithms and the first GA was proposed by Professor J Holland in 1975. GAs are widely used to solve the nonlinear programming (NLP) optimization models of power systems and can achieve better robustness for various kinds of mathematic models (<xref ref-type="bibr" rid="B4">Delfanti et&#x20;al., 2000</xref>; <xref ref-type="bibr" rid="B19">Swarup and Yamashiro, 2002</xref>; <xref ref-type="bibr" rid="B5">Enacheanu et&#x20;al., 2008</xref>; <xref ref-type="bibr" rid="B18">Queiroz and Lyra, 2009</xref>). However, in solving MINLP problems with strong nonlinear objective functions, the calculation time and convergence quality requires a large population number and a long solving time. In this way, the GA is not acceptable for practical applications.</p>
<p>Population size is an essential parameter for the performance of the GA. By choosing a large initial population size, the convergence rate and convergence quality of the algorithm can be enhanced to obtain better results (<xref ref-type="bibr" rid="B9">Harik et&#x20;al., 1999</xref>). However, increasing the population size will greatly increase the computing time, which significantly reduces the value of the algorithm for practical projects. The genetic operation in the evolution process has strong independence, and there is no data dependence between individuals, so the algorithm can be computed parallelly (<xref ref-type="bibr" rid="B26">Xing Chen et&#x20;al., 2005</xref>). Based on this feature, Xing Chen, F. Gonzalez Bulnes et&#x20;al. used a distributed computing method to calculate the population size generated on multiple computers, and finally mixed the population to obtain the result (<xref ref-type="bibr" rid="B7">Gonzalez Bulnes et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B2">de la Calle et&#x20;al., 2015</xref>). However, the distributed computing method needs to switch data results among multiple computers, which requires powerful communication capabilities and increase the total computing time. The cost of setting up powerful control and communication systems limits the application of distributed and parallel&#x20;GAs.</p>
<p>In this study, the proposed optimization model was solved by GA and accelerated on a graphics processing unit (GPU) platform by implementing a parallel computing structure. With the rapid development and iteration of AI technologies, such as deep learning and reinforcement learning, the hardware performance of GPU platforms have increased rapidly. For instance, the GPU of Nvidia 2080TI has Turing TU102 architecture, 11&#xa0;GB GDDR6 memory, and the single precision floating point computing performance can exceed 10 Tera floating-point operations per second (TFLOPS). The GPU can process large amounts of data in parallel in the form of single instruction multiple data (SIMD) through its unique hardware architecture, which greatly increases the computing speed of artificial intelligence algorithms. This increased computing speed, in turn, makes artificial intelligence algorithms widely used (<xref ref-type="bibr" rid="B20">Topa et&#x20;al., 2011a</xref>; <xref ref-type="bibr" rid="B21">Topa et&#x20;al., 2011b</xref>). Thanks to the powerful computing performance of GPU platform, a GPU and GA combined structure was applied to solve the GA in this paper. The GPU parallelization technology was used to improve the convergence rate and convergence quality of the algorithm while reducing the calculation time to ensure that the proposed method can potentially be applied to practical projects. Currently, there are some similar works about the parallelized GA algorithms on GPU platforms (<xref ref-type="bibr" rid="B22">Tsutsui and Fujimoto, 2009</xref>; <xref ref-type="bibr" rid="B10">Jaros, 2012</xref>; <xref ref-type="bibr" rid="B11">Luo et&#x20;al., 2017</xref>). In (<xref ref-type="bibr" rid="B22">Tsutsui and Fujimoto, 2009</xref>), a standard quadratic assignment problem was solved by GA on a GPU platform parallelized. The results showed that the GPU can accelerate the quadratic assignment problem with GA effectively. Moreover, multiple GPUs are applied to improve the performance for Gas on a knapsack problem in (<xref ref-type="bibr" rid="B10">Jaros, 2012</xref>). In (<xref ref-type="bibr" rid="B11">Luo et&#x20;al., 2017</xref>), the GPU accelerated GA/MLP algorithms are applied to extract and classify the features of electrical signals of neural systems. These indicates the voltage optimization problem is potential to be solved by the GA on GPU platform. In this paper, an improved GA was used to solve the proposed optimization model of the distribution network. This work is a try to apply the parallelized GPU solved GA algorithms for the voltage optimization problem in distribution network.</p>
<p>The major contributions of this paper are listed as follows:<list list-type="simple">
<list-item>
<p>1) An optimization model was proposed to coordinate the different types of operational resources to maximize the resilience of the distribution network. Power flow constraints were also considered in the proposed&#x20;model.</p>
</list-item>
<list-item>
<p>2) A parallel GA was proposed to solve the proposed model on a GPU platform. The solving performance was improved by the proposed method and has the potential to be applied in practical projects.</p>
</list-item>
<list-item>
<p>3) The critical loads in the distribution network can be reliably supplied with power using the proposed model in this study. Multiple operational targets can be coordinated in the proposed&#x20;model.</p>
</list-item>
</list>
</p>
<p>The remainder of this paper is organized as follows: <italic>Modeling Typical Reactive Power Compensation Devices</italic> presents the models for various kinds of resources. <italic>Voltage Optimization Model in Distribution Network</italic> presents an optimization model of the distribution network, and describes the large population genetic algorithm and the parallel computing architecture of the GPU in detail. Then, in <italic>Case Studies</italic>, IEEE 33-and 118-bus systems are tested, and the results demonstrate the effectiveness of the proposed methods. Finally, <italic>Conclusion</italic> draws the conclusions in this&#x20;study.</p>
</sec>
<sec id="s2">
<title>Modeling Typical Reactive Power Compensation Devices</title>
<p>As shown in <xref ref-type="fig" rid="F1">Figure&#x20;1</xref>, after extreme natural events, such as typhoons, snow disasters and storms, distribution networks may lose power supply from bulk power systems. Critical loads such as hospitals, government agencies, and automatic devices associated with the operation of power systems are directly connected to the distribution networks. Once the power supply to these critical loads is lost, the emergency repair and restoration speed of the power systems will be affected and reduced. Moreover, cascading failures may be occurred due to the lost of these critical loads. To ensure a stable power supply of critical loads after extreme natural events, it is necessary to dispatch all types of controllable operational resources in the distribution networks to regulate bus voltages and maintain the system frequency. Modeling these operational resources is an essential task for the proposed optimization model in this&#x20;paper.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Condition of distribution network after extreme natural events.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g001.tif"/>
</fig>
<sec id="s2-1">
<title>Capacitor Banks</title>
<p>CBs are the cheapest reactive power compensation devices in power systems. The CB is consisted of several group of capacitors in both serial and parallel connection as shown in <xref ref-type="fig" rid="F2">Figure&#x20;2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Structure of the CBs.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g002.tif"/>
</fig>
<p>Each group of capacitors can be connected and disconnected from the power systems by the status of the switch. In this way, the CB is a kind of ON/OFF controlled device and can be modeled as a 0/1 variable in mathematic models.<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf1">
<mml:math id="m3">
<mml:mrow>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the output reactive power of the CB at bus <italic>i</italic>. The <inline-formula id="inf2">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the voltage at bus <italic>i</italic> and <inline-formula id="inf3">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the nominal voltage. <inline-formula id="inf4">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3a9;</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the set of nodes where the capacitor banks are arranged, <inline-formula id="inf5">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the rated output reactive power of each group capacitors under the nominal voltage. <inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the number of switches to be closed to active the capacitors. <inline-formula id="inf7">
<mml:math id="m9">
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the upper limit of the number of closed switches and is determined by the group number of&#x20;CBs.</p>
</sec>
<sec id="s2-2">
<title>Line Voltage Regulator</title>
<p>The LVR is consisted of a transformer and several solid-state switches as shown in <xref ref-type="fig" rid="F3">Figure&#x20;3</xref>. The LVR could regulate the bus voltage to several setpoints with a fixed step, such as 2.5%, around the nominal voltage. It is achieved by changing the status of the solid-state switches to change the ratio of the transformer connected with the&#x20;bus.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Structure of the LVR.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g003.tif"/>
</fig>
<p>In this way, the voltage of the bus connected with LVR can be modeled as a positive discrete variable in mathematic models.<disp-formula id="e3">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m11">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf8">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3a9;</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the set of nodes where the LVR is arranged, <inline-formula id="inf9">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the voltage of bus <italic>i</italic>, <inline-formula id="inf10">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the nominal bus voltage, <inline-formula id="inf11">
<mml:math id="m15">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the voltage step for the LVR installed at bus i, <inline-formula id="inf12">
<mml:math id="m16">
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the setpoint for the LVR at bus <italic>i</italic> and is a discrete variable. <inline-formula id="inf13">
<mml:math id="m17">
<mml:mrow>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>V</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the limit for the setpoint of&#x20;LVR.</p>
</sec>
<sec id="s2-3">
<title>D-STATCOM</title>
<p>D-STATCOM could compensate the reactive power with fast response and high accuracy. It is consisted of a full bridge power converter and could adjust its output reactive power according to the operation commands as shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. Different from the CB and LVR, D-STATCOM can be modeled as a continuous variable in mathematic models.<disp-formula id="e5">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
<disp-formula id="e6">
<mml:math id="m19">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>Where <inline-formula id="inf14">
<mml:math id="m20">
<mml:mrow>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the output reactive power of D-STATCOM installed at node <italic>i</italic>. <inline-formula id="inf15">
<mml:math id="m21">
<mml:mrow>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the reactive output power of D-STATCOM for bus <italic>i</italic>. <inline-formula id="inf16">
<mml:math id="m22">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the output active power of D-STATCOM installed at node&#x20;<italic>i</italic>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Structure of the D-STATCOM.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g004.tif"/>
</fig>
<p>All of these resources need to be coordinated to regulate the voltages of the distribution power systems.</p>
</sec>
</sec>
<sec id="s3">
<title>Voltage Optimization Model in Distribution Network</title>
<sec id="s3-1">
<title>Optimization Model</title>
<p>Determining the power flows in a distribution network is an important task for the optimization of distribution networks. The radial structure is the most common topology for practical distribution networks, as shown in <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>. The Distflow equation can be applied to determine the power flows in the radial distribution networks as follows (<xref ref-type="bibr" rid="B1">Baran and Wu, 1989</xref>),<disp-formula id="e7">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>),</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="e8">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>),</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m25">
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf17">
<mml:math id="m26">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, the set <italic>S</italic>(<italic>j</italic>) refers to the set of child nodes of node&#x20;<italic>j</italic>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Radial network with active power&#x20;flow.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g005.tif"/>
</fig>
<p>The objectives of the proposed optimization model network are to minimize the active power loss, voltage deviations of buses, and operational costs by dispatching controllable voltage regulating devices. It includes three main objectives as follows,</p>
<p>1. Bus voltage: This is one of the most important targets for ensuring a stable power supply to critical loads. Due to the fluctuating output power of renewable resources, controllable devices need to respond to fluctuating output power in a short time to reduce voltage deviations.</p>
<p>2. Active power loss: The energy capacity of energy storage systems is limited, and the distributed power generation is random. To maintain power supply for as long as possible, it is necessary to reduce the active power loss of the distribution networks.</p>
<p>3. Cost of devices: Compared to D-STATCOM, capacitor banks have smaller operational costs. To reduce the total cost of the distribution network economy, capacitor banks will be dispatched preferentially.</p>
<p>The optimization model of the distribution network is proposed as follows,<disp-formula id="e10">
<mml:math id="m27">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>S</mml:mi>
<mml:mn>1</mml:mn>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mn>1</mml:mn>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mn>...</mml:mn>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>m</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>v</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mi>Q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>such that<disp-formula id="e11">
<mml:math id="m28">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m29">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mi>Q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m30">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mo>&#x2229;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>S</mml:mi>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>S</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
<disp-formula id="e14">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mstyle>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
<disp-formula id="e15">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mstyle>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m33">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msubsup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>
</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>d</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(16)</label>
</disp-formula>
<disp-formula id="e17">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m35">
<mml:mrow>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>Q</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
<disp-formula id="e19">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m37">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>S</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m38">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>and the constrains as in (<xref ref-type="disp-formula" rid="e1">Eqs. 1</xref>&#x2013;<xref ref-type="disp-formula" rid="e7">7</xref>).</p>
<p>Where <italic>N</italic>
<sub>
<italic>d</italic>
</sub> is the set of nodes of the distribution network, <italic>M</italic> is the set of critical nodes, <inline-formula id="inf18">
<mml:math id="m39">
<mml:mi>&#x3a9;</mml:mi>
</mml:math>
</inline-formula> is the set of nodes where the voltage regulation devices are arranged, <inline-formula id="inf19">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3a9;</mml:mi>
<mml:mi>S</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the set of nodes where the D-STATCOM is arranged, <inline-formula id="inf20">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3a9;</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the set of nodes where the capacitor banks are arranged, <inline-formula id="inf21">
<mml:math id="m42">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the active power loss of the distribution network, <inline-formula id="inf22">
<mml:math id="m43">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mi>Q</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the bus voltage offset of critical loads, <inline-formula id="inf23">
<mml:math id="m44">
<mml:mrow>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the D-STATCOM and CBs operation cost, and <inline-formula id="inf24">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>v</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the weight coefficients. The LVR is installed at the root node of the distribution network and the voltage of the root bus can be controlled to several discrete values as constrained by <xref ref-type="disp-formula" rid="e3">Eqs. 3</xref>, <xref ref-type="disp-formula" rid="e4">4</xref>. Constraint (11) represents the active power loss of the distribution network, which is equal to the summation of the active power loss in all branches of the distribution network. Constraint (12) represents the bus voltage deviations of the critical loads, which represent the voltage quality of critical loads. The bus voltage deviations can be calculated based on the bus voltage and reference voltage. The reference voltage is related to the demands of critical loads and is set to 1 p.u. in most cases. Constraint (13) represents the operational costs associated with the operations of the D-STATCOMs, which are related to the reactive power output of the D-STATCOMs. Constraints (14&#x2013;16) are the Distflow equations. Constraint (17) represents the actual reactive power load of the node <inline-formula id="inf25">
<mml:math id="m46">
<mml:mi>i</mml:mi>
</mml:math>
</inline-formula>, which is related to the reactive power generated by the voltage regulation devices. Constraint (18) represents the reactive power generated by the voltage regulation devices. The reactive power output of the capacitor banks is related to the number of groups and the bus voltage of the corresponding node. Constraint (19) guarantees that the voltage of each node meets the operating standards of distribution networks, <inline-formula id="inf26">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the nominal voltage for all buses and <inline-formula id="inf27">
<mml:math id="m48">
<mml:mi>&#x3be;</mml:mi>
</mml:math>
</inline-formula> is commonly set to 0.1 p.u. This constraint ensures the voltage deviations for all buses are within secured region. The voltage deviations on the critical loads can be minimized by the objective function described in <xref ref-type="disp-formula" rid="e12">Eq. 12</xref>. Constraint (20) represents the upper and lower limits of the reactive power output of the D-STATCOM at node <italic>i</italic>. Constraint (21) represents the upper and lower limits of the number of capacitor banks that can be switched at node&#x20;<italic>i</italic>.</p>
</sec>
<sec id="s3-2">
<title>Improved Genetic Algorithm</title>
<p>As shown in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>, the standard GA consists of the following parts: population initialization, code, fitness function, selection operator, crossover operator, and mutation operator.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Calculation procedure of GA.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g006.tif"/>
</fig>
<p>The current mainstream coding methods include binary coding and real number coding. Although binary encoding is simple to operate and can prove the convergence of GA through the mode theorem, The hamming cliff problem is still existed and the binary variable takes up a lot of storage. To avoid these problems, the real number encoding method was chosen in this&#x20;study.</p>
<sec id="s3-2-1">
<title>Population Initialization</title>
<p>Although the GA is widely used to solve various types of optimization model problems, the performance of the standard GA is not good enough to be applied in practical projects that have a large number of variables and strong nonlinear characteristics as an MINLP problem. The convergence quality of the standard GA is poor and it easily converges to local optimal solutions. Population size is the main factor that determines the convergence rate and convergence quality of the GA. When the population size is small, the diversity of individuals is insufficient, and the search space is small. In particular, for the optimization model with a large number of variables, the solution space of the initial individuals covered is limited. Once an individual obtains a local optimal solution, majority of individuals will converge to the solution after several iterations of evolution, and it will be difficult to jump out of the local optimal solution by the operation of the crossover or mutation operator, which results in the prematurity phenomenon. In addition, the penalty function leads to the degradation phenomenon in the early stage of the iteration, which significantly reduces the evolution&#x20;speed.</p>
<p>Increasing the population size can increase the diversity of the individuals, making the initial solution cover a larger area. This initial solution not only restrains the degradation of the individuals in the early iteration, but also improves the convergence rate, and expands the solution space of the individuals covered. This, in turn, significantly improves the search ability of the GA. Consequently, there is a high probability of obtaining a global optimal solution.</p>
</sec>
<sec id="s3-2-2">
<title>Fitness Function</title>
<p>The fitness function is essential to the performance of the GA, which evaluates the excellence of an individual. The fitness function is closely related to the objective function of the optimization model, whereas the constraints in the optimization model cannot be neglected. Hence, the fitness function will be constituted by two parts: the first part is the objective function written in <xref ref-type="disp-formula" rid="e10">Eq. 10</xref>, and the other part is the penalty function established to satisfy the constraints. The fitness function can be described using the following equation.<disp-formula id="e22">
<mml:math id="m49">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>v</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mi>Q</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>u</mml:mi>
</mml:msub>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msubsup>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>Where <inline-formula id="inf28">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>u</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the coefficient of penalty function, is described as:<disp-formula id="e23">
<mml:math id="m51">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mtable>
<mml:mtr>
<mml:mtd>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>The most common selection operators are the roulette, tournament, and elite methods. In this study, the selection operator is composed of the tournament method combined with the elite method to ensure convergence of the algorithm. In addition to good time complexity, the tournament method has a greater probability of selecting better individuals than the roulette method.</p>
</sec>
<sec id="s3-2-3">
<title>Crossover and Mutation Operation</title>
<p>The crossover operation is a search process. Individuals can gradually approach the global optimal solution with the crossover operation. Because the coding method is based on real number coding, the simulated binary crossover (SBX) was selected as the crossover operator. This can be described by the following equations.<disp-formula id="e24">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>],</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>
<disp-formula id="e25">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>],</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>where is calculated as:<disp-formula id="e26">
<mml:math id="m54">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mtext>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</mml:mtext>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mtext>&#xa0;&#xa0;</mml:mtext>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
<inline-formula id="inf29">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the parents to be crossed; <inline-formula id="inf30">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the offspring generated by the cross operation; <inline-formula id="inf31">
<mml:math id="m57">
<mml:mi>&#x3b2;</mml:mi>
</mml:math>
</inline-formula> is the spread factor; <inline-formula id="inf32">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a random number between 0 and 1; <inline-formula id="inf33">
<mml:math id="m59">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the cross-distribution index. From <xref ref-type="disp-formula" rid="e18">Eqs. 18</xref>&#x2013;<xref ref-type="disp-formula" rid="e20">20</xref>, it can be seen that the difference between the values of the offspring and the parent is inversely proportional to <inline-formula id="inf34">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, which affects the convergence rate and the convergence precision of the GA. The standard GA is usually set <inline-formula id="inf35">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to maintain the balance of the convergence precision and convergence rate. However, in the early stage of evolution, a smaller <inline-formula id="inf36">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> would lead to larger individual change steps to improve the convergence rate. In the later stage of evolution, when the population has gathered near the global optimal solution, more attention is paid to the convergence accuracy, and a larger <inline-formula id="inf37">
<mml:math id="m63">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can make the search more accurate. In addition, due to the differences in variable types, such as 0/1 variables and continuous variables, the value of the cross-distribution index needs to be set separately. Hence, the value of the cross-distribution index before <inline-formula id="inf38">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is <inline-formula id="inf39">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf40">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and the value of the cross-distribution index after <inline-formula id="inf41">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is <inline-formula id="inf42">
<mml:math id="m68">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf43">
<mml:math id="m69">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The mutation operation aims to avoid premature convergence of solutions by expanding the existing search space. A polynomial mutation was selected as the mutation operator. This can be described by the following equation.<disp-formula id="e27">
<mml:math id="m70">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>Where <inline-formula id="inf44">
<mml:math id="m71">
<mml:mi>&#x3b4;</mml:mi>
</mml:math>
</inline-formula> is calculated as<disp-formula id="e28">
<mml:math id="m72">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mtext>,</mml:mtext>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mtext>,</mml:mtext>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>The <inline-formula id="inf45">
<mml:math id="m73">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is described as:<disp-formula id="e29">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>),</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
<disp-formula id="e30">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>),</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>where <inline-formula id="inf46">
<mml:math id="m76">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the offspring generated by the mutation operation, <inline-formula id="inf47">
<mml:math id="m77">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bd;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the parent to be mutated, <inline-formula id="inf48">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the upper limit of the variable k, <inline-formula id="inf49">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the lower limit of the variable k, <inline-formula id="inf50">
<mml:math id="m80">
<mml:mi>&#x3b4;</mml:mi>
</mml:math>
</inline-formula> is the coefficient of variation, <inline-formula id="inf51">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a random number between 0 and 1, and <inline-formula id="inf52">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the variation distribution index. Similar to the crossover operation, the variation distribution index also needs to be set separately. Before <inline-formula id="inf53">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the value of the cross-distribution index is <inline-formula id="inf54">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf55">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and after <italic>i</italic>
<sub>
<italic>iter</italic>
</sub>, the value of the cross-distribution index is <inline-formula id="inf56">
<mml:math id="m86">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf57">
<mml:math id="m87">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The calculation procedure for the improved GA is illustrated in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>. Modifying the individuals that do not meet the constraints, preserving the optimal solution of each iteration and setting the distribution index by stages are&#x20;added.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>The calculation procedure of improved GA.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g007.tif"/>
</fig>
</sec>
</sec>
<sec id="s3-3">
<title>Parallel Computing Structure of GPU</title>
<p>Although increasing the population will effectively improve the performance of the algorithm, the population size is generally set from 50 to 100 due to the linear increase in computation time. The typical time intervals are several seconds or minutes depending on the control systems of the distribution networks, which require that the solving time of the optimization model for the distribution networks cannot be too long to update the operation commands. Considering that the calculation time of the fitness function takes up to 90% of the total calculation time for the GA algorithm, which is not a logical and temporal correlation between individuals, it is essential to reduce the calculation time of fitness functions in parallel computing to make the GA algorithm available for practical projects.</p>
<p>At present, artificial intelligence algorithms, such as deep learning and reinforcement learning, are widely used in various fields. To take advantage of AI algorithms, a large amount of data is required to train the model. Hence, new structures of computing systems, such as GPUs and field programmable gate arrays (FPGAs), that can quickly process massive data parallelly, have been developed in recent&#x20;years.</p>
<p>The GPU has a unique hardware structure. Compared with the CPU, the GPU abandons a large number of storage and control units to configure additional computing units. Hence, compared to the CPU, which is good at processing complex logic operations, GPUs are better at processing large amounts of data with the same instructions. These computing units are called streaming processors (SPs). Multiple SPs form a streaming multiple processor (SM). Each SM has an independent share memory, and all SMs share the global memory and constant memory. Thus, the data in different SMs can be shared. When solving a GA on a GPU platform, each individual can be assigned to different computing cores for parallel computing, and the population size can be set to a larger value than a CPU platform. As a result, increasing the population size of the GA has less effect on the computing time than the CPU platform.</p>
<p>
<xref ref-type="fig" rid="F8">Figure&#x20;8</xref> shows the process of using a GPU to accelerate the GA. The data of individuals are transmitted from the host (CPU side) to the device (GPU side), and then a large number of threads are opened on the device to be prepared for calculation. Each thread is responsible for calculating the fitness function of an individual. All the fitness functions of individuals are calculated in parallel mode on the GPU. Finally, the results were transmitted from the device back to the&#x20;host.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Calculation procedure of fitness function on GPU platform.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g008.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<title>Case Studies</title>
<p>To verify the effectiveness of the proposed optimization model and solving method, two distribution network systems, IEEE 33-bus and IEEE 118-bus as shown in <xref ref-type="fig" rid="F9">Figure 9</xref> and <xref ref-type="fig" rid="F10">10</xref> respectively, were selected for case studies. The computing system includes an Intel i9-9900K CPU, Nvidia 2080 Ti GPU, 32GB RAM, 12GB GPU RAM, and CUDA version&#x20;10.2.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>IEEE 33-bus distributed network topology.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g009.tif"/>
</fig>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>IEEE 118-bus distributed network topology.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g010.tif"/>
</fig>
<p>
<xref ref-type="table" rid="T1">Table&#x20;1</xref> shows the configuration of the test systems, including the nodes of the critical load and compensators, as well as the type and capacity of the compensators. The parameters of the GA are selected as follows: <inline-formula id="inf58">
<mml:math id="m88">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>g</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>500</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, crossover probability <inline-formula id="inf59">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.85</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, mutation probability <inline-formula id="inf60">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf61">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf62">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf63">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf64">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf65">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf66">
<mml:math id="m96">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf67">
<mml:math id="m97">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf68">
<mml:math id="m98">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf69">
<mml:math id="m99">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3b7;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo>&#x27;</mml:mo>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Configuration of test systems.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Test system</th>
<th align="center">Critical load node</th>
<th align="center">Node of compensator</th>
<th align="center">Compensator</th>
<th align="center">Volume of compensator</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="6" align="left">IEEE 33-bus</td>
<td align="char" char=".">11</td>
<td align="char" char=".">7</td>
<td rowspan="3" align="left">Capacitor Banks</td>
<td rowspan="3" align="left">12 Groups/0.15 MVAR</td>
</tr>
<tr>
<td align="char" char=".">15</td>
<td align="char" char=".">10</td>
</tr>
<tr>
<td align="char" char=".">21</td>
<td align="char" char=".">18</td>
</tr>
<tr>
<td align="char" char=".">27</td>
<td align="char" char=".">22</td>
<td rowspan="3" align="left">D-STATCOM</td>
<td rowspan="3" align="left">&#x2212;2&#x223c;2 MVAR</td>
</tr>
<tr>
<td align="char" char=".">33</td>
<td align="char" char=".">25</td>
</tr>
<tr>
<td align="left"/>
<td align="char" char=".">33</td>
</tr>
<tr>
<td rowspan="10" align="left">IEEE 118-bus</td>
<td align="char" char=".">35</td>
<td align="char" char=".">54</td>
<td rowspan="5" align="left">Capacitor Banks</td>
<td rowspan="5" align="left">15 Groups/0.15 MVAR</td>
</tr>
<tr>
<td align="left"/>
<td align="char" char=".">62</td>
</tr>
<tr>
<td align="char" char=".">51</td>
<td align="char" char=".">76</td>
</tr>
<tr>
<td align="left"/>
<td align="char" char=".">105</td>
</tr>
<tr>
<td align="char" char=".">71</td>
<td align="char" char=".">113</td>
</tr>
<tr>
<td align="left"/>
<td align="char" char=".">25</td>
<td rowspan="5" align="left">D-STATCOM</td>
<td rowspan="5" align="left">&#x2212;2&#x223c;2 MVAR</td>
</tr>
<tr>
<td align="char" char=".">95</td>
<td align="char" char=".">75</td>
</tr>
<tr>
<td align="left"/>
<td align="char" char=".">85</td>
</tr>
<tr>
<td align="char" char=".">111</td>
<td align="char" char=".">91</td>
</tr>
<tr>
<td align="left"/>
<td align="char" char=".">111</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>When the population size is 50, the solution results are poorly convergent and the maximum standard deviation of the variables is 0.4. Although the standard deviation of the objective function is 0.00064, the binary (discrete) type variables cannot converge to a unique solution. Then, the population size was increased from 50 to 5,000, while the other parameters remained the same. The optimization model is solved again, and new solution results are obtained with different population&#x20;sizes.</p>
<p>
<xref ref-type="fig" rid="F11">Figure&#x20;11</xref> shows a comparison of the convergence speed of the algorithm with different population sizes. This indicates that as the population size increases, the initial solution and convergence speed of the algorithm become better. When the population size is 5,000, the convergence of the solution is completed at the 18th generation, while the population size of 50 achieves convergence of the solution at the 35th generation. In addition, the values of the objective function will be smaller when the population size is larger. This means that better optimized results can be achieved. When the population size increases to 5,000, the convergence quality of the algorithm is improved. The binary (discrete) type variables can converge to a unique solution, while the maximum standard deviation of continuous variables is 0.00088, and the objective function can converge to the same value. The results of control variables of CBs installed at bus 7, 10, 18 are 5, 2, and 1, respectively. The output reactive power of D-STATCOMs installed at bus 22, 25 and 33 are 0.08MVar, 0.283MVar, and 0.543MVar, respectively.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Comparison of consequence speeds with different population size in IEEE 33-bus system.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g011.tif"/>
</fig>
<p>However, increasing the population size will greatly increase the calculation time of the algorithm, as mentioned before. When the population size is increased from 50 to 5,000, the running time is also changed from 2.18 to 180.69&#xa0;s, which is an increase of 90&#x20;times.</p>
<p>
<xref ref-type="table" rid="T2">Table&#x20;2</xref> shows the comparison of computing time on both the GPU and CPU platforms with different population sizes in the IEEE 33-bus and IEEE 118-bus system. The GA algorithm computed on the GPU platform has been revised to parallelized to enhance the computing performance. For the IEEE 33-bus system, on the GPU platform, the growth in the population size had almost no effect on the running time. Compared with the population size of 50 and the population size of 5,000, the difference in calculation time is only 1.15&#xa0;s. This means that within a certain population size range, the larger the population size, the better the acceleration effect of the GPU. The algorithm is accelerated by parallel computing on the GPU platform, which greatly reduces the running time and effectively improves the practicality of the algorithm. In testing the IEEE 33-bus system, increasing the population size of the GA can effectively enhance the convergence ability of the algorithm. The long computing time caused by the large population size was effectively reduced through parallel computing on the GPU platform.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Computing time of CPU platform and GPU platform with different populations (IEEE 33-bus system and IEEE-118-bus system).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Test system</th>
<th align="center">Population size</th>
<th align="center">CPU(s)</th>
<th align="center">GPU(s)</th>
<th align="center">Speed-up ratio</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="5" align="left">IEEE 33-bus</td>
<td align="char" char=".">50</td>
<td align="char" char=".">2.18</td>
<td align="char" char=".">2.22</td>
<td align="char" char=".">0.98</td>
</tr>
<tr>
<td align="char" char=".">200</td>
<td align="char" char=".">8.99</td>
<td align="char" char=".">2.41</td>
<td align="char" char=".">3.73</td>
</tr>
<tr>
<td align="char" char=".">500</td>
<td align="char" char=".">17.93</td>
<td align="char" char=".">2.37</td>
<td align="char" char=".">7.57</td>
</tr>
<tr>
<td align="char" char=".">2000</td>
<td align="char" char=".">63.28</td>
<td align="char" char=".">2.53</td>
<td align="char" char=".">25.01</td>
</tr>
<tr>
<td align="char" char=".">5,000</td>
<td align="char" char=".">180.69</td>
<td align="char" char=".">3.37</td>
<td align="char" char=".">53.62</td>
</tr>
<tr>
<td rowspan="6" align="left">IEEE 118-bus</td>
<td align="char" char=".">50</td>
<td align="char" char=".">30.29</td>
<td align="char" char=".">31.72</td>
<td align="char" char=".">0.95</td>
</tr>
<tr>
<td align="char" char=".">200</td>
<td align="char" char=".">110.65</td>
<td align="char" char=".">30.93</td>
<td align="char" char=".">3.58</td>
</tr>
<tr>
<td align="char" char=".">500</td>
<td align="char" char=".">310.47</td>
<td align="char" char=".">33.01</td>
<td align="char" char=".">9.41</td>
</tr>
<tr>
<td align="char" char=".">2000</td>
<td align="char" char=".">1341.32</td>
<td align="char" char=".">32.77</td>
<td align="char" char=".">40.93</td>
</tr>
<tr>
<td align="char" char=".">5,000</td>
<td align="char" char=".">2877.40</td>
<td align="char" char=".">37.84</td>
<td align="char" char=".">76.04</td>
</tr>
<tr>
<td align="char" char=".">20,000</td>
<td align="char" char=".">11,437.81</td>
<td align="char" char=".">46.26</td>
<td align="char" char=".">247.25</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Furthermore, the IEEE 118-bus system was emulated to test the effect of the method and the speedup effect of calculating on the GPU platform in solving the optimization model of the larger scale distribution network. As shown in <xref ref-type="fig" rid="F12">Figure&#x20;12</xref>, in the optimization model of the larger scale distribution network, increasing the population size can also improve the convergence speed of the algorithm. Consider the IEEE 118-bus system contains more buses than the IEEE 33-bus system, the maximal size of population is set to 20,000 as shown in <xref ref-type="fig" rid="F12">Figure&#x20;12</xref> to improve the convergence performance. The results of the population size under 20,000 is marked as the line with rhombus. When the population size is 20,000, binary (discrete) type variables of the result can converge to a unique solution, and the maximum standard deviation of the continuous variables is only 0.011. When the population size is 50, the binary (discrete) type variables cannot complete convergence, and the maximum standard deviation of continuous variables is 0.137. The results of control variables of CBs installed at bus 54, 62, 76, 105, and 113 are 11, 13, 4, 10, and 10, respectively. The output reactive power of D-STATCOMs installed at bus 25, 75, 85, 91, and 111 are 0.32MVar, 0.23MVar, 0.17MVar, 0.36MVar 0.18MVar, and 0.44MVar, respectively. <xref ref-type="table" rid="T2">Table&#x20;2</xref> also shows in the IEEE 118-bus system, the calculation time for different population sizes on the CPU and GPU platforms. It can be seen that in the IEEE 118-bus system, the speedup effect was further improved, and the speedup ratio reached 247&#x20;times when the population size was 20,000. The results show that the effect of speedup in solving the optimization model of a larger scale distribution network will be more powerful.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Comparison of consequence speeds with different population size in IEEE 118-bus system.</p>
</caption>
<graphic xlink:href="fenrg-10-843241-g012.tif"/>
</fig>
<p>Finally, <xref ref-type="table" rid="T3">Table&#x20;3</xref> shows the bus voltage comparison of the critical loads before and after optimization. By dispatching the voltage regulation devices, the voltages of the critical loads are increased, which guarantees the stable and secure operation of the critical loads. Meanwhile, the active power loss of the system was reduced. The active power loss of the IEEE 33-bus system was reduced from 0.2056 to 0.1353 MW, which is a decrease of 34.14%. The active power loss of the IEEE 118-bus system was reduced from 1.289 to 0.9236 MW, which is a decrease of 28.34%.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>The voltage comparison of the critical loads before and after optimization.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Test system</th>
<th align="center">Critical load node</th>
<th align="center">Node voltage before optimization (p.u.)</th>
<th align="center">Node voltage after optimization (p.u.)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="5" align="left">IEEE 33-bus</td>
<td align="char" char=".">11</td>
<td align="char" char=".">0.928</td>
<td align="char" char=".">0.954</td>
</tr>
<tr>
<td align="char" char=".">15</td>
<td align="char" char=".">0.917</td>
<td align="char" char=".">0.944</td>
</tr>
<tr>
<td align="char" char=".">21</td>
<td align="char" char=".">0.992</td>
<td align="char" char=".">0.994</td>
</tr>
<tr>
<td align="char" char=".">27</td>
<td align="char" char=".">0.945</td>
<td align="char" char=".">0.962</td>
</tr>
<tr>
<td align="char" char=".">33</td>
<td align="char" char=".">0.917</td>
<td align="char" char=".">0.948</td>
</tr>
<tr>
<td rowspan="5" align="left">IEEE 118-bus</td>
<td align="char" char=".">35</td>
<td align="char" char=".">0.934</td>
<td align="char" char=".">0.955</td>
</tr>
<tr>
<td align="char" char=".">51</td>
<td align="char" char=".">0.915</td>
<td align="char" char=".">0.944</td>
</tr>
<tr>
<td align="char" char=".">71</td>
<td align="char" char=".">0.884</td>
<td align="char" char=".">0.911</td>
</tr>
<tr>
<td align="char" char=".">95</td>
<td align="char" char=".">0.946</td>
<td align="char" char=".">0.954</td>
</tr>
<tr>
<td align="char" char=".">111</td>
<td align="char" char=".">0.905</td>
<td align="char" char=".">0.932</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec sec-type="conclusion" id="s5">
<title>Conclusion</title>
<p>This paper proposes an optimization model for distribution networks to dispatch controllable operational resources, which aim to improve the resilience of the distribution networks after extreme natural events. A GPU-based parallelized GA method was proposed to solve the proposed MINLP type model for the operations. A large population size of the GA, and setting the value of the distributed index by two stages can improve the convergence quality and consequence speed of the GA. Meanwhile, the GPU can also accelerate solving of the fitness function of the GA method with large populations, which effectively reduces the excessive calculation time. Finally, case studies with IEEE 33-bus and 118-bus were carried out to show that the proposed GA method can be solved effectively and accelerated to enhance the resilience of distribution networks. The GPU platform can improve the calculation performance and facilitate GA algorithms to be applied in practical projects. Further work will consider adding the electrical vehicles to the optimization model, whose limited energy needs to be allocated on multiple time scales to achieve the best optimization results.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>LL-Original paper draft, PI of the support funding CL-Case studies, GA implementation.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This research was funded by National Natural Science Foundation of China, grant number 52077045 and Open Fund of State Key Laboratory of Operation and Control of Renewable Energy and Storage Systems (China Electric Power Research Institute, DG80-20-001).</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of Interest</title>
<p>Author CL was employed by the company Guangzhou Power Supply Bureau of Guangdong Power Grid Corporation.</p>
<p>The remaining author declares that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="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>Thanks to the discussions with Dr. Xuewei Pan and his suggestions on this&#x20;paper.</p>
</ack>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Baran</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>F. F.</given-names>
</name>
</person-group> (<year>1989</year>). <article-title>Optimal Sizing of Capacitors Placed on a Radial Distribution System</article-title>. <source>IEEE Trans. Power Deliv.</source> <volume>4</volume> (<issue>1</issue>), <fpage>735</fpage>&#x2013;<lpage>743</lpage>. <pub-id pub-id-type="doi">10.1109/61.19266</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>de la Calle</surname>
<given-names>F. J.</given-names>
</name>
<name>
<surname>Bulnes</surname>
<given-names>F. G.</given-names>
</name>
<name>
<surname>Garcia</surname>
<given-names>D. F.</given-names>
</name>
<name>
<surname>Usamentiaga</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Molleda</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>A Parallel Genetic Algorithm for Configuring Defect Detection Methods</article-title>. <source>IEEE Latin Am. Trans.</source> <volume>13</volume> (<issue>5</issue>), <fpage>1462</fpage>&#x2013;<lpage>1468</lpage>. <pub-id pub-id-type="doi">10.1109/tla.2015.7112003</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Deeb</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Shahidehpour</surname>
<given-names>S. M.</given-names>
</name>
</person-group> (<year>1990</year>). <article-title>Linear Reactive Power Optimization in a Large Power Network Using the Decomposition Approach</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>5</volume> (<issue>2</issue>), <fpage>428</fpage>&#x2013;<lpage>438</lpage>. <pub-id pub-id-type="doi">10.1109/59.54549</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Delfanti</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Granelli</surname>
<given-names>G. P.</given-names>
</name>
<name>
<surname>Marannino</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Montagna</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2000</year>). <article-title>Optimal Capacitor Placement Using Deterministic and Genetic Algorithms</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>15</volume> (<issue>3</issue>), <fpage>1041</fpage>&#x2013;<lpage>1046</lpage>. <pub-id pub-id-type="doi">10.1109/59.871731</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Enacheanu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Raison</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Caire</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Devaux</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Bienia</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>HadjSaid</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Radial Network Reconfiguration Using Genetic Algorithm Based on the Matroid Theory</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>23</volume> (<issue>1</issue>), <fpage>186</fpage>&#x2013;<lpage>195</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2007.913303</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.-C.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Resilience-Oriented Critical Load Restoration Using Microgrids in Distribution Systems</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>7</volume> (<issue>6</issue>), <fpage>2837</fpage>&#x2013;<lpage>2848</lpage>. <pub-id pub-id-type="doi">10.1109/TSG.2016.2550625</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gonzalez Bulnes</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Usamentiaga</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Fernando Garcia</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Molleda</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>A Parallel Genetic Algorithm for Optimizing an Industrial Inspection System</article-title>. <source>IEEE Latin Am. Trans.</source> <volume>11</volume> (<issue>6</issue>), <fpage>1338</fpage>&#x2013;<lpage>1343</lpage>. <pub-id pub-id-type="doi">10.1109/tla.2013.6710381</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Grudinin</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Reactive Power Optimization Using Successive Quadratic Programming Method</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>13</volume> (<issue>4</issue>), <fpage>1219</fpage>&#x2013;<lpage>1225</lpage>. <pub-id pub-id-type="doi">10.1109/59.736232</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Harik</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Cant&#xfa;-Paz</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Goldberg</surname>
<given-names>D. E.</given-names>
</name>
<name>
<surname>Miller</surname>
<given-names>B. L.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>The Gambler&#x27;s Ruin Problem, Genetic Algorithms, and the Sizing of Populations</article-title>. <source>Evol. Comput.</source> <volume>7</volume> (<issue>3</issue>), <fpage>231</fpage>&#x2013;<lpage>253</lpage>. <pub-id pub-id-type="doi">10.1162/evco.1999.7.3.231</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Jaros</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Multi-GPU Island-Based Genetic Algorithm for Solving the Knapsack Problem</article-title>. In <conf-name>2012 IEEE Congress on Evolutionary Computation</conf-name>. <publisher-name>IEEE</publisher-name>, <fpage>1</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1109/cec.2012.6256131</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Features Extraction and Multi-Classification of sEMG Using a GPU-Accelerated GA/MLP Hybrid Algorithm</article-title>. <source>Xst</source> <volume>25</volume> (<issue>2</issue>), <fpage>273</fpage>&#x2013;<lpage>286</lpage>. <pub-id pub-id-type="doi">10.3233/xst-17259</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mahmud</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Hossain</surname>
<given-names>M. J.</given-names>
</name>
<name>
<surname>Pota</surname>
<given-names>H. R.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Voltage Variation on Distribution Networks with Distributed Generation: Worst Case Scenario</article-title>. <source>IEEE Syst. J.</source> <volume>8</volume> (<issue>4</issue>), <fpage>1096</fpage>&#x2013;<lpage>1103</lpage>. <pub-id pub-id-type="doi">10.1109/jsyst.2013.2265176</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mamandur</surname>
<given-names>K. R. C.</given-names>
</name>
<name>
<surname>Chenoweth</surname>
<given-names>R. D.</given-names>
</name>
</person-group> (<year>1981</year>). <article-title>Optimal Control of Reactive Power Flow for Improvements in Voltage Profiles and for Real Power Loss Minimization</article-title>. <source>IEEE Power Eng. Rev.PER-</source> <volume>PER-1</volume> (<issue>7</issue>), <fpage>29</fpage>&#x2013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1109/mper.1981.5511679</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohamed</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Proactive Resilience of Power Systems against Natural Disasters: A Literature Review</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>163778</fpage>&#x2013;<lpage>163795</lpage>. <pub-id pub-id-type="doi">10.1109/access.2019.2952362</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nicholson</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>H. Sterling</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>1973</year>). <article-title>Optimum Dispatch of Active and Reactive Generation by Quadratic Programming</article-title>. <source>IEEE Trans. Power Apparatus Syst.</source> <volume>PAS-92</volume> (<issue>2</issue>), <fpage>644</fpage>&#x2013;<lpage>654</lpage>. <pub-id pub-id-type="doi">10.1109/tpas.1973.293768</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Panteli</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mancarella</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Influence of Extreme Weather and Climate Change on the Resilience of Power Systems: Impacts and Possible Mitigation Strategies</article-title>. <source>Electric Power Syst. Res.</source> <volume>127</volume>, <fpage>259</fpage>&#x2013;<lpage>270</lpage>. <pub-id pub-id-type="doi">10.1016/j.epsr.2015.06.012</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Panteli</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mancarella</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>The Grid: Stronger, Bigger, Smarter?: Presenting a Conceptual Framework of Power System Resilience</article-title>. <source>IEEE Power Energ. Mag.</source> <volume>13</volume> (<issue>3</issue>), <fpage>58</fpage>&#x2013;<lpage>66</lpage>. <pub-id pub-id-type="doi">10.1109/MPE.2015.2397334</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Queiroz</surname>
<given-names>L. M. O.</given-names>
</name>
<name>
<surname>Lyra</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Adaptive Hybrid Genetic Algorithm for Technical Loss Reduction in Distribution Networks under Variable Demands</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>24</volume> (<issue>1</issue>), <fpage>445</fpage>&#x2013;<lpage>453</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2008.2009488</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Swarup</surname>
<given-names>K. S.</given-names>
</name>
<name>
<surname>Yamashiro</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Unit Commitment Solution Methodology Using Genetic Algorithm</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>17</volume> (<issue>1</issue>), <fpage>87</fpage>&#x2013;<lpage>91</lpage>. <pub-id pub-id-type="doi">10.1109/59.982197</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Topa</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Karwowski</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Noga</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Using GPU with CUDA to Accelerate MoM-Based Electromagnetic Simulation of Wire-Grid Models</article-title>. <source>Antennas Wirel. Propag. Lett.</source> <volume>10</volume>, <fpage>342</fpage>&#x2013;<lpage>345</lpage>. <pub-id pub-id-type="doi">10.1109/LAWP.2011.2144557</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Topa</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Noga</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Karwowski</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Adapting MoM with RWG Basis Functions to GPU Technology Using CUDA</article-title>. <source>Antennas Wirel. Propag. Lett.</source> <volume>10</volume>, <fpage>480</fpage>&#x2013;<lpage>483</lpage>. <pub-id pub-id-type="doi">10.1109/LAWP.2011.2154373</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tsutsui</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Fujimoto</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Solving Quadratic Assignment Problems by Genetic Algorithms with GPU Computation: a Case Study</article-title>. In <conf-name>Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference: Late Breaking Papers</conf-name>, <fpage>2523</fpage>&#x2013;<lpage>2530</lpage>. </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Utkarsh</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Blonsky</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Padullaparti</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Balamurugan</surname>
<given-names>S. P.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A Network-Aware Distributed Energy Resource Aggregation Framework for Flexible, Cost-Optimal, and Resilient Operation</article-title>. <source>IEEE Trans. Smart Grid</source>, <fpage>1</fpage>. <comment>(early acess)</comment>. </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Impact of the PV Location in Distribution Networks on Network Power Losses and Voltage Swings with PSO Analysis</article-title>. <source>CSEE J.&#x20;Power Energ. Syst.</source>, <fpage>1</fpage>. <comment>(early acess)</comment>. </citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Baldick</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Research on Resilience of Power Systems under Natural Disasters-A Review</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>31</volume> (<issue>2</issue>), <fpage>1604</fpage>&#x2013;<lpage>1613</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrs.2015.2429656</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xing Chen</surname>
<given-names>Xing.</given-names>
</name>
<name>
<surname>Xiao-Bang Xu</surname>
<given-names>Kama.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Xiao-Bang.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>Automated Design of a Three-Dimensional Fishbone Antenna Using Parallel Genetic Algorithm and NEC</article-title>. <source>Antennas Wirel. Propag. Lett.</source> <volume>4</volume>, <fpage>425</fpage>&#x2013;<lpage>428</lpage>. <pub-id pub-id-type="doi">10.1109/lawp.2005.859384</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>
