a floating-point genetic algorithm for solving the unit commitment problem

26

Click here to load reader

Upload: chuangyin-dang

Post on 21-Jun-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A floating-point genetic algorithm for solving the unit commitment problem

European Journal of Operational Research 181 (2007) 1370–1395

www.elsevier.com/locate/ejor

A floating-point genetic algorithm for solvingthe unit commitment problem

Chuangyin Dang a,*, Minqiang Li b

a Department of Manufacturing Engineering and Engineering Management, City University of Hong Kong, 83 Tat Chee Avenue,

Kowloon, Hong Kongb Institute of Systems Engineering, Tianjin University, Tianjin 300 072, China

Received 1 November 2004; accepted 1 October 2005Available online 5 May 2006

Abstract

This paper proposes a floating-point genetic algorithm (FPGA) to solve the unit commitment problem (UCP). Based onthe characteristics of typical load demand, a floating-point chromosome representation and an encoding–decoding schemeare designed to reduce the complexities in handling the minimum up/down time limits. Strategic parameters of the FPGAare characterized in detail, i.e., the evaluation function and its constraints, population size, operation styles of selection,crossover operation and probability, mutation operation and probability. A dynamic combination scheme of genetic oper-ators is formulated to explore and exploit the FPGA in the non-convex solution space and multimodal objective function.Experiment results show that the FPGA is a more effective technique among the various styles of genetic algorithms, whichcan be applied to the practical scheduling tasks in utility power systems.� 2006 Elsevier B.V. All rights reserved.

Keywords: Unit commitment; Floating-point genetic algorithm; Dynamic genetic strategy; Electrical power generation; Generatorsscheduling and economic dispatch

1. Introduction

The competition has become more furious in the global electric power market, so many electric utility com-panies have to pay more attention to how to better schedule the electric power system so as to satisfy customerdemands [1,2]. In general, the schedule of the power system mainly comprises the unit commitment problem(UCP) and the economic dispatch problem (EDP), where the UCP is an integer programming problem and theEDP is a nonlinear programming problem [2–4]. Both the UCP and the EDP are usually referred as the UCproblems, which can be often modeled as large scale, nonlinear and mixed-integer programs with complexconstraints.

0377-2217/$ - see front matter � 2006 Elsevier B.V. All rights reserved.

doi:10.1016/j.ejor.2005.10.071

* Corresponding author. Tel.: +852 2788 8429; fax: +852 2788 8423.E-mail address: [email protected] (C. Dang).

Page 2: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1371

In fact, to optimize the UC problem is a challenging task [1,5]. Up to now, more computational effortsmainly focus on solving UC problems with increasing scales of generation output. The solution may beobtained by enumerating all the feasible solutions, but which can be often constrained by the combinatorialexplosion and problem dimensions. The optimal schedules to the UC problems can save millions of dollars tothe power companies, so more effort have been devoted to developing more efficient, near-optimal solutionsthat can be adopted into the large-scale power systems in the past thirty years [5,6].

In 1994, an overview of the UC problem with a bibliographical survey was conducted by Padhy [5]. Up tonow, there exist numerous methods to solve the UC problems, which can be classified into nine categories:priority list method (PL), dynamic programming method (DP), integer and mixed-integer programmingmethod (IP/MIP), linear programming method (LP), branch and bound method (BB), benders decompositionmethod (BD), Lagrangian relaxation method (LR), interior point optimization (IPO), and the soft-computa-tion or computational intelligence methods, such as simulated annealing (SA), artificial neural network(ANN), expert system (ES), fuzzy mathematics (FM), and various algorithms of evolutionary computation[5–19]. These methods can be applied to solve the UC problems respectively, and sometimes some of themcan be integrated to solve the UC problems. The pros and cons of the former seven methods are discussedin detail in the literature [5–19]. Actually, it is very difficult to obtain the global optimal solution to theUC problems because of the non-convexity of feasible solution space and multimodality of the objective func-tion. In this paper, we focus on applying the genetic algorithms (GA) method to solve the UC problems.

A floating-point genetic algorithm (FPGA) is proposed to solve the UC problems. Based on the character-istics of typical load demand, a floating-point chromosome representation and an encoding–decoding schemeare designed to reduce the complexities in handling the minimum up/down time limits. Strategic parameters ofthe FPGA are characterized in detail, i.e., the evaluation function and its constraints, population size, oper-ation styles of selection, crossover operation and probability, mutation operation and probability. A dynamiccombination scheme of genetic operators is formulated to explore and exploit the FPGA in the non-convexsolution space and multimodal objective function. Experiment results show that the FPGA is a more effectivetechnique among the various styles of genetic algorithms, which is capable of being applied to the practicalscheduling tasks in utility power systems.

This paper is organized as follows: Section 2 formulates the UC problems and the decomposition pattern byapplying GA techniques. Section 3 focuses on applying the GA- methods to solve the UC problems. Section 4presents the floating-point chromosome representation and the encoding–decoding scheme of GA. Section 5mainly designs the FPGA approach, and formulate the dynamic genetic strategy. Section 6 conducts thenumerical experiences on two benchmark tests of UC problems with the proposed FPGA. Finally, concludingremarks are discussed as well.

2. Problem formulation

In electric power systems, the unit commitment scheduling mainly determines the start up, shut down andgeneration output of all units from an initial status to meet customer demands in a given time horizon. Theobjective is to find an optimal unit commitment schedule, which can minimize the total production cost whilesatisfying the load demand, spinning reserve requirement and other operational constraints.

2.1. Objective function

The objective function of a UC problem mainly comprises the fuel cost of generating units and the start-upcost of committed units, and is given by

min CðU ; PÞ ¼XN

i¼1

XT

t¼1

½uitF iðpitÞ þ SUCiuitð1� ui;t�1Þ�; ð2:1Þ

where

C(Æ,Æ) is the total cost function of a UC problem ($);

Page 3: A floating-point genetic algorithm for solving the unit commitment problem

1372 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

Fi(Æ) is the fuel cost function of unit i ($/h), which is a quadratic polynomial with coefficients ai($/h), bi($/MW h), ci ($/MW h2):

FCiðpitÞ ¼ ai þ bipit þ cip2it

pti is the power output by unit i at t time interval (MW);SUCi is the start-up cost of unit i ($);uit is the on/off status of unit i at t time interval, uit 2 {0,1}; uit = 0 if unit i is off, uit = 1 if it is on at t;U is the decision variable matrix of on/off status of all units during the total time period, U = [uit]N·T;P is the power output matrix of all units during the total time period, P = [pit]N·T;N is the total number of power generation units to be committed;T is the time period, usually the number of hours (ranging from 24 to 168 hours).

2.2. Constraints

The UC problem is subjected to the following constraints:

(1) Power balance constraints:

XN

i¼1

uitpit P Dt; t ¼ 1; . . . ; T ; ð2:2Þ

where Dt is the system load demand at time t (MW);(2) Output limits of generating units:

uitP mini 6 pit 6 uitP max

i ; i ¼ 1; . . . ;N ; t ¼ 1; . . . ; T ; ð2:3Þ

where P min

i , P maxi are the minimum and maximum power outputs of unit i respectively (MW);

(3) Spinning reserve constraints:

XN

i¼1

uitP maxi P Dt þ P res

t ; t ¼ 1; . . . ; T ; ð2:4Þ

XN

i¼1

uitP mini 6 Dt; t ¼ 1; . . . ; T ; ð2:5Þ

where P rest is the power system spinning reserve at time t (MW);

(4) Minimum up and down time limits:

uit ¼ 1 forXt�1

j¼tup

uij 6 MUT i; i ¼ 1; . . . ;N ; ð2:6Þ

uit ¼ 0 forXt�1

j¼tdown

ð1� uijÞ 6 MDT i; i ¼ 1; . . . ;N ; ð2:7Þ

where MUTi, MDTi are the consecutive on-time or off-time duration of unit i respectively (hours); tup,tdown are the latest turn up or down time of unit i before time t, tup, tdown 6 t.

(5) Ramp rates limits:

pit � pi;t�1 6 RURi; i ¼ 1; . . . ;N ; when the output of unit i increases, ð2:8Þ

pi;t�1 � pi;t 6 RDRi; i ¼ 1; . . . ;N ; when the output of unit i decreases, ð2:9Þ

where RURi and RDRi are the ramp up rate or down rate limits of unit i respectively (MW);(6) Other constraints

There still exist some additional constraints such as the initial status of units, crew constraints, must-run/unavailability/fixed output constraints, unit spinning reserve, shut down cost of units, fuel constraints,

Page 4: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1373

and minimum generation output of a unit for the first hour and last hour, etc. Sometimes, these con-straints will be considered in practice.

There are two decision matrix variables to minimize the total production cost: the matrix U and the poweroutput matrix P. Here, the objective function (2.1) is non-linear and non-differentiable, and some constraintssuch as minimum up/down time limits, ramp-rate constraints are difficult to be relaxed, especially when thestart up and shut down of units are considered in this model.

2.3. Problem decomposition

The near-optimal solution to the UC problems is to decompose the objective function and its constraints ina given time horizon or in the hierarchical structure of the UC problems [5,7]. Sometimes the divide-and-con-quer strategy can be applied.

To apply the GA method to solve the UC problems, we need to encode the variables U and P into onechromosome in the form of either a string or a matrix, and adopt the standard genetic operators to implementthe evolution process. According to the schema theorem and the building block hypothesis proposed by Hol-land and Goldberg [20,22], the GA method will face the epitasis among genes on this style of chromosomerepresentation, which will hinder the formation of useful schema or the building blocks. A reversion of onegene about the variable U may render the genes representing the variable P no chance of expression in phe-notype. On the contrary, the sub-string that encodes P can hardly evolve to the optimal state for a given unitcommitment decision matrix of U represented by the complementary sub-string. Therefore, we will apply theGA method to decompose the UC problems into two sub-problems: the UCP and the EDP. The constraintscan be easily classified according to the sub-problems.

(1) The UCP optimization model. The UCP optimization problem can be formulated as

min CðUÞ ¼XN

