Optimal Generation Scheduling in Hydro-Power Plants with the Coral Reefs Optimization Algorithm

: Hydro-power plants are able to produce electrical energy in a sustainable way. A known format for producing energy is through generation scheduling, which is a task usually established as a Unit Commitment problem. The challenge in this process is to deﬁne the amount of energy that each turbine-generator needs to deliver to the plant, to fulﬁll the requested electrical dispatch commitment, while coping with the operational restrictions. An optimal generation scheduling for turbine-generators in hydro-power plants can offer a larger amount of energy to be generated with respect to non-optimized schedules, with signiﬁcantly less water consumption. This work presents an efﬁcient mathematical modelling for generation scheduling in a real hydro-power plant in Brazil. An optimization method based on different versions of the Coral Reefs Optimization algorithm with Substrate Layers (CRO) is proposed as an effective method to tackle this problem. This approach uses different search operators in a single population to reﬁne the search for an optimal scheduling for this problem. We have shown that the solution obtained with the CRO using Gaussian search in exploration is able to produce competitive solutions in terms of energy production. The results obtained show a huge savings of 13.98 billion (liters of water) monthly projected versus the non-optimized scheduling.


Introduction
Obtaining the optimal generation scheduling in a Hydroelectric Power Plant (HPP) is a challenging problem, with direct implications in the plant's energy production performance and in the amount of water consumed in the generation process. Generation scheduling is a kind of Unit Commitment (UC) problem [1], i.e., a family of mathematical optimization problems in the electric energy generation, where the production of a set of turbinegenerators is somehow managed to achieve a common target, in this case particularized for HPPs. In general, UC problems have some properties such as higher dimensionality, non-linearity, a combinatorial and multimodal nature which are hard to solve efficiently, respecting the existing operational constraints [2]. In the case of generation scheduling in HPPs, it is necessary to have a production modeling for the power generation. The hydro-power plant is composed of turbine-generator units in which each unit needs to deliver part of the total demand dispatched. In this sense, the objective to be achieved is to find the amount of efficient energy that each turbine-generator must generate (in MW) for the system. Thus, the general goal is minimizing the costs and the usage of water resources, whether fulfilling of power demand and respecting the restrictions [3].
Most HPPs have a usual operating mode that works by equally distributing required demand among the ready to use turbine-generators. Nevertheless, note that this equal distribution generally does not lead to an efficient schedule for each turbine-generator, because the generator may not be at its maximum efficiency point. Thus, finding the maximum efficiency point of each turbine-generator set for the generation scheduling problem in HPPs, can be a task considered to be highly complex [4,5]. Research on the optimal operation of electric power systems started around the 1940s [4,6] and, from then, it has been highly influenced by computer science and optimization theory.
In recent decades, different computational techniques and math modelings were proposed to solve problems related to generation scheduling in HPPs. These approaches, took into account that the UC is a NP-hard, non-linear, multi-stage and stringent constraint problem [7]. Optimization models to maximize the power production in short-term hydropower unit commitment were proposed in [8] to perform the maximum power produced storage for all possible combinations of turbines using Mixed-integer linear programming (MILP). In [9] a proposed study to perform the maximum power produced storage for all possible combinations of turbines was done. These both works solved the UC problem without implementation of penstock losses. This fact has disadvantages for solving the problem as it does not cover the real nature of hydro-power production.
The Linear Programming application [9], Lagrangian multiplier, in which this class of method presents a set of sensitive aspects that often require time-consuming tuning tasks [10], and the Branch-and-Bound with Projected Gradient methods [11] (in which it is not clear how the penstock losses and operational coefficients of turbines were obtained) are also common strategies for solving UC problems to minimize operational costs. These deterministic methods have some advantages as a convergence guarantee, less computational effort, flexible formulation, and not requiring the calculation of second derivatives (in Gradient methods). However, the aforementioned methods have characteristics which are the linearization of the objective functions and the constraints imposed on the problem, which have a non-linear nature, in which this process can cause losses of information and inconsistency in the solutions.
Meta-heuristic approaches have also been applied to obtain the optimal operation of power systems in UC problems, such as Particle Swarm Optimization (PSO) [12] that provided the operation of multi-reservoir system, to minimize the energy shortages with complying with the hydraulic and operational constraints. The Real coded Genetic Algorithm (RGA) was proposed by [13] to make the optimal hydro-thermal scheduling operation reaching a low computing time. The Differential Evolution algorithm (DE) was implemented via the Parallel self-adaptive approach to provide optimal electric dispatch in [14,15]. The study described by [14] indicates that the main goal of the optimization process in UC problems was to satisfy the system demand for 24 h with a decreased usage of water quantity per electrical energy unit reached. In [15] the results shows a significant decreasing trend and extreme flood occurrences in a cascade UC approach.
The non-linear fuzzy methods are addressed by [16] to make a predictive control system in the HPP and the current practice of using machine learning methods to solve the UC problems [17,18]. Some approaches to assess dam releases from hydro-power reservoirs with improving the power production presented solid results using evolutionary algorithms as a solver [19,20]. Combinations of mixed programming with meta-heuristics are addressed in [21], where the goal was to minimize the profit-based in competitive electricity markets. In [22] it has proposed a coupled approach where an Evolutionary Programming is used to optimize the cost functions in a refurbished power grid. Hybrid techniques, such as mixing the Genetic Algorithms, and Differential Evolution have been tested on a generation scheduling problem in an HPP with six turbine-generators [23] showing that this approach achieves competitive results in solving UC problems.
In general, the largest advantage of using meta-heuristics over classical deterministic techniques to solve UC-like problems is that no linearization is required. These techniques allow including non-continuous, non-convex and non-differentiable objective functions, and they have an easy and robust implementation [24,25]. On the other hand, in some modeling of the UC problem these techniques can become computationally expensive. This fact occurs because they are based on a population of potential solutions to the problem [26]. Such methods are efficient in the search for solutions both global and local, being sensitive to the fine-tuning parameters and the possibilities of premature convergence, when the search space increases with respect to the number of generating units of the HPP to be optimized [27].
In this work we solve the generation scheduling problem in a real hydro-power plant. Specifically, we propose a generalist mathematical modeling to calculate hydraulic losses for HPPs. The model was built using real data. From the dataset that was structured by us, the concept of "learning from data" was applied. An approximation of the data was performed via linear regression. This action corroborates the ideas present in machine learning techniques. The realization of this approach minimizes the computational time to obtain optimized solutions via meta-heuristics in the problem of addressing electrical dispatch. Here, our objective is to maximize the power production in an HPP, saving as much water as possible. For this, we are proposing the use of an effective method for solving the generation scheduling in HPPs, by implementing different versions of the Coral Reefs optimization (CRO) [28].
Conceptually, the CRO is an evolutionary-type (meta-heuristic) algorithm that is based on the concept of reproductive behavior of corals on real coral reefs. This algorithm can be considered to be a mix of the Simulate Annealing and Evolutionary algorithms [29]. The CRO algorithm proposed in this work can be tested with different search operators, as exploration mechanisms, obtaining this a powerful evolutionary-like algorithm for solving optimization problems. We have also tested an ensemble version of the algorithm, called CRO-SL, in which all the searching algorithms are included together into a single population, forming an efficient ensemble approach. To our knowledge, this is the first time that the CRO algorithm is applied to solve generation scheduling problems in HPPs, as an optimal system controller of the plant. We show its excellent performance in a real problem, which is considered the generation scheduling of an HPP energy producing in Brazil.
The work structure follows: Section 2.1 presents the problem formulation of the generation scheduling problem in HPPs considered in this work, including a novel mathematical model to operational control of plant taken into account hydraulic losses. Section 2.2 describes the CRO meta-heuristic and the different search operators defined to tackle the generation scheduling problem in HPPs. Section 3 details main characteristics of HPP studied in this work, and shows the design of experiments performed. Section 4 conducts a discussion with a comparative analysis of algorithms using statistical inference techniques. Section 5 presents the conclusions on the research carried out.

