*Article* **Optimized Economic Load Dispatch with Multiple Fuels and Valve-Point Effects Using Hybrid Genetic–Artificial Fish Swarm Algorithm**

**Abdulrashid Muhammad Kabir 1,†, Mohsin Kamal 2,† , Fiaz Ahmad 3,† , Zahid Ullah 4,\* ,† , Fahad R. Albogamy 5,† , Ghulam Hafeez 6,† and Faizan Mehmood 7,\* ,†**


**Abstract:** Economic Load Dispatch (ELD) plays a pivotal role in sustainable operation planning in a smart power system by reducing the fuel cost and by fulfilling the load demand in an efficient manner. In this work, the ELD problem is solved by using hybridized robust techniques that combine the Genetic Algorithm and Artificial Fish Swarm Algorithm, termed the Hybrid Genetic–Artificial Fish Swarm Algorithm (HGAFSA). The objective of this paper is threefold. First, the multi-objective ELD problem incorporating the effects of multiple fuels and valve-point loading and involving higher-order cost functions is optimally solved by HGAFSA. Secondly, the efficacy of HGAFSA is demonstrated using five standard generating unit test systems (13, 40, 110, 140, and 160). Finally, an extra-large system is formed by combining the five test systems, which result in a 463 generating unit system. The performance of the developed HGAFSA-based ELD algorithm is then tested on the six systems including the 463-unit system. Annual savings in fuel costs of \$3.254 m, \$0.38235 m, \$2135.7, \$9.5563 m, and \$1.1588 m are achieved for the 13, 40, 110, 140, and 160 standard generating units, respectively, compared to costs mentioned in the available literature. The HGAFSA-based ELD optimization curves obtained during the optimization process are also presented.

**Keywords:** artificial fish swarm algorithm; economic load dispatch; genetic algorithm; hybrid genetic –artificial fish swarm algorithm; multi-objective optimization; sustainable power generating system

### **1. Introduction**

Modern power systems around the world are becoming increasingly complex, with interconnections and varying load demands. There is an emergent need for power systems to be sustainable, reliable, low-cost, smarter, and cleaner, which would allow the broad participation of end users for energy generation and consumption and the management of loads by intelligent devices [1]. With this changing outlook, Economic Load Dispatch (ELD) is needed due to the lack of energy resources, increased power generation costs, and environmental concerns. In the actual scenario, the power plants are not equidistant from the load and there is no similar fuel cost function. Therefore, in order to provide cheaper

**Citation:** Kabir, A.M.; Kamal, M.; Ahmad, F.; Ullah, Z.; Albogamy, F.R.; Hafeez, G. and Mehmood, F. Optimized Economic Load Dispatch with Multiple Fuels and Valve-Point Effects Using Hybrid Genetic– Artificial Fish Swarm Algorithm. *Sustainability* **2021**, *13*, 10609. https:// doi.org/10.3390/su131910609

Academic Editors: Sheraz Aslam, Herodotos Herodotou and Nouman Ashraf

Received: 9 August 2021 Accepted: 20 September 2021 Published: 24 September 2021

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

power, loads must be distributed to various power plants to minimize power generation costs. A practical economic dispatch (ED) problem has a highly nonlinear objective function with equality and inequality constraints. The ELD problem is solved using conventional methods such as lambda iteration, gradient methods, and non-conventional methods (heuristic methods). However, these technologies may not provide optimal solutions to find a global optimal solution as they require a piecewise linear and monotonically increasing incremental fuel cost curve. Optimal economic operation and planning of sustainable power generation systems is a very important pillar in the power industry [2]. ELD also refers to the operation of a power generation facility that produces energy at the lowest cost in order to recognize operational limitations of power generation facilities and provide reliable services to consumers. ELD schedules the output of available power generation units at specific times to minimize overall production costs while satisfying equality and inequality constraints [3]. Before 1973, due to the oil embargo measures that led to a sharp rise in fuel prices, utility companies spent around 20% of their total revenue on fuel for the generation of electric energy [4]. By 1980, this figure had increased to over 40% of the total revenue. In the five years following 1973, the fuel cost for electric utilities in the United States increased by 25% per year. Due to the fact that fuel is an irreplaceable natural resource, the efficient use of available fuels is of increasing importance [5].

Table 1 shows the parameters and assumptions for a moderately large power system [2]. The idea of size of money was obtained by considering the annual operation cost of a large utility for purchasing fuel. This cost reveals the direct requirement for customers' income to be an average of 3.15 cents/kWh, targeted for recovering fuel costs. Savings in the operation of a small part of the system refer not only to the amount of fuel consumed but also to the substantial reduction in operating costs. Therefore, this field has gained tremendous attention from engineers for many years. However, a regular change in the basic fuel price level plays the role of emphasizing the problem and enhancing its economic significance. Inflation also poses problems in developing economic operational techniques, methods, and examples of power generation systems [6]. Moreover, the rapid increase in the size and power demand of power systems resulted in reduced operating costs while maintaining the thermal limitations of voltage security and transmission line branching. Many mathematical programming and artificial intelligence techniques, such as GA-based ELD, Particle Swarm Optimization (PSO)-based ELD [7,8], ELD based on dynamic programming and evolutionary programming, and hybrid GA–PSO-based ELD, are applied to solve the aforementioned problem. In the most common formulation, the ELD problem is modeled as a large-scale, non-convex, nonlinear, static optimization problem in both discrete and continuous control variables [9].


**Table 1.** Parameters and assumptions for total annual fuel cost.

Many researchers [6–9] have modeled the nonlinear, convex nature of ELD problems using pure quadratic functions, with the quadratic coefficients (a, b, and c) defined at the start of the solution search process. Meanwhile, research work [10] developed realistic models to incorporate the effect of multiple fuel cost functions and valve-point loading into the formulation of the ELD problem. For example, the authors in [8] employed PSO with the BAT algorithm for solving ELD problems considering inspired acceleration coefficients. In [9], the authors analyzed the generating unit profiles of various distributed generation

