**Nomenclature**

The notation used throughout this paper is reproduced below for quick reference.

*Sets*

Set of time periods and periods for maintenance

Set of hydro plants and thermal plants

Set of hydro and thermal generation units

Set of hydro and thermal units in maintenance

Set of maintenance duration lengths

*Parameters*

Quadratic coefficient of cost function

Penalty cost for non-supplied electricity

Cost of water spillage at period *j*

Water inflow of hydro plant *i* at period *j*

Volume of hydroplant *i* at period 0

Final reservoir storage of hydro plant *i*

Maximum limit of power at thermal plant *i*

Maximum limit power of hydro plant *i*

Maximum power generation of unit *i*

Maximum limit of water discharge at hydro plant *i*

Minimum limit of water discharge at hydro plant *i*

Maximum limit of volume at hydro plant *i*

Minimum limit of volume in hydro plant *i*

Water discharge constant of hydro plant *i*

Slope of thermal plant *i* at period *j* for segment *l*

Number of segments for linearization

Upper bound of the *l-th* segment associated with thermal generation *i* at period *j*

Initial volume of hydroplant *i*

Minimum operating cost at generation *i*

Maximum water spillage among initial population

Maximum operating cost at generation *i*

Minimum water spillage among initial population

Number of candidates to tournament

Infeasibility equalisation factor

*Binary variables*

Represents thermal unit *i* being maintained at period *j*

Represents unit *i* of hydro-plant *k* being maintained at period *j*

Continuous variables

Fictitious generator at period *j*

Water spillage of hydro plant *i* at period *j*

Hydro generation of plant *i* at period *j*

Thermal generation of plant *i* at period *j*

Power generation of unit *i* at period *j*

Volume of the hydro plant *i* at period *j*

Value of the *l-th* segment associated with the thermal generation *i* at period *j*

Rationing of spring *i*, at generation *j*

Water spillage of spring *i*, at generation *j*

Fitness function of the genetic algorithm

Operating cost of spring *i*, at generation *j*

1. Introduction

The power Generation Maintenance Scheduling (GMS) problem or outage planning is a combinatorial complex problem. The integer feature of the variables representing either stopping or not a generation unit for preventive maintenance produces a huge number of solutions that makes it difficult to solve for large electrical systems. Meanwhile, hydrothermal dispatch is a nonlinear continuous problem that involves additional complexity due to the dynamic, stochastic and nonlinear features. In consequence, the target problem addressed here can be typified as mixed integer nonlinear programming (MINLP) problem.

In the last decades, a considerable amount of papers addressing the GMS has been published. We focus on those works that have applied metaheuristic techniques based on either pure genetic algorithms or combinations of them with other metaheuristics. In the first place, we list some relevant works that offer solutions for GMS based solely on GA [^{1}-^{7}], or improved versions of them [^{8}, ^{9}]. Secondly, we pay special attention to those named hybrid algorithms, understanding by that, combinations of techniques to solve the problem under scope. In 1999, Burk and Smith presented a hybrid evolutionary solution termed mimetic algorithm that add local search operators to the conventional genetic algorithm [^{10}]. Solutions that involve Simulated Annealing combined with genetic algorithms have been studied in the previous decade [^{11}-^{13}]. Hybrids of genetic algorithms and Particle Swarm were also presented [^{14}, ^{15}]. Other solution approach to the problem was the combination of Genetic Algorithm (GA) and fuzzy theory [^{16}, ^{17}]. A maintenance scheduling study applying GA and Monte Carlo Simulation was also reported in [^{18}] while more recently, the problem was tackled by using a hybrid solution named as Scatter-genetic algorithm [^{19}]. The weakness of the literature reviewed is that all solutions for maintenance scheduling do not take into consideration hydrothermal dispatch. Especially when global warming can affect dramatically the conditions of water resources, the scheduling of the preventive power generation should be seen as an integrated problem jointly with hydrothermal dispatch (HTD) in order to prevent situations of power rationing.