Problem Definition and Generation Scheduling Modelling
In general, any UC-related task consists of finding an optimal scheduling for each dispatched hour or the corresponding power demand for a different turbine-generator set, with the objective of reducing operating costs, and respecting the constraints linked to the problem. Specifically, in HPPs the UC is usually formulated as a generation scheduling problem, in which the production function of a turbine-generator unit is related to its efficiency, the water discharge needed and the height of the net water head. In the described modelling in this work, the productivity is a quadratic function that has two dependent parameters: the turbined water discharge and the net water head. Thus, in general terms, Equation (1) describes the production of energy (in MW), where the power energy ph jt is obtained (in MW/h) for each turbine-generator machine (j) at time interval (t). The term G is a constant that matches the gravitational acceleration (9.8 · 10 −3 kg/m 2 s 2 ). Please note that gravity is presented here in this way in order to convert automatically kilowatts to megawatts. The term η jt represents the productivity performance (in terms of total efficiency, measured in %) for each turbine-generator (j) at the time interval (t). The net water head hl jt is the reservoir height (in m, without hydraulic losses) for each turbine-generator at a time interval (t). The term q jt address the water discharge (in m 3 /s) for each turbine-generator (j) at the time interval (t).

Hydraulic Losses Model
To obtain the value of the net water head, hl jt , we propose a model for calculating hydraulic losses along the pipeline, based on phenomena observed in Fluid Mechanics. In this context, the reservoir head (Hb, in m) is calculated from the difference between upstream and downstream levels [30]. Thus, we can obtain the hl jt subtracting the value of Hb of hydraulic losses. Local (∆ Hl ) and distributed (∆ Hd ) hydraulic losses are related to water friction on the walls of penstocks (measured in m). The total accumulation of losses can be obtained by (2), The penstock is formed by straight and curved sections that maintain a certain diameter. Thus, the distributed losses are characterized by the friction of water in the straight pipeline section. The Darcy-Weisbach equation calculates the distributed losses as where F is a penstock loss coefficient. L is the length of the penstock (in m). The term D means the pipe diameter (in m). The water velocity (m 2 /s) is measured by V. Here, the gravity g is a constant equal 9.8 m/s 2 . Therefore, F, in which ξ is the roughness in the pipeline and R is the Reynolds number, can be obtained as follows: when the fluid particles mix in a non-linear movement, i.e., chaotically with the turbulence and swirls, the flow is defined as turbulent. The Reynolds number, R, is a term that takes into account the speed between the fluid that flows and the material that surrounds it. The fluid velocity is given by V = q A . In this case, the term q is the water discharge in the interval(t) and A addresses the size pipeline area, in which A = π D 4 4 . The R number is the ratio between the product of the fluid specific mass (ρ), fluid velocity (V) and the pipeline diameter by the fluid viscosity (µ, in m 3 /s 2 ) by, as R = ρVD µ . Thus, the local losses ( Hl ) are determined by a rise in specific parts of the pipeline, and are obtained using Equation (5), where λ is the coefficient losses inside curves. The global losses amount, ∆ Hjt , which includes all sections of the pipeline can be modeled by Equation (6) In the modeling, hydraulic losses described in this work, the parameter hl jt can be obtained by the difference calculated according to Equation (7) hl jt = Hb jt − ∆ Hjt .