systems of different technologies. The energy loss was minimized for a distribution system with a mix of renewable energy resources using optimization techniques [10]. The authors in [11] proposed dynamic ELD in a sustainable power system using an accurate forecasting model and improved salp-swarm optimizer considering PV, energy storage, the power system, and various constraints of generating units. In [12], the authors proposed a combined dispatch strategy (load following and cycle charging) for the energy management and optimal operation of a hybrid energy system. A gradient-based optimizer inspired by the Newton technique was used for solving the ELD problem considering the valve-point effect [13]. The authors in [14] proposed a teaching–learning optimization for dynamic ELD of wind energy and load demand uncertainties considering various operation constraints. Most of the research works utilized various optimization techniques to minimize the fuel costs, reduce environmental concerns, and ensure dynamic ELD. In this regard, this work proposes a hybrid optimization technique to achieve the aforementioned objectives.

The key contribution of this work is to address the ELD problem by developing a more realistic model and by considering the effects of valve-point loading and multiple fuel cost functions. A multi-objective optimization problem is formulated that minimizes the fuel cost of generating units and the amount of nitrogen-bearing (NOx) gases emitted by the generating units during their operation. Therefore, there is an emergent need to employ robust techniques to provide a reliable solution to the aforementioned complex optimization problem. Some have used heuristic techniques in an attempt to solve the abovementioned optimization technique to some extent, but this did not provide guaranteed efficient solutions. In order to provide a reliable and efficient solution, a hybridization of two conventional heuristic techniques (GA and AFSA), called HGAFSA, is proposed in order to solve the complex multi-objective optimization problem. HGAFSA is applied to solve a multi-objective ELD problem considering the effects of multiple fuel cost functions and valve-point loading. The effectiveness of the proposed approach is demonstrated using five standard generating unit test systems (13, 40, 110, 140, and 160) and a 463 generating unit system formed by the combination of the five systems, and the results are compared with the best results presented in the literature. The choice of GA and AFSA is based on the following factors: (a) GA is a heuristic technique with a well-defined set of search equations that is effective in solving problems such optimal sizing and location of capacitor banks and distributed generators [15], optimal power flow [16], optimal location of tie and sectionalizing switches in distribution systems, and optimal network expansion [17], and (b) AFSA is a relatively new heuristic technique based on well-refined and sophisticated solution search equations and is widely applied in controller design, optimal PID tuning, and objective function minimization/maximization [18].

The major contributions of this work to the existing body of knowledge are summarized as follows:


The remainder of the paper is organized as follows. Section 2 formulates the ELD problem. The formulation of the proposed HGAFSA is presented in Section 3. Section 4 provides the performance validation and simulation settings of the proposed system. The paper concludes with a brief summary and future directions in Section 5.

#### **2. Formulation of ELD**

The purpose of the ELD problem is to find an optimal combination of power generation that meets the constraints of equality and inequality while minimizing the total power generation cost. The fuel cost curve for any unit is an approximation of the quadratic function segment of the generator's active power output by assumption [19].

#### *2.1. The Cost Function*

Cost function is a financial term used by a company's economists and managers as a way to express how different costs differ under different circumstances. This shows how to display monetary output. Changes in the level of activities related to these outputs will change rates and fees from overhead and operating expenses [19]. The linear cost function has three basic types:


In mixed environments, costs are fixed to specific points, which can be changed based on related activities. Analysts use this type of function to make important predictions about the market and to inform various decision-making tasks [19]. For a given network of power generating units, a set of cost functions are usually defined based on the mixed function types to account for the operational cost of each generating unit. Conventionally, the quadratic form of the cost functions is most widely used [20]. A quadratic cost function is a mixed cost function that partly comprises a single fixed cost function (represented by a fixed coefficient, e.g., *a*) and two variable cost functions (represented by products of coefficients *b* and *c*, and functions of output power *P* and *P* 2 ). For a network of *n* generating units, the overall cost function (*FT*) of the system is a summation of the *n* individual cost functions [*F*(*P*1), *F*(*P*2). . . , *F*(*Pn*−1), *F*(*Pn*)] of the various units in the system. This can be simply represented by Equation (1). An ELD problem is an optimization problem that is aimed at minimizing the *F<sup>T</sup>* subject to a set of operating constraints [21].

$$F\_T = \sum\_{i=1}^{n} F(P\_i) = \sum\_{i=1}^{n} a\_i + b\_i P\_i + c\_i P\_i^2 \,. \tag{1}$$

In general, *F<sup>T</sup>* is used to represent the fuel or emission cost (\$/hr) depending on the values of the coefficients (*a<sup>i</sup>* , *b<sup>i</sup>* and *c<sup>i</sup>* ) used [21]. In order to ensure proper operation of the network of generating units, it is essential to ensure that a set of useful constraints are satisfied. These constraints include the generator capacity (inequalities) and active power balance (equality) constraints given in Equations (2) and (3), respectively [21].

$$P\_{\text{i,min}} \le P\_{\text{i}} \le P\_{\text{i,max}} \text{ for } \text{i} = 1, 2, \dots, n \text{ }, \tag{2}$$

where *Pi*,*min* and *Pi*,*max* are the minimum and maximum power output of the ith unit.

$$P\_D = \sum\_{i=1}^{n} P\_{\text{i}} - P\_{\text{Loss}} \,. \tag{3}$$

where *P<sup>D</sup>* is the total power demand and *PLoss* is the total transmission loss. The transmission loss *PLoss* can therefore be calculated by using the B matrix technique and is defined by Equation (4) as follows [21]:

$$P\_{\rm Loss} = \sum\_{i=1}^{n} \sum\_{j=1}^{n} P\_i B\_{ij} P\_j \,\,\,\,\,\tag{4}$$

where *Bijs* are the elements of loss coefficient matrix B. The cost function defined by *F<sup>T</sup>* in Equation (1) assumes a smooth quadratic fuel cost function without the valve-point loadings of the generating units (where the valve-point effects are ignored). The generating units with multi-valve steam turbines exhibit greater variation in the fuel cost functions. Since the valve point results in ripples, a cost function with higher-order nonlinearity will result. Therefore, the function *F*(*Pi*) in Equation (1) can be replaced by Equation (5) to account for the valve-point effects [22]. Conventionally, sinusoidal functions are often added to the quadratic cost function to account for the valve-point effect, as given in Equation (5).