Despite genetic algorithms applied to GMS have already been published and available in the literature as mentioned above, the Chu-Beasley GA has not been applied to solve the GMS and much less to solve it in coordination with hydrothermal dispatch. Another contribution of this paper is testing the ability of a genetic algorithm initially designed to solve the General Assignment Problem (GAP), a well-known problem from the Operation Research field, in solving the GMS coordinated with HTD. Since the genetic algorithm of Chu and Beasley had been successfully applied in the past to solve the static and multistage transmission network expansion planning [^{20}] we decided to find out if applicable to our target problem. For that some adaptations to the original Chu-Beasley GA were necessary. They will be described in section 4. The main contribution of this paper is proposing an integrated solution to the GMS coordinated with HTD solved by a hybrid technique based on an adapted version of the Chu-Beasley GA.

In an electrical scheme such the one assumed here, the ISO (Integrated System Operator) makes the final decision of when the preventive maintenance has to be done so that the general operating cost of the system and therefore, the hydrothermal dispatch, is affected as little as possible. It is known that the HTD problem is very complex itself (nonlinear, dynamic and stochastic) but that complexity can be lowered throughout relaxed models [^{21}].

This paper presents a hybrid solution for the generation maintenance scheduling problem based on a metaheuristic that combines a heuristic (a specialised genetic algorithm based on the Chu-Beasley genetic algorithm [^{22}]) and a mathematical programming model (linear programming) as a local search method. Our algorithm is a hybrid technique because it combines a heuristics and an exact technique. It takes into consideration hydrothermal dispatch and the non-linearity derived from the cost of the fuel for thermal power plants. In specialised literature, the fuel cost is often modelled as a quadratic variable [^{23}, ^{24}]. The duration of four different types of maintenance is fixed and therefore a parameter of the problem, which is a realistic situation as referred in various works [^{19}, ^{25}]. To make our approach closer to a real application, some of the generation units are considered not to have maintenance within the year (52 weeks), in that case the duration of the maintenance for that specific unit is zero. We should remark that the maintenance cost is not part of the objective function in the proposed solution. That implies we are looking for the maintenance schedule that minimizes the operating cost of the hydrothermal dispatch. In this approach, the cost associated with the maintenance task is borne by the companies that own the power plants.

It must be obvious to the reader that in order to make the Chu-Beasley GA suitable for the actual problem, a particular codification of the problem should be carried on as well as a redefinition of the objective function and constraints. Such a codification and adaptation of the model are also contributions of this work. The output of the genetic algorithm is a proposal for the start week of the GMS for each generation unit of the hydrothermal system. Based on that proposal, the generation capacity available of the plants is determined and the plant generation limits adjusted. With the new generation boundaries, the hydrothermal dispatch problem is solved by the linear programming method. This represents a local solution of the whole problem. The iterative process of the genetic mechanisms leads to good quality sub-optimal solutions and eventually to the optimal solution. The non-linearity associated to the fuel cost is linearized by means of a piecewise linearization method.

The model was implemented using the programming language C++ and the commercial solver CPLEX. This combined solution takes advantage of the efficiency of the CPLEX solver and the genetic algorithm simultaneously, which favours convergence.

2. Mathematical modelling

The mathematical model is a MINLP (Mixed Integer Non Linear Programming) type. It searches for the optimal maintenance scheduling that minimises the cost function, which comprises three terms: operating cost of thermal generation, rationing cost and spillage cost, Eq. (1). Consequently, the model has not maintenance cost associated (this cost is hold by the GENCOs) and optimises the energy resources available. This model is a new proposal built by the authors, inspired by previous works on HTD [^{21}, ^{26}, ^{27}] and GMS referenced in section 2.

