Abstract

This paper describes a method developed to schedule the preventive maintenance tasks of the generation and desalination units in separate and linked cogeneration plants provided that all the necessary maintenance and production constraints are satisfied. The proposed methodology is used to generate two preventing maintenance schedules, one for electricity and the other for distiller. Two types of crossover operators were adopted, 2-point and 4-point. The objective function of the model is to maximize the available number of operational units in each plant. The results obtained were satisfying the problem parameters. However, 4-point slightly produce better solution than 2-point ones for both electricity and water distiller. The performance as well as the effectiveness of the genetic algorithm in solving preventive maintenance scheduling is applied and tested on a real system of 21 units for electricity and 21 units for water. The results presented here show a great potential for utility applications for effective energy management over a time horizon of 52 weeks. The model presented is an effective decision tool that optimizes the solution of the maintenance scheduling problem for cogeneration plants under maintenance and production constraints.

1. Introduction

Desalination, desalinization, desalinisation, or desalting refers to any of several processes employed to produce fresh water suitable for human consumption by removing some amount of salt from the sea water. It is known that salty water cannot sustain the human life, farming, or industry; therefore, people have strived to develop cost-effective and reliable ways for desalination. One of the widely used procedures for water production is cogeneration. This is an energy-efficient method of producing power and fresh water at the same time, in one process with one fuel. The cogeneration power plants (considered as complex process engineering systems consisting of various subsystems) are operated for achieving two major goals, namely, maximizing both generation of power and production of distilled water. The cogeneration power plants have been widely used worldwide because of their reliability, efficiency, and economic values [13]. Currently, around 120 countries have adopted this technology for producing power and water [4].

The cost effectiveness represents a real challenge that the cogeneration power plants technology has been facing recently. This effectiveness is related to the reduction of the different cost variables such as fuel and operational cost.

In the classical scheduling, the common assumption is that processing times of the jobs are fixed and known a priori with certainty [5]. In practice, however, machine production rate becomes less than normal due to a mal-position of tools, mal-alignment jobs, abrasion of tools, and scraps of operations, and so forth. In these situations, the processing time of the jobs increases depending upon the sequence of jobs or the starting time of jobs. Such problems are generally known as machine scheduling problems with deterioration [6]. The deteriorated processing time of jobs is recovered to an original processing time by the maintenance or cleaning process machines. The recovering process bringing back to a normal processing time is called rate-modifying activity (RMA) [7]. Lee and Leon [8] consider several problems of scheduling on a single machine with an RMA (minimizing makespan, flow-time, weighted flow-time, and maximum lateness).

The maintenance, which is defined as a combination of several functions needed to keep in or restore the equipment to a designated operational state [911], is an essential activity in these cogeneration power plants. It is known as an increasing portion of the operational costs and as a result any saving in maintenance cost will lead to huge reduction in the overall cost. Maintenance also has a great effect on the plant and unit availability and production cost. In addition, the long term maintenance scheduling (MS) of the generation and desalination units is an important challenge for these plants. Past experiences indicated that effective scheduling can save considerable operational costs that help the electric and water utilities to be more competitive in terms of the energy and water price while increasing system reliability [2, 3].

Maintenance optimization consists in broad terms of those mathematical models aimed at finding either the optimum balance between costs and benefits of maintenance or the most appropriate moment to execute maintenance [12]. It is a well-established area as several reviews show [13, 14]. For introductions and frameworks, see [15, 16]. For recent problem oriented overviews, see [1719].

Maintenance scheduling is usually considered as an optimization problem. This problem is subject to a number of constraints such as the crew constraint, maintenance window constraint, time limitation constraint, and the output load constraints of water and electric power demanded [9]. The main goal of this optimization problem is to allow the power generation and water production to meet the demand without any delay by keeping the required equipment available during operation. Availability is “the ability of equipment to successfully perform its required function at a stated instant of time over a stated period of time” [20]. Any failure which may occur in any unit in the cogeneration plant will affect the overall availability of the system and therefore will cause an increase in the overall cost.

