1 Introduction

The real-time operation of systems, especially in the generation of electricity, requires agility and assertiveness in decision-making. The availability, reliability and performance of the generating machines of a Thermoelectric Power Plant (TPP) are critical issues to maximize the economic results of the business and to guarantee the fulfillment of the demand of the electric sector.

A part of the Brazilian thermoelectric park may remain idle if hydrological conditions are favorable. In most countries, combined cycle coal or gas power plants generally do not experience long-term idleness, due to operation as the backbone of the system, being dispatched almost continuously. In Brazil, thermal electricity is normally used to support base generation in the electrical system: for peak generation, with daily activation or for at least a large fraction of working days [5].

System planning is centralized at the ONS (National System Operator) and the daily energy operation, in general, is a problem for the plants, which have availability contracts. This type of plant has high pollutant emission rates and, considering the current scenario of search for solutions to reduce greenhouse gas emissions, it is important to guarantee the maximum energy performance of complementary plants, necessary for the balance of the electrical system. In addition, given the current scenario of the electricity sector and the way in which generating agents are remunerated, the reduction of operating costs brings numerous benefits.

In the context of the plant, the large number of generating units and auxiliary equipment makes its operation arduous and the maximization of performance is complex. This makes the actions taken by operators not completely efficient from an energy and economic point of view. Furthermore, the simultaneous start-up of many generating units creates scenarios of operational complexity that can lead to low-performance operational conditions. Currently, the plants do not have a computational tool to predict trends, identify failures and operational deviations in an automated and reliable way for engines and other large generating machines.

1.1 Motivation

The present work belongs to an ANEEL (National Electric Energy Agency) research and development (R &D) project, which consists of developing a tool to assist the operation of a thermoelectric plant, aiming to improve its energy performance, reduce costs and mitigate process uncertainties, through the optimization of the relationship between fuel used versus energy generated. In general, the objective is to enhance the energy produced for a lower fuel consumption through the health index of the generating units. The expected result obtained by this tool comes in the format of an optimal operational configuration of the thermal power plant: which engines should be used and how much of the generating capacity of each of them should be employed.

2 Method Review and Selection

Heuristic methods are groups of practical guidelines coming from experience. Through trial and error, they help in finding good, but not always optimal, solutions. Their use is of particular interest in the resolution of complex problems, without a clear analytical solution.

From the application of heuristic rules, many meta-heuristic techniques were developed. They can be seen as a generic algorithmic framework which can be applied to different optimization problems with only a few specific modifications [13]. Although they do not guarantee the optimal solution, these methods are widely used, because they provide good solutions (close to the optimal) in a reasonable computation time, enabling their implementation in real time. These methods have also been used successfully to solve high-dimensional problems in many fields of study, including the electric sector [17, 18].

The Economic Dispatch (ED) optimization problem is non-convex, therefore finding the optimal solution becomes difficult [15]. Nevertheless, modern meta-heuristic algorithms are promising alternatives for the resolution of such complex problems [7]. Genetic Algorithm was used to solve the ED problem with convex and non-convex cost functions and reached satisfactory results when applied on the electrical grid of Crete Island [4]. The Ant Colony technique is also a viable option for solving ED problems. Silva et al. [13] used this algorithm in conjunction with a Sensitivity Matrix based on the information provided by the Lagrange multipliers to improve the biologically inspired search process. Al-Amyal et al. [1] proposed a multistage ant colony algorithm to solve the ED problem for six (6) thermal generation plants with good results. The Grey Wolf Optimizer is another option for solving ED problems that are nonlinear, non-convex and discontinuous in nature, with numerous equality and inequality constraints. Tests with model systems with up to 80 generators showed that this method is effective in solving ED problems, when compared to other similar algorithms [7]. Nascimento et al. [11] used the Differential Evolution algorithm to solve the ED problem. Their proposed methodology reduced the total fuel cost of the plants significantly. An algorithm based on bat behavior and echolocation was also successfully employed by Hanafi and Dalimi [6] to solve the ED problem in six (6) TPPs. Wang et al. [16] compared traditional and adaptative versions of the Particle Swarm Optimization (PSO) algorithm in the resolution of the ED problem. The modified version of the algorithm used an immune mechanism and adaptative weights controlled by the fitness of the particle. When applied in a system with 10 generating units, the adaptative PSO performed better in terms of solution quality and stability, but the increased complexity of the algorithm also increased its execution time.