We insist in this section that this model coordinates in a single model two problems (HTD and GMS) that are normally treated in literature as separate problems. Eqs. (2)-(8) bear the integer part of the problem, those are constraints related to the GMS part, while Eqs. (9)-(16) embody the continuous part, so the HTD. This model considers nonlinear operating costs for thermal generation. It is subjected to constraints related to: the manpower availability to carry out the maintenance task specifying that no two units can be simultaneously maintained by the same crew at the same power plant, represented in Eqs. (2) and (3); also, that no more than three units can be simultaneously maintained by different crews (crew constraints), Eq. (4); completion of maintenance operation guarantees that the maintenance for each unit must occupy the required time duration without interruption (maintenance completion constraint) [^{28}] represented by Eqs. (5)-(8); additionally, the HTD constraints: energy balance, Eq. (9), water balance (10), maximum thermal and hydro generation (11) and (12), productivity of the hydroplants (13) maximum and minimum limits of water discharge for the hydro plants (14) maximum and minimum volume limits for the water reservoirs (15) and minimum energy storage (16); finally, the variables are defined by constraints (17) and (18).

*s.t.*

The solution is divided in two stages: First, the genetic algorithm that solves the maintenance scheduling and, second, the linear programming optimisation part that solves the HTD problem.

In order to keep the HTD model linear, two strategies are deployed: a) The quadratic cost function is linearized throughout a piecewise linearization technique. Equation (19) represents a variable change with the purpose of linearization, that is, we are renaming a squared variable by a new linear variable. b) Instead of considering the binary variables that represent the units maintenance outages *Yk,i,j*, *Wk,i,j* and *Zk,i,j* , this work subtracts the power capacity of the unit to be maintained from the total capacity of its respective power plant. The idea is to find out how the shortfall in capacity is to be taken up by the remaining units.

Following this, (1) becomes linear, (20) in the new model. Eqs. (2) - (8) are removed from the model. additionally, the HTD constraints: energy balance, Eq. (21), water balance (22), maximum thermal and hydro generation (23) and (24), maximum unit generation (25), productivity of the hydroplants (26), maximum and minimum limits of water discharge for the hydro plants (27) maximum and minimum volume limits for the water reservoirs (28) and minimum energy storage (29); (31) defines the linearization variables; finally, the variables are defined by constraints (32).The new linearized model resembles as follows:

where:

3. Solution Technique

As a previous step for implementing the algorithm, a linearization technique is accomplished. The energy cost is a quadratic function of the thermal power; hence, the variable to be linearized is the thermal power. The quadratic original function is discretised (by dividing the function into *L* segments) by means of an approximation of secant segment lines. In every time period (52), and for each thermal plant, a linearization has to be done; therefore, the constants of the quadratic function for each thermal plant at each period *cTi,j* and *aTi,j* are parameters of the system.

The solution technique named matheuristic is a heuristic that uses a mathematical programming model as a local search method. For our matheuristic, the heuristic technique is a specialised genetic algorithm inspired by Chu and Beasley’s work published in 1996, and the mathematical model is the linear programming. A set of heuristics, based on criteria particular to the HTD problem, conform the initial population of the GA. The linear programming of the model makes a local search of the DHT part of the solution. The final result of the GA is the maintenance scheduling for the generation units. At the end of the evolution process, the GA obtains a solution that fulfils the stop criterion (iteration number). It is well known that non-exact techniques do not guaranty the optimal solution but *a good quality solution* that eventually might be the global optimum. The current solution is built on C++ language. CPLEX solver is invoked for the linear part of the solution, the DHT.

Figure 1 presents one iteration of the genetic algorithm step by step. It begins with generating the initial population. In this algorithm, diversity is a major issue; each individual is different that all individuals of the current population. The selection process is the mechanism to choose the individual that replaces another; in this case that mechanism is the tournament. The remaining steps are crossover mechanism, mutation, verification of feasibility and diversity. Finally, depending on certain criteria, the replacement step can take place or not. Every component of the GA will be detailed in section 6.

4. Test system