As an example, some earlier studies that dealt with cogeneration maintenance are [2123]. Authors treating desalination include [1, 2, 24, 25]. Several methods have been proposed in the literature to solve thermal unit MS; these have similarities with cogeneration units. The solution methods can be categorized as follows: integer programming [1, 26, 27], Benders’ decomposition technique [28], dynamic programming [11, 29], and exact and metaheuristic algorithms [30], which give exact optimal solution. However, when the size of the problem increases the solution space increases greatly as a result causing the computational time to increase. Therefore, the exact solution might be sacrificed in order to reduce the computational time using other algorithms such as Tabu search [31], simulated annealing methods [32], and genetic algorithm (GA) [33, 34].

This paper presents a genetic algorithm (GA) model designed to produce an optimal maintenance schedule for cogeneration plants in terms of maximizing the available number of units in each plant for a 12-month demand cycle. GA was used in many other problems and found to produce competitive results; see, for example, Liu et al. [34] and Al-Hamad et al. [33]. The model designed in this paper is reliable and capable of generating a good schedule for industrial sectors. Moreover, this model can be used to solve large-scale problems practically and efficiently.

The structure of the paper is as follows. In the next section, the problem background and the main features of the genetic algorithm are covered. Section 3 is devoted to formulate the model mathematically. An illustrative example is given in Section 5 to test the model. This is finally followed by the conclusion.

2. Problem Background and Genetic Algorithms

2.1. Problem Background

Around 120 countries have adopted the cogeneration power plants for producing power and water, (see Figure 1). Fifty percent of them are the Middle East region [36]. Among these Middle Eastern countries that have been extensively using the cogeneration power plant is the state of Kuwait.

In Kuwait, the Ministry of Electricity and Water (MEW) is responsible for supplying power and water to the population. The MEW has met the growth in demand for electricity and water in the last 30 years by the construction of a system of cogeneration plants, exceeding 12 Gigawatts (GW) and 400 million imperial gallons per day (MIGD) [37]. There are 6 power plants in Kuwait, namely: Doha East, Doha West, Shuaiba, Al-Zour South, Sabiya, and Shuwaikh. These plants employ both thermal steam turbines and gas turbines for power generation. These plants are identical in layout but different in sizes and installed capacities. Each plant has a boiler, a turbo-generator, and a distiller as shown in Figure 2. The boilers produce a high pressure steam from fuel; the turbo-generators produce an electric power from the high pressure steam and the distillers produce desalinated water from the salty water using low pressure steam. A common steam header connects the boilers of a plant so that the steam from a boiler in one unit can be used by a distiller in another unit. The water produced is stored in reservoirs which are used to meet the predicted demand at each time period of planning horizon. The plants should also satisfy the demand for electric power and water during each time period.

The main target of this research is to present a genetic algorithm model that produces a solution of an optimal maintenance schedule for cogeneration plants in terms of maximizing the available number of units in each plant for a 12-month demand cycle.

2.2. Genetic Algorithm Definition

Genetic algorithms (GAs) belong to a class of efficient algorithms which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover. They are very common algorithms and work well in any search space. GAs were formally introduced in the United States in the 1970s by John Holland at University of Michigan. The starting point of GA is to create a population of chromosomes (i.e., a collection of chromosomes) where each chromosome represents a proposed solution to the problem into consideration and is defined as a simple string. Two chromosomes are selected from the population and the crossover and mutation operators are then applied to generate new chromosomes. Crossover is a genetic operator that combines (mates) two chromosomes (parents) to produce a new chromosome (offspring). The idea behind crossover is that the new chromosome may be better than both of the parents if it takes the best characteristics from each of the parents. Mutation operator alters one or more gene values in a chromosome from its initial state. In mutation, the solution may change entirely from the previous solution. Hence GA can produce better solutions by using mutation. The purpose of mutation in GAs is to preserve the diversity and to allow the algorithm to avoid local minima or maxima. In each generation, the fitness function of every chromosome in the population is evaluated. (Note that the fitness function measures the quality of the represented solution—chromosome.)