Adjustment of the Model from Data
Although different efficiency models in the literature exist, in this work the productivity modeling is described by the quadratic function shown in Equation (8), where η jt is the productivity (in %) of each turbine-generator (j) at interval (t). The terms ρ 0j , . . . , ρ 5j are the production coefficients generated using information about the Hill Curve. The term hl jt is the net water head (in m) of each turbine generator (j) at time (t) and q jt is the water discharge (in each turbine-generator (j) at interval (t). This work addresses a real study in an HPP installed in Brazil where the plant has a single Hill Curve. The power production (ph jt ) defines the unit's global efficiency by the product of the efficiencies of generators and turbines. Even though the generator's efficiency can be considered constant over a wide range of operations, the turbine efficiency is dependent on the net head (hl jt ) and the turbine water discharge (q jt ). The relationship between these variables is relatively complex and typically described by a curve known as the Hill Curve [11]. Keeping in mind that the Hill Curve contains the information of water discharge, net head, and power generated, we performed a non-linear multi-variable regression process to obtain the operational coefficients from the original Hill Curve data depicted in Figure 1-left side. This strategy is considered a machine learning approach in which it was possible to learn from data.
A pre-processing was performed from the Hill Curve. The image went through a vectorization process, and thus we generated a 6969 point dataset (q jt , hl jt , η jt ). For the regression, the water discharged (q jt ) boundaries adopted were [70, 140] (m 3 /s) and the net water head (hl jt ) boundaries [32,56] (m). These two parameters were considered the regression independent variables. On the other hand, the dependent variable used was the productivity (η jt ) with boundaries [83, 94] (%). Figure 1 shows the process described. In the adopted regression process a randomized sub-sample (996 points) of the created dataset by vectorization method was used with Equation (8). The internal MATLAB statistic algorithms of Levenberg-Marquardt [31,32] were used in the regression process. With an adjusted R-Squared of 99%, general root-mean-square error (RMSE) equal to 0.00263 and a general p-Value < 0.0001, the estimated coefficients obtained are shown in Table 1. These values obtained show that the results are significant.
<0.0001 Figure 2 shows the original (vectorized points-in black) data overlapping the calculation by regression process (applying Equation (8) with coefficients from Table 1 and the 6969 data points of (q jt ) and (hl jt )-in red). The graph shows that the approach realized is satisfactory, giving credibility to the coefficients estimated by regression addressed here. Hill Curve-Overlap: vectorized points of (q jt ), (hl jt ) and (η jt ) and calculated points using (q jt ), (hl jt ) data, operative coefficients from regression (by Table 1) and Equation (8).
As the equations for calculating η jt depend directly on the q jt and hl jt , the production function has been simplified and proposed here. The coefficients ρ 0j , · · · , ρ 6j generated in our approach are characteristic parameters of Brazilian HPP. In our modeling Equation (9) calculates the power production, where the ph jt is electric power for each turbine-generator (j) at interval (t). G is gravity (9.8 · 10 −3 kg/m 2 s 2 ). The terms ρ 0j , . . . , ρ 5j are the productivity coefficients. The term hl jt is the net water head of each turbine-generator (j) at the interval (t). The q jt addresses the water discharge of each turbine-generator (j) at an interval (t). The ∆ Hjt means the losses of pipelines for each turbine-generator (j) at an interval (t) and the reservoir head is given by (Hb) for each turbine-generator (j) at an interval (t). Figure 3 shows the interpolated graphical representation of Equation (9), using the operating coefficients given in Table 1.
As the only available data regarding the HPP under study were provided by means of a Hill Curve, no hydro constraints, such as hydrological alterations caused by power generation on HPPs [33], could be considered.

Optimization Modelling
The following model for maximizing hydroelectric productivity is then considered. Let the decision variable transposed vector be denoted by in which each decision variable q jt ∈ R is bounded by the lower and upper limits of the water discharge (q min jt and q max jt , respectively), for each turbine-generator. The composed objective function is presented by Equation (10) Maximize The adopted objective function, F(x), is the ratio between the total power generated (∑ J(r) j=1 ph jt ) and the total water (∑ J(r) j=1 q jt ) used to perform the electric dispatch. Keep in mind that the smaller the amount of water needed to meet the generation demand, the higher the productivity will be. This objective function is subject to the following constraints: 1.
The power demand produced ((∑ J(r) j=1 ph jt )) can be considered approximately equal to the power demand requested (D), with an acceptable error (ε = 0.15% MW).
The water discharge boundaries for each turbine-generator (q min jt and q max jt ).
The electric power boundaries (ph min jk and ph max jk ) for each turbine-generator in operating zones (Z jk ).

4.
Each turbine-generator has only one operating zone: on or off (Z jk , on (1) or off (0)).
To satisfy these four constraints, we consider a penalty factor in the objective function, so the final fitness function can be expressed as

Evolutionary Meta-Heuristic Proposed: The Coral Reefs Optimization Algorithm
The Coral Reefs Optimization algorithm (CRO) is a type of evolutionary technique proposed in [34,35] that has been successfully applied in several optimization problems [36][37][38][39][40][41][42]. The CRO uses a n × m grid R (i.e., the coral reef), where each square (denoted by its coordinates (i,j)) can host a candidate solution to the problem x (i.e., a coral). The CRO's framework can be summarized as follows: (1) Initialization. The algorithm is initialized by assigning random candidate solutions to a random number of squares of the grid, leaving the rest empty. Each solution is labeled with the problem's objective function f (x) (i.e. the healthy function). (2) Reef formation. It is an iterative process that takes place over κ iterations. At each iteration several operators or search procedures are applied to emulate the corals' reproduction in the reef. Therefore, new candidate solutions are obtained and try to settle on the reef. If the square of the reef found (i,j) is free, the coral settles in the hole. If the square is occupied, the candidate solution fights with the settled solution and the one with higher health function stays in the hole. If the new candidate cannot settle, it tries to find a new square, but after λ attempts without finding a place to grow, the candidate solution is discarded.
Predation. Once settlement of new corals has taken place, a predation phase may occur with probability P ψ . Should predation happen, a percentage of the reef has preyed and solutions previously settled are lost. Thus leaving holes for new candidate solutions (with bad health functions) from other areas of the search space, to enter the reef (and escape from local minima). (4) Stop. if halting criteria are satisfied; otherwise go to step (2) for the next cycle. The best individual in the reef is considered to be the final solution to the problem.
The CRO algorithm can implement different search procedures during the reef's formation to obtain new candidate solutions (it is an algorithm defined in exploitation, not in exploration). In this paper the operators selected as search procedures in the CRO are the following:  [44]. New candidates are obtained by combining a reef's coral x with a perturbation vector x . Two different strategies have been used to find the perturbation: DEB: i ) (using the best), and DER: i ) (on a random basis) (where F stands for the evolution factor that weights the perturbation amplitude, in our case F = 0.1); • Differential Evolution mutation with crossover (DEX): Mutation recreating the Differential Evolution algorithm [44]. New candidates are obtained after a crossover is applied between a coral from the reef x and a perturbation vector x generated by DER. • Gaussian mutation (GM): The new candidate is obtained by applying gaussian mutation to a coral from the reef (x i = x i + δN i (0, 1), where N i (0, 1)) is a random number following the Gaussian distribution. The Gaussian probability density function is: where σ value linearly decreases during the run, from 0.2 · (A − B) to 0.02 · (A − B), being [B, A] the search domain. Therefore, at the beginning the mutation is strong while at the end it is a fine tuning.
On the other hand, the Coral Reefs Optimization with Substrate Layer algorithm (CRO-SL) [29,45] is a multi-method ensemble based on in the standard CRO algorithm, yet with a structure that promotes competitive co-evolution using the layers deployed. Each layer proposed implements a different search strategy, operator, constraint, repairing function, etc., although the use of diverse search operators is the most common mechanism for the CRO-SL. In this paper, each layer implements an exploration operator, and the procedures used are the same as those described for the classic CRO. In Section 3, the nomenclature used to refer to these layers is as follows: (1) CRO (1) for a layer implementing Harmony Search mutation, (2) CRO (2r) for a layer using Differential Evolution mutation, (3) CRO (3r) for a layer implementing Differential Evolution mutation with crossover (DEX), and (4) CRO (4) for a layer using Gaussian mutation (GM). Figure 4 illustrates the experimental design of the CRO algorithm.