i¼1

XT

t¼1

SUCi � uitð1� ui;t�1Þ ð2:10Þ

s.t.

PNi¼1

uitP maxi P Dt þ P res

t ;

PNi¼1

uitP mini 6 Dt;

uit ¼ 1 forPt�1

j¼tup

uij 6 MUT i;

uit ¼ 0 forPt�1

j¼tdown

ð1� uijÞ 6 MDT i;

8>>>>>>>>>>>>>><>>>>>>>>>>>>>>:

ð2:11Þ

ðt ¼ 1; . . . ; T Þ.

Suppose the set of feasible solutions to the UCP is given by U = {Uf,1,Uf,1, . . . ,Uf,M}, Uf,m = [uf,m,it]N·T, wherem = 1,2, . . . ,M, M is the total number of feasible solutions to the UCP, which can be solved by applying theGA method.

(2) The EDP optimization model. The EDP optimization problem can be formulated as

min CðU; P Þ ¼XN

i¼1

XT

t¼1

F iðpitÞ � uf ;m;it ð2:12Þ

s.t.

PNi¼1

uf ;m;itpit P Dt;

uf ;m;itP mini 6 pit 6 uf ;m;itP max

i ;

8><>: ð2:13Þ

U f ;m ¼ ½uf ;m;it�N�T ;U f ;m 2 U; t ¼ 1; . . . ; T .

Page 5: A floating-point genetic algorithm for solving the unit commitment problem

1374 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

The EDP is a quadratic programming optimization model, and can be solved by conventional methods. In theliterature [31,39,44], the ramp-rate constraints are not considered. Here, the Lambda-iteration method is ap-plied to solve the optimal economic dispatch [1,44], and its procedures are attached in Appendix B. The result-ing economical dispatch P* is the optimal solution corresponding to Uf,m. The pair (Uf,m,P*), which serves as afeasible solution to the UCP model, can be used to measure the fitness for the chromosome Uf,m.

3. GA-based approaches to the UC problems

Up to now, evolutionary computation (EC) and genetic algorithms (GA), evolutionary programming (EP)and evolution strategies (ESs), have become more popular tools in the fields of optimization and machinelearning [20–23]. They can be applied to search the complex space (convex or non-convex, discrete or contin-uous) by simulating the natural biological evolution and heredity process.

In general, the GA methods for solving the UC problems can be classified as follows:

(1) To solve the piece-wise fuel cost function in the EDP [24,43]. The unit generation outputs are encodedinto a binary string, and standard genetic operators are applied [24]. Alternatively, a real number vectoris used to represent the power output of all units during the scheduling period by applying EP or ESs[43].

(2) To determine the short-term commitment schedule of units. The UCP is treated as a sequential decisionprocess [25–27,29,32]. The binary {0,1} alphabet is used to represent the on/off states of units, which iseasy to be implemented in practice with limited computation time and storage.

(3) To solve the UCP. The decision matrix variable is applied as the chromosome representation (binarymatrix of N · T), or the units state vector strings at all time intervals are juxtaposed to form a binarystring with a length of N · T [28–31,33,35,36,41,42,44]. This type of direct chromosome representationin a binary matrix or in a binary string can be easily decoded back to the decision matrix variable thatfurther generates the actual unit commitment schedule [28,29]. Meanwhile, the standard crossover andmutation operators can be implemented. Similarly, the constraints can be often violated after conductinggenetic operations, so the specific genetic operators are designed, and a repair algorithm is devised torestore the feasibility of individuals. Clearly, the GA method based on a direct chromosome representa-tion can not be run efficiently and robustly on large-scale UC problems.

(4) To integrate the constraints of the unit minimum up/down time into the binary encoding matrix,which can be relaxed in the decoding process [34,37,38]. With the embedded chromosome representa-tion and encoding–decoding scheme, the minimum up/down time limits will hold true before or aftercrossover and mutation operations, so the GA evolution process can be improved efficiently. Themajor problem is that the leading bit is regarded as a special gene in the expressing of phenotypetraits. The mutation of leading bits will lead to a non-satisfactory unit commitment schedule aftercompleting the decoding process, which could result in the violation of other constraints. In otherwords, a small difference between the individuals in the encoding space, as in Hamming distance,may give rise to a great change of the fitness values as in Euclidian distance, which is not in favorof the exploitation of GA [22,23].

(5) A specific data structure is used to represent the chromosome for the GA method [39]. EP is similar tothe GA method except that it does not use crossover operators, and the mutation operation is able toimplement the evolution process. The operating schedule of a unit is divided into a set of sub-strings withequal length, and each sub-string is represented with an integer, so that a binary string about the unitschedule will be encoded by a vector of integers. To keep all offspring individuals feasible, a repair algo-rithm is developed to fix the unfeasible individuals. With the EP chromosome representation, the encod-ing space is reduced to a larger extent in advance compared with the direct chromosome representation,so that the evolution process of EP will be accelerated. But there is not enough heuristic knowledge in therepair algorithm, which may give rise to the unexpected results during the actual calculation process.

(6) To solve the Lambda value in the approximation function [1,33], or to estimate the Lagrangian multi-pliers instead of using the sub-gradient algorithm [40]. Here, the GA method performs as a complemen-tary technique to the LR method.

Page 6: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1375

(7) It is very interesting that while this paper was under review, a similar idea about using the GA to solvethe UC problems (ICGA) was proposed in [47]. The ICGA adopted an integer numbers string to repre-sent the on/off cycles of unites according to load profile as the proposed load profile (I) in Section 4.3. Apositive integer in the chromosome represents duration of continuous unit operation (on status), while anegative integer represents duration of continuous reservation (off status) of the unit. The unit’s mini-mum up and down time constraints was realized in the decoding procedure. However, it did not considerthe no-full cycle on-state, or an unit may be shut down before the end of a cycle, which is true in realworld. The ICGA designed heuristic special operators to deal with this problem. So, its encoding schemeis a little coarser. Meanwhile, the encoding method of the ICGA did not apply to load profile type (II).

In (3)–(5), the EDP can be solved by using the LR method, quadratic programming, or another GA usuallyafter UCP, and only in one case before UCP [41]. As mentioned in the previous section, we will adopt the two-layer framework to deal with the UC problems. The first layer applies the GA method to solve the UCP, andthen the Lambda-iteration method is applied to solve the EDP.

4. A floating-point chromosome representation of GA for UCP

The chromosome representation and encoding–decoding scheme are the key issue when the GA method isapplied to solve the practical optimization problems. The physical characteristics of units in the chromosomerepresentation and encoding–decoding process are mainly considered, while little attention is given on theforecasted demand load profiles. In contrast, the PL, DP, ES, ANN techniques exploit the information exist-ing among demand load curves more or less to aid the decision of unit commitment. Similarly, the character-istics of demand load data can be mined and used to design the chromosome representation.

4.1. Demand load profile characteristics analysis

The typical load demand data from The IEEE Reliability Test System – 1996 [45] show that electric demandis higher during the daytime but becomes lower during the late evening and early morning [1,45]. There aretwo peaks of load demand that happen at around 11:00–12:00 and 18:00–20:00 respectively.

The characteristics of load profiles are very clear, which can be divided into two or three phases as illus-trated in Figs. 4.1 and 4.2. A load profile can be divided into multi-stages, which are used to devise a newchromosome representation and encoding–decoding scheme. The multi-stage is denoted by MSs =[T1,T2,. . . ,Tq], where T2, . . . ,Tq�1 are the dividing time at local peak loads or valley loads, and T1 = 1, Tq = T.

Stag

e 1

Stag

e 2

Stag

e 3

Stag

e 4

Stag

e 5

0

500

1000

1500

2000

2500

3000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Hours

T T TT T T1 2 3 4 5 6

Loa

d (M

W)

Fig. 4.1. Typical demand load profile (I).

Page 7: A floating-point genetic algorithm for solving the unit commitment problem

0

500

1000

1500

2000

2500

3000

1 2 3 4 5 6 7 8 9 1011 1213 141516 171819 2021 222324

Hours

Stag

e 4

Stag

e 3

Stag

e 2

Stag

e 1

Loa

d (M

W)

T T T T T1 2 3 4 5

Fig. 4.2. Typical demand load profile (II).

1376 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

4.2. Encoding–decoding scheme based on load profile type I

As to the first type of load demand (Fig. 4.1), it is divided into five stages: stage {1,2, . . . , 5}, andMSs = [1,4,12,16,18,24]. During the 1st, 3rd, and 5th stages, the load demand declines from a high levelto a lower one. In contrast, the load rises up during the 2nd and 4th stages. Now, the initial stage and loadrising stages will be encoded respectively.

The initial stage and load rising stages are denoted by a vector (ts,i,si). For load rising stages, (ts,i,si)describes the state of unit i during the one load rising and the following descending sub-period, where ts,i indi-cates the start up time, si indicates the duration time that starts from ts,i. ts,i means that unit i starts up at ts,i

and lasts to time ts,i + si � 1 if it is in off-state at the beginning of the load ascending stage. Otherwise the on-state of unit i is still held up from ts,i to ts,i + si � 1, and it will shut down at ts,i + si, and then the off-state isheld up to the end of the stages. Since the load demand decreases from high to low in the first stage of the loaddemand type I, ts,i > 1 means that unit i is to shut down at ts,i if it is in on-state at the start. Otherwise ts,i = 1,si 2 {0,T2 � T1 + 1}, the off-state or on-state will still kept from time 1 to T2.

(1) First stage encoding. The encoding and decoding scheme of the unit commitment schedule based on thefirst stage of load demand is shown in Table 4.1. The initial status of unit i is denoted by INSi, indicating thatunit i has been on for INSi hours while INSi > 0, or off for �INSi hours while INSi < 0. Here, it is generallynot allowed to start up higher efficient units with small maximum capacities by shutting down lower efficientones with large maximum capacities during load descending period for the safety of system operation. Other-wise, cases (a) and (b) should be defined separately as shown in Tables 4.1 and 4.2.