The hydrothermal system under study is a test system integrated by five elements: three hydraulic and two thermal power plants. The hydro plants H1, H2 and H3 get water inflows from rivers RA, RB and RC, respectively. The analysis time term of the HTD is a year divided in 52 weeks, which in literature is often referred as middle term hydrothermal dispatch or scheduling. The transmission line effect is neglected (so called single node analysis). Table 1 contains values of water discharge factor, maximum water discharge rate, maximum volume, initial volume and final volume of hydroplants.

Maximum generation of plants H1, H2, H3, T1 and T2 in [*MW*] is presented in Table 2.

The cost of thermal plants is based on a quadratic function that depends on the thermal generation in time. For each thermal generator and each time, the coefficients that accompany these functions are known; these values are based on stock market prices of fuels. Values of maximum power capacity for each generation plant are summarised in Table 2.

An individual within our genetic algorithm is a maintenance scheduling for generating power units. It is, therefore, a matrix whose dimensions are given by the number of generating units and the number of time periods. In this case, each individual is a matrix of size 22x52. Figure 2 illustrates the Basic Maintenance Plan. In this work, this plan is assumed as the proposal made by the generation companies. This figure is also useful to show how each power plant is divided in units. For instance, hydropower plant H1 habilitates 3 unit of 180 *MW* each. The first column identifies thermal and hydraulic power plants, the second one, each of the machines (or generation units) of their plants, the third, numbers the machines throughout the system (22 in total), the fourth indicates the maximum capacity of each machine or generating unit.

5. Feasibility

5.1. Controlled feasibility

this term is understood as the feasibility that is guaranteed by the following three restrictions:

Overlaps between maintenance of units of the same plant are not allowed. This restriction has to do with the fact that no place for more than one unit in maintenance is available at power plants due to the size of such equipment.

Only up to three overlaps between units of different plants. In general, number of specialized crews for maintenance work is limited.

No maintenance truncated allowed. It is assumed that non interruptions will take place, once the maintenance starts.

5.2. Non-controlled feasibility

this term has to do with that infeasibility that the algorithm does not intervene or control, at the beginning of the evolution process individuals that present such an infeasibility might enter the population, but the evolution process will remove gradually in the search for the best solution, rationing and spillage free. In this work, non-controlled feasibility is composed by two factors: rationing and water spillage. In these cases, the evolution process of the genetic algorithm will be in charge of eliminating the infeasible solutions.

6. Coding of the Genetic Algorithm

When coding, a maintenance plan (chromosome) is fully identified by two vectors: The first vector containing the week in which the maintenance of each unit starts, that is of size 22 and variable; and the second vector containing the maintenance’s duration of each unit that is fixed. This is shown in Figure 3.

6.1. Initial population

The initial population consists of three types of individuals so called: heuristic, hybrid and random. The heuristic individuals are selected from 12 heuristics criteria built on in previous work [^{27}] and [^{29}, ^{30}]. The hybrid individuals combine heuristics criteria and randomness; finally, some of the individuals are totally random.

6.2. Diversity

In our solution, an individual is a vector containing the initial week of maintenance of each power unit. Two individuals comply diversity if by comparing one by one the positions of the vectors, they differ at least in one of them. Figure 4 illustrates the diversity test of two individuals. The first individual (Ind. 1) differs of the second individual (Ind. 2) at the position corresponding to unit 4. The maintenance of this unit starts at week 20 and 21 for Ind. 1 and Ind. 2, respectively. The grade of diversity in this case is 1. The highest diversity grade is 20 because two units (11 and 14) have no maintenance scheduled during the planning period.

A particular characteristic of the Chu-Beasley genetic algorithm is that guaranties diversity among all the individuals. That means, an individual who aspires to join the population must be different to each and every one of the individuals in that generation.

6.3. Fitness function

The quality of an individual is assessed by the fitness function, defined by (33). The algorithm seeks for the maintenance schedule with cheapest cost.

where:

*f*
_{
fii
}: is the fitness function.