$$F(P\_{\bar{l}}) = a\_{\bar{l}} + b\_{\bar{l}}P\_{\bar{l}} + c\_{\bar{l}}P\_{\bar{l}}^2 + \left| e\_{\bar{l}} \times \sin(f\_{\bar{l}} \times (P\_{\bar{l},\text{min}} - P\_{\bar{l}})) \right| \,. \tag{5}$$

where *ei* and *f<sup>i</sup>* are the cost coefficients of the *ith* unit with valve-point effects. In general, the cost coefficients *ei* and *f<sup>i</sup>* are introduced as in Equation (5) to model the valve-point loadings. Similarly, Equation (5) can be used to represent either the fuel or emission cost (\$/hr) depending on the values of the coefficients (*a<sup>i</sup>* , *b<sup>i</sup>* , *c<sup>i</sup>* , *ei* , and *f<sup>i</sup>* ) that are used. Finally, Equation (5) also represents the proposed higher-order cost function considering the valvepoint loading effect. In practical situations, generating units are made up of subunits. These subunits combine to give rise to the overall installed capacity of the unit. Most units are designed to operate using more than one fuel type, particularly in the case in which there is great fluctuation in the price and availability of the dominant fuel types [19]. In the case of moderately large units, a combination of the available fuel types may be used to cover the power demand over the specified period of time. This type of scenario introduces greater nonlinearity into the overall fuel cost function. Therefore, the fuel cost function of such a system can be modeled using a multiple fuel cost function, which is only defined for a particular range of power output within the specified maximum and minimum power generation. Considering both the valve-point loading effect and multiple fuels, the cost function of the system may easily be represented using Equation (6) [19].