(2) Load ascending stages and following descending stages: Similarly, the encoding and decoding schemes ofunit commitment schedule during the 2nd–3rd and 4th–5th stages are illustrated in Table 4.3.

Since the shut-down of a unit happens only in load descending stages, we only need to check the limit of itsminimum down time. If the consecutive off-state time is shorter than its minimum down time, a repaired(ts,i,si) is calculated to adjust the start time in the following adjacent ascending load stages as in Tables4.3–4.5.

Table 4.1Encoding of unit i in the first stage of I

Unit i Initial status Commitment time Commitment type Duration time domain

(ts,i,si) INSi > 0 ts,i = [T1,T2] On/shut down si 2 [0,max{MDTi,T2 � T1 + 1}](a) INSi < 0 ts,i = 1 Off si 2 {0,T2 � T1 + 1}(b) INSi < 0 ts,i = [T1,T2] Off/start up si 2 [MUTi,max{T2 � T1 + 1,MUTi}]

If units are not permitted to start up during load descending period, case (b) will not hold anymore.

Page 8: A floating-point genetic algorithm for solving the unit commitment problem

Table 4.2Decoding of unit i in the first stage of I

Unit i Initial status Commitment type Commitment time and duration

(ts,i,si) INSi > 0 On/shut down ts;i ¼ ts;i þmaxfMUT i � ðts;i þ INSi � 1Þ; 0gsi ¼ si

�for si P MDTi

ts;i ¼ T 1

si ¼ T 2 � T 1 þ 1

�for si < MDTi

(a) INSi < 0 Off ts,i = 1si 2 {0,T2 � T1 + 1}

(b) INSi < 0 Off/start up ts,i = ts,i + max{MDTi � (ts,i � INSi � 1),0}si = max{si,MUTi}

si = 0 means that unit i does not start up or shut down in this stage.

Table 4.3Encoding of unit i in the 2nd–3rd and 4th–5th stages of I

Unit i Stages Commitment time domain Commitment type Duration time domain

(ts,i,si) 2nd–3rd ts,i 2 (T2,T3] On/shut down or Off/start up si 2 [0,T4 � T2]4th–5th ts,i 2 (T4,T5] On/shut down or Off/start up si 2 [0,T6 � T4]

Table 4.4Decoding of unit i in the 2nd–3rd stages of I

Unit i Stages State at T2 Commitment type Commitment time and duration

