^{1}

^{*}

^{1}

^{*}

^{1}

^{*}

^{2}

^{*}

^{3}

^{*}

This paper presents a new algorithm for solving unit commitment (UC) problems using a binary-real coded genetic algorithm based on
*k*-means clustering technique. UC is a NP-hard nonlinear mixed-integer optimization problem, encountered as one of the toughest problems in power systems, in which some power generating units are to be scheduled in such a way that the forecasted demand is met at minimum production cost over a time horizon. In the proposed algorithm, the algorithm integrates the main features of a binary-real coded genetic algorithm (GA) and
*k*-means clustering technique. The binary coded GA is used to obtain a feasible commitment schedule for each generating unit; while the power amounts generated by committed units are determined by using real coded GA for the feasible commitment obtained in each interval.
*k*-means clustering algorithm divides population into a specific number of subpopulations with dynamic size. In this way, using
*k*-means clustering algorithm allows the use of different GA operators with the whole population and avoids the local problem minima. The effectiveness of the proposed technique is validated on a test power system available in the literature. The proposed algorithm performance is found quite satisfactory in comparison with the previously reported results.

The unit commitment (UC) problem, one of the most important tasks of operational planning of power systems, which has a significant influence on secure and economic operation of power systems [

Research efforts, therefore, have concentrated on efficient and near-optimal UC algorithms which can be applied to realistic power systems and have reasonable storage and computation time requirements. Such alternative algorithms studied for the UC problem can be divided into two classes [

Various meta-heuristics are investigated, such as Artificial Neural Networks (ANN) [

Furthermore, some hybrid methods combining meta-heuristics with deterministic methods or other meta-heu- ristics are also investigated in order to utilize the feature of one method to overcome the drawback of another method [

Genetic Algorithms are being used as powerful tools in optimization problems, especially in the non-convex problems [

Clustering is a process of division of data into groups of similar objects. Each group, called cluster, consists of objects that are similar between themselves and dissimilar to objects of other groups [

In this paper, we propose a new approach for solving UC problems using a binary-real coded genetic algorithm based on k-means clustering technique to integrate the main features of the both algorithms; where a binary-real coded GA, in which the binary part deals with the scheduling of units and the real part determines power output levels of committed generating units. k-means clustering technique is used in order to avoid the local minima problem; where the population can be divided into a specific number of subpopulations. Within each cluster, subpopulation has common features. After grouping all individuals into pre-defined number of clusters, instead of taking care of all individuals, population can regard the huge amount of individuals as just the number of groups that has been divided. In this way, different GA operators can apply to subpopulations instead of one GA operator applied to all population.

The UC problem involves determining the startup and shut down times as well as the power output levels of all generating unit at each time step during scheduling period T [

The objective function of UC is to minimize the total operating cost of the generating units, which is the sum of fuel cost, startup cost and shut down cost during the scheduling time horizon while several constraints are satisfied.

The fuel costs

where

The startup (ST_{it}) and shut down (SD_{it}) costs of a unit is a mixture variable of and fixed down time dependent costs. The costs will depend on for instance unit cooling constant, number of boilers and other plant components involved in the unit startup or shut down process.

The startup cost of the generator (ST_{it}) depends on the duration time of shut down before starting up. The start-up cost function is given by two-step function as:

On the other hand, the shut-down cost (SD_{it}) isconstant and the typical value is zero in standard systems [

Finally, the overall objective function (F) of the UC problem of N generating units for a scheduling time horizon T is:

The optimization of the objective function is subject to a number of system and unit constraints as follows.

・ System power balance:

The sum of the unit generation output at each hour must satisfy the system load demand requirement of the corresponding hour as follows:

・ Spinning reserve constraint:

Spinning reserve requirements are necessary in the operation of a power system to deal with real-time potential sudden load increases due to unexpected demand increase or failure of any of the working units. The reserve is considered to be a prespecified amount or a given percentage of the forecasted demand.

・ Unit Maximum/Minimum MW Limit:

The power produced by each unit must be within certain minimum and maximum limits of capacity limits, i.e.

・ Unit Minimum Up and Down Times:

The unit cannot be turned on or off instantaneously once it is committed or uncommitted. The minimum uptime/downtime constraints indicate that there will be a minimum time before it is shut-down or started up, respectively.

The UC optimization problem is formulated in general form as follows [

Genetic algorithms are general-purpose search techniques based on principles inspired from the genetic and evolution mechanisms observed in natural systems and populations of living beings. Their basic principle is the maintenance of a population of solutions to a problem (genotypes) as encoded information individuals that evolve in time [_{POP} members called chromosomes. Chromosomes are binary or continuous encoded strings, representing potential solutions to the optimization problem. Each member becomes evaluated on the fitness function (objective function), giving a measure of the solution quality called the fitness value. Upon candidate solution selection, recombination (crossover and mutation) is being performed, ending in a new candidate solution population.

Clustering is process of Finding groups of objects such that the objects in a group will be similar (or related) to each other and different from (or unrelated to) the objects in other groups [

Step 1: define a number of desired clusters, k.

Step 2: choose an initial cluster centroids randomly, which represent temporary means of the clusters.

Step 3: compute the squared Euclidean distance (sum of square error) from each object to each cluster and each object is assigned to the closest cluster as follows:

where x is a data point in cluster C_{i} and m_{i} is the centroid of cluster C.

Step 4: The new centroid is computed, which is the average coordinate of objects, for each cluster, and each centroid value is now replaced by the respective cluster centroid.

Step 5: Repeat steps 3 and 4 until no point changes its cluster.

In this section, the proposed algorithm is presented. The algorithm integrates the main features of binary-real coded GA [

The UC problem involves both {0, 1} binary variables to represent the on/off status of units and real variables to represent the amounts of power to be generated by committed units. Therefore, a chromosome (solution) of the proposed algorithm is considered to be combined matrix (N*2T), the first one (N*T) u_{it} represents the on/off status of unit i at time t, and the other one (N*T) p_{it} represents the amount of power generated by the unit at that time instant. each chromosome is initialized randomly, where u_{it} is assigned the value of 0 or 1 with equal probability and p_{it} is assigned a random real value in the range of _{it} matrix, i.e. when v = 1, p_{it} = random real value in the range of _{it} = 0, p_{it} = 0. A matrix representation of an individual in the population is shown in

When using GAs to solve constrained optimization problem, the constraints must be handled because genetic operation used to manipulate the chromosome often yield infeasible solutions [

・ Rejecting technique;

・ Repairing technique;

・ Penalizing technique.

A Rejecting technique rejects all infeasible chromosomes and replaced by randomly drown new feasible chromosomes, while the penalty technique transforms the constrained optimization problem into unconstrained one by penalizing infeasible solution. The repairing technique means to take an infeasible chromosome and generate a feasible one through some repairing procedure [

The idea of this technique is to convert any infeasible individuals to a feasible solution by repairing the sequential possible violations constraints in the UC problem. The following five repairing mechanisms taking from literature [

1) Spinning reserve constraint repairing:

Satisfaction of spinning reserve constraint can be accomplished by applying a heuristic algorithm [

2) Minimum up and down time constraints repairing:

Minimum up- and down-time constraints can be satisfied through adjusting unit status [

3) Unit de-commitment for excessive spinning reserve:

Excessive spinning reserve should be avoided because it is directly related to the high operation cost. Therefore, a heuristic algorithm is used to de-commit some units one by one [

4) Power balance constraint repairing:

For adjusting the system power balance at time instant, the amount of divergence in generated power from the power demand at time t is obtained as:

The repairing algorithm is applied to the following two cases [

a) If E_{t} > 0, taking the committed units in descending order of their average full load costs given by Equation (10) and then reducing the amount of power generated by the units up to their lower limits (i.e.,_{t} becomes zero (E_{t} = 0).

b) If E_{t} < 0, taking the committed units in ascending order of their average full load costs given by Equation (10) and then increasing the amount of power generated by the units up to their maximum limits. (i.e.,_{t} becomes zero (E_{t} = 0).

Selection operator gives the high quality chromosomes a better chance to get copied into the next generation, which led to improve the average quality of the population [

In order to keep diversity and to avoid trapping in local minima, the k-means cluster algorithm was implemented. In this step, the population in mating pool is split into k separated subpopulations with dynamic size, as illustrated in

The goal of crossover is to exchange information between two chromosomes in order to produce two new offspring for the next population [

・ Horizontal band crossover:

In horizontal band crossover [

・ Uniform crossover:

In uniform crossover [

・ Real part crossover:

In the real part crossover, the information in column vectors of parents of power generated by unit are exchanged (i.e. operates on power part (p_{it})). The basic steps of real part crossover operation are given below [

Step 1: choose two parent chromosomes randomly from mating pool. We can represent power parts (p_{it}) of parents by

where

Step 2: choose column vector randomly.

Step 3: Two real parts of parent chromosomes produce new real parts of offspring (offspring1 and offspring2), which are created as:

where

Mutation is a genetic operator used to maintain genetic diversity from one generation of a population of genetic algorithm chromosomes to the next. It is analogous to biological mutation. Mutation 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 come to better solution by using mutation. Mutation occurs during evolution according to a user-definable mutation probability. This probability should be set low. If it is set too high, the search will turn into a primitive random search [

・ One point mutation:

With a small probability, randomly chosen bits of the binary part (u_{it} part) of offspring genotypes change from “1” to “0” and vice versa as shown in

・ Intelligent mutation:

This operator [

In combination stage, all subpopulations are combined together again to create a new population, as illustrated in

This operator helps to save a group of best solutions for the next generation. Implementation of elite-preserving operator can be done by directly copying the best 10% chromosomes from the current population to the next generation [

In this section, an experimental verification of the proposed algorithm is carried out. Tests have been performed on 10 units power systems over a 24-h time horizon taken from literature [

Parameter | Values |
---|---|

Prolem 1 | |

Population size | 500 |

Crossover rate | 1 |

Mutation rate | 0.01 |

Iteration | 100 |

Number of cluster (k) | 1&2&3 |

Unit | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|

1 | 455 | 150 | 1000 | 16.19 | 0.00048 | 4500 | 9000 | 5 | 8 | 8 | 8 |

2 | 455 | 150 | 970 | 17.26 | 0.00031 | 5000 | 10,000 | 5 | 8 | 8 | 8 |

3 | 130 | 20 | 700 | 16.60 | 0.00200 | 550 | 1100 | 4 | 5 | 5 | −5 |

4 | 130 | 20 | 680 | 16.50 | 0.00211 | 560 | 1120 | 4 | 5 | 5 | −5 |

5 | 162 | 25 | 450 | 19.70 | 0.00398 | 900 | 1800 | 4 | 6 | 6 | −6 |

6 | 80 | 20 | 370 | 22.26 | 0.00712 | 170 | 340 | 2 | 3 | 3 | −3 |

7 | 85 | 25 | 480 | 27.74 | 0.00079 | 260 | 520 | 2 | 3 | 3 | −3 |

8 | 55 | 10 | 660 | 25.92 | 0.00413 | 30 | 60 | 0 | 1 | 1 | −1 |

9 | 55 | 10 | 665 | 27.27 | 0.00222 | 30 | 60 | 0 | 1 | 1 | −1 |

10 | 55 | 10 | 670 | 27.79 | 0.00173 | 30 | 60 | 0 | 1 | 1 | −1 |

Hour | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|

Demand (MW) | 700 | 750 | 850 | 950 | 1000 | 1100 |

Hour | 7 | 8 | 9 | 10 | 11 | 12 |

Demand (MW) | 1150 | 1200 | 1300 | 1400 | 1450 | 1500 |

Hour | 13 | 14 | 15 | 16 | 17 | 18 |

Demand (MW) | 1400 | 1300 | 1200 | 1050 | 1000 | 1100 |

Hour | 19 | 20 | 21 | 22 | 23 | 24 |

Demand (MW) | 1200 | 1400 | 1300 | 1100 | 900 | 800 |

Number of unit | 10-unit | ||
---|---|---|---|

Number of cluster | k = 1 | k = 2 | k = 3 |

Best cost | 565,690 | 564,280 | 564,230 |

Worst cost | 566,000 | 565,000 | 565,350 |

Average | 565,866 | 564,615 | 564,481 |

Standard deviation | 131.6207 | 251.047 | 103.58 |

Hour | Unit schedule | Power generated by units (MW) | Fuel cost | Startup cost | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||

1 | 1100000000 | 455 | 245 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13,683.12975 | 0 |

2 | 1100000000 | 455 | 295 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 14,554.49975 | 0 |

3 | 1100100000 | 455 | 370 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 16,809.4485 | 900 |

4 | 1100100000 | 455 | 455 | 0 | 0 | 40 | 0 | 0 | 0 | 0 | 0 | 18,597.66775 | 0 |

5 | 1101100000 | 455 | 430.1015 | 0 | 89.8985 | 25 | 0 | 0 | 0 | 0 | 0 | 20,042.08517 | 560 |

6 | 1111100000 | 455 | 455 | 41.0574 | 123.9426 | 25 | 0 | 0 | 0 | 0 | 0 | 22,440.67775 | 1100 |

7 | 1111100000 | 455 | 455 | 85 | 130 | 25 | 0 | 0 | 0 | 0 | 0 | 23,284.39625 | 0 |

8 | 1111100000 | 455 | 455 | 130 | 130 | 30 | 0 | 0 | 0 | 0 | 0 | 24,150.34075 | 0 |

9 | 1111111000 | 455 | 455 | 130 | 130 | 85 | 20 | 25 | 0 | 0 | 0 | 27,251.0560 | 860 |

10 | 1111111100 | 455 | 455 | 130 | 130 | 162 | 33 | 25 | 10 | 0 | 0 | 30,057.5503 | 60 |

11 | 1111111110 | 455 | 455 | 130 | 130 | 162 | 73 | 25 | 10 | 10 | 0 | 31,916.0611 | 60 |

12 | 1111111111 | 455 | 455 | 130 | 130 | 162 | 80 | 27.4613 | 40.5387 | 10 | 10 | 33,893.8954 | 60 |

13 | 1111111100 | 455 | 455 | 130 | 130 | 162 | 33 | 25 | 10 | 0 | 0 | 30,057.5503 | 0 |

14 | 1111111000 | 455 | 455 | 130 | 130 | 85 | 20 | 25 | 0 | 0 | 0 | 27,251.056 | 0 |

15 | 1111100000 | 455 | 455 | 130 | 130 | 30 | 0 | 0 | 0 | 0 | 0 | 24,150.34075 | 0 |

16 | 1111100000 | 455 | 455 | 65.1721 | 49.8279 | 25 | 0 | 0 | 0 | 0 | 0 | 21,596.03802 | 0 |

17 | 1111100000 | 455 | 381.0243 | 33.2035 | 105.7722 | 25 | 0 | 0 | 0 | 0 | 0 | 20,704.52511 | 0 |

18 | 1111100000 | 455 | 443.61259 | 73.2606 | 103.12678 | 25 | 0 | 0 | 0 | 0 | 0 | 22,429.4611 | 0 |

19 | 1111100000 | 455 | 455 | 130 | 130 | 30 | 0 | 0 | 0 | 0 | 0 | 24,150.34075 | 0 |

20 | 1111111100 | 455 | 455 | 130 | 130 | 162 | 33 | 25 | 10 | 0 | 0 | 30,057.5503 | 490 |

21 | 1111111000 | 455 | 455 | 130 | 130 | 85 | 20 | 25 | 0 | 0 | 0 | 27,251.056 | 0 |

22 | 1100111000 | 455 | 455 | 0 | 0 | 145 | 20 | 25 | 0 | 0 | 0 | 22,735.521 | 0 |

23 | 1100010000 | 455 | 425 | 0 | 0 | 0 | 20 | 0 | 0 | 0 | 0 | 17,645.36375 | 0 |

24 | 1100000000 | 455 | 345 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 15,427.41975 | 0 |

The comparison between the best solutions obtained by the proposed algorithm at k = 1, k = 2 and k = 3 for 10-unit system with those produced by some other meta-heuristic-based recent approaches [

As well as,

Method | Production cost $ |
---|---|

GA-LR [ | 564,800 |

LR [ | 565,825 |

MRCGA [ | 564,244 |

SFL [ | 564,769 |

ESA [ | 565,828 |

PL [ | 564,950 |

ICGA [ | 566,404 |

EP [ | 564,551 |

Proposed algorithm at k = 1 | 565,690 |

Proposed algorithm at k = 2 | 564,280 |

Proposed algorithm at k = 3 | 564,230 |

This paper investigates the unit commitment problem by genetic algorithm based on k-mean clustering algorithm which integrates the main features of a binary-real coded genetic algorithm (GA) and k-means clustering technique. The binary coded GA is used to obtain a feasible commitment schedule for each generating unit; where the amounts of power generated by committed units are determined by using real coded GA for the feasible commitment obtained in each interval. k-means clustering algorithm divided population into a specific k of subpopulations. In this way, the different GA operators (crossover and mutation) can be applied to each subpopulation instead of one GA operator applied to the whole population. To evaluate the performance of the proposed algorithm, test power systems available in the literature are solved at different number of cluster and compared with the previous studies. A careful observation will reveal the following benefits of the proposed algorithm:

1) The proposed algorithm can obtain feasible and satisfactory solutions of different UC problems, regardless of the system size.

2) Incorporating GA with k-means clustering technique preserve, introduce diversity, and allow the algorithm to avoid local minima by preventing the population of chromosomes from becoming too similar to each other and to benefit from the advantages of both types of algorithms.

3) Binary-real-coded GA is investigated that a GA alone can tackle both the unit scheduling and load dispatch problems.

4) The tests result demonstrated that when the number of cluster increased in the proposed algorithm, the production cost decreased.

5) The tests result demonstrates the satisfactory performance of presented approach with respect to the quality and computational requirements with the previously reported results.

Mai A.Farag,M. A.El-Shorbagy,I. M.El-Desoky,A. A.El-Sawy,A. A.Mousa, (2015) Binary-Real Coded Genetic Algorithm Based k-Means Clustering for Unit Commitment Problem. Applied Mathematics,06,1873-1890. doi: 10.4236/am.2015.611165