*c*
_{
i, j
}: is the operating cost of thermal plants.

*I*: is the normalized infeasibility.

Υ: is a factor calculated based on the cost of the initial population. It makes that infeasible and low operation cost individuals have the same chance to replace an individual of the population than one feasible but of the high cost. It is calculated by (34).

The numerator in (34) represents the difference between the maximum and the minimum operating cost. Meanwhile, the denominator is computed as the difference between the extreme values (maximum and minimum) of the normalized infeasibility. All values are related to the initial population. The normalized infeasibility is calculated by (35).

*s*: water spillage of the individual assessed.

*r*: rationing of the individual assessed.

maximum spillage among initial population.

maximum rationing among initial population.

and are values chosen according to criteria of a decision maker, regardless the specific weight he or she assigns to rationing and spillage. In this case, the decision maker considers that avoiding power cut-offs is five times more important than avoiding water spillage. In consequence, the methodology is flexible enough to support changes in the values of alpha and beta, since they can be modified according to the system needs.

6.4. Selection

The selection mechanism of an individual to enter the population in the Chu-Beasley GA is the *tournament*. The tournament is to randomly choose between *n*
_{
c
}
*an*, number of candidates. The individual with better fitness value, i.e., less value, will be the parent 1. In a second tournament, the parent 2 is chosen. Figure 5 shows the mechanism for selecting parents for a particular case in which *n*
_{
c
}
*an* = 2. However, the number of participants in each tournament can be generally greater than 2; in fact, it is an input parameter that can be varied. At this point, one HTD subproblem must be solved associated to the specific maintenance plan and the cost is calculated by solving an LP problem through CPLEX.

During the first generation’s tournament, the program randomly selected four individuals or candidates of the initial population. The elements chosen were 65, 68, 14 and 5. So the first tournament held between individuals 65 and 68 individuals, the number 65 emerged victorious, having a value of less fitness function, 1,216,715.375. The individual 65 is constituted in the parent 1. Meanwhile, from the second tournament, parent 2 happens to be the individual 5, since its fitness function value is less than that of the individual 14, with a value of 1,214,037.152.

6.5. Crossover

Crossover is a genetic operator that combines two chromosomes or *parents* in order to get a new individual called *spring*. This work considers the one-point crossover mechanism, that is, a value between 1 and 21, the number of units, is randomly chosen (in the example 19). The selected value is the crossover point. The spring will take from parent 1, the chromosome fragment between position 1 and the crossover point (19), and from parent 2, the positions fragment between the recombination point plus one (20) and 22. This mechanism is illustrated in Figure 6.

6.6. Mutation

The spring is altered by the mutation mechanism. Within this work, mutation consists of randomly chose a number of units to displace its starting week of maintenance, in *d* positions. The decision about if the displacement is either to the right or to the left is again random. Figure 7 shows the mechanism. As observed, six generating units were chosen to be varied by the mutation: 2, 7, 10, 12, 13 and 22, highlighted by the red arrows. The *mutant* is a new individual resultant from the mutation.

After all the genetic mechanisms take place, the resultant individual could present infeasibilities of the controlled type discussed in section 6.1. In such a case, the individual must be repaired, which means that goes through a process that makes it feasible. That is done by incrementing a position of the starting week of maintenance of the unit that generates the infeasibility and cyclically repeating this step until the infeasibility has disappeared.

The next step is to decide whether or not the *feasible spring* replaces an individual of the population. The algorithm will take into account various criteria such as diversity, infeasibility and cost to make the final decision. The process is better understood in Figure 2.

7. Results

Computational results show that the Base Plan presents no water spillage along the planning term, but rationing (non served power demand) of 549.812 *MW* at the first period. The cost for this plan is 1,485,910.00 *MU*. Table 3 contains the parameters of the genetic algorithm for the best solution found by our GA algorithm: *n*
_{
i
}
*nd* represents size of the population; *n*
_{
m
}
*ut* is the mutation rate; *n*
_{
t
}
*or* is the number of tournaments and *n*
_{
c
}
*an* represents the number of candidates to be parents participating in the tournament. The crossover mechanism selected for the solution is 1-point typed.