The Environmental and Economic Dispatch (EED) is also an important daily optimization task in the operation of many energy plants. It presents two conflicting objectives: fuel cost and gas emission. This problem can be formulated as a highly restricted non-linear multiobjective optimization. Thus, algorithms based on concepts such as Pareto dominance and crowding distance are viable tools for solving the EED problem. One such algorithm is the Elitist Non-Dominated Sorting Genetic Algorithm [3, 12]. The goal-attainment method is also an option to solve EED problems. Basu [2] used this method in conjunction with the Simulated Annealing technique to solve an EED problem.

Also in the electric sector, the use of neural networks to solve optimization problems has been increasing. This methodology is usually employed for online optimization of the system power flow [9, 14].

All these works focused only on the use of one optimization algorithm to solve the economic dispatch problem, without considering the particularities of each dispatch regarding the power requested of the TPP in relation to its overall capacity. However, recent works in other fields started to use a combination of algorithms in order to find better solutions for complex problems. In some cases, an association of meta-heuristic algorithms was employed; e.g., the combined use of Genetic Algorithm and Simulated Annealing to solve an Emergency Location Routing Problem [10]. Other works tested unions of algorithms with distinct fundamentals, such as the combination of Recurrent Neural Network and Particle Swarm Optimization [8].

With the objective of implementing in plant operation an optimization tool capable of finding good solutions without a high computational cost, five different meta-heuristic algorithms were tested. Four of them had a mono-objective approach: adaptative Particle Swarm Optimization (PSO), Genetic Algorithm (GA), Simulated Annealing (SA) and Differential Evolution (ED). With a multi-objective approach, the Elitist Non-Dominated Sorting Genetic Algorithm (NSGA-II) was tested.

3 Problem Formulation

3.1 System Description

In this article we study the power generation process of a thermoelectric complex, which involves the operation of two identical TPPs. Together they have an installed capacity of 342 MW, enough energy to serve a population of about 980 thousand inhabitants. The structure of the TPP is composed of diesel engines as main equipment, generators and subsystems linked to them, guaranteeing their maintenance and operation.

Each TPP has 19 MAN/STX engines of type 18V32/40 with capacity to generate 8.76 MW and 1 MAN/STX engine of type 9L32/40 with capacity to generate 4.38 MW. The engines are supercharged, nonreversible, 4-stroke, with 320 mm cylinder diameter, 400 mm piston stroke and 720 rpm rotation. The 18V32/40 engines contains 18 cylinders V-shaped and the 9L32/40 engines are L-shaped with 9 cylinders.

The auxiliary systems of the TPP are:

  • Intake Air System: the air is filtered, compressed, cooled and finally admitted to the engine;

  • Fuel Injection System: the fuel (usually HFO oil) is heated and filtered to be fed into the engine. If diesel-LFO oil is used, no heating is necessary, as its viscosity is low enough;

  • Exhaust System: the exhaust gases pass through the turbocharger turbines and exchange heat with the water in the recovery boilers to generate steam. Then, they are sent to exhaustion in the chimneys;

  • Boiler System: steam from the boilers is used to heat the fuel. The recovery boilers can only be activated when there is generation. Otherwise, auxiliary boilers (diesel oil and natural gas burner) are activated;

  • Lubrication System: the lubrication oil stored in the crankcase of the engines will promote the lubrication of all moving parts of the engine that come into contact with each other;

  • Cooling System: water is used for the cooling of the engine and its parts (nozzles and intake air system). This water comes from radiators and also cools heat exchangers from other systems.