Experiments and Results
This section describes the specific aspects of the HPP studied and the design of experiments realized to find good solutions for the UC problem by applying different versions of the CRO algorithm. We considered data from a real hydroelectric plant installed in São Francisco river, Minas Gerais state, Brazil. At the request of the plant manager, mathematical modeling did not address the Unit Minimum up/Minimum down time constraint, as the HPP must keep all its turbine-generators on. Difficulty to obtain data from an HPP regarding the power production lead us to calculate them from the Hill Curve of an HPP (see Section 2.1.2).

Case Study and Parameter Settings
The HPP considered in this paper has a capacity to produce 396MW/h, operating with six turbine-generators. The HPP presents constraints such as water discharge (q jt ), water discharge boundaries per turbine-generator (q min jt and q max jt ), and electricity produced per generator (ph jt ). According to these constraints, q jt must be in the range [70, 140] m 3 /s and ph jt must be in the range [35,66] MW. In the simulation reported in this work all the power units were considered to be turned on to produce energy. The optimization algorithms need to receive system inputs of reservoir head (H b ) value, which is the fall height (in m) of the reservoir, in the range [32,56].
The conducted experiments show the proposed modeling considering two stages: (1) the first step was to test all algorithms performing the daily electric dispatch. The CRO versions were compared in this case against two standard optimizers; and (2) the second step verifies the results obtained by the algorithms in hourly electric dispatches.
The results in both cases show the best solution archived in the last generation of all algorithms. After experimentation, inference methodology was conducted to investigate if the differences between the tested algorithms exist or not, when tackling the generation scheduling problem in this real HPP. We performed the computational simulation using an Intel CoreTM i7 with CPUs@2.70 GHz and 16 GB RAM, with Windows 10 operating system.
To verify the performance of the results of the CRO algorithm versions applied in this work, a real encoding Genetic algorithm (RGA) [46] and a Differential Evolution (DE) approach [44] have been chosen to compare results. We chose these approaches since RGA and DE have obtained good results in solving the UC problem in previous works. The initialization parameters used for all algorithms were: population size equal to 120, and the total number of generations equal to 120. Specifically for AG, a crossover rate equal to 0.6 and a mutation equal to 0.5 were used, in which this operator performed the polynomial mutation. In DE algorithms, F = 0.1 and CR = 0.5 are used in both strategies: DE(best/1/bin) and DE(rand/1/bin). The CRO algorithm used as a probability of death a value equal to 0.1, the number of jumps is equal to 3, and the number of depleted corals is equal to 10% of the population. All parameters were defined empirically. Each algorithm was performed 30 times to conduct the statistical analysis of the results. Figure 5 exemplifies the simulation strategy adopted.