The three most important aspects of using genetic algorithms are definition of the objective function, definition and implementation of the genetic representation of chromosomes, and definition and implementation of the genetic operators. There are various selection criteria so that it picks the best individuals for mating (see [38]).

3. Problem Description and Mathematical Formulation

The problem of MS that concerns this paper is defined formally as follows. Let be a set of plants with where is the total number of plants. There is a set of units of type boiler-turbine and a set of units of type distiller such that the total number of type boiler-turbine is equal to the total number of type distiller. Each unit must go through a maintenance process for a period of time; more than one unit can go through maintenance simultaneously. The maintenance durations of the units are not necessarily identical. During maintenance, a minimum number of units for each plant must stay in operation. The goal is to schedule the preventive maintenance tasks for plants consisting of units of boiler-turbine and units of distiller in a way that maximizes the number of available units over the operational planning time-horizon .

The schedule of maintenance consists of a strip of all the units and of their corresponding maintenance times. The schedule displays all the units and their maintenance starting week. Figure 3 illustrates the schedule of 10 units to be maintained in time-horizon of 52 weeks. The upper numbers represent the unit number and the lower numbers represent the starting week of maintenance.

For example, unit 1 starts in week 5 and unit 2 starts in week 12. Units 4 and 9 start in the same week, 24.

The GA adapted in this paper starts by generating a number of chromosomes, NM say, where each chromosome is formed of ND genes (nodes). Each chromosome represents a schedule of starting maintenance (week)—same Figure 3—for unit in case of boiler-turbine, or for unit in case of distiller. The fitness value will be evaluated and displayed separately for each chromosome. An example of chromosome is illustrated in Figure 4.

Notation. The following notations are used in the GA approach. denotes the set of plants, indexed by . denotes the set of units of type boiler-turbine indexed by . denotes the set of units of type distiller indexed by . (Note that the total number of boiler-turbine units is equal to the total number of distiller units.) is length of the maintenance planning horizon (week), indexed by . is number of chromosomes (population). is number of genes (nodes) in chromosome where . is portion of chromosome, called neighborhood. is number of inner iterations (iterations within specific population ). is number of outer iterations which is equal to the number of populations that were generated during the GA model. is number of iterations . is earliest time (week) that maintenance on unit can start, where . is latest time (week) that maintenance on unit can start, where . is earliest time (week) that maintenance on unit can start, where . is latest time (week) that maintenance on unit can start, where . is maximum electricity production capacity for unit , where . is maximum water production capacity for unit , where . is minimum number of units in operation, where . is minimum number of units in operation, where . is total demand of electricity in period . is total demand of water in period . is minimum allowed reservoir level amount of water. is maximum allowed reservoir level amount of water. is initial reservoir amount of water. is the total amount of manpower available for electricity equipment. is the total amount of manpower available for water equipment. is amount of manpower required for unit , where . is amount of manpower required for unit , where . is electricity production rate for unit , where . is water production rate for unit , where . is maintenance duration of unit , where . is maintenance duration of unit , where . is number of electricity units operational in week , where . is number of water units operational in week , where .Decision Variables. Consider

The available production of electricity (available MW) and the available production of water (available MGID) at period are calculated as follows: The reservoir amount of water Res1 in first week is given by and the reservoir amount of water at period is computed by

4. Genetic Algorithm Method

This section explains how the genetic algorithm procedure is implemented.

4.1. Representation

GAs work with a population of chromosomes (strings) where each chromosome represents one potential solution to the optimization problem. Most of the GAs apply binary chromosomes to represent chromosome. Here an integer chromosome of length as the representation of chromosome is used, where is the number of units in the problem. There are two types of chromosomes: one represents units of boiler-turbine , while the other one represents units of distiller, . An important part of GAs is encoding the value of each gene in the chromosome belonging to the population. This encoding is significant to the GA operations. The value of each gene in the chromosome is the unit maintenance week starting time, and the sequence of the genes is the order of units. For example, a chromosome can be represented as given in Figure 5.