The best solution obtained by our GA-based matheuristics has a cost of 1,201,965.50 *MU*. This is a better solution compared to the Base Plan since the cost is 19.11% lower (a reduction of 283,944.5 *MU*). Besides, the Best Solution presents no rationing at all. The algorithm reaches a population entirely feasible within 52 iterations (generations) and meets the best solution within 639 generations. A remarkable result is the fact that after the generation 852, the 80 individuals of the population are equal in cost. Due to the diversity characteristic of this particular GA, this means that in fact we have 80 alternative best solutions, judging only from the cost point of view. To decide between so many ’best solutions’ a marginal fitness index is calculated. This is done by comparing each position of the base plan with each position of the individual to be evaluated and finding the difference between the two values. The 22 marginal values obtained are added to get the global fitness index.

The final best solution is that with smallest global fitness index. Figure 8 shows both Base Plan and Best Solution maintenance schedule vectors. So the reader can compare how shifted the final solution is from the GENCOs proposal. The measure of such shift is the marginal index in the third row of the figure. The remaining 79 discarded solutions have a global fitness index higher than 290.

An important matter in hydrothermal systems analysis is the behaviour of reservoirs of hydroplants due to the cost has tight relationship with the water reserve. The higher the water storage the lower the future cost of energy. Their volume at each period of time of the hydroplants H1, H2 and H3 is summarised in Figure 9. It allows us to compare the reservoirs for a plan with optimisation and the best solution at each period. We can derive that the major impact of reserve is due to rivers that feed hydroplants H1 and H2, which have greater water inflow, and therefore more capacity of storing. Also, that a wiser (optimised) management of the resources has impact on the cost of operation of the system.

Figure 10 depicts the participation of each generation plant at each time period in the dispatch.

Figure 11 shows the performance of the algorithm with variations in the mutation rate.

The best performance of our algorithm is reached when two parents participate in the tournament. A higher number of parents (3 or 4) increases the cost of the solution. When setting the population size at 60 individuals, the algorithm gets trapped in the same value (a local optimum) from the first generation. The best maintenance scheduling (cheapest solution) shows up when population size equals 80 individuals. See Figure 12. When executing the algorithm with only random initial population the number of iterations to reach the best solution increases 33%. This indicates the benefit of using heuristics in the initial population.

The algorithm was executed 10 times. The results are summarised in Table 4. The best solution was reached four times, and the other six solutions have an average variation of 1.35% from the best solution.

Machine Specifications: The tests were performed in a machine Intel (R) Core (TM) i7 -4770 3.40 GHz processor, 16 GB RAM, Windows 7 64-bit operating system. No parallel processing was carried out. Average run time of the algorithm is 16810174 ms (4.67 hours) for 1,000 iterations. This means that each iteration takes about 16.81 seconds. The computational complexity of the algorithm is . For this specific machine, the time constant for the algorithm *mc* is calculated as the quotient between an iteration time and the complexity (39). The value *mc* is important to assure fair comparison between two algorithms that solve the same problem regardless the machine.

where:

*n1* = 22(number of generation units)

*n2* = 52 (number of time periods)

8. Conclusion

We have presented a new mathematical model and a new methodology for solving the power generation maintenance problem coordinated with hydrothermal dispatch. We proved that the Chu-Beasley based GA is suitable for solving this problem. Computational results show that our algorithm is able to generate solutions that reduce the cost compared with the proposed by the generators (without optimisation criteria) down to 19.11%, in reasonable time.

The non-linearity of the thermal operating cost in the hydrothermal dispatch are faced by a piecewise linearization technique that achieve results within reasonable computing time. With the linearization technique the model can be adjusted to more complex non-linearity different to quadratic.

A test system built within this research is publicly available for further interested research workers.