Daily Dispatch Programming Experiment
This experiment conducts the daily operation for electric dispatch. The idea is to verify if the algorithms find feasible solutions respecting the constraints. In our experiment, the daily schedule used was totally random. Results obtained by each algorithm for five main characteristics: water discharged, net water head, losses, efficiency,and power produced (the terms in Equation (9) were used to construct response surface graphs via data interpolation. In general, the amount dispatched by each generator cannot be drastically changed, as it is not possible to decrease the speed of the generator to achieve this and dramatic changes can damage the dam. The value adopted as an input system in relation to the hydraulic head of the reservoir (Hb) was 55 (m), which means that the reservoir has a higher level of capacity production. As it can be seen in response surfaces presented in this section , in general, all the algorithms tested respect the limits of power and water discharge rates, because the values found are between the range established by power and water discharge constraints. The solutions found by the stochastic algorithms used in this work report that it is possible to realize the operation using distinct dispatches per turbine-generator. The graphics represent the values obtained for optimized water discharge in each hour, as well as the values of net water head, penstock losses, efficiency, and power generated. The small variations prove that the algorithms found solutions that do not drastically alter the unit dispatch (turbine-generators). This fact is very important in terms of the HPP generation and, indirectly, this dynamic minimizes the cost of maintaining these machines. Therefore, an ideal pattern for graphics is seen when there is little discrepancy on the response surface. We discuss here the behavior of some algorithms tested in this work. Among the mutation strategies used in the CRO algorithm, when using Gaussian mutation (CRO (4) ), showed in Figure 6, we can notice that the response surface constructed from the daily generation data has the least shape change. This indicates that the optimized flow rates are different per generating unit, but it does not change very abruptly with the change in demand every hour. In addition, it reached the highest efficiency levels of each turbine-generator units among the tested algorithms. The same behavior is observed when checking the response surface presented by the DE/best/1/bin (DEB) and DE/rand/1/bin (DER) algorithms, showed by Figures 7 and 8. The detail observed in the results of DEB and DER are similar to solutions archived by CRO (4) , with some sharp disturbances.  The Real Genetic Algorithm (RGA- Figure 9) shows a sudden change in generation every hour. The behavior of turbine-generators modifying the power generated, as well as the CRO with Harmony mutation (CRO (1) - Figure 10) and CRO uses mutation based on the DE strategies (CRO (2b) and CRO (2r) - Figures 11 and 12). When using the DE with crossover, (CRO (3r) ), we notice that the result is more stable than when using the two point crossover operation as well, as can be seen in Figure 13.
After verifying the behavior of each mutation applied to the CRO separately, we have shown that the CRO with a Gaussian mutation obtains the best results among all algorithms tested. Thus, the CRO algorithm was applied to solve the problem using substrates (CRO-SL) in order to verify the influence of the Gaussian mutation in combination with other search operators. As we can see, the Gaussian mutation improves the results of Harmony (Figure 14-(CRO (1,4) ), both DE mutations implemented 4) ) and (CRO (2r,4) ), respectively), and the DE with crossover (CRO (3r,4) ), which can be seen in Figure 17.         To check out the algorithm's performance in terms of demand requested and total water discharged, Figure 18 shows the results obtained with the different algorithms considered. It is possible to see that the generated power demand of all meta-heuristics was achieved respecting the constraints. Besides this, it is possible to see that all algorithms respected the water discharge limits saving resources to perform the operation when compared to the "usual mode of operation" system.  Table 2 shows the results of water (in m 3 /s) projection savings in energy production. It is possible to verify that for all demands considered, the meta-heuristics save important amounts of water. If we focus on the details of the best proposed approaches, we can see that CRO (4) delivered the demand requested per hour; it used a much lower volume of water than the other approaches in the energy production process. Please note that the CRO (4) strategy was able to save 116.92 m 3 /s over the course of the day. In a projection, this saving is equivalent to 420 million(mi) liters of water per day. Analyzing the table we can also see that, using the sub-layer approach, Gaussian Mutation contributed to an improvement in results when combined with the other mutation strategies used in this work. Especially when used with the DE(2b) mutation option followed by DE(2r), Harmony and DE(3r) saving respectively more: 76.1 mi, 67.6 mi, 30 mi and 13.7 mi litters of water per day as shown in Table 2.