This chromosome represents one feasible solution of 10 genes (node MS). In this representation, the maintenance of unit number 1 starts at week 45, and unit number 2 starts at week 9, and so on for the other units. There are two types of chromosomes as mentioned previously: one holds only units of boiler-turbine , while the second holds units of distiller .

The operations accomplished when implementing a GA model are in the following order:(1)Initialize the population.(2)Calculate the fitness for each chromosome in the population.(3)Perform the crossover and mutation operators on the population.(4)Go to step until a certain number of iterations is reached or a specific criterion is satisfied.(5)Reproduce a new chromosome to form a new population; then go to step .

4.2. Initial Population

There are two types of units, and ; two GA models for each type of unit were created using the same methodology. On the other hand, each model works separately; this means if boiler-turbine is under maintenance, the distiller will not be influenced. First, each GA model generates an initial population consisting of chromosomes of type and chromosomes of type , respectively; the generation is carried out randomly using a trial process, where all conditions mentioned in Section 4.3 are satisfied. The second step is to calculate the fitness value (objective function) for each chromosome where the fitness value associated with each chromosome is the standard deviation of the gaps between the demand and the available production on the whole maintenance planning horizon. The reason behind using the standard deviation is to keep the gaps between the demand and the available production almost equal during the time horizon . This means that there is a sufficient production in period in case any breakdown occurred. Chromosomes with good fitness value (lower standard deviation) will have the higher chance to be selected as parents for mating. The standard deviations and for both types, and , respectively, are calculated as follows:

Let stand for the electricity gap between the demand of electricity and available MW in period (), while stand for the water gap between the demand of water and the available MIGD in period (). These gaps are given as and their respective averages and are found by

Once two parents are selected, offspring are produced using crossover and mutation operators simultaneously.

4.3. Crossover Operation

Crossover is a process of taking two parent solutions to produce two children solutions from them. There are many techniques for crossover operation; see, for example, [39, 40]. The 2-point and 4-point crossover techniques are adapted in this research; see [33, 41]. To explain these two techniques, suppose two chromosomes (parents) are presented, as illustrated in Figure 6.

The 2-point crossover starts by selecting two crossover points on both parent chromosomes randomly. All data beyond the two selected points (called neighborhood (NB)) in each chromosome are swapped. This produces the children (offspring) shown in Figure 7. The size of the selected neighborhood varies but does not exceed 50% of the length of the chromosome. As an example of neighborhood size, in Figure 7 the size of neighborhood is 40%, 4 genes out of 10 the length of chromosome.

With the 4-point crossover four crossover positions are selected at random and the value of genes exchanged between the chromosomes along with these points. Then two new offspring are produced. The length between two selected points is not fixed, where it could bind only one gene, or it could be segment as in Figure 8.

After each crossover trial, all the following conditions must be satisfied:

Conditions (8) and (9) ensure that total number of units operating in week is more than or equal to the minimum total number of units required to be operational in week . Conditions (10) and (11) indicate that the available production in week must be more than or equal to the demand. The last condition (12) ensures that the reservoir level amount of water remains within the boundaries.

Furthermore, starting a preventive maintenance task must be more than or equal to the earliest time. Meantime, when the starting time for a specific unit takes place, the maintenance duration must not exceed the latest time. Therefore, any crossover trial for unit must be within and must be within in case of unit . The conditions are as follows.

If , then the following conditions must be satisfied:

And if , then the following conditions must be satisfied:

Because of the limitation of manpower required to serve units, the following conditions must be satisfied: Conditions (15) state that no more than the available number of manpower is dedicated.

If one value of gene violates one of the previous conditions, then further action to address this situation should be taken. The operation is carried out by exchanging the value of gene with the opposite offspring which has the lowest gap (). If the previous conditions are satisfied, then the exchange succeeds; otherwise will be selected until satisfying all conditions. This procedure continues until an exchange is implemented. On the other hand, if the trial failed, then the gene value remains unmodified (the same procedure is applied in case of distiller ). In addition, each offspring will be evaluated in terms of fitness value. If the fitness value is the best so far then it will be stored as the best chromosome. Meantime, both offspring will be used in the next step, applying mutation operation to each.