$$\begin{aligned} F(P\_i) &= \\ a\_{i1} + b\_{i1}P\_i^2 + c\_{i1}P\_i^2 + |e\_{i1} \times \sin(f\_{i1} \times (P\_{i1,min} - P\_{i1}) | Fuel1: P\_i^m in \le P\_i \le P\_{i1} \\ a\_{i2} + b\_{i2}P\_i^2 + c\_{i2}P\_i^2 + |e\_{i2} \times \sin(f\_{i2} \times (P\_{i2,min} - P\_{i2}) | Fuel2: P\_i^m in \le P\_i \le P\_{i2} \\ a\_{ik} + b\_{ik}P\_i^2 + c\_{ik}P\_i^2 + |e\_{ik} \times \sin(f\_{ik} \times (P\_{ik,min} - P\_{ik}) | Fuel3: P\_{ik-1}^{min} \le P\_i \le P\_{ik}^{max} \end{aligned} \tag{6}$$

#### *2.2. Artificial Fish Swarm Algorithm*

AFSA guarantees a global optimum in solution search problems [23], which is of great importance in artificial intelligence to perform behavioral modeling. Consider a swarm consisting of N artificial fishes and a state vector *X* = (*x*1, *x*2, ...*xn*), where *n* states or attributes of the artificial fish are to be optimized via the AFSA algorithm. In addition, suppose that *Y* = *f*(*X*) represents the objective function giving the food concentration of the artificial fish at the current position, and let *Dij* = ||*X<sup>i</sup>* − *X<sup>j</sup>* || be used to describe the distance between artificial fishes *i* and *j*. Other important parameters for the artificial fish, including its vision field, maximum step for motion, the congestion factor, and maximum attempts in each praying, are also taken into account and are expressed as visual, step, *δ*, and try number, respectively. For better results, the congestion factor is used to constrain the size of the artificial swarm [5]. The behavior of the artificial fish is described next as praying, swarm, and chasing.

#### 2.2.1. Praying

If the artificial fish is currently in state *X<sup>i</sup>* , in order to carry out praying, then it must select another state, e.g., *X<sup>j</sup>* , that is located within its visual field. Afterwards, the search for a minimal solution is continued until *Y<sup>i</sup>* ≥ *Y<sup>j</sup>* ; if this is the case, praying is completed by moving one step in the direction taken. However, if *Yi* ≤ *Yj*, another state *X<sup>j</sup>* must be reselected from the visual field randomly to analyze whether it can move forward based on a certain forwarding condition. This procedure is repeated for try-number times, and if the forward motion condition is still not satisfied, it will take one step in a random direction. Mathematically, this can be expressed as given in Equation (7);

$$\begin{aligned} \mathbf{x}\_{i-\text{next}-k} &= \mathbf{x}\_{i \to k} + \frac{\mathbf{x}\_{jk} - \mathbf{x}\_{ik}}{||\mathbf{X}\_{j} - \mathbf{X}\_{i}||} \ast random(step) & \mathbf{Y}\_{j} > \mathbf{Y}\_{i} \\ \mathbf{x}\_{i-\text{next}-k} &= \mathbf{x}\_{i \to k} + random(step) & \mathbf{Y}\_{j} \le \mathbf{Y}\_{i} \end{aligned} \tag{7}$$

where *k* = 1, 2...*n*, *xij* represents the *k*th element of *X<sup>i</sup>* , which is the current state of the artificial fish; *xjk* is the *k*th element of *X<sup>j</sup>* , which is the state of the artificial fish after random movement, and *xi*−*next*−*<sup>k</sup>* represents the *<sup>k</sup>*th element of *xi*−*next*, which is the next state of the artificial fish. Similarly, *Y<sup>i</sup>* and *Y<sup>j</sup>* are the values of the objective function of the current state and that after a random movement, respectively, and random(step) represents a random number selected from the range defined by [0 step].

#### 2.2.2. Swarm

In the swarming process, the fish has the natural ability to share food and avoid any distraction that is encountered. Suppose that the current state of the artificial fish is given by *X<sup>j</sup>* , and the total number of other fishes in its vision domain is denoted by *n*. Now, if *n<sup>f</sup>* = 0, this should mean that the visual domain of the given artificial fish is empty, so it is time to implement praying. However, if *n<sup>f</sup>* ≥ 0, this means that there are other companion fishes present in its vision domain, and it must start searching the central position *X<sup>c</sup>* (i.e., center between the present fishes) of its companions according to Equation (8) [24].

$$X\_{ck} = \frac{(\sum\_{j=1}^{n\_f} x\_{jk})}{n\_f} \,\,\,\,\,\tag{8}$$

where *X<sup>c</sup>* represents the central position of the artificial fish among other fishes, *Xck* gives the *k*th element of *Xc*, and *Xjk* denotes the *k*th element of the vector of *j*th companion j = (1, 2, ... , n). The calculation of the food concentration of the artificial fish at the central position, given by *Yc*, is the objective function with the constraint of *Y<sup>c</sup> nf Yi* > 1. If the central position is less congested and safer, the artificial fish must move towards this position using Equation (9); otherwise, praying is implemented [24].

$$\mathbf{x}\_{i-next-k} = \mathbf{x}\_{i \to k} + \frac{\mathbf{x}\_{ck} - \mathbf{x}\_{ik}}{||\mathbf{X}\_c - \mathbf{X}\_i||} \ast random(step) \,. \tag{9}$$

#### 2.2.3. Chasing

In an artificial fish swarm, when fishes are in search of food, neighboring partners have the natural ability to trace and reach food more quickly. Suppose that *X<sup>i</sup>* denotes the current state of the artificial fish and *n* denotes the total number of companions in its visual field. Now, if *n<sup>f</sup>* = 0, this shows that the visual field of the artificial fish is empty; therefore, praying should be implemented. However, if *n<sup>f</sup>* ≥ 1, this indicates that some companions do exist in its visual field; therefore, it should search and find a companion with a minimum value of the corresponding function *Xmax*. Then, the constraint is checked, i.e., *Ymax nf Yi* > 1; if it is valid, this means that the fitness value of the corresponding companion is small and it is not congested; thus, Equation (10) is implemented; otherwise, praying is implemented [24].

$$\mathbf{x}\_{i \to next-k} = \mathbf{x}\_{i \to k} + \frac{\mathbf{x}\_{\max, k} - \mathbf{x}\_{ik}}{||\mathbf{X}\_{\max} - \mathbf{X}\_{i}||} \ast random(step) \,. \tag{10}$$

where *xmax*,*<sup>k</sup>* gives the *k*th element of state vector *Xmax*.

#### *2.3. Genetic Algorithm*

Genetic algorithm (GA) is an optimization algorithm that simultaneously works on several solutions (also called population), as opposed to other optimization methods that work on one solution at a time [25,26]. It is an iterative optimization algorithm and comprises several steps, briefly described below.

#### 2.3.1. Reproduction

The foremost operation on a population is called reproduction, which establishes a mating pool by the selection of good strings from a population. The mating pool is fed with duplicate copies of the good strings, i.e., above average strings. Proportionate selection of strings from the present population is the most common operation in the reproduction process, where each string is selected based on its fitness probability. Hence, an *i*th string is selected with a fitness probability of *e<sup>i</sup>* . The cumulative probability of all the strings in a population is always '1' because the population size in GA is normally fixed. The fitness probability of *i*th string is given as *<sup>f</sup> i* ∑ *N j*=1 *f j* . N represents the size of the population.

In [27], the authors have presented a method for achieving a proportionate selection using a roulette wheel, where the circumference for every string is marked exactly according to its fitness.

#### 2.3.2. Crossover

Crossover is the next operation applied to the string of the mating pool after the reproduction operation. In this operation, two strings are selected randomly from the mating pool and some of their portions are exchanged. For instance, in a single point crossover operation, two new strings are produced by swapping the right-side portions of two strings after cutting these at arbitrary places, as presented in [15].

A better child string can be produced by combining good sub-strings from either parent if a suitable site is selected, which is usually selected randomly since the suitability of a site is not always known [15]. However, it must be noted that the random selection of a site does not make the search process random. If a single-point crossover is applied to two 1-bit strings from either parent, at most, different strings can be found as a solution in the given search space. With the selection of a random site, 2*<sup>i</sup>* children strings are produced. These strings may or may not contain good sub-strings from parent strings, which depends on the selection of an appropriate site. This aspect is of little interest as, if the crossover operation fails to produce good strings, the reproduction operation will produce more copies in the following mating pool. In a similar way, with a two-point crossover operation, two sites are chosen randomly. A multi-point crossover operation can be carried out in a similar fashion, and this extension is usually called the uniform crossover operator.

For a case of binary strings, the uniform crossover operation is applied by selecting from either parent every bit with a probability of 0.5 [15]. The major purpose of the crossover operation is the search of the parameter space and the preservation of the information from parent strings since these are labeled as good strings after due selection by the reproduction operation. Maximum information is transferred or preserved from parent to child strings with a single-point crossover operator search as opposed to that of the uniform crossover operator, where the search is extensive but the information preservation form parent to child is minimal. For a crossover probability of *Pc*, the crossover operation is applied to 100*Pc*% of the strings in the population and the remaining strings, i.e., 100(1−*Pc*)% are transferred to a new population [15].

#### 2.3.3. Mutation

In genetic algorithms, search procedures are normally carried out with the crossover operator. However, a mutation operation may also be used sometimes for this purpose, which uses certain mutation probability *Pm*, to change a 1 to 0 and vice versa. The detailed process of mutation is explained in [15] where a new solution is created after a change in the value of the fourth gene. The mutation operation is necessary to diversify the

population, which can be demonstrated with the above example, where a long string of zeros occurs, and a 1 is required to obtain a new solution that is more optimal or near to optimal. Mutation is also helpful in improving a local solution.

#### **3. Formulation of Hybrid Genetic–Artificial Fish Swarm Algorithm**

The proposed HGAFSA is designed based on the available parameter dredging steps present in the conventional GA and AFSA. However, each of the separate algorithms (GA and AFSA) is assumed to be composed of three major steps, as described below.

	- (a) Reproduction;
	- (b) Crossover;
	- (c) Mutation.
	- (a) Praying;
	- (b) Swarming;
	- (c) Chasing.

The mathematical formulation of these steps has been described in Section 2. The proposed HGAFSA is a logical combination of the six steps listed above. It is worth noting that the GA uses a binary operation on a set of binary codes known as chromosomes, which further comprise gins, whereas the AFSA uses real numbers ranging between zero and one as the parameters of the so-called artificial fish. As such, a decoder function and an encoder function are required to serve as converters from GA to AFSA and vice versa. These functions are intended to decode binary code into real numbers and later encode real numbers into binary.

#### *3.1. Decoder Function*

The decoder function takes in four parameters as inputs and generates a decoded version of the main parameter as the output. Here, the main parameter is the chromosome (*X*), whereas the remaining three parameters are:


The steps involved in decoding a single chromosome can be described using Algorithm 1.


Using the decoder function, a vector *X* with *p* × *Nbits* elements is decoded into a vector *Xdecoded* with *p* elements. As an illustration, consider *X* = [110110110111011110111011111011], if *xmin* = 0 and *xmax* = 1, let *Nbits* = 6. Algorithm 1 yields = [0.8571 0.8730 0.4762 0.9365 0.9365]. In the proposed HGAFSA, once any of the GA steps is executed, the resulting output/population must be decoded before their respective fitnesses can be evaluated. Meanwhile, the resulting output/population from the AFSA steps are directly evaluated using the fitness function without being decoded.

#### *3.2. Encoder Function*

The encoder function is also written to counteract the effect of the decoder function presented in Algorithm 1. However, a reversed procedure is adopted based on Algorithm 1 (moving from step 7 to 1). Here, the decoder function is intended to generate chromosome (*X*) given its decoded version *Xdecoded*, *xmin*, *xmax* and *Nbits*. However, the encoder function formulation is omitted from this manuscript for brevity. Generally, it can be said that the decoder function converts a chromosome into a fish, whereas the encoder function converts a fish back into a chromosome. This can be further described using Figure 1. Furthermore, it is worth noting that both *X* and *Xdecoded* are kept for reference during the optimization process using the proposed HGAFSA. However, either *X* or *Xdecoded* is later discarded depending on which of the GA or AFSA steps perform better at a given generation and at a given step in the HGAFSA dredging process. At first, the entire population is stored as chromosomes. However, each chromosome is either left as a *X* or transformed into a fish *Xdecoded* depending on which of the HGAFSA steps (GA step or AFSA step) performs better.

**Figure 1.** Illustration of chromosome to fish conversion and vice versa.

#### *3.3. Population Update*

The proposed HGAFSA is composed of two unique algorithms (GA and AFSA) with completely different parameter dredging procedures. When one of the GA steps is executed on an encoded fish (chromosome), the resulting chromosome might be of poor fitness compared to the result if an AFSA step had been directly performed on the fish itself. However, this consequence might be reversed. Therefore, the population must be carefully updated for optimality and an improved convergence rate. Algorithm 2 further describes the population update procedure.

#### *3.4. Model of the Economic Load Dispatch Problem*

To solve the ELD problem using the proposed HGAFSA, a function is required to convert the random numbers generated by it into electrical power demand scheduled to the set generating units. Let *P* be a set of power to be generated by the available generating units forming the ELD problem. Let *Pmax* and *Pmin* be the maximum and minimum power allowable for each of the units, respectively. *N<sup>G</sup>* is the number of generating units. Then,

$$P = \left[P\_1 P\_2 P\_3 \dots P\_{N\_G - 2} P\_{N\_G - 1} P\_{N\_G}\right] \tag{11}$$

$$P\_{\max} = \left[P\_{\max,1}P\_{\max,2}...P\_{\max,N\_G-1}P\_{\max,N\_G}\right] \tag{12}$$

$$P\_{\rm min} = \left[P\_{\rm min,1}P\_{\rm min,2}...P\_{\rm min,N\_G-1}P\_{\rm min,N\_G}\right].\tag{13}$$

The next most important parameter of ELD problem formulation is the total power (*PT*) to be generated by the generating units to meet both the power demand and the power losses along the network. This can be described using the equality constraint as in Equation (14).

$$P\_T = P\_D + P\_L \,. \tag{14}$$

where *P<sup>D</sup>* is the total power demanded by the consumers and *P<sup>L</sup>* is the total power losses in the network. *P<sup>T</sup>* can also be expressed using Equation (15).

$$P\_T = \sum\_{i}^{N\_G} P\_i \,. \tag{15}$$

As described earlier, to evaluate the fitness of a population generated by HGAFSA, the population must be decoded into a fish (*Xdecoded*). However, this fish must be further converted into a real power demand *P*. To achieve this, let *Xdecoded* be replaced by *χ* having *p* elements, such that Equation (16) holds.

$$\chi = \mathfrak{x}\_1 \mathfrak{x}\_2 \mathfrak{x}\_3 \dots \mathfrak{x}\_{p-2} \mathfrak{x}\_{p-1} \mathfrak{x}\_p \ . \tag{16}$$

An ELD encoder function is developed to transform *χ* into an equivalent *P*. The overall process can be described using Figure 2.

**Figure 2.** Evaluating the fitness of a chromosome/fish.

An ELD encoder function is developed to transform *χ* into an equivalent *P*. The overall process can be described using Figure 2. The function *Fobj*,*ELD* is the objective function of the ELD problem. The ELD encoder function is given in Algorithm 3. The proposed ELD encoder has the advantage that no generating unit can generate below its minimum allowable generating limit. However, its generation may exceed the allowable maximum. To prevent this, steps 11 to 14 are added to Algorithm 3 to enforce the maximum limit constraint. Furthermore, in the developed ELD encoder, the power generation at any unit cannot be lower than the minimum allowable generation at that unit. This is because, in line 10 of the ELD encoder Algorithm, the addition of *Pmin*(*h*) enforces the lower limit constraint. However, the parameter *γ* can be greater than the upper limit at a particular generating unit due the presence of a rational function at the first part. The rational part of *γ* usually results in approximation, pushing its value beyond the maximum allowable limit. This phenomenon can be avoided by replacing *γ* with *Pmax*(*h*) when the upper limit is exceeded or using line 11 to 14 of Algorithm 3.

However, it can be observed from step 16 of Algorithm 3 that the proposed ELD encoder performs optimization during the encoding process. Therefore, it could be termed an optimal ELD encoder of order p. To further increase the performance of the proposed ELD encoder, the dimension of *X* can be extended for every given *χ* generated by the proposed HGAFSA. This extension is modeled in Equation (17).

$$\chi\_{\rm ext} = \left[ \chi\_{\prime} \left. \chi \right| (\sin(2\pi \chi))\_{\prime} \left. \chi \right| (\cos(2\pi \chi)) \left| \right| \right]. \tag{17}$$

With this extension, a new optimal ELD encoder of order 3×p can be formed by modifying steps 6 and 14 of the former optimal ELD encoder (order p) described earlier. This can be achieved using Equations (18) and (19), respectively.

$$par = [1, 2, 3, \dots, 3 \times p] \,, \tag{18}$$

$$s = \left[1, 2, 3, \ldots, 3 \times p\right].\tag{19}$$

Equation (17) can be used to boost the performance of HGAFSA by further exploring the solution search space. This is because, for every new set of possible solutions *χ*, two additional solution sets are also searched, i.e., *χ*<sup>1</sup> = *χ*|(*sin*(2*πχ*))| and *χ*<sup>2</sup> = *χ*|(*cos*(2*πχ*))|. Therefore, the probability that the optimal solution will lie within the three search spaces (*χ*, *χ*1, and *χ*2) must always be greater than or equal to the probability of the obtained optimal solution being within *χ* alone. As such, the performance of the original ELD encoder (which makes use of *χ* alone) will definitely improve. In the other hand, the ELD encoder of order 3 × *p* is of a higher rate of convergence than the original ELD encoder (with order *p*).


#### *3.5. The Proposed HGAFSA-Based Higher-Order ELD Algorithm*

The ELD problem is one of the power system analysis problems with a large number of possible solutions. However, such solutions form a set of local optimums. As the number of generating units increases, the possible solutions increase exponentially. As such, an algorithm that can deeply search into the solution domain is required to locate the global optimum solution. In this work, the HGAFSA optimization algorithm with high computation capability and a fast rate of convergence is developed for complex ELD problem solving. The flow chart for the proposed HGAFSA-based higher-order ELD problem solver is shown in Figure 3.

**Figure 3.** HGAFSA-based ELD algorithm.

#### **4. Performance Validation**

To demonstrate the effectiveness of the developed HGAFSA-based ELD problem solving algorithm, six test systems are designed. The developed algorithm is programmed in the MATLAB 2016a environment on a setup with 8 GB RAM and a 2.3 GHz Core I3 processing Computer running Windows 10.1.

A set of suitable parameters chosen for simulation analysis are listed in Table 2. To achieve the desired objective of outperforming all existing ELD algorithms in the literature, the best solution generated by HGAFSA is set as the starting point if it does not meet the desired goal. This process is repeated as far as the optimum cost is higher than the best cost presented in the literature so far.


**Table 2.** HGAFSA simulation parameter settings.

#### *4.1. Test System 1*

The proposed HGAFSA algorithm is tested for a 13 generating units (Gen. units) test system having a non-smooth fuel cost function with valve-point effect, and its effectiveness is demonstrated compared to that of the oppositional grey wolf optimization (OGWO) algorithm [28] for the mentioned test system. The system data, such as fuel cost coefficients and active power limit thresholds for different generators, are adopted from [29] and the power demand assumed for the given test system is 2.52 GW. The simulation results of the 13-unit system are comparatively analyzed in Table 3 for our proposed HGAFSA and other optimization algorithms, such as improved coordinated aggregation-based PSO [30], shuffled differential evolution (SDE), oppositional real-coded chemical reaction optimization (ORCCRO) [31], biogeography-based optimization (BBO), hybrid differential evolutionbased BBO (DE/BB) [32], and oppositional–invasive weed optimization (OIWO) [33]. The performance of HGAFSA is measured in terms of fuel cost (\$/h) and power loss (MW), compared to the mentioned optimization algorithms, in Table 3. The fuel cost of HGAFSA is lower (24,141.26 \$/h) compared to other algorithms. Comparatively, HGAFSA reduces the fuel cost of the generation system under consideration. Similarly, SDE and ORCCRO result in the same power loss (40.09 and 40.11) as HGAFSA (40.22), but lower than GWO, OGWO, and OIWO. Therefore, the reduced fuel cost and minimum power loss shown in Table 3 prove the efficacy of our proposed HGAFSA. Figure 4a shows the HGAFSAbased optimization curve. Figure 4a reveals that the algorithm converges at the thirteenth generation system to a cost of 24,141.2687 \$/h. This results in annual savings of \$3.253 m. Figure 4b presents the cumulative power generated by the units. In ELD, the power generated by each unit must lie within its maximum and the minimum allowable power output (upper and lower limits). Therefore, the power allocations must lie within this limit and the optimum power allocated to each unit (*P<sup>i</sup>* ) must lie within its limits. Finally, the cost functions of the various generating units influence the optimum power allocated the units and, thus, define the pattern of the 'optimum *P<sup>i</sup>* ' curves for each of the six test systems in this work. In general, the peak of the cumulative power curves can be described as follows.


**Table 3.** Comparison of results for 13-unit system.

(**b**)

**Figure 4.** HGAFSA optimization and optimal power allocation curves for 13 units. (**a**) Optimization curve; (**b**) cumulative power generated.


In the case of Figure 4b, *P peak <sup>i</sup>* = 25,604, *P peak min* = 550, and *P peak max* = 2960.

#### *4.2. Test System 2*

The performance of the proposed algorithm, HGAFSA, and OGWO is validated for a 40 generating unit test system, where the data for valve-point coefficients and 40 generating units are adopted from [34]. A total power demand of 10.5GW is assumed for the given system. The real power generation output and fuel cost are calculated for the 40-unit test system by various methods, such as HGAFSA, GWO, OGWO [28], SDE [31], ORC-CRO, quasi-oppositional teaching–learning-based optimization (QOTLBO) [35], hybrid ant colony–genetic algorithm (GAAPI) [36], and krill herd algorithm (KHA) [37], and are tabulated in Table 4. The HGAFSA appraoch results in a reduced fuel cost (136,396.9 \$/h) and minimum power loss (957.29 MW) compared to the approaches mentioned in Table 4. Figure 5a shows the HGAFSA-based optimization curve, which converges at the fiftyfirst generation to a cost of 136,396.9727 \$/h. This results in annual savings of \$382,350. Furthermore, Figure 5b shows that all generators satisfy their inequality constraints.

**Figure 5.** HGAFSA optimization and optimal power allocation curves for 40 units. (**a**) Optimization curve; (**b**) cumulative power generated.


**Table 4.** Comparison of results for 40-unit system.

#### *4.3. Test System 3*

This system comprises 110 generating units with quadratic cost function characteristics. A load demand of 15GW is assumed for this system, and other system data (fuel valve coefficients and active power thresholds) are obtained from [38]. The minimum fuel cost and generation capacity computed using HGAFSA and OIWO are tabulated in Table 5. The results show that HGAFSA provides efficient and cheap power generation compared to OIWO and other optimization algorithms mentioned in the literature. Figure 6a shows the HGAFSA-based optimization curve. The algorithm is truncated at the hundredth generation and at a cost of 197,988.892 \$/h. This results in annual savings of \$2135.69. The saving in cost is lower because of the narrow margins for some of the generating units, especially units 1 to 9, and the high cost of generation. Furthermore, Figure 6b shows that all generators satisfy their inequality constraints.

**Figure 6.** HGAFSA optimization and optimal power allocation curves for 110 units. (**a**) Optimization curve; (**b**) cumulative power generated.


#### **Table 5.** Comparison of results for 110 unit system.

#### *4.4. Test System 4*

In this scenario, a power system comprising 140 generating units is considered and the performance of the proposed HGAFSA algorithm is compared to OGWO, SDE, and OIWA. These results validate that HGAFSA outperforms all other methods in producing cheap power. The performance of both HGAFSA and OGWO is satisfactory but HGAFSA is significantly better than OGWO. The fuel costs are computed as 1,558,619 \$/h for HGAFSA and 1,559,710 \$/h and 1,559,953 \$/h for OGWO and GWO, respectively. Figure 7a shows the HGAFSA-based optimization curve. HGAFSA converges at the sixty-sixth generation to a

cost of 1,559,710 \$/h, resulting in annual savings of \$9.55 m. Furthermore, Figure 7b shows that all generators satisfy their inequality constraints.

**Figure 7.** HGAFSA optimization and optimal power allocation curves for 140 units. (**a**) Optimization curve; (**b**) cumulative power generated.

#### *4.5. Test System 5*

The proposed algorithm is also tested for a test system consisting of 160 generating units with non-smooth valve-point cost functions. In order to show the effectiveness of the proposed technique for solving a large-scale ELD problem, transmission losses are ignored. The fuel costs are computed as 9612.8 \$/h for HGAFSA and 9745.1 \$/h and 9813.3 \$/h for OGWO and GWO, respectively. These results indicate that the total production cost is lower than that of all other methods mentioned in this work. Figure 8a shows the HGAFSA-based optimization curve. The HGAFSA algorithm converges at the eighth generation to a cost of 9612.8295 \$/h, providing annual savings of \$1.158 m. Furthermore, Figure 8b shows that all generators satisfy their inequality constraints.

**Figure 8.** HGAFSA optimization and optimal power allocation curves for 160 units. (**a**) Optimization curve; (**b**) cumulative power generated.

#### *4.6. Test System 6*

The test system comprises a 463-unit system formed by combining test systems 1 to 5 (Gen. Units of 13 + 40 + 110 + 140 + 160). The coefficient of the valve point is assumed to be zero if not available for any generating unit. The simulation study is carried out under valve-point loading multi-fuel cost and emotion. A total power demand of 120,000 MW is used for the dispatch problem. The power loss components are assumed to be negligible. The problem is solved using the proposed HGAFSA. The fuel cost is computed as 1,645,338.7 \$/h. Figure 9a also shows the HGAFSA-based optimization curve. The HGAFSA algorithm converges at the eighty-sixth generation to a cost of 1,645,338.7385 \$/h. Furthermore, Figure 9b shows that all generators satisfy their inequality constraints.

**Figure 9.** HGAFSA optimization and optimal power allocation curves for 463 units. (**a**) Optimization curve; (**b**) cumulative power generated.

In general, the results of the overall simulation study are summarized and presented in Table 6, which provides a comparative analysis of the developed HGAFSA and the best-performing algorithms mentioned in the literature. Table 6 reveals that HGAFSA outperforms all other algorithms for all simulation scenarios, with the best performance obtained in the 140-unit test system. This, however, results in relatively high overall annual savings. This work also provides a new benchmark test system of 463 units. In order to further demonstrate the optimization parameter sensitivity of the proposed HGAFSA, a range of sensitivity analysis is performed and is reported in the next subsection.

#### *4.7. Sensitivity Analysis*

Sensitivity analysis is carried out to provide an insight towards the selection of the HGAFSA-based optimization parameter settings (a) to achieve the desired optimization trade-off, (b) to boost the capability of replicating this work, and (c) to ease future advancement in this area of research. Tables 7–13 present the optimization results obtained by varying the most sensitive HGAFSA parameters over a number of Monte Carlo (NMC) simulation trials. In the analysis, the NMC is maintained at 10 trials and the optimization

result is averaged over the 10 trials. In each of the tables, the convergence optimum cost, the number of function evaluations before convergence (NFEBC), the number of generations/iterations before convergence (NGBC), and the CPU time are averaged (over the 10 trials/NMC) and recorded/presented.

The convergence/optimization curve reaches a minimum value at a point referred to as the 'point of convergence'. The number of optimization trials/generation before the point of convergence, also known as the number of generations before convergence (NGBC), is used to compare the performance of HGAFSA for different cases of optimization. Contrarily, the NFEBC gives an idea of the computational intensity/expensiveness of any given optimization algorithm. In Table 7, the Psize is randomly varied between 2 and 500 individual/candidate solutions, and it is observed that the best performance (i.e., the lowest cost and a relatively lower NFEBC, NGBC, and CPU time) is achieved with 64 candidate solutions. Furthermore, for Psize greater than 64-candidate solutions, HGAFSA yields the optimum cost but with higher NFEBC and CPU time. However, the NGBC is observed to decrease with an increase in Psize.

**Table 6.** Summary of results for the comparison of HGAFSA and OGWO/OIWO.


**Table 7.** Effect of population size (Psize) on HGAFSA convergence.


**Table 8.** Effect of number of parameters (NoP) on HGAFSA convergence.



**Table 9.** Effect of visual distance (VD) on HGAFSA convergence.

**Table 10.** Effect of crowdedness factor (CF) on HGAFSA convergence.


**Table 11.** Effect of step size (Ssize) on HGAFSA convergence.


Step size (Ssize) is another parameter of the HGAFSA that randomly affects its characteristics. In general, the smaller the value of Ssize, the better the performance, as presented in Table 11. An Ssize of 0.005 is used in this work. An important parameter of the HGAFSA is the selection probability (Sprob). Sprob also randomly affects the characteristics of HGAFSA, as shown in Table 12. Maintaining the value of Sprob at 50% (0.5) can work for most optimization problems. Similar to Sprob, the mutation rate (MR) also randomly affects the behavior of the developed HGAFSA, as shown in Table 13. A 50% mutation rate (MR = 0.5) is sufficient to handle most optimization problems. Finally, it is noted that, despite the effect of parameter variation, the HGAFSA outperforms most of the existing algorithms, regardless of its parameter settings.


**Table 12.** Effect of selection probability (Sprob) on HGAFSA convergence.

Table 8 shows that an increase in the number of parameters (NoP) results in earlier convergence but with higher computational expensiveness and convergence time. It is also found out that a choice of 32 parameters is sufficient to achieve a relatively good convergence characteristic. Table 9 presents the effect of the visual distance (VD) on the convergence characteristics of HGAFSA. The choice of VD alters the value of NGBC, and an improper selection of VD may result in a large value of NGBC or even lead to local minimum/premature convergence. A trail and error procedure can be used to obtain a suitable VD for any given optimization problem. However, it is found that a VD = 1 is most suitable for solving the ELD problem. The effect of the crowdedness factor (CF) is demonstrated in Table 10. Even though the results reported are the average of 10 trials, the effect of CF on HGAFSA is observed to be random. However, with CF = 0.5, the least/optimum cost is obtained for all scenarios.


**Table 13.** Effect of mutation rate (MR) on HGAFSA convergence.

#### **5. Conclusions and Future Directions**

HGAFSA is developed using a hybridization of the conventional binary-coded GA and real-coded AFSA using a decoder (which converts a GA 'chromosome' into an AFSA 'fish') and an encoder (which performs the reverse operation of the decoder). An ELD encoder algorithm is also developed and integrated with the HGAFSA to form a more robust, efficient, and reliable technique (with a guaranteed high rate of convergence) for solving complex ELD problems. A sensitivity analysis is carried out on the optimization parameter settings of the developed HGAFSA. It is concluded that a trial and error method can be used to select a suitable set of parameters in order to optimize an ELD problem. The convergence of HGAFSA is randomly dependent on most of its parameters, and despite the limitation of the parameter choice, its solutions would always be better than most of the existing algorithms. The choice of encoder/decoder function further enhances the optimization process. This feature of HGAFSA makes it robust and almost insensitive to the choice of optimization parameter setting and enables it to support a wide range

of optimization parameter settings. The effectiveness of the HGAFSA is demonstrated through the simulation of solutions to a multi-objective ELD problem with higher-order cost functions using 13, 40, 110, 140, 160, and 463 generating unit test systems. Outstanding performance is demonstrated by the proposed HGAFSA-based ELD approach for most of the test systems. The future directions include the integration of the proposed ELD encoder with other meta-heuristics techniques in order to increase the efficiency and performance and its comparison with the proposed HGAFSA. The computational expensiveness of HGAFSA can also be further reduced by minimizing the number of repetitive steps in the algorithm while still introducing a powerful function that could compensate for their solution search ability. Another possible improvement is to modify the solution search procedure by introducing a set of steps that could adjust the parameter settings of HGAFSA based on the iteration counter to further enhance its rate of convergence.

**Author Contributions:** Conceptualization, A.M.K., M.K. and F.A.; methodology, F.A. and F.M.; formal analysis, M.K., F.A. and F.M.; validation, A.M.K. and F.A.; investigation, F.A. and Z.U.; funding acquisition, F.R.A. and G.H.; resources, F.R.A. and G.H.; data curation, M.K. and F.M.; project administration, Z.U., F.R.A. and G.H.; writing—original draft preparation, A.M.K., and M.K.; writing—review and editing, Z.U., F.R.A. and G.H.; supervision, F.M., F.A. All authors have read and agreed to the published version of the manuscript.

**Funding:** The APC is funded by Taif University Researchers Supporting Project Number(TURSP-2020/331), Taif University, Taif, Saudi Arabia.

**Acknowledgments:** The authors would like to acknowledge the support from Taif University Researchers Supporting Project Number(TURSP-2020/331), Taif University, Taif, Saudi Arabia.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


MDPI St. Alban-Anlage 66 4052 Basel Switzerland www.mdpi.com

*Sustainability* Editorial Office E-mail: sustainability@mdpi.com www.mdpi.com/journal/sustainability

Disclaimer/Publisher's Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Academic Open Access Publishing

mdpi.com ISBN 978-3-0365-9172-8