Hourly Dispatch Programming Experiment
The simulation objective in hourly dispatch is to find the possible differences between the algorithms. To verify this behavior, for each meta-heuristic applied in this work, a demand of 325MW/h was established. This choice is based on the results presented in Table 2, in which 325MW/h achieved the greatest savings.

Discussion
This section will address a comparative discussion of the performance of metaheuristics applied to solve the UC problem. Each algorithm was run 30 times to verify normality. To satisfy an effective test of the obtained solution samples, this work applied statistical inference to check the normality of samples and use some statistical tests that could reflect the mean differences of the applied algorithms. To test the normality of samples (N = 30) we used the Kolmogorov-Smirnov test (see [47]). We adopted α = 0.05 in all cases. Figure 19 shows the test results in which the algorithms CRO(4) and DE(best/1/bin) indicated that the behaviour of the sample is non-normal. This data proves that Kolmogorov-Smirnov with a p-Value metric results was bigger than 0.05 in these two cases. The other algorithms have a normal distribution according to the empirical distribution function (CDF) presented in Kolmogorov-Smirnov results. A non-parametric inference methodology was adopted to investigate the presence of differences (or not) in averages of algorithms solutions.  Figure 20 shows scatter and boxplot graphics for the 30 runs obtained for each algorithm. The scatter helps us understand the outliers that were identified in the boxplot chart on the RGA, CRO (1) , CRO (2b) and CRO (3r) . Boxplot is a descriptive and non-parametric statistical test which depicts the 25th percentile, 50th percentile (median), 75th percentile, and min and max values, and outliers (if present). Although some boxplots may show the location of the mean in relation to the median and quartiles, boxplots do not provide information about the true difference among means. However, since an overlap of the boxes can be seen for fitness values of algorithms tested, a statistical test needs to be performed in order to identify whether there is a difference among the algorithms. Keeping this point in mind and observing Figure 20, it is possible to argue that: • visually we can see differences among the true means of CRO (4) and the rest of the algorithms, favouring CRO (4) version, but cannot perceive the overlap with others; • it is not possible to conclude if a statistical significant difference of the means computed of RGA, CRO (1) , CRO (2b) , CRO (2r) , and CRO (3r) algorithms exists (or not).
CRO-SL version is an ensemble approach, which works with sub-layers working as searching operators. Because of that, after observing the good result from the CRO with Gaussian mutation (the CRO (4) strategy), we investigated the influence of this mutation together with the other exploration mechanisms considered. Figure 21 shows the results combining a Gaussian mutation with Harmony and DE strategies.
We can see that the Gaussian mutation improves the results of CRO in the CRO-SL approach. If we consider the CRO-SL including a combination of Gaussian and Harmony substrates (CRO (1,4) ), the boxplot presents a lower dispersion of results, as well as the combinations made with the DE strategies, when comparing the results presented in the versions shown in Figure 20. According to our previous analysis, a statistical test needs to be performed in order to identify whether there is a difference among the algorithms. A Kruskal-Wallis [48] test and a non-parametric Tukey-type test [49] were used to test for differences among the mean ranks of the nine treatments/algorithms. Kruskal-Wallis results show with a p-Value of 2.04 × 10 −52 that there exists a statistically significant difference, with α = 5%, between the algorithms results. The Kruskal-Wallis test tells us if the obtained results are significantly statistical, but does not indicate where differences are in the groups tested. The Tukey test [49] can be carried out to check if groups shows differences. The test conducts a full pairwise comparison, as shown in Figure 22. Figure 22 shows the result of the Tukey test confirming that CRO (4) configurations generate solutions with a higher fitness function values. However, we cannot say if there is a clear distinction between the CRO (2b,4) and CRO (1,4) solutions. Figure 23 shows plots of typical fitness evolution for each CRO-SL approach. It is possible to see the algorithm's convergence in 120 generations. We can analyze the graphs and assert that the algorithms stabilized the average convergence starting with the 48th, 55th and 100th generations, to a fitness value equal to 0.50158 (CRO (4) ), 0.50148 (CRO (1,4) ) and 0.50152 (CRO (2b,4) ), respectively. Table 3 contains the dispatch report of the algorithms. The saving resources can be addressed as follows: CRO (1,4) generates an economy of 5.05 m 3 /s, CRO (2b,4) perform an economy of 5.15 m 3 /s and CRO (4) show the best results saving 5.32 m 3 /s. In a monthly projection, the savings achieved by the CRO versions reach an amount of 13.27 billion liters of water using CRO (1,4) approach, 13.53 billion liters of water using the solution of CRO (2b,4) , and 13.98 billion liters of water using the solution by the CRO (4) strategy. To supply a city of 300.000 citizens, it is necessary to have, on average, 1.1 billion liters [50]. In a city with a population of 2.4 million residents, for example, in a simple analogy, 13.98 billion liters are enough to guarantee the water supply for almost 1.5 months approximately. Please note that all turbine-generators worked in the maximum level of efficiency.
Finally, we would like to state that the CRO (4) version performed the electric dispatch operation in HPP, achieving competitive solutions. In results addressed here the CRO (4) obtained the highest water savings in a projection when compared to the results of standard evolutionary algorithms compared in this work and present in [50,51].