4.4. Mutation Operation

The mutation operator plays the next role in GA. The objective of the mutation is to interrupt the two offspring chromosomes slightly by swapping two gene values. There are many mutation operators for permutation representation; see, for instance, [39, 42].

Two mutation operators were applied, exchange nodes between two chromosomes and swap nodes for one chromosome, as shown in Figure 9. First, exchange nodes are applied. The performance is accomplished by selecting gene in offspring 1 with the largest gap, then selecting the gene in offspring 2 whose gap is the smallest. Finally, the values are exchanged. All conditions mentioned in the crossover operation must be satisfied. If an infeasible solution occurs, then swap nodes operation will be applied on the infeasible offspring. Application of this method is accomplished by searching for gene in this offspring with lowest gap, for instance, gene in distiller; then the gene values will be swapped with gene , where all conditions are satisfied. If operation failed, the second lowest gap of gene will be selected and swapped with gene . The process is repeated until reaching a feasible solution; otherwise the gene value of remains unmodified.

Once the mutation is completed, fitness value will be evaluated. If the produced fitness value is the best then it will be stored as the best chromosome; otherwise it will be ignored.

These two offspring will be the new two parents for the next iteration. The same procedure explained previously will be applied and repeated for a number of iterations. However, if these two parents generate the best solution, in which the solution is improved, then iteration will start from zero and the procedure will carry on for a number of iterations. This means that these two chromosomes could lead to optimality or near optimality.

Once iteration has reached ItIn, then second new population will be generated and used in the next iteration of GA. This generational process is repeated for a number of iterations. Overall number of iterations . During each successive generation, best fitness solution will be stored, deleting the previous one. Figure 10 illustrates all GA operation.

5. Computational Study and Numerical Results

5.1. Description of the Test Study

The GA algorithm described above was coded in VB6 and can be run on Intel Core 2 Duo, 2.50 GHz CPU. To test the model described, a representative example is used to compare three Kuwaiti cogeneration plants. Each plant has seven units, where each unit consists of two pieces of equipment, boiler-turbine (capacity 150 MW) and distiller (capacity 10 MGID). The time-horizon is 52 weeks (one year).

The aim of this experiment is to search for the best fitness value, which means maximizing the availability number of operational units in each plant.

The input data for the model is as follows: maintenance window; it is assumed that the earliest starting time for maintenance is in week one (), while the latest starting time for maintenance is in week 52 (). The maintenance duration is taken to be between 2 and 4 weeks, depending on the unit type. The resource and maintenance crew constraints are kept constant. The demand is taken from the Statistical Year Book, Ministry of Energy. Figure 11 illustrates two input demands; the first one is the electrical consumption in megawatts (MW), while the second is the water consumption in million imperial gallons per day (MIGD). The maximum total generator capacity is 3150 MW, and the maximum total distiller capacity is 210 MIGD.

5.2. Numerical Results

The performance of GA is implemented by exploring the quality of fitness value (lower standard deviation) in terms of the neighborhood size () for each crossover operator. As mentioned previously, two types of crossover operators were implemented: 2-point and 4-point. So the algorithm was run two times. Neighborhood size for each was tested as percentage of chromosome size. The percentages are 10%, 20%, 30%, 40%, 50%, and a fixable size in the range 10%, 50%. Therefore, a set of six runs for each size was performed. Additionally, seven different iterations (10, 20, 30, 40, 50, 60, and 100) were considered. The total number of iterations is fixed to 60000 iterations, where ; this means if then . Moreover, to see the effect of the search space, the algorithm was run three times for each population size (100, 250, and 500). No further improvement was observed with . Thus the total number of problems tested is equal to 126 (six runs for each size, seven different iterations , and three times for each population size ).

A clear picture of the interactive effects of; two types crossover operator, inner iteration (ItIn), size of Neighborhood (NB) Portion of 16 chromosome, and population size (NM) is given in Table 1.