3.2 Economic Dispatch Problem

The aim of this work is to solve the ED problem for TPPs. The ED consists in minimizing the operational costs while fulfilling the energy demand requested from the plant. Simultaneously, the plant must also obey physical and operational restrictions. The fuel consumption of a thermal power plant is responsible for approximately 60% of its operational costs [6].

The performance of the generating units regarding other factors necessary for efficient operation was also considered. Using data from the air intake/exhaust, lubrication and cooling systems of each engine, a Health Index (HI) is calculated in real time. This parameter refers to the operational condition of each generating unit regarding need for maintenance and probability of failures and can be used to allocate the engines during operation. Therefore, the objective function of the ED problem considered the fuel consumption and the Health Index.

The specification of the dispatch requested by the ONS is the main input of the algorithm. The daily schedule specifies the power demand for 48 intervals of 30 min each. The schedule is always received a day before operation starts, allowing for time to plan and optimize the operation during the following day. The initial condition of the engines is obtained from sensor data regarding active and reactive power and the hourmeter of each generating unit, as well as machine learning models regarding fuel consumption. The optimization tool outputs an optimized configuration of the TPP for the execution of the requested dispatch, in the form of the values for active and reactive power for each engine in each time interval. These are the decision variables for the model and are hereafter represented by \(P_{j,t}\) and \(P_{reactive,j,t}\) respectively. Figure 1 shows the inputs for the optimization algorithm.

Fig. 1.
figure 1

Structure of the optimization tool.

Objective Function: Equation 1 shows the part of the objective function which represents the fuel consumption (kg) of the TPP for the whole dispatch (\(F_{fuel}\)).

$$\begin{aligned} F_{fuel}=\sum _{j=1}^{N_g} \sum _{t=0}^{T} f(P_{j,t}) \end{aligned}$$
(1)

where \(P_{j,t}\) is the vector corresponding to the generated active power (MW) by the j-th generating unit (among the \(N_g=40\) available ones) for each time interval t of 30 min in a dispatch of \(T=48\) intervals. The function \(f(P_{j,t})\) represents the relationship between fuel consumption and generated power.

The Health Index (HI) of each engine was considered as a penalty in the objective function, to apply greater penalties for turning off generating units with the best HI and turning on the ones with the worst HI. Considering HI is set between zero (0) and one (1) and these values respectively represent the worst and the best possible operational status for the engine, the penalty \(F_{HI}\) was elaborated as described in Eq. 2:

$$\begin{aligned} F_{HI}=\sum _{j=1}^{N_g} \sum _{t=0}^{T} cos^{-1}(HI_{j,t}M_{j,t})|M_{j,t}| \end{aligned}$$
(2)

where \(HI_{j,t}\) is the Health Index of the j-th generating unit in time interval t and \(M_{j,t}\) represents the variation of status of the same engine for the same time interval according to Table 1.

Table 1. Engine status alteration index

Thus, the sum of these two parts constructs the objective function \(F_{obj}\) for the mono-objective algorithms (PSO, GA, SA and DE). The factor \(\lambda \) is used to tune their different orders of magnitude, as described in Eq. 3. For multi-objective NSGA-II, both \(F_{fuel}\) and \(F_{HI}\) were considered as individual objectives to be minimized.

$$\begin{aligned} F_{obj} = \;\sum _{j=1}^{N_g} \sum _{t=0}^{T} f(P_{j,t}) + \lambda \sum _{j=1}^{N_g} \sum _{t=0}^{T} cos^{-1}(HI_{j,t}M_{j,t})|M_{j,t}| \end{aligned}$$
(3)