Conclusions
In this paper, we have dealt with a specific version of the generation scheduling by unit commitment problem in hydro-power plants (HPPs). This work describes an efficient mathematical modeling for including hydraulic losses in penstocks at HPPs, allowing a more accurate calculation of the power production. This new formulation of the problem has been applied in an active generation scheduling problem in a real HPP in Brazil. A fresh meta-heuristic, the Coral Reefs Optimization algorithm (CRO) has been proposed for solving this problem, testing different variants of the algorithm, including a different exploration for the coral reef's population. Upon the application of the model and the respective analysis of results, the contributions are: • Proposal of an effective mathematical modeling to power electric dispatch in HPP. The proposed model extends the electric power equation (Equation (9)), bringing modularity to the obtaining of η jt (using regression fit) and hl jt (fluid mechanics' model) terms. This modeling has been described and discussed in detail, being easily replicable. • Inclusion of a hydraulic losses model in the mathematical modeling, to bring greater reality to the dynamics of the electric dispatch problem. In this sense, net water head (hl jt ) was obtained (Equation. (7)).
• Generation of a dataset, using regression techniques, featuring power plants' Kaplantype turbines. Operating Coefficients in Equation (8) were estimated using Nonlinear Regression and presented in Table 1. • Proposal and testing of the CRO algorithm using a combination of search operators or search operators independently. In this work, the latter has concluded on best results when the CRO with Gaussian mutation was used, outperforming real encoded genetic algorithms and differential evolution. • Proposal of a statistical inference methodology to compare results from the metaheuristics has been applied. To test the samples' normality, the Kolmogorov-Smirnov test was implemented, showing that the behaviour using CRO(4) and DE(best/1/bin) algorithms is non-normal. Also, Kruskal-Wallis test was used to determine the differences among the mean ranks, resulting in statistically significant difference between the algorithms results. Finally, Tukey test was performed, confirming that CRO(4) configurations generate solutions with higher fitness function values.
The experimental results obtained show that the proposed methods based on the CRO algorithm converged for satisfactory results. The best performing CRO approach was the CRO with Gaussian mutation, which showed a competitive performance, better than previous algorithms for this problem such as real coded genetic algorithms or Differential Evolution approaches. The CRO-SL also showed a good performance, but it was not possible to statistically confirm that CRO-SL outperforms the CRO with the Gaussian Mutation (CRO (4) ). In the daily dispatch experiment, the CRO (4) obtained the best results, followed by the CRO-SL with Gaussian Mutation and DE mutation CRO (2r,4) and by CRO (3r) CRO with DE with mutation/crossover. We also conducted an hourly power dispatch in which the CRO with Gaussian Mutation obtained again the best result, producing a solution able to save approximately 13.98 billion liters of water every month, in respect to the current HPP operating mode. Future works comprise the proposal of local search procedures to improve the performance of the CRO meta-heuristic. Also, research on new solving schemes to UC-related problems, in a cascade power production system, and the inclusion of hydro-logical alterations caused from power generation, will be pursued in the near future.