There are two types of experiments: 2-point and 4-point crossover operators. In each experiment, investigation to test the relationship between the number of iterations , size of population , and size of was implemented. Table 1 shows the results obtained using the two methods of crossover operators for each Electricity plants and Distiller plants. First column represents the three different population sizes neighborhood, while the second column shows the six neighborhood size . Due to limitation of this table, only best solution obtained using one of the seven (10, 20, 30, 40, 50, 60, and 100) was illustrated in column 3, while column 4 represents the best fitness. Computation time for each experiment is illustrated in column 5. Next columns are the same of columns 3, 4, and 5.

Since the standard deviation (fitness value) measures how far the numbers are from their average, it is obvious that most of the fitness values (best solution) are small: in electricity the fitness value lies between 97.639 and 105.849, while in water the fitness value is between 3.978 and 4.441. The best solution for electricity is equal to 97.639, which can be obtained using 4-point crossover with (size of population), % (neighborhood size), and (number of inner iterations), where the solution time is 107 sec. Meantime, the best solution for water is equal to 3.978, which can be obtained using either , size = 10%, and , with solution time 90 min, or , size = 10%, and , with solution time 78 sec. Both are obtained using 4-point crossover.

It is obvious from this result that using 4-point crossover with , size = 10%, and generates slightly best fitness value for both electricity and water units. The small value of standard deviation indicates the gaps between the demand and the available production are close to the average, which means that there is a sufficient production in any period in case of any breakdown occurred.

Figure 12 illustrates the available MW and the demand MW in each period of planning horizon (in week). Also, Figure 12 illustrates the number of units on maintenance for each week during planning horizon. Figure 13 illustrates the same as Figure 12 but for water (MGID). It is clear—for Figures 12 and 13—that when there is increasing demand, there are fewer units taken for maintenance provided that the demand constrains are satisfied. On the other hand, when a generator is under maintenance, there is a decline in the total generator. The same thing is for water: when distiller is under maintenance, there is a decline in the total distiller capacity. Table 2 illustrates the generator and distiller capacity being maintained for each week. All constraints are satisfied; the table shows that when any preventive maintenance task starts it continues until it completes its duration, hence satisfying the maintenance completion duration constraints. Crew constraints are kept constant; when these constraints are tightened, then the final schedule for the preventive maintenance tasks will change.

Since the temperature in Kuwait is very high in summer, this requires enormous consumption of electricity due to the need for air conditioners, while the opposite is in winter, and this explains why most of the scheduling of preventive maintenance is in the winter as in Table 2. Meanwhile, the same reason applies on water preventive maintenance.

Sensitivity analysis was implemented on the model proposed to evaluate its robustness and to observe the impact when the demand is increased. The model proposed was run again with increasing by 20 per cent of the electricity and water demand. Figure 14 shows that when the demand for electricity increases, the gap between the total available capacity and the demand curve reduces. The same thing is for water illustrated in Figure 15: it shows that when the demand for water increases, the gap between the total available capacity and the demand curve reduces. Thus the genetic algorithm proposed offers a promising viable approach for the MS of generators and distillers.

6. Conclusion

This paper proposed a GA method for solving the maintenance scheduling (MS) problem for cogeneration plants. The proposed approach was modeled to generate two preventing maintenance schedules, one for electricity and the other for water distiller. Two types of crossover operators were adopted, 2-point and 4-point. The objective function of the model is to maximize the available number of operational units in each plant. The results obtained were very close to the solution quality, where 4-point slightly produces better solution than 2-point ones for both electricity and water distiller. Genetic operators have been designed to incorporate further investigation in specific space before diversify to search in another solution space. The model has demonstrated that GA is a powerful technique for modeling the cogeneration plants preventing maintenance schedules. Moreover, this approach can be applied to any problem with any number of plants with any number of units. Meantime, user can reach better solution if he/she increases number of iterations. The numerical analysis shows that genetic algorithm may hopefully be a new approach for kinds of difficult-to-solve problems.

For a future work, it is possible to extend the objective function to include the cost for the maintenance and the production of the units using an optimal approach (exact solution). The methodology implemented will first generate all feasible schedules then select the optimal solution using an optimal approach, such as integer programming (IP), where all constraints are satisfied.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.