Practical Operating Constraints: Physical constraints of the generating units, such as limits for active and reactive power, are some of the main restrictions for the ED problem. Aspects relating to the internal operational rules for the power plant and the energy demand for the requested dispatch are also input for the problem restrictions. Thus, the objective function is subject to:

$$\begin{aligned} P_{min} \le P_{j,t} \le P_{max} \end{aligned}$$
(4)
$$\begin{aligned} P_{reactive,min} \le P_{reactive,j,t} \le P_{reactive,max} \end{aligned}$$
(5)
$$\begin{aligned} PF_{min} \le PF_{j,t} = \frac{P_{j,t}}{\sqrt{P_{j,t}^2 + P_{reactive,j,t}^2}} \le PF_{max} \end{aligned}$$
(6)
$$\begin{aligned} P_{D,t} - 5 MW \le \sum _{j=1}^{N_g} P_{j,t} \le P_{D,t} + 5 MW \end{aligned}$$
(7)
$$\begin{aligned} T_{previous,j,t} = \{\forall t_{previous} \, | \, M_{j,t_{previous}} \ne 0 \, and \, t_{previous} \le t\} \end{aligned}$$
(8)
$$\begin{aligned} t_{status,j,t} = t - max(T_{previous}) \end{aligned}$$
(9)
$$\begin{aligned} \Bigg \{\begin{array}{ll} t_{status,j,t} \ge 24,\ \ if\ \ {\text {P}}_{j,t-1} > 0\,\text {MW} \\ t_{status,j,t} \ge 6,\ \ {if}\ \ {\text {P}}_{j,t-1} = 0\,\text {MW} \end{array} \end{aligned}$$
(10)
$$\begin{aligned} n{_{boilers,t}} = card(\{\forall j = 2, 7, 12, 14, 22, 27, 32, 37, 39 \, | \, P_{j,t} > 0 \,\text {MW}\} ) \end{aligned}$$
(11)
$$\begin{aligned} \Bigg \{\begin{array}{ll} n_{boilers,t} \ge 4,\ \ if\ \ {\text {P}}_{D,t} < 200\,\text {MW} \\ n_{boilers,t} = 9,\ \ if\ \ {\text {P}}_{D,t} \ge 200\,\text {MW} \end{array} \end{aligned}$$
(12)

Equations 4 and 5 represent the physical limits for, respectively, active and reactive power in the j-th generating unit in the time interval t. Equation 6 represents the limits for the power factor (\(PF_{j,t}\)) of each engine. Equation 7 elucidates that the sum of the power generated in all engines must stay within a 5MW tolerance of the total requested power (\(P_{D,t}\)) for each time interval t, according to ONS rules. Equation 8 defines the set of time intervals (\(T_{previous,j,t}\)) before a specific time interval t in which an engine j changed status (turning on or off). Equation 9 defines the difference (\(t_{status,j,t}\)) between a time interval t and the last change in status for an engine j. Equation 10 shows the minimum operation time of a generating unit and its minimum rest time, after which it can be turned on again. Both variables are represented by \(t_{status,j,t}\), depending only on whether the engine is on or off. Equation 11 defines the number of heat recovery boilers active (\(n_{boilers,t}\)) at a certain time interval t, considering the boilers are associated to engines 2, 7, 12, 14, 22, 27, 32, 37 and 39. Equation 12 elucidates the number of heat recovery boilers that must be operational during a certain time interval t as a function of the scheduled energy demand.

4 Experimental Procedure

4.1 Dispatch Clusterization

The total power requested by ONS is the main input of the optimization algorithm. Evaluating data from January 1st 2018 to February 21st 2021, it was noted that the daily dispatches were diverse in their characteristics. Thus, the sum of all generated power in a daily dispatch and the fraction of hours of scheduled operation in a day were used to cluster the dispatches in five (5) distinct categories employing the Spectral Clustering method. This division allowed the separate evaluation of the optimization algorithms for distinct dispatches.

4.2 Hyperparameter Tuning and Algorithm Selection

A group of dates was randomly selected from each dispatch category to be used as model-dispatches in the estimation of the hyperparameters of the optimization algorithms and the \(\lambda \) factor of the objective function. Due to the great number of possible combinations, the Random Search technique was applied. The following parameters were estimated for each algorithm:

  • Genetic Algorithm: population size, maximum number of generations, mutation probability and elitism.

  • Elitist Non-Dominated Sorting Genetic Algorithm: population size, maximum number of generations, mutation probability.

  • Differential Evolution: population size, maximum number of generations, crossover probability and mutation factor.

  • Simulated Annealing: initial and minimal temperatures, maximum number of iterations per temperature, cooling factor. During the evolution of the algorithm, the temperature \(T_i\) is updated according to the cooling factor \(\kappa \) and the previous temperature \(T_{i-1}\), as described in Eq. 13.

    $$\begin{aligned} T_i = \frac{T_{i-1}}{1+\kappa T_{i-1}} \end{aligned}$$
    (13)
  • Particle Swarm Optimization: population size, maximum number of iterations and the inferior and superior limits of the social, cognitive and inertia coefficients. These coefficients are updated according to Eq. 14 for each iteration.

    $$\begin{aligned} C_{i,j} = C_{i,max} - (C_{i,max}-C_{i,min}) \frac{j}{J_{max}} \end{aligned}$$
    (14)

    where \(C_{i,j}\) is the value of coefficient i for iteration j, \(C_{i,max}\) and \(C_{i,min}\) are respectively the maximum and minimum values possible for coefficient i and \(J_{max}\) is the maximum number of iterations.

Afterwards, to compare the algorithms, one model-dispatch was randomly selected from each category. Each algorithm was tested with ten (10) experiments with each model-dispatch, reaching a total of 50 experiments. The feasibility of the algorithms was tested by evaluating their execution time on a computer with Intel Core i7 1.80 GHz processor and 16.0 GB RAM. The effectiveness of each algorithm in solving the ED problem was evaluated through the value of the objective function of the output solution. For multi-objective algorithm NSGA-II, an equivalent objective function was calculated using the final value of both optimized objectives, which correspond to the parts of the objective function described in Eq. 3 and used for the mono-objective algorithms. These metrics were calculated with a 95% confidence interval. This procedure was executed independently for each distinct category of dispatch.

4.3 Testing

After the selection of the algorithms for implementation, the optimization tool was tested with the dispatches scheduled for the month of January 2021. The dispatches were divided into clusters as described in Sect. 4.1 and optimized with the algorithms selected. The results obtained were compared to the performance of the TPP for the same period before the implementation of the optimization tool. The metric used for this comparison was the TPP’s estimated gross profit (EGP), calculated according to Eq. 15. During the evaluated period, the price of fuel was R$ 2,78/kg of fuel and the value received for the generated energy (CVU) was 912,28 R$/MWh.

$$\begin{aligned} \begin{aligned} EGP = & \;CVU\,*(Generated\; Energy) \\ & - (Kg\; of\; Fuel)*(Price\; of\; Fuel) \end{aligned} \end{aligned}$$
(15)

5 Results and Discussion

5.1 Dispatch Clustering

A total of 390 scheduled daily dispatches were analyzed. The sum of the power to be generated throughout the day and the fraction of hours per day in operation were used to clusterize the dispatches. They were separated in five (5) distinct categories, whose characteristics are displayed in Fig. 2. It can be noted that the use of only the generated power is enough to classify the dispatches. Table 2 shows the number of dispatches per category.

Table 2. Distribution of dispatches per category
Fig. 2.
figure 2

Dispatch categories: (a) Kernel density estimate of dispatches per generated power; (b) Cumulative distribution of dispatches per fraction of the day in operation.

5.2 Hyperparameter Tuning and Algorithm Selection

Using model dispatches selected from each category, the best values were estimated for the \(\lambda \) factor of the objective function and the hyperparameters of each algorithm. Tables 3 and 4, respectively, show these results. It can be noted that the change in the scheduled power demand significantly affects the relationship between the two parts of the objective function and thus distinct values for \(\lambda \) are needed.

Table 3. Factor \(\lambda \) of the objective function
Table 4. Algorithm Hyperparameters

After estimating the hyperparameters, the execution time and the value of the objective function for the optimized solution were used to select the algorithms to be implemented for operation at the TPP. These results are described in Tables 5a to 5e and summarized in Fig. 3. To provide better comparison between the algorithms, for NSGA-II an equivalent objective function was calculated from the two objectives minimized, using the \(\lambda \) factors shown in Table 3 and implemented in the other algorithms.

Table 5. Execution time and objective function for dispatches.
Table 6. Algorithms selected for implementation
Fig. 3.
figure 3

Objective function (a) and execution time (b) of the algorithms per dispatch cluster.

NSGA-II did not perform well regarding computational cost, with execution times significantly superior to those of the other algorithms, making unfeasible its implementation in production. For dispatches from category A, the best results for objective function were provided by SA, PSO and DE, with this last one also standing out for the low execution time. For category B, GA had the best results for objective function and a reasonable execution time (257 s). Although SA was the fastest algorithm, its performance was much inferior regarding the objective function. For dispatches C, SA and PSO achieved good results for the objective function, with SA performing better in relation to computational cost. For category D, SA achieved the best value for the objective function and the second best for execution time. The fastest algorithm (PSO) was not as efficient in minimizing the objective function. For dispatches E, SA was the best algorithm for both evaluated metrics. Table 6 shows the algorithms selected for implementation in operation according to the category of the daily dispatch to be optimized. These results show that the commonly used approach to solve this problem (using only one algorithm regardless of differences in the economic dispatch) may not yield good results when the power requested during dispatch changes considerably. The use of different algorithms allows for optimization methods which best fit the particularities of each problem.

5.3 Testing

From the results obtained by the optimization model, it was possible to estimate the gross profit of the TPP for the optimized configuration suggested by the algorithm. Figure 4a and Table 7 show these estimates, calculated using the methodology described in Sect. 4.3, for the month of January/2021.

Fig. 4.
figure 4

Tests for January/2021.

Table 7. Estimated gross profit

Considering an average error of 0,344 kg/MWh for the fuel consumption prediction model in the evaluated period, the use of the operational configuration suggested by the optimization tool should lead to an increase in gross profit between 1,44\(\,\times \,\)104 R$ and 2,45\(\,\times \,\)105 R$. Despite the increased fuel consumption, the increment in the estimated gross profit corroborates the operational and financial benefits that using such an optimization tool can bring to thermoelectric generation.

Figure 4b shows a comparison between the ONS requested power demand, the optimized configuration suggested and the realized operation before the implementation of the algorithms, for the scheduled dispatch on January 21st, 2021. It can be noted that the suggested optimized configuration follows the tendencies of the requested schedule and respects the ONS tolerance limits of 5 MW (shown in the colored area of the graph). However, the optimized configuration is usually above the realized without use of the tool, ratifying the effectiveness of the optimization tool and explaining its superior estimated gross profit.

6 Conclusion

Through the techniques and methodology used and the obtained results, this work provides, during thermoelectric generation, more standardized operational conditions, favoring a more efficient use of the engines. The methodology employing different algorithms for distinct categories of scheduled dispatches helps in adapting the optimization tool to the specificities of these dispatch categories. Moreover, there was a significant financial gain, even if only estimated. The optimized configuration suggested by the algorithms achieved the objective of the ED problem, minimizing the fuel cost for the requested power demand and is ready for implementation in the supervisory system of the thermal power plant. This optimization tool can also be generalized to fit other thermal power plants, regardless of fuel.