(ts,i,si) 2nd–3rd Off (uiT 2¼ 0Þ Off/start up ts;i ¼ ts;i þmaxfMDT i � ðts;i � DT iÞ; 0g

si ¼ si

�for si P MUTi

ts;i ¼ T 2 þ 1si ¼ 0

�for si < MUTi

On (uiT 2¼ 1Þ On/shut down ts,i = T2 + 1

si = si + max{MUTi � (ts,i � STi + 1),0}

DTi is the latest shut down time of unit i before the beginning time of the 3rd stage; STi is the latest start up time of unit i before thebeginning time of the 3rd stage; si = 0 means that unit i does not start up or shut down in these stages.

Table 4.5Decoding of unit i in the 4th–5th stages of I

Unit i Stages State at T4 Commitment type Commitment time and duration

(ts,i,si) 4th–5th Off (uiT 4¼ 0Þ Off/start up ts;i ¼ ts;i þmaxfMDT i � ðts;i � DT iÞ; 0g

si ¼ si

�for si P MUTi

ts;i ¼ T 4 þ 1si ¼ 0

�for si < MUTi

On (uiT 4¼ 1Þ On/shut down ts,i = T4 + 1

si = si + max{MUTi � (ts,i � STi + 1),0}

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1377

4.3. Encoding–decoding based on load type II

There are two ascending load stages as 1st, 3rd and two descending load stages as 2nd, 4th in the load typeII (Fig. 4.2), which are encoded and decoded respectively in Tables 4.6–4.9.

4.4. Floating-point chromosome representation

Based on Tables 4.1–4.5 mentioned above, a real number of floating-point vector is applied to define achromosome:

Page 9: A floating-point genetic algorithm for solving the unit commitment problem

Table 4.6Encoding of unit i in the 1st–2nd stages of II

Unit i Initial status Commitment time Commitment type Duration time domain

(ts,i,si) INSi > 0 ts,i = 1 On si 2 {0,T3 � T1 + 1}INSi < 0 ts,i 2 [max{1,MDTi + INSi + 1},T2] Off/start up si 2 [0,max{MUTi,T3 � T1 + 1}]

Table 4.7Decoding of unit i in the 1st–2nd stages of II

Unit i Initial status Commitment type Commitment time and duration

(ts,i,si) INSi > 0 On ts,i = 1si = T3 � T1 + 1

INSi < 0 Off/start up ts;i

si ¼ si

�for si P MUTi

ts;i ¼ T 1

si ¼ 0

�for si < MUTi

si = 0 means that unit i does not start up or shut down in these stages.

Table 4.8Encoding of unit i in the 3rd–4th stages of II

Unit i Stages Commitment time Commitment type Duration time domain

(ts,i,si) 3rd–4th ts,i 2 (T3,T4] On/shut down or Off/start up si 2 [0,T5 � T3]

Table 4.9Decoding of unit i in the 3rd–4th stages of II

Unit i Stages State at T3 Commitment type Commitment time and duration

(ts,i,si) 3rd–4th Off (uiT 3¼ 0Þ Off/start up ts;i ¼ ts;i þmaxfMDT i � ðts;i � DT i � 1Þ; 0g

si ¼ si

�for si P MUTi

ts;i ¼ T 3 þ 1si ¼ 0

�for si < MUTi

On (uiT 3¼ 1Þ On/shut down ts,i = T3 + 1

si = si + max{MUTi � (ts,i � STi + 1),0}

DTi is the latest shut down time of unit i before the beginning time of the 3rd stage; STi is the latest start up time of unit i before thebeginning time of the 3rd stage; si = 0 means unit i does not start up or shut down in these stage.

1378 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

(a) Chromosome representation based on the load type I:

ðts;1ð1Þ; s1ð1Þ; ts;1ð2Þ; s1ð2Þ; ts;1ð4Þ; s1ð4Þ; ts;2ð1Þ; s2ð1Þ; ts;2ð2Þ; s2ð2Þ; ts;2ð4Þ; s2ð4Þ; . . . ;

ts;ið1Þ; sið1Þ; ts;ið2Þ; sið2Þ; ts;ið4Þ; sið4Þ; . . . ; ts;N ð1Þ; sN ð1Þ; ts;N ð2Þ; sNð2Þ; ts;N ð4Þ; sN ð4ÞÞ;

where ts,i(1), si(1), ts,i(2), si(2), ts,i(4), si(4) are the encoding of unit commitment start times and durationsin the 1st, 2nd–3rd, 4th–5th stages of unit i, and domains of all the real numbers are defined in Tables4.1–4.5. The total length of this style of chromosome vectors is L1 = 6N, which has no relationship withthe time period T.

(b) Chromosome representation based on the load type II:

ðts;1ð1Þ; s1ð1Þ; ts;1ð3Þ; s1ð3Þ; ts;2ð1Þ; s2ð1Þ; ts;2ð3Þ; s2ð3Þ; . . . ; ts;ið1Þ; sið1Þ; ts;ið3Þ; sið3Þ; . . . ;

ts;N ð1Þ; sN ð1Þ; ts;N ð3Þ; sN ð3ÞÞ;

Page 10: A floating-point genetic algorithm for solving the unit commitment problem

Table 4.10The encoding of FPGA for the optimal solution of P1

Units Encoding for the optimal solution Min. up time (MUT, hours) Min. down time (MDT, hours) Initial status (INS, hours)

Unit 1 (1,0,5,0,17,0) 5 4 �4Unit 2 (1,4,5,12,17,8) 3 2 5Unit 3 (2,4,8,9,17,3) 2 4 1

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1379

where ts,i(1), si(1), ts,i(3), si(3) are the encoding of unit commitment start times and durations in the stage 1st–2nd, 3rd–4th of unit i, and domains of all real number are defined in Tables 4.6–4.9. The total length of thisstyle of chromosome vectors is L2 = 4N.

In order to understand how the encoding and decoding method of the FPGA works, the optimal solutionfor the unit commitments and operation data of three typical units from the problem P1 is displayed in Table4.10.

The optimal unit commitment for the unit 1 is encoded as (1,0,5,0,17,0). Since the initial status of the unit1 is off-state (see Table 4.10), (ts,1(1) = 1,s1(1) = 0) means that it will remain in off-state from time 1 to the endof the first stage. (ts,1(2) = 5,s1(2) = 0) in the 2nd–3rd stages and (ts,1(4) = 17,s1(4) = 0) in the 4th–5th stagesrepresent that it is still off-state in these stages.

In contrast, the optimal solution for the unit 2 is encoded (1, 4,5,12,17,8). Since the initial status of the unit2 is on-state, (ts,2(1) = 1,s2(1) = 4) indicates that it will remain in on-state in the 1st stage. Since it is on atT 2ðu2T 2

¼ 1Þ, it will remain in on-state from ts,2(2) = 5 for s2(2) = 12 hours, which means that it will not beshut down in the 2nd–3rd stages. It is the same in the 4th–5th stages.

For the unit 3 with encoding (2,4,8,9,17,3), (ts,3(1) = 2,s3 (1) = 4) denotes that it will be shut down at time2 for at least 4 hours (minimum down time: 4 hours). The down time before the start up is 2 hours, whichmeets the minimum up time (2 hours). Then it will start up at time 8 for 9 hours with (ts,3(2) =8,s3(2) = 9). Since it is on at T 4ðu3T 4

¼ 1Þ, (ts,3(4) = 17,s3(4) = 3) means that it will remain in on-state fromtime 17 for 3 hours and then will be shut down from time 20 till the end of the 4th–5th stages.

It is easy to prove that a chromosome can be decoded to satisfy the minimum unit up/down time. There-fore, any solution in the feasible space of unit commitment could be possibly found by applying the GAmethod.

The floating-point chromosome is more compact and can be manipulated by a variety of genetic operators.The innovative representation and encoding–decoding method makes it rather easy to handle with the mini-mum up/down time limits for each unit. Therefore, the floating-point GA (FPGA) has a good searching capa-bility to solve the UC problems, which satisfies the proposition of evolution programs [21], so it can be appliedto solve the optimization problems such as the UC problems.

5. The FPGA approach

To apply the GA method to solve the UC problems, designing the strategy parameters is the first step,which can make the GA method maintain the balance to explore the solution space. The strategy parametersof FPGA mainly include the evaluation function and fitness scaling method, population size, selection oper-ation styles, crossover operation and probability, mutation operation and probability, etc. [21,22].

5.1. Evaluation function and its constraints

The main difficulties of applying the GA method to solve the UC problems are how to deal with the con-straints since the genetic operators often lead to the infeasible solutions when manipulating the chromosomes.The minimum up/down time limits have been dealt with in the encoding and decoding process from chromo-some to unit commitment matrix, but the constraints (2.4) and (2.5) about spinning reserve are still left to berelaxed. Now, three strategies are adopted to deal with the constraints: rejecting, repairing, and penalty meth-ods [21,22].

Page 11: A floating-point genetic algorithm for solving the unit commitment problem

1380 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

The rejecting technique simply discards any offspring until a feasible one is yielded, or a heuristic method isinvoked to produce a feasible individual, however, it is not effective to deal with the non-convex or discreteconstrained problems. On the other hand, infeasible solutions may also provide some information in the pop-ulation-based evolution to get a global optimal solution. The repairing method makes a local search aroundthe current infeasible offspring to attain a feasible chromosome, which replaces its ancestor, through a repair-ing procedure. The repairing strategy requires problem specific knowledge to support the searching procedure,but which may lead to a complicated process and time-consuming calculations. The penalty strategy is easy tocontrol in the evolution process, which has been applied widely in the GA method to solve the constrainedproblems. Usually, the penalty technique can change a constrained optimization problem into an uncon-strained one by penalizing the infeasible solutions, and the violated constraints will be integrated into theobjective function.

The major concern in applying the proposed FPGA to solve the constrained optimization problems is howto choose the proper penalty values for the violated constraints so as to enhance the population evolution pro-cess and avoid the premature convergence of the population. Through conducting a number of experiments onvarious sizes of UC problems, we find that the evolution process of FPGA can be improved. Since the feasiblesolution field of the UC problems is non-convex and discrete, infeasible individuals in the population may pro-vide much information about the landscape around the global optima. Therefore, a typical penalty method isformulated as follows.

Suppose that P(g) = {x1,x2, . . . ,xpop_size} is the population at g generation, where xj is the jth individual,pop_size is the population size, j = 1,2, . . . ,pop_size. By the decoding function:

U j ¼ CðxjÞ ð5:1Þ

the chromosome represented by xj is transformed to the unit commitment decision matrix Uj, the functionvalue of which will be calculated in two cases.

(1) When Uj does not meet spinning reserve constraints, its penalty function value is calculated by

F ðU jÞ ¼ CðUjÞ þ ap þ bp max 0; ðDt þ P rest Þ �

XN

i¼1

uitP maxi

( )þ cp max 0;

XN

i¼1

uitP mini � Dt

( ); ð5:2Þ

where ap, bp, cp are penalty parameters. Let ap = maxU2U{minPC(U,P)}, bp, cp 2 [1,100], which willaccommodate a tunable amount of infeasible solutions in the current population under different selec-tion strategies.

(2) When Uj is a feasible solution regarding spinning reserve constraints, its function value is calculated by

F ðU jÞ ¼ CðUÞ þminP

CðU j; PÞ; ð5:3Þ

where minPC(Uj,P) is the minimum fuel cost obtained by solving the EDP model with the Lambda-iter-ation method under the feasible unit commitment schedule Uj.

We use the linear ranking selection method for individual reproduction, so the fitness calculation and scal-ing method will not be discussed further.

5.2. Population sizing

Population size is determinant to the evolutionary efficiency and the quality of the acquired optimal solu-tions. Small size will need fewer times of fitness calculations, but may result in premature convergence ofthe population because of losing alleles too early, or being trapped in a local optimum. Large size can affordto evolve the population towards the global optima, which will consume much prolonged computing time.Since the solution space of the UC problems is non-convex and discrete, a large population is not the most cost-efficient choice. A smaller population is proposed with dynamic selection pressure and large mutation rates. Wetake pop_size 2 [L1/6,L1/3] for the FPGA in using chromosome representation based on load profile type I,and pop_size 2 [L2/4,L2/2] for the FPGA in using chromosome representation based on load profile type II.

Page 12: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1381

5.3. Selection strategy

Selection strategy can guarantee that the FPGA is able to implement the process of natural selection of fit-test individuals, and ensure that better genetic material (called schemata) exists among fitter chromosomestrings. To solve the optimization problems, it is the selection operator that controls the searching directionand trajectory of the FPGA in its solution space. The improper parameter settings may not lead FPGA to theglobal optima. The diversity of the population drops down quickly with a high selection pressure. When theselection pressure is low, the schema competition is weakened. The above two cases will result in a greatdecrease of the probability of the higher order schemata recombination, or a stagnation prematurely forthe population evolution.

In order to choose a proper selection pressure, the linear ranking method is adopted, which determines theselection probability based on the relative position of all individuals by ranking on fitness in the currentpopulation.

For population P = {x1,x2, . . . ,xpop_size} at a generation, suppose that all individuals are reordered fromlow to high by their total cost function values, that is F(C(x1)) 6 F(C(x2)) 6 � � � 6 F(C(xpop_size)), and theirreproduction probability is then calculated by

psðxjÞ ¼1

pop sizegþ � gþ � g�

pop size� 1ðj� 1Þ

� �; j ¼ 1; 2; . . . ; pop size; ð5:4Þ

where j is the rank number of an individual in the total population; g+ is the expected number of the best indi-vidual to survive in the next generation, and g+ = pop_size · ps(x1); g� is the expected number of the least fitindividuals to survive in the next generation, and g� = pop_size · ps(xpop_size). It is easy to prove that g+ +g� = 2, g+, g�P 0, 1 6 g+

6 2. When g+ = 2 and g� = 0, the largest selection pressure is exerted on the pop-ulation. If g+ = g� = 1, all individuals will be reproduced with the same probability and there exists no selec-tion pressure. So, we can study the impact of g+ on the evolution of FPGA to solve the UC problems. Adynamic selection pressure is designed based on linear ranking as

gþðgÞ ¼ gþlow þ ðgþhigh � gþlowÞ � ðg=Gen max Þag ; ð5:5Þ

where g is the current evolution generation number, Gen_max is the maximum generation number, gþlow andgþhigh are the lowest and highest selection pressure to be adopted at the initial and final stages of evolutionrespectively. The parameter ag is used to adjust the change rates of selection pressure, and ag 2 [0,2].

Meanwhile, elitist replacement is used to ensure the convergence of the FPGA population. The best feasiblesolution up to the current generation, called the elitist, is stored in a separate memory. When the best individ-ual at a certain generation is inferior to the stored elitist solution, the latter will replace the least fit one in thecurrent population. The FPGA is called an elitist-model based FPGA.

5.4. Crossover and mutations operations

Crossover operation decides how many individuals participate in the recombination process, and it is inproportion to the forming of new schemata and the survival of parental ones [22]. In each generation ofthe evolution process, there are pop_size · pc individuals on average which undergo crossover operations,where pc is the crossover probability or rate. The higher of pc, the more chances to generate new schemata,the lower rate of survival of existing schemata, and vice versa.

Mutation probability affects on the diversity of population by relaxing the distribution of alleles as randommode. There are pop_size · pm · L times of mutation operations averaged in one generation, where pm is themutation probability or rate, L is the string length or floating-point vector dimension. Smaller mutation ratemeans that the recovery chances of lost alleles will be less, which comprises one of the major factors for thepremature convergence of the population. The larger ones are fitted to improve the distribution of alleles inpopulation, but will increase the rate of schemata disruption of high orders.

Most individuals (feasible or infeasible) will yield infeasible offsprings after operating the crossover and/ormutation, so the FPGA should be conducted on both the feasible region and infeasible region over the whole

Page 13: A floating-point genetic algorithm for solving the unit commitment problem

1382 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

solution space. Here, a floating-point chromosome representation is adopted, and some specific genetic oper-ators and operation procedure are designed as follows.

Genetic operators for doing crossover operation are usually binary operators. Given population P ={x1,x2,. . . ,xpop_size} at a generation, for any two individuals xi = (xi,1,xi,2, . . . ,xi,L), xj = (xj,1,xj,2,. . . ,xj,L),i, j = 1,2, . . . ,pop_size, i 5 j, if a random number over [0,1] is less than pc, then a crossover operation is per-formed on xi, xj, which yields two offspring:

x0i ¼ ðx0i;1; x0i;2; . . . ; x0i;LÞ; x0j ¼ ðx0j;1; x0j;2; . . . ; x0j;LÞ.

(1) Simple two-point crossover. Similar to the genetic operation on the binary coding strings, the two-pointcrossover is used to produce the offspring by exchanging the real number genes between two points. Supposethe two points are k1, k2, and k1 < k2, k1, k2 = 1,2, . . . ,L, then the two offspring will be

x0i ¼ ðxi;1; xi;2; . . . ; xi;k1�1; xj;k1; . . . ; xj;k2

; xi;k2þ1; . . . ; xi;LÞ;x0j ¼ ðxj;1; xj;2; . . . ; xj;k1�1; xi;k1

; . . . ; xi;k2; xj;k2þ1; . . . ; xj;LÞ.

This style of crossover is less disruptive regarding to the existing high fitness schemata, which can be applied toaccommodate the local search of good solutions [23].

(2) Uniform crossover. Uniform crossover is recommended in the canonical GA because it is fitted to theformation of different length of schemata, and does not affect the position of determined genes. The experi-ments show that the uniform crossover is also effective for the FPGA to solve the UC problems with a remark-able recombination capability.

The two offspring generated by uniform crossover are:

x0i;k ¼xi;k if r P auniform

xj;k otherwise

(ðk ¼ 1; 2; . . . ; LÞ; ð5:6:1Þ

x0j;k ¼xj;k if r P auniform

xi;k otherwise

(ðk ¼ 1; 2; . . . ; LÞ; ð5:6:2Þ

where r 2 [0,1] is a random real number generated independently for each gene, auniform is a bias value for uni-form crossover. When auniform = 0.5, the uniform crossover is called an unbiased one, otherwise it is biasedwith auniform.

(3) Arithmetic crossover. The gene values of an offspring are calculated by the arithmetic averaging of thealleles of its two parents at the same locus. This type of crossover is originally used in ESs for optimizationproblems with convex domains. To apply the FPGA to solve the UC problems, it is able to do explorationof the problem space accompanied by large mutation rates.

The two offspring are calculated with this type of crossover as

x0i;k ¼ axi;k þ ð1� aÞxj;k ðk ¼ 1; 2; . . . ; LÞ; ð5:7:1Þ

x0j;k ¼ ð1� aÞxi;k þ axj;k ðk ¼ 1; 2; . . . ; LÞ; ð5:7:2Þ

where a 2 [0, 1] is a random real number generated for each gene independently.Some other crossovers [22], such as one-point crossover, blend crossover, flat crossover, have been often

applied to solve the UC problems, but the experiments are not very satisfactory.In contrast, the genetic operator for doing mutation operation is usually an unary operator, and there are

many mutation operators for FPGA, and much more can be imported from ESs and EP [22]. For an individ-ual in the interim population generated by selection and crossover operations, a mutation operator is appliedto do mutation variation on each gene according to pm, which will yield a new chromosome with new geneticinformation.

Given an interim population P0ðgÞ ¼ fx01; x02; . . . ; x0pop sizeg at g generation, for any individual x0i ¼ðx0i;1; x0i;2; . . . ; x0i;LÞ, i = 1, 2, . . . ,pop_size, a mutation operation is performed on x0i, which yields one offspring:

x00i ¼ ðx00i;1; x00i;2; . . . ; x00i;LÞ.

Page 14: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1383

(4) Gaussian mutation. For a gene on the chromosome of an individual, a variation subject to Gaussian dis-tribution is added to the original value if a random real number is less than pm.

A mutation operation performed on x0i yields a new offspring:

x00i;k ¼x0i;k þ bGnk if a 6 pm

x0i;k otherwise

(ðk ¼ 1; 2; . . . ; LÞ; ð5:8Þ

where nk � N(0,r2) is generated independently for each gene, r is the standard deviation of a Gaussian distri-bution function, bG is a scaling parameter for adjusting the mutation steps. When the Gaussian mutation exer-cises small variations on individuals, the population would focus on local searching by exploitation. On thecontrary, the population would be changed into global searching by exploration with large values of bG andr. The Gaussian mutation is the component operator in solving the UCP by FPGA, and we usually take r = 1.

(5) Cauchy mutation. Cauchy mutation operators are applied widely in ESs [22], and can also be adopted inFPGA. The Cauchy distribution function is given by f ðxjaC; bCÞ ¼ bC

p½b2Cþðx�aCÞ2�

, where aC, bC are parameters for

regulating the central point and width of distribution. A stochastic variable subject to the Cauchy distributionhas no expectation and standard deviation, so that we can get larger mutation variations than with the Gauss-ian mutation, which is often used to overcome premature convergence of GA population, or to escape fromthe entrapments of local optima. The Cauchy mutation is an auxiliary operator to solve the UC problems byapplying the FPGA, and we take aC = 0, bC = 0.5–2.0.

(6) Boundary mutation. Optima are usually located on the boundary of the feasible solution region in a lotof optimization problems. A boundary mutation is to change an allele value to the upper or lower limits of itsdefining field at random. Given an individual x0i ¼ ðx0i;1; x0i;2; . . . ; x0i;LÞ, a gene x0i;k defining on [ak,bk] is mutatedwith boundary mutation as

x00i;k ¼ak if r 6 0:5

bk otherwise

�ðk ¼ 1; 2; . . . ; LÞ. ð5:9Þ

Boundary mutation is used occasionally for FPGA to solve the UC problems, and only provides complemen-tary function to the major Gaussian mutation operator. When a random real number is less than probabilitypbm, the boundary mutation operator would be triggered. pbm = 0.01–0.001 is chosen in the experiments.

5.5. Genetic strategy

In contrast to its simplicity in paradigm, the GA method holds a much-complicated evolutionary searchingmechanism. There has not been developed a sound theory to describe it in detail. Therefore, we can only usethe limited parameters to search the trajectory of the GA, which makes the problem more difficult since thecontrol parameters are interrelated with their effects in the populations. Any independent manipulation notonly holds no underpinning of systematical theory, but also may incur unexpected results. This is the so-calledepistasis in biology or non-linear separability in mathematics. The strategy parameters design is itself an opti-mization problem. Therefore, we can only resort to the proper decision on the combination of control param-eters to improve the searching ability of GA, and exploit as much as possible the prior information about theUC problems. To relax the burden on a user, a dynamic combination scheme is designed for the FPGA tosolve UC problems as follows.

Procedure: Dynamic genetic strategy for FPGA (DGS-FPGA)

begin

set selection type: linear ranking, set gþlow and gþhigh

set crossover type: uniform crossover (default), arithmetic crossover, two-point crossoverset crossover rate: pc

set mutation type: Gaussian mutation (default), Cauchy mutation, boundary mutationset mutation rate: pm = pm,0 (default), pm,�1 6 pm,0 6 pm,+1

set maximum evolution generation: Gen_max

Page 15: A floating-point genetic algorithm for solving the unit commitment problem

1384 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

set population size: pop_size

set dynamic parameter adjusting period: Gen_dynamic = pop_size

iteration: g = 0, gd = 0initialize population: P(0) = {x1(0),x2(0), . . . ,xpop_size(0)}evaluate: P(0):{F(C(x1(0))),F(C(x2(0))), . . . ,F(C(xpop_size (0)))}store elitist solution (chromosome): xe, F(C(xe))while (not terminate condition) do

begin

select: P 0(g) = s(P(g),ps)crossover: P00(g) = c(P 0(g),pc)mutate: P000(g) = m(P000(g),pm)evaluate: P000(g): fF ðCðx0001 ðgÞÞÞ; F ðCðx0002 ðgÞÞÞ; . . . ; F ðCðx000pop sizeðgÞÞÞgif (min{P000(g)} > F(C(xe))) then

replace x000j ðgÞ ¼ maxfP000ðgÞg with xe

endif

set: g = g + 1new population: P(g) = P000(g � 1)if (min{P(g)} < F(C(xe))) then

set: xe = min{P(g)}set: gd = 0set crossover type: defaultset mutation type: defaultset mutation rate: default

else

set: gd = gd + 1endif

if (gd > Gen_dynamic) then

if (random number > 0.5) thenset crossover type: arithmetic crossoverset mutation type: Cauchy mutation, boundary mutationset mutation rate: pm,+1

else

set crossover type: two point crossoverset mutation type: defaultset mutation rate: pm,�1

endendif

end

end

When the best solution obtained has not been improved for a number of generations as Gen_dynamic in theabove procedure, the arithmetic crossover, the Cauchy mutation, or the boundary mutation, and a largermutation rate are adopted to make a more explorative search, or two-point crossover and a smaller mutationrate are used to change the population search into a more exploitative one. It is proved experimentally that thedynamic mechanism is able to overcome the local entrapment or premature convergence of the population,and also to perform fine turning around local optima.

6. Numerical simulations

Two benchmark UC problems are tested with the proposed FPGA with dynamic genetic strategy. DP, LP,GA, and hybrid methods have been used to solve these problems in the literature, and their results are pre-sented in Appendix A for comparison analysis.

Page 16: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1385

6.1. Test problem 1: P1

Test problem 1 (P1) includes 10 units with a scheduling time horizon of 24 hours. The demand load profilebelongs to the type I, and MSs = [1,4,12,16,19,24]. By using floating-point chromosome representation, thetotal encoding length is L = 2 · 3 · 10 = 60, and the domain limits for floating-point variables on a chromo-some are shown in Table 6.1.

The FPGA is implemented with the main control parameters set as: pop_size = 10–20; gþlow ¼ 1:15–1:25,gþhigh ¼ 1:65–1:85; pc = 0.45–0.65, auniform = 0.5–0.65; pm,0 = 5/L, pm,�1 = 3/L, pm,+1 = 7/L; r = 1.0, bG =1.0–1.5; aC = 0,bC = 0.7–1.3; Gen_max = 2500–3000, Gen_dynamic = pop_size.

We use small size population for the evolution searching of the FPGA so as to save the computation time,which may affect the final results. However, the dynamic genetic strategy and hybrid genetic operators cancomplement it very well. The FPGA are run 10 times with independent randomized initial population, andevolution processes are controlled by the dynamic genetic strategy. The best solution and averaged simulationresults are summarized in Tables 6.2 and 6.3.

Table 6.1The domain limits of floating-point variables for P1

Units 1st stage [1,4] 2nd, 3rd stages (4,16] 4th, 5th stages (16,24]

ts,i si ts,i si ts,i si

Unit i [1,4] [0,4] [5,12] [0,12] [17,19] [0,8]

Table 6.2.1The optimal floating-point solution for P1 found by FPGA

Units 1st stage [1,4] 2nd, 3rd stages (4,16] 4th, 5th stages (16,24]

Unit 1 (1,0) (5,0) (17,0)Unit 2 (1,4) (5,12) (17,8)Unit 3 (2,4) (8,9) (17,3)Unit 4 (1,0) (7,10) (17,5)Unit 5 (1,0) (5,0) (17,0)Unit 6 (2,3) (5,12) (17,7)Unit 7 (1,0) (10,7) (17,4)Unit 8 (1,0) (6,12) (17,7)Unit 9 (1,4) (5,12) (17,8)Unit 10 (1,4) (5,12) (17,5)

Table 6.2.2The optimal unit commitment schedule and total cost for P1 by FPGA

Time (1–24 hours)(1/0: on/off state)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Unit 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Unit 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Unit 3 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0Unit 4 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0Unit 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Unit 6 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0Unit 7 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0Unit 8 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0Unit 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Unit 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0

Total cost ($): 541181.4961, where start up cost: 10966.6349, fuel cost: 530214.8612.

Page 17: A floating-point genetic algorithm for solving the unit commitment problem

Table 6.3The simulation results for P1 by FPGA

UC problem: P1 FPGA (total cost)

Best Averaged Worst STD (%)

10 units 541,182 542,911 545,572 0.27

STD (%): the standard deviation over the averaged.

1386 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

The dynamic FPGA obtains the neighborhood of the global optimum of problem 1 at a high probability,and attains good solutions for many cases, which shows that the FPGA is powerful to explore the complicatedsolution space for the UC problems. The near-optimal floating-point chromosome and the decoded unit com-mitment schedule are listed in Table 6.2, and averaged simulation results are shown in Table 6.3. The finalsolution is only one bit away from the global optimum found by DP in [44,46]. An optimum with a lower totalcost was found in [19], but it does not consider the initial status constraints, which makes it groundless to com-pare with our results.

6.2. Test problem 2: P2 and its expanded versions

Test problem 2 (P2) consists of a group of unit commitment problems. The basic problem includes 10 unitswith a scheduling time horizon of 24 hours, and is called a 10-unit base problem. The 20-unit,30-unit, . . . , 100-unit UC problems are generated by scaling the generating units and demand load by 2,4, . . . , 10 times. Thespinning reserve is still held as 10% of the scaled demand load in each case. The demand load profile forP2 belongs to the load type II, and MSs = [1, 12,17,20,24]. The total encoding length is L = 2 · 2 · 10 =40with independent randomized initial populations for the 10-unit base problem, and the domain limits forfloating-point variables on a chromosome are listed in Table 6.4.

The control parameters used in solving the problem P2 with FPGA are set with the same consideration as insolving P1, and are listed as follows: pop_size = 10–20; gþlow ¼ 1:15–1:25, gþhigh ¼ 1:65–1:85; pc = 0.65–0.85,auniform = 0.5–0.65; pm,0 = 5/L, pm,�1 = 3/L, pm,+1 = 7/L; r = 1.0, bG = 1.2–2.0; aC = 0, bC = 1.0–1.2;Gen_max = 6000–8000, Gen_dynamic = 2 · pop_size.

The FPGA are run 10 times with independent randomized initial population for the 10-unit base problem,and the best solution and averaged simulation results of the 10-unit base problem are summarized in Tables6.5 and 6.6.

Table 6.4The domain limits of floating-point variables for P2

Units 1st, 2nd stages (1,16] 3rd, 4th stages (17,24]

ts,i si ts,i si

Unit i [1,12] [0,17] [18,20] [0,7]

Table 6.5.1The optimal floating-point solution for P2 (10-unit) found by FPGA

Units 1st, 2nd stages (1,16] 3rd, 4th stages (17,24]

Unit 1 (1,17) (18,7)Unit 2 (1,17) (18,7)Unit 3 (6,11) (18,4)Unit 4 (5,12) (18,4)Unit 5 (3,15) (18,5)Unit 6 (9,6) (20,4)Unit 7 (10,5) (20,3)Unit 8 (12,2) (18,0)Unit 9 (11,2) (20,1)Unit 10 (9,4) (18,0)

Page 18: A floating-point genetic algorithm for solving the unit commitment problem

Table 6.5.2The optimal UC schedule and total cost for P2 (10-unit) found by FPGA

Time (1–24 hours)(1/0: on/off state)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Unit 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Unit 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Unit 3 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0Unit 4 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0Unit 5 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0Unit 6 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0Unit 7 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0Unit 8 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0Unit 9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0Unit 10 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

Total cost ($): 564093.5503, where start up cost: 4090, fuel cost: 560003.5503.

Table 6.6The simulation results for P2 (10-unit) by FPGA

UC problem: P2 FPGA (total cost)

Best Averaged Worst STD (%)

10 units 564,094 566,675 569,237 0.33

Table 6.7The simulation results for P2 (expanded versions) by FPGA

UC problem: P2 FPGA (total cost )

Best Averaged Worst STD (%)

20-unit 1,124,998 1,128,311 1,130,327 0.1540-unit 2,248,235 2,255,898 2,261,964 0.2360-unit 3,368,375 3,380,879 3,390,386 0.2580-unit 4,491,169 4,507,981 4,519,684 0.22100-unit 5,614,357 5,634,711 5,655,291 0.23

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1387

It can be seen that the dynamic FPGA outperforms the proposed GA, MA, EP, and ICGA in [31,39,44,47]on the 10-unit base problem with respect to either the best solutions or the averaged ones (see Tables 6.6, A2.3,A2.4, A2.5). The best solution found by FPGA on the 10-unit base problem is also better than that by DP andother GA based methods, and is listed out for comparison in Table 6.5.

We adopt a different strategy to save the computation time. An optimal solution is chosen randomly fromthe 10 solutions of 10-unit based problem, and is used to seed the initial population of the FPGA to solve the20-unit UC problem and other expanded ones. The control parameters are set in line with the above rulesexcept that a FPGA is evolved only with a maximum generations of 3000–5000 and bG = 0.5–1.0. The simu-lation results for the expanded versions are summarized in Table 6.7.

7. Discussion

Numerical simulations of P1 and P2 are carried out on an IBM compatible PC with a PII-CPU of 300 MHzand PC-100 RAM of 128 MB. More effective genetic strategies could be verified when experiments are done onprofessional workstations or mainframe computers with high marks of flops as in the literature [44,46]. Thesimulation results show that the FPGA can be applied into the practical scheduling tasks of utility power sys-tems. It is observed that the FPGA with dynamic strategy is able to well overcome the premature convergence

Page 19: A floating-point genetic algorithm for solving the unit commitment problem

530000

540000

550000

560000

570000

580000

590000

600000

1 501 1001 1501 2001 2501Generations

Tota

l cos

t

FPGAdynamic FPGA

Fig. 6.1. The performance of FPGA for P1.

500000

550000

600000

650000

700000

750000

800000

1 1001 4001 6001 8001Generations

Tot

al c

ost

FPGA

dynamic FPGA

Fig. 6.2. The performance of FPGA for P2 (10-unit).

1388 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

in the evolution process and escape from local optima at a high probability compared with the canonicalFPGA (see Figs. 6.1 and 6.2).

After comparing with DP, LR, GA, MA and EP proposed in [31,39,44,47], the FPGA has more advantagesas a stochastic searching method. To enhance the performance of the FPGA in exploitation of the solutionspace, a non-uniform mutation operation is adopted during the late stage of evolution that exercises discrim-inated mutation rates on different genes based on their alleles’ frequencies in the population and alleles’ livinggenerations on the elitist chromosomes. This mechanism is used to promote the ability of FPGA in the fineturning around local optima before the conclusion of the total evolution process, and meanwhile to reducethe lethal mutations to high-fitness schemata formulated during the initial and interim stages of the evolutionprocess.

It is very difficult to solve the UC problems since its feasible solution is discrete and non-convex and itsobjective function is multimodal, which can delay the searching process of the FPGA. In contrast, the pop-ulation is more explorative when we keep the individuals that represent infeasible solution at a certain propor-tion in the population when they are produced, which is shown to be very effective in the simulationexperiments.

Another experience is that larger size population is not efficient for the FPGA to solve the UC problems. Infact, we find that the premature convergence will often happen with larger size populations, which is not con-sistent with the conventional ideas because of the special feasible solution space for UC problems. Therefore,we use a rule that the population size is equal to approximately 1/4 of the total chromosome length. A cross-over with a rate of 1.0 is also detrimental to the exploration in the initial evolution stage, so we set it less than1.0. Meanwhile, a biased uniform crossover is more useful than an unbiased one. A lower initial value of gþlow

for linear ranking selection makes for less chance of entrapment at local optima or getting the population intopremature convergence.

Page 20: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1389

Finally, to deal with the minor fluctuations in load demand during the total scheduling period, we can applythe priority list method to improve the near-optimal solution obtained by the FPGA. When the load demandprofiles become very different from the two load types I or II, they should be treated separately according tothe same principles, and new encoding and decoding schemes based on proper stage divisions should bedesigned. To deal with the prolonged unit commitment periods larger than 24 hours, such as 168 hours ina week, the same logic can be extended to build up a corresponding multi-stage division method and encod-ing–decoding scheme. Therefore, the proposed paradigm of FPGA is an effective method that can be adaptedto deal with the different types of load demand profiles.

8. Conclusions

This paper has proposed a FPGA approach to solve the UC problems. According to the characteristics ofdemand load profiles, a new chromosome representation and encoding–decoding scheme have been designedso as to reduce the complexities in handling the minimum up/down time limits. The proposed FPGA enrichesthe choices of genetic operators and controlling measures about the population evolution process. Based onthe No-Free-Lunch theorem studied by Wolpert and Macready [48], problem specific knowledge should beconsidered and incorporated into general-purpose methods to establish much more efficient implementationto the practical UC problems. Through the coordination of various genetic operators and controlling param-eters, a dynamic genetic strategy has been formulated to enhance the exploration of the FPGA in the non-con-vex feasible solution space. In fact, it is very difficult to solve the UC problems in practice, so the proposedFPGA is an effort to solve the UC problems in utility power systems which can lead more savings to the com-panies, and the experiments also supplement this.

There also exists some weakness in exploitation by the GA when it is used as a function optimizer. Mean-while, the FPGA provides us with great flexibility to incorporate conventional techniques into its main frame-work. So, such methods good at local searching and fine turning around local optima can be bound to theFPGA as proceeding, interim, or succeeding algorithms, so as to realize a balanced searching between explo-ration and exploitation about the problem definition space more cost-effectively.

The multimodality of UC objective functions makes the FPGA searching more easily trapped at localoptima. Since there exists genetic drift due to stochastic errors caused by genetic operators, the finite popula-tion converges eventually to only one optimum. Therefore, the optimality of solutions in one run based onindependent random initializations cannot be guaranteed. The information gained in the first run of FPGAis not applied in later runs, which is a great waste of computation resources. The FPGA based on multi-pop-ulations can implement a global search by using space separation and niching technology, which will raise theFPGA to a good level of performance and robustness. The multi-population strategy is easily implemented ona parallel-computing platform or on a network cluster of PC, and is to be left for further studies. In this paper,the ramp-rate constraints are not considered, but they are very important in practice, we also leave this issuefor future work.

Acknowledgements

The authors would like to thank two anonymous reviewers for their invaluable comments and remarks,Dr. Liu Mingbo for helpful discussions, and Dr. Jorge Valenzuela, Dr. A.H. Mantawy for providing thetest problems and optimal solution data. This work was partially supported by SRG: 7001428 from CityUniversity of Hong Kong.

Appendix A. Benchmark test UC problems

A.1. (I) P1: The 10-unit test UC problem [44,46]

See Tables A1.1, A1.2 and A1.3.

Page 21: A floating-point genetic algorithm for solving the unit commitment problem

Table A1.2Load demand data for 24 hours to the UC problem P1

Hour Load (MW) Reserve (MW)

1 1025 852 1000 853 900 654 850 555 1025 856 1400 1107 1970 1658 2400 1909 2850 21010 3150 23011 3300 25012 3400 27513 3275 24014 2950 21015 2700 20016 2550 19517 2725 20018 3200 22019 3300 25020 2900 21021 2125 17022 1650 13023 1300 10024 1150 90

Table A1.1Power system operation data for the 10-unit test UC problem

Unit no. Pmax Pmin a b c Min. up time(MUT)

Min. downtime (MDT)

b0 b1 s Initial status(INS)

MW MW $ $/MW h $/MW h2 Hours Hours $ $ Hours Hours

1 1000 300 820 9.023 0.00113 5 4 2050 825 4 �42 400 130 400 7.654 0.00160 3 2 1460 650 3 53 600 165 600 8.752 0.00147 2 4 2100 950 4 14 420 130 420 8.431 0.00150 1 3 1480 650 4 �25 700 225 540 9.223 0.00234 4 5 2100 900 3 �86 200 50 175 7.054 0.00515 2 2 1360 750 2 �17 750 250 600 9.121 0.00131 3 4 2300 950 4 68 375 110 400 7.762 0.00171 1 3 1370 550 3 �19 850 275 725 8.162 0.00128 4 3 2200 950 4 210 250 75 200 8.149 0.00452 2 1 1180 625 2 �7

Start up cost: SUCðtÞ ¼ b0 1� e�xðt�1Þ

s

� �þ b1, where x(t � 1) is the time duration from the latest shut down before time t.

1390 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

A.2. (II) P2: The 10-unit base UC problem [31]

See Tables A2.1, A2.2, A2.3, A2.4, A2.5.1, A2.5.2, A2.5.3 and A2.5.4.

Appendix B. Procedure: Lambda-iteration method for EDP

begin

given a feasible solution Uf,m = [uf,m,it]N·T

set tolerance s

Page 22: A floating-point genetic algorithm for solving the unit commitment problem

Table A2.1Power system operation data for the 10-unit base UC problem

Unit no. Pmax Pmin a b c Min. uptime (MUT)

Min. downtime (MDT)

Hot startcost

Coldstartcost

Coldstarthours

Initialstatus(INS)

MW MW $ $/MW h $/MW h2 Hours Hours $ $ Hours Hours

1 455.0 150.0 1000.0 16.19 0.00048 8 8 4500.0 9000.0 5 82 455.0 150.0 970.0 17.26 0.00031 8 8 5000.0 10,000.0 5 83 130.0 20.0 700.0 16.60 0.00200 5 5 550.0 1100.0 4 �54 130.0 20.0 680.0 16.50 0.00211 5 5 560.0 1120.0 4 �55 162.0 25.0 450.0 19.70 0.00398 6 6 900.0 1800.0 4 �66 80.0 20.0 370.0 22.26 0.00712 3 3 170.0 340.0 2 �37 85.0 25.0 480.0 27.74 0.00079 3 3 260.0 520.0 2 �38 55.0 10.0 660.0 25.92 0.00413 1 1 30.0 60.0 0 �19 55.0 10.0 665.0 27.27 0.00222 1 1 30.0 60.0 0 �110 55.0 10.0 670.0 27.79 0.00173 1 1 30.0 60.0 0 �1

(1): Start up cost ¼ hot start cost if down time 6 minimum down timeþ cold start hourscold start cost if down time > minimum down timeþ cold start hours

�[39].

(2): The 10-unit base UC problem is scaled to form larger ones: 20-unit, 40-unit, . . . , 100-unit UC problems, in which the base 10-unit areduplicated 2,4, . . . , 10 times with their system data kept equal, and meanwhile the load demands are also multiplied by 2,4, . . . , 10. Thespinning reserve is still held as 10% of the scaled load demand in each case.

Table A1.3Test results in literature [44,46]

UC problem: P1 LR solutions [46]: (total cost) DP solutions [44]: (total cost) Best Averaged Worst CV (%)

10 units 540,895 540,904 GA [44] (total cost)541,656 547,527 555,997 0.88

MA [44] (total cost)541108 545591 549290 0.61

The test simulations in [44] are carried out on a Sun Ultra 2 workstation.

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1391

for t = 1 to T do

set the initial values of k(t), D(t):{kðtÞ ¼ maxi2f1;...;Ngfa1i þ 2a2ipiðtÞjpiðtÞ ¼ P max

i g{D(t) = 0.618k(t)}

for i = 1 to N do

while (not jej < s) do

begin

calculate pi(t)by piðtÞ ¼ minfmaxfp0iðtÞ; P mini g; P max

i g, where p0iðtÞ ¼kðtÞ�a1i

2a2i

calculate e ¼ Dt �PN

i uf ;m;itpiðtÞif (e < 0) then

set k(t) = k(t) � D(t)else

set k(t) = k(t) + D(t)endif

calculate D(t) = 0.618D(t)end

endfor

endfor

end

Page 23: A floating-point genetic algorithm for solving the unit commitment problem

Table A2.2Load demand data for 24 hours to the 10-unit base UC problem

Hour Load (MW)

1 700.02 750.03 850.04 950.05 1000.06 1100.07 1150.08 1200.09 1300.010 1400.011 1450.012 1500.013 1400.014 1300.015 1200.016 1050.017 1000.018 1100.019 1200.020 1400.021 1300.022 1100.023 900.024 800.0

The system spinning reserve is assumed to be 10% of the load demand at each hour.

Table A2.3Test results up to 100-unit systems in [31]

UC problem:(number of unit)

DP solutions: (total cost) LR solutions: (total cost) GA (total cost)

Success (%) Best Worst Difference (%)

10-unit 565,825 565,825 60 565,825 570,032 0.7420-unit – 1,130,660 75 1,126,243 1,132,059 0.5140-unit – 2,258,503 90 2,251,911 2,259,706 0.3460-unit – 3,394,066 100 3,376,625 3,384,252 0.2280-unit – 4,526,022 100 4,504,933 4,510,129 0.11100-unit – 5,657,277 100 5,627,437 5,637,914 0.19

The test simulations are carried out on a HP Apollo 9000 model 720 workstation.

Table A2.4A final solution by EP to 10-unit base system in [39]

Units commitment schedule 10-unit base problem, total cost: 564,678 $Time

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Unit 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Unit 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Unit 3 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0Unit 4 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0Unit 5 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0Unit 6 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0Unit 7 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0Unit 8 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0Unit 9 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0Unit 10 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

1392 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

Page 24: A floating-point genetic algorithm for solving the unit commitment problem

Table A2.5.1Test results up to 100-unit systems in [44]

UC problem:(number of unit)

LR solutions: total cost $ (5000 iterations) Genetic algorithm: total cost $

Best Average Worst CV (%) Best Average Worst CV (%)

10-unit 566,107 566,107 566,493 0.060 565,866 567,329 571,336 0.2620-unit 1,128,362 1,128,395 1,128,395 0.004 1,128,876 1,130,160 1,131,565 0.0840-unit 2,250,223 2,250,223 2,250,223 0.000 2,252,909 2,262,585 2,269,282 0.2860-unit 3,374,994 3,374,994 3,374,994 0.000 3,377,393 3,394,044 3,401,847 0.2380-unit 4,496,729 4,496,729 4,496,729 0.000 4,507,692 4,525,204 4,552,982 0.21100-unit 5,620,305 5,620,305 5,620,305 0.000 5,626,362 5,669,362 5,690,086 0.33

The test simulations are carried out on a Sun Ultra 2 workstation.

Table A2.5.2Test results up to 100-unit systems in [44]

UC problem:(number of unit)

Memetic algorithms: total cost $ A seeded MA with LR solutions: total cost $

Best Average Worst CV (%) Best Average Worst CV (%)

10-unit 565,827 566,453 566,861 0.07 566,686 566,787 567,022 0.02820-unit 1,127,254 1,128,824 1,130,916 0.11 1,128,192 1,128,213 1,128,403 0.00640-unit 2,252,937 2,262,477 2,270,361 0.29 2,249,589 2,249,589 2,249,589 0.00060-unit 3,388,676 3,394,830 3,408,275 0.18 3,370,595 3,370,820 3,371,272 0.00580-unit 4,501,449 4,527,779 4,545,305 0.33 4,494,214 4,494,378 4,494,439 0.001100-unit 5,640,543 5,665,803 5,698,039 0.33 5,616,314 5,616,699 5,616,900 0.003

The test simulations are carried out on a Sun Ultra 2 workstation.

Table A2.5.3Test results up to 100-unit systems in [39,47]

UC problem:(number of unit)

Evolutionary programming: total cost $

Average best Average worst Difference (%)

10-unit 564,551 566,231 0.3020-unit 1125494 1,129,793 0.3840-unit 2,249,093 2,256,085 0.3160-unit 3,371,611 3,381,012 0.2880-unit 4,498,479 4,512,739 0.32100-unit 5,623,885 5,639,148 0.27

The test simulations are carried out on a HP C160 workstation.

Table A2.5.4Test results up to 100-unit systems in [47]

UC problem: (number of unit) Averaged total cost $ in 10 runs

10-unit 566,40420-unit 1,127,24440-unit 2,254,12360-unit 3,378,10880-unit 4,498,943

The test simulations are carried out on a PC with Intel Pentium IV 1.60-GHz and 512-MB RAM.

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1393

References

100-unit 5,630,838

[1] A.J. Wood, B.F. Wollenberg, Power Generation, Operation & Control, second ed., John Wiley & Sons Ltd., New York, 1996.[2] F. Zhuang, F.D. Galiana, Towards a more rigorous and practical unit commitment by Lagrangian relaxation, IEEE Transactions on

Power Systems (2) (1988) 763–773.

Page 25: A floating-point genetic algorithm for solving the unit commitment problem

1394 C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395

[3] F.N. Lee, Short-term thermal unit commitment-a new method, IEEE Transactions on Power Systems (2) (1988) 421–428.[4] R. Gollmer, M.P. Nowak, W. Romisch, R. Schultz, Unit commitment in power generation – a basic model and some extentions,

Annals of Operations Research (96) (2000) 167–189.[5] N. Prasad Padhy, Unit commitment – a bibliographical survey, IEEE Transactions on Power Systems 19 (2) (2004) 1196–1205.[6] C.P. Cheng, C.W. Liu, C.C. Liu, Algorithm Unit commitment by annealing-genetic, International Journal of Electrical Power &

Energy Systems 24 (2) (2002) 149–158.[7] B.F. Hobbs, M.H. Rothkopf, R.P. O’Neill, The Next Generation of Electric Power Unit Commitment Models, Kluwer Academic

Publishers, Boston, 2001.[8] S. Mokhtari, J. Sing, B. Wollenberg, A unit commitment expert system (power system control), IEEE Transactions on Power Systems

3 (1) (1988) 272–277.[9] S. Li, S.M. Shahidehpour, C. Wang, Promoting the application of expert systems in short-term unit commitment, IEEE Transactions

on Power Systems 8 (1) (1993) 286–292.[10] D.P. Kothari, A. Ahmad, An expert system approach to the unit commitment problem, Energy Conversion and Management 36 (4)

(1995) 257–261.[11] N.P. Padhy, Unit commitment using hybrid models: A comparative study for dynamic programming, expert system, fuzzy system and

genetic algorithms, International Journal of Electrical Power & Energy Systems 23 (8) (2001) 827–836.[12] S.J. Huang, C.L. Huang, Application of genetic-based neural networks to thermal unit commitment, IEEE Transactions on Power

Systems 12 (2) (1997) 654–660.[13] M.H. Wong, T.S. Chung, Y.K. Wong, An evolving neural network approach in unit commitment solution, Microprocessors and

Microsystems 24 (5) (2000) 251–262.[14] F. Zhuang, F.D. Galiana, Unit commitment by simulated annealing, IEEE Transactions on Power Systems 5 (1) (1990) 311–

318.[15] A.H. Mantawy, Y.L. Abdel-Magid, S.Z. Selim, A simulated annealing algorithm for unit commitment, IEEE Transactions on Power

Systems 13 (1) (1998) 197–204.[16] W. Yin, S. Wong, An enhanced simulated annealing approach to unit commitment, International Journal of Electrical Power &

Energy Systems 20 (5) (1998) 359–368.[17] R. Nayak, J.D. Sharma, A hybrid neural network and simulated annealing approach to the unit commitment problem, Computers &

Electrical Engineering 26 (6) (2000) 461–477.[18] C.-P. Cheng, C.-W. Liu, C.-C. Liu, Unit commitment by annealing-genetic algorithm, International Journal of Electrical Power &

Energy Systems 24 (2) (2002) 149–158.[19] A.H. Mantawy, Y.L. Abdel-Magid, S.Z. Selim, Integrating genetic algorithms, tabu search, and simulated annealing for the unit

commitment problem, IEEE Transactions on Power Systems 14 (3) (1999) 829–836.[20] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, MA, 1989.[21] Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, third ed., Springer-Verlag, New York, 1996.[22] T. Back, D.B. Fogel, Z. Michalewicz, Handbook of Evolutionary Computation, Oxford University Press, New York, 1997.[23] D. Whitley, An overview of evolutionary algorithms: Practical issues and common pitfalls, Information and Software Technology

(43) (2001) 817–831.[24] D.C. Walters, G.B. Sheble, Genetic algorithm solution of economic dispatch with valve point loading, IEEE Transactions on Power

Systems 8 (3) (1993) 1325–1332.[25] D. Dasgupta, Unit commitment in thermal power generation using genetic algorithms, in: Proceedings of Sixth International

Conference on Industrial & Engineering Applications of Artificial Intelligence and Expert Systems (IEA/AIE – 93), June 1–4,Scotland (UK), 1993, pp. 374–383.

[26] D. Dasgupta, D.R. McGregor, Short-term unit commitment using genetic algorithms, in: Proceedings of 5th IEEE InternationalConference on Tools with Artificial Intelligence (TAI’93), November 8–11, Boston, USA, 1993, pp. 240–247.

[27] D. Dasgupta, D.R. McGregor, Thermal unit commitment using genetic algorithms, Journal of IEE Proceedings-C: Generation,Transmission and Distribution 141 (5) (1994) 459–465.

[28] X. Ma, A.A. El-Keib, R.E. Smith, H. Ma, A genetic algorithm based approach to thermal unit commitment of electric power systems,Electric Power Systems Research 34 (1) (1995) 29–36.

[29] S.O. Orero, M.R. Irving, A genetic algorithm for generator scheduling in power systems, International Journal of Electrical Power &Energy Systems 18 (1) (1996) 19–26.

[30] T.T. Maifeld, G.B. Sheble, Genetic-based unit commitment algorithm, IEEE Transactions on Power Systems 11 (3) (1996) 1359–1370.[31] S.A. Kazarlis, A.G. Bakirtzis, V. Petridis, A genetic algorithm solution to the unit commitment problem, IEEE Transactions on

Power Systems 11 (1) (1996) 83–92.[32] S.O. Orero, M.R. Irving, Large scale unit commitment using a hybrid genetic algorithm, International Journal of Electrical Power and

Energy Systems 19 (1) (1997) 45–55.[33] G.B. Sheble, T.T. Maifeld, K. Brittig, G. Fahd, S. Fukurozaki-Coppinger, Unit commitment by genetic algorithm with penalty

methods and a comparison of Lagrangian search and genetic algorithm – economic dispatch example, International Journal ofElectrical Power & Energy Systems 18 (6) (1996) 339–346.

[34] P.C. Yang, H.T. Yang, C.L. Huang, Solving the unit commitment problem with a genetic algorithm through a constraint satisfactiontechnique, Electric Power Systems Research 37 (1) (1996) 55–65.

[35] S.O. Orero, M.R. Irving, A combination of the genetic algorithm and Lagrangian relaxation decomposition techniques for thegeneration unit commitment problem, Electric Power Systems Research 43 (3) (1997) 149–156.

Page 26: A floating-point genetic algorithm for solving the unit commitment problem

C. Dang, M. Li / European Journal of Operational Research 181 (2007) 1370–1395 1395

[36] A.H. Mantawy, Y.L. Abdel-Magid, S.Z. Seli, A new genetic-based tabu search algorithm for unit commitment problem, ElectricPower Systems Research 49 (2) (1999) 71–78.

[37] H.T. Yang, P.C. Yang, C.L. Huang, A parallel genetic algorithm approach to solving the unit commitment problem: Implementationon the transputer networks, IEEE Transactions on Power Systems 12 (2) (1997) 661–668.

[38] A. Rudolf, R. Bayrleithner, A genetic algorithm for solving the unit commitment problem of a hydro-thermal power system, IEEETransactions on Power Systems 14 (4) (1999) 1460–1468.

[39] K.A. Juste, H. Kita, E. Tanaka, J. Hasegawa, An evolutionary programming solution to the unit commitment problem, IEEETransactions on Power Systems 14 (4) (1999) 1452–1459.

[40] C.P. Cheng, C.W. Liu, C.C. Lui, Unit commitment by Lagrangian relaxation and genetic algorithms, IEEE Transactions on PowerSystems 15 (2) (2000) 707–714.

[41] K.S. Swarup, S.M. Yamashiro, Unit commitment solution methodology using genetic algorithm, IEEE Transactions on PowerSystems 17 (1) (2002) 87–91.

[42] H. Chen, X. Wang, Cooperative coevolutionary algorithm for unit commitment, IEEE Transactions on Power Systems 17 (1) (2002)128–133.

[43] H. Duo, H. Sasaki, T. Nagata, H. Fujita, A solution for unit commitment using Lagrangian relaxation combined with evolutionaryprogramming, Electric Power Systems Research 51 (1) (1999) 71–77.

[44] J. Valenzuela, A.E. Smith, A seeded memetic algorithm for large unit commitment problems, Journal of Heuristics 8 (2) (2002) 173–195.

[45] C. Grigg et al., The IEEE Reliability Test System – 1996. A report prepared by the Reliability Test System Task Force of theApplication of Probability Methods Subcommittee, IEEE Transactions on Power Systems 14 (3) (1999) 1010–1020.

[46] J.F. Bard, Short-term scheduling of thermal-electric generators using Lagrangian relaxation, Operations Research 36 (5) (1988) 756–766.

[47] I.G. Damousis, A.G. Bakirtzis, P.S. Dokopoulos, A solution to the unit-commitment problem using integer-coded genetic algorithm,IEEE Transactions on Power Systems 19 (2) (2004) 1165–1172.

[48] D.H. Wolpert, W.G. Macready, No free lunch theorems for optimization. Manuscript 1996.