Using GRASP to solve the Unit Commitment Problem

0 downloads 0 Views 175KB Size Report
and, in recent years, metaheuristics have also been applied with some success ... Due to its economical importance, the Unit Commitment (UC) problem has for ...
Using GRASP to solve the Unit Commitment Problem †

Ana Viana1,2 , Jorge Pinho de Sousa1,3 and Manuel Matos1,3

1

INESC Porto ({aviana, jsousa, mam}@inescporto.pt)

*

Campus da FEUP, Rua Dr. Roberto Frias 378, 4200-465 Porto, Portugal, Phone: +351 22 2094399

2

ISEP - Instituto Superior de Engenharia do Porto

Rua Dr. Ant´ onio Bernardino de Almeida 341, 4200-072 Porto, Portugal

3

FEUP - Faculdade de Engenharia da Universidade do Porto

Rua Dr. Roberto Frias, 4200-465 Porto, Portugal



Corresponding author c 2002 Kluwer Academic Publishers. Printed in the Netherlands. ° Paper_kluwer_final.tex; 29/11/2002; 14:30; p.1

Abstract. In this paper, the Unit Commitment (UC) problem is presented and solved, following an innovative approach based on a metaheuristic procedure. The problem consists on deciding which electric generators must be committed, over a given planning horizon, and on defining the production levels that are required for each generator, so that load and spinning reserve requirements are verified, at minimum production costs. Due to its complexity, exact methods proved to be inefficient when real size problems were considered. Therefore, heuristic methods have for long been developed and, in recent years, metaheuristics have also been applied with some success to the problem. Methods like Simulated Annealing, Tabu Search and Evolutionary Programming can be found in several papers, presenting results that are sufficiently interesting to justify further research in the area. In this paper, a resolution framework based on GRASP Greedy Randomized Adaptive Search Procedure - is presented. To obtain a general optimisation tool, capable of solving different problem variants and of including several objectives, the operations involved in the optimisation process do not consider any particular characteristics of the classical UC problem. Even so, when applied to instances with very particular structures, the computational results show the potential of this approach.

Keywords: Unit Commitment, Metaheuristics, GRASP

c 2002 Kluwer Academic Publishers. Printed in the Netherlands. ° Paper_kluwer_final.tex; 29/11/2002; 14:30; p.2

3 Due to its economical importance, the Unit Commitment (UC) problem has for long been a matter of concern for generator companies (GENCOs) and, consequently, an important area of research. The UC problem is the problem of deciding which electric generators must be committed/decommitted over a planning horizon (lasting from 1 day to 2 weeks, and generally split in periods of 1 hour), and the production levels at which they must be operating, so that production costs are minimised. The committed units must satisfy the forecasted system load and reserve requirements, subject to a large set of other system, technological and environmental constraints. Although the problem of defining, in a rough way, the production level of the units that are on (“pre-dispatch” problem) can be easily solved by using, e.g., the λ-iteration method (Wood and Wollenberg, 1996), the complete UC problem is a NP-hard problem. Being a combinatorial true multiperiod problem (due to important start-up and shut-down costs) it is in general very hard to solve, as it is not possible to perform a separate optimisation for each time interval. Therefore, when exact methods (e.g. Dynamic Programming and Branch-and-Bound) are applied to medium and large size instances, they prove to be inefficient and, in general, not capable of finding a solution within the time available for real decision making. Research efforts have, therefore, concentrated on developing methods able to efficiently find satisfactory solutions (not necessarily optimal), for real size problems. Heuristic approaches based on exact methods, e.g. Branch-and-Bound (Cohen and Yoshimura, 1983), as well as methods based on priority-lists (Lee, 1988) and Lagrangian Relaxation ((Aoki et al., 1987), (Merlin and Sandrin, 1983)) or, more recently, neural networks ((Sasaki, Watanabe and Yokoyama, 1992), (Ouyang and Shahidehpour, 1992), (Huang and Huang, 1997)) and metaheuristics (e.g. Genetic Algorithms ((Dasgupta and McGrevor, 1994), (Kazarlis, Bakirtzis and Petridis, 1996)), Simulated Annealing ((Mantawy, Abdel-Magid and Selim, 1998a), (Yin Wa Wong, 1998), (Zhuang and Galiana, 1990)), Tabu Search (Mantawy, Abdel-Magid and Selim, 1998b)) have been used (Sen and Kothari, 1998). Metaheuristics (Reeves, 1995) are particularly appealing: they are usually easier to develop than constructive heuristics; they are able to easily incorporate new information/details in the model (being therefore easy to adapt to different problem variants); they can tackle complex cost functions

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.3

4 and they are able to solve the very same problem for completely different objective functions, without any changes in the code. In this paper, an algorithmic framework based on another metaheuristic principle (GRASP - Greedy Randomized Adaptive Search Procedure (Feo and Resende, 1995)) is presented. A very interesting feature of GRASP is its adaptability property. Following a philosophy that is slightly different from standard metaheuristics, the decisions taken by the method, when building a solution, are somehow adapted according to decisions previously taken. This dynamic “learning-process” often leads to very good solutions. Considering the radical restructuring processes that the energetic sector is going through, the aim of this work is to develop a general framework, capable of handling a wide variety of contexts. In fact, if inserted in market environments, UC models must consider new regulatory requirements that are continuously evolving. To handle such dynamic models, optimisation tools, that can easily incorporate new market issues, must be developed. Following this reasoning, the framework presented in this paper is based on general operations that do not consider instance particular structure characteristics. By doing so, one obtains a more general resolution approach, that is not problem dependent, and can, if necessary, be adapted to each particular application context. For general evaluation purposes, the instances presented in (Kazarlis, Bakirtzis and Petridis, 1996) (where a global management of the power units is performed) were used, allowing a comparison between our GRASP approach and algorithms from the literature (Lagrangian heuristics and an optimisation tool based on Genetic Algorithms). The computational results show that the method is robust and effective at handling centralised UC problems. It therefore deserves some further research, and can be seen as a first step for the design of more advanced tools, capable of handling the additional information that must be considered in competitive electricity markets ((Hobbs et al., 2001), (Shebl´e, 1999)).

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.4

5 1. Problem Formulation

In this section, the classical Unit Commitment problem formulation is presented. The model considers that the power units are centrally managed in a global way, and aims at minimising the total production cost, over the planning horizon, expressed as the sum of fuel, start-up and shut-down costs. Several system and technological constraints are also described.

1.1. Notation

Indexes t - time periods (t = 1,...,T ) T - planning horizon i - units (i = 1,...,I ) I - number of units Decision  variables u it =

   1 if i is ON in period t    0 otherwise

P it - production level of unit i, in period t (MW) Auxiliary variables OFF it - number of consecutive periods for which unit i has been OFF, immediately before period t ON it - number of consecutive periods for which unit i has been ON, immediately before period t Problem parameters P i , P i - minimum and maximum production level of unit i (MW) of f T on - minimum up and down time of unit i (h) i , Ti

r up it - maximum up rate of unit i, in period t (MW/h) r down - maximum down rate of unit i, in period t (MW/h) it Ptd - system load requirements in period t (MW) Paper_kluwer_final.tex; 29/11/2002; 14:30; p.5

6 R t - spinning reserve requirements in period t (MW) a i , b i , c i - fuel cost parameters (measured in $/h, $/MWh and $/MW2 h, respectively) Unit initial state  u i0 =

    1 if i was ON for t < 1             0 otherwise

OF Fi0 - number of consecutive periods for which unit i has been OFF, immediately before t = 1 (h) ONi0 - number of consecutive periods for which unit i has been ON, immediately before t = 1 (h) Production costs F(P it ) - fuel cost of unit i, in period t ($/h) SC (OFF it , u it ) - start up cost of unit i, in period t ($) DC i - shut down cost of unit i ($)

1.2. Objective function

(1)

min

UT T X X

F (Pit ) + SC(OF Fit , uit ) + DCi

t=1 i=1

where we consider the traditional function for F(Pit ):

F (Pit ) = ci Pit2 + bi Pit + ai

(2) and

(3)

SC (OF Fit , uit ) = uit × (1 − ui,(t−1) ) × Sx (OF Fit ) Start-up costs, Sx , depend on the latest period the unit was operating and can be represented in

several ways. In this work, the following function is considered: Paper_kluwer_final.tex; 29/11/2002; 14:30; p.6

7

Sx =

    Sh if OFFit ≤ tcold i    Sc

otherwise

where Sh and Sc are the costs incurred for a hot and a cold start-up, respectively. t cold is a unit i parameter that indicates the number of hours that the boiler needs to cool down. Shut-down costs are, in this case, represented by a constant.

1.3. Constraints

In this work, the following constraints, related to system and technical characteristics, are considered: Load Demand

I X

(4)

Pit = Ptd

t = 1,..., T

i=1

Spinning reserve requirements

(5)

UT X

P i uit ≥ Ptd + Rt

P i uit ≤ Pit ≤ P i uit

i = 1,..., I

i=1

Production limits

(6)

t = 1,..., T

Minimum down time

(uit − ui,(t−1) ) × (OF Fi,(t−1) − Tiof f ) ≤ 0

(7)

i = 1,..., I

whith

(8)

OF Fit = (1 + OF Fi,(t−1) ) × (1 − uit )

Minimum up time Paper_kluwer_final.tex; 29/11/2002; 14:30; p.7

8

(uit − ui,(t−1) ) × (ONi,(t−1) − Tion ) ≤ 0

(9)

(10)

i = 1,..., I

ONit = (1 + ONi,(t−1) ) × uit

Maximum up rate

(11)

up rit ≥ Pit − Pi(t−1)

i = 1,..., I

t = 1,..., T

Maximum down rate

(12)

down rit ≥ Pi(t−1) − Pit

i = 1,..., I

t = 1,..., T

Two system constraints must be considered. In each period of time: 1) the units that are committed must satisfy load demand (expression (4)); 2) the total amount of generation available in the system, minus the current load demand, must be above a certain value - the spinning reserve(expression (5)). This second condition is related to reliability and quality of service, imposed by regulatory entities. For each unit, several technical and economical constraints, presented from expression (6) to (12), must also be considered. Expression (6) defines bounds on generation, while expressions (7) and (9) f state that if a unit is off, it must remain off for at least Tof periods of time. On the other hand, if a i

unit is on it must remain on for at least Ton i periods of time. Finally, expressions (11) and (12) impose a limit to the maximum difference between production levels, in two consecutive periods of time.

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.8

9 2. Application of GRASP to the UC problem

2.1. Algorithm description

GRASP (Feo and Resende, 1995) is a multi-start metaheuristic composed of two main phases: a Construction Phase and a Local Search Phase. In the Construction Phase, an initial feasible solution is iteratively built following an adaptive reasoning, i.e., the decisions taken in previous iterations influence the decision taken in the current iteration. Then, the neighbourhood of that solution is explored, using a Local Search procedure, and the best overall solution is kept, if it is better than the best solution found in previous runs of the algorithm. To obtain an initial feasible solution, at each iteration of the Construction Phase, all elements (decisions that can be taken) in a set of possible candidates, are ranked according to a greedy function that evaluates the contribution to the objective function obtained by choosing that particular element. If the elements in the ranked list reach a given threshold, they are accepted for future decisions and stored in a Restricted Candidate List (RCL). The decisions taken in each iteration of the Construction Phase are then randomly selected among those in the RCL. By following this reasoning, at each GRASP iteration a different initial solution is obtained and, hopefully, different regions of the search space are explored by the Local Search procedure. Finally, at the end of each iteration, the greedy function is adapted, so that in the following iterations it will take into account the decisions previously taken.

2.2. Application to the UC problem

Although GRASP has already been applied to a wide range of combinatorial optimisation problems with success (Festa and Resende, 2001), as far as the authors know, this is the first time that it is used to solve the UC problem. In this section, some details concerning its implementation are referred and the neighbourhood operations are described. Construction Phase Paper_kluwer_final.tex; 29/11/2002; 14:30; p.9

10 Due to problem specific characteristics, the GRASP Construction Phase for the UC problem turns out to be, in some cases, very simple. When must-run and minimum-up time constraints are considered, it can happen that before the algorithm reaches a certain period t, the state of a unit has already been fixed to ON, for that period. In Algorithm 1 (line 2) a function that calculates the sum of the maximum production capacity of those units is used (T represents the planning horizon). If the sum, prod(t), verifies the reserve requirements, no further calculations are needed for that period. Otherwise, based on the RCL (line 4), the other units are set to ON or OFF. Finally, the operating levels that lead to a minimum operating cost are computed (line 5) and the solution current cost is obtained (line 6). The elements to be stored in the RCL are the units that can be turned ON in the period being analysed. The MakeRCL Algorithm (Figure 1) is used to guarantee that the solution will remain feasible. At the beginning, an intermediate list (RCLCandidates) that contains only the units that, if turned ON in period t, will verify the minimum down-time constraints, is built. If those units are not capable of satisfying the demand and reserve requirements on their own, a second list (RCLNoCandidates), storing the remaining units of the system that are OFF in period t, is built. The units in RCLCandidates are then ranked, according to a greedy function, and those that reach a certain threshold are stored in the RCL.

Algorithm 1 UC Construction Phase for all t ∈ T do 2:

prod(t) = CheckCurrentProduction(Pmax ) if the reserve requirements are not verified then

4:

MakeRCL(Solution) CalculateDispatchValues(Solution)

6:

CalculateCurrentCost(Solution) end if

8:

end for

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.10

11 i Equation (13) defines the greedy function gf (i) for unit i, in a generic period of time (t). F uelCost(P max ) i represents the fuel cost of unit i, when it is operating at its maximum production level (P max ); SC(i)

represents the start-up costs of unit i (if it was OFF in period t - 1 ), and DC(i) represents the shutdown costs of unit i (if it was ON in period t - 1 ). As the decision of turning unit i ON suppresses the shut-down cost in period t, this cost comes with a minus sign in equation (13). The units that reach the established threshold are those in the interval given by expression (14), where α is a pre-defined parameter that controls the RCL size, gft is the lower bound of the greedy function obtained in period t (i.e. gft = min(gf (i))) and gft its upper bound. One should notice that when α = 0, GRASP turns into a normal greedy algorithm and, when α = 1, it becomes a random walk algorithm.

(13)

(14)

gf (i) =

i F uelCost(Pmax ) + SC(i) − DC(i) i Pmax

∀t

gft ≤ gf (i) ≤ gft + α ( gft − gft )

After obtaining the RCL, the RCLCandidates are updated and the value of α is incremented. When necessary, the same process is applied to RCLNoCandidates. However, as the elements in this list do not verify the minimum down time constraints, if they are chosen, they must be turned ON, since the last period they were ON, until period t is reached. Local Search Phase - Neighbourhood Structure To explore the solution space with a Local Search procedure, a neighbourhood structure has been developed. The way it works is presented in Algorithm 2 and consists in randomly choosing one unit i, a period t and a direction dir, which indicates if the changes will be done to the left (before) or to the right (after) of t. Depending on the state of unit i in period t, this change will mean a shut-down or a start-up for a certain amount of time, decided by ShutDownInterval(i, t, dir) or by StartUpInterval(i, t, dir), respectively. Paper_kluwer_final.tex; 29/11/2002; 14:30; p.11

12 The rules used in the ShutDownInterval(i, t, dir) procedure, for units that are always ON or OFF, over the entire planning horizon, are described in Algorithm 3. They should be read in the following way: if State(...) or State(...) then Down(...). State(a, b, c, d) represents the state being studied. a ∈ {ON, OFF} indicates if a unit is always ON or OFF. b ∈ {Left, Right} is the direction of search. c ∈ {ON, OFF} gives the initial state of unit i and d is a specific time or time interval. Down(t1, t2) is the interval for which the unit is turned off. UT(i) and DT(i) stand for the minimum up and down time of unit i, and per ini(i) stands for the number of periods that unit i has been on/off for t < 1 (i.e. for the periods before the planning horizon). Algorithm 2 Neighbourhood Structure i = ChooseAtRandomUnit() t = ChooseAtRandomTime() dir = ChooseAtRandomDirection() if (unit i is ON in period t) then ShutDownInterval(i, t, dir) else StartUpInterval(i, t, dir) end if

The shutting-down rules for those units that change their state at least once over the planning horizon are the following: if the interval containing t is equal to UT(i), the unit is turned off for all periods in that interval. Otherwise, it is turned off for a number of periods chosen at random in the interval [1, SumUp - UT(i)], where SumUp represents the number of consecutive periods for which the unit is ON. Moreover, to guarantee that load and reserve requirements are still satisfied, one sometimes needs to restore the feasibility of the solution. The feasibility recovery procedure is based on StartUpInterval(i, t, dir) and turns on units, until feasibility is reached. Paper_kluwer_final.tex; 29/11/2002; 14:30; p.12

13

Algorithm 3 Shutting-down Rules I t1 = max(UT(i) - per ini(i), 0) State(ON, Left, ON, t ≥ DT(i) + t1) State(ON, Left, OFF, t ≥ UT(i) + DT(i)) Down(t - DT(i) + 1, t) II t1 = max(UT(i) - per ini(i), 0) State(ON, Left, ON, t < DT(i) + t1) Down(t - t1, t - t1 + DT(i) - 1) III State(ON, Left, OFF, t = 0) State(ON, Right, OFF, t = 0) State(ON, Right, ON, t > 0 and t ≥ UT(i) - per ini) State(ON, Right, OFF, t ≥ UT(i)) Down(t, t + DT(i) - 1) IV t1 = max(UT(i), t - DT(i) + 1) State(ON, Left, OFF, t > 0 and t < UT(i) + DT(i)) t1 = max(UT(i) - per ini(i), 0) State(ON, Right, ON, t < t1) Down(t1, t1 + DT(i) - 1) V State(ON, Right, OFF, t 6= 0 and t < UT(i)) Down(UT(i), UT(i) + DT(i) - 1 )

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.13

14 With an exception made to the recovery procedure, which is not needed in StartUpInterval(i, t, dir), the same reasoning is followed for defining the start-up rules. Finally, in what concerns StartUpInterval(i, t, dir), a variant to the basic procedure will also be studied in this work. An “add-in”, to check if there is an over-commitment of units, will be included in the basic procedure. After each Start-Up operation, this additional simplification tool will check, for each period of time, if the spinning reserve exceeds the required value. If this is the case, a greedy procedure is started: choose the period with the maximum excess of spinning reserve and check if there are any units that can be turned off, without loss of solution feasibility. In case they exist, they are turned off. Otherwise, the next period with maximum excess is chosen.

3. Computational experience

In this section, the results obtained by applying GRASP to some problem instances are reported and discussed. The code was developed in C++. All computational tests were performed on a 500MHz Pentium III PC.

3.1. Problem Instances

The problem instances presented in (Kazarlis, Bakirtzis and Petridis, 1996) will be used in this work. All problems consider a 24 hour planning horizon and the number of units varies from 10 to 100 units. Another possibly interesting set of randomly generated diversified problems is that presented in (Bard, 1988). However, it was not possible to obtain detailed data to reproduce the larger instances contained in that set. In Table 1, the base problem (for 10 units) is presented. The other problems are generated based on this one, by reproducing the 10 units as many times as necessary. The load values are also multiplied Paper_kluwer_final.tex; 29/11/2002; 14:30; p.14

15 by the same increasing ratio and, in all cases, the reserve requirements are considered to be 10% of the load (Table 2). In Table 1, a, b and c are the coefficients to be used in the fuel cost function, as mentioned in Section 1.1. In what concerns transition costs, hot start-up costs are considered when the unit has been OFF for a number of periods smaller or equal to the value presented in row cold start hours, and cold-start costs are considered otherwise. Shut-down costs are set to zero, for all instances. Finally, the initial state row is related to the unit initial conditions: a positive value (+v ) means that the unit has already been ON for v consecutive periods and a negative value indicates that it has been OFF (e.g. unit 6 has been OFF for 3 periods). Table 2 presents the load and reserve requirements for a 24 hour planning horizon.

3.2. Parameter tuning

To set up a search for GRASP, two parameters have to be tuned: the maximum number of iterations (Max Iterations) and α. Therefore, finding by experimentation the “best” set of parameter values is, in this case, relatively simple. In this work, the values of Max Iterations and α, for each instance, were fixed by performing some systematic computational experiments.

3.3. Computational results

When evaluating the performance of random based methods (like metaheuristics) it is natural to test if the methods are correctly implemented, by checking whether different seeds, that initialise the random number generator, do not influence the final results obtained with the method. In this work, tests have been performed for the 10, 20 and 60 unit instances. For fixed values of α, five seeds were considered and the results obtained showed that their values did not significantly influence the global behaviour of the method. In fact, in all cases the same results were obtained, independently of the seed being used, a behaviour that is not necessarily true for other metaheuristics. Paper_kluwer_final.tex; 29/11/2002; 14:30; p.15

16 For each instance, several computational tests were also done, to obtain the value of α leading to a better performance of the algorithm. That value was fixed at 0.6 for the 20, 40, 80 and 100 unit problems and 0.4 for the 60 unit problem. For the 10 unit problem the method performed equally well for values of α above 0.3. The results obtained are those presented in Table 3. The introduction of the simplification tool mentioned in Section 2.2, resulted in a considerable improvement in the efficiency of the algorithm for the 20, 40 and 80 unit problem. Those results, reported in Table 4, show that better solutions could be found within much shorter CPU times. One should also notice that the value of α that led to a better performance of the algorithm was, in this case, higher than that used when no simplification techniques were considered. This adjustment of parameters can be explained, in a certain way, by the fact that the simplification technique used follows a greedy reasoning. Due to that, GRASP must introduce more randomness in the search (by increasing α), to properly explore the search space.

3.3.1. Analysis of results Table 5 presents the results reported by (Kazarlis, Bakirtzis and Petridis, 1996). DP stands for Dynamic Programming, LH for Lagrangian Heuristic, and GA for Genetic Algorithm. The Average time column refers to the average CPU time necessary for convergence, i.e. obtaining a solution equal to, or better than, that of the LH approach. When comparing the results obtained with GRASP, with those presented in (Kazarlis, Bakirtzis and Petridis, 1996) for the Lagrangian Heuristic (LH), they seem to “compete” equally; GRASP presenting better results for the 20, 40, 60 and 80 unit problems, and LH for the 100 unit one. The relative error of the results ((x - Best Result)/Best Result) is presented in Table 6 (a minus sign is assigned to the cases where GRASP performed better). The comparison with the Genetic Algorithms approach shows that, although being worse, the results obtained with GRASP are of the same order of magnitude of those obtained with the Genetic Algorithms. If one excludes the result obtained for the 100 unit problems, where GRASP had its worst Paper_kluwer_final.tex; 29/11/2002; 14:30; p.16

17 performance (with a deviation of 0.736%, when compared with the result in (Kazarlis, Bakirtzis and Petridis, 1996)), for the other instances the maximum deviation was of 0.428% (Table 6). In what concerns the CPU time required by each approach, it is only reported for future reference and no particular analysis will be done. The tests were performed in different machines and the authors do not have any reference about the relative speed of each machine.

4. Conclusions and future work

Considering that, as far as the authors know, this is the first time that GRASP is applied to the Unit Commitment problem, the results obtained in this work are encouraging for further research in the area. By being able of achieving, for some instances, better results than those obtained with a Lagrangian Heuristic (that is still considered to be one of the most powerful tools in solving the UC problem), and by reaching values that are similar to those obtained with Genetic Algorithms (an approach that already has some “tradition” in the area), GRASP shows that it has potential to become an additional useful technique, for solving the UC problem. In particular, if one considers the special structure of the problem instances used in this work, where large problems repeat the same “pattern” of small problems, the results obtained with GRASP, when compared with those obtained with the GA approach, are particularly interesting. In general, for problems with this type of structure, where the “best” solutions tend to have repeated patterns, methods like GA, that are based on inheritance rules, tend to outperform any other approaches. Final results show that using metaheuristics like GRASP, that take into account decisions made in previous iterations for choosing the current movements, is a positive way of tackling true multi-period problems. As shown in the paper, the results obtained by performing several computational tests in instances from the literature, lead us to say that the method is robust and efficiently reaches good results. Paper_kluwer_final.tex; 29/11/2002; 14:30; p.17

18 Although a very general approach has been followed (with the aim of producing a generic framework, capable of handling several problem variations and of tackling different objective functions), and no problem specific operators have been considered, final results show that GRASP is capable of correctly handling this problem, leading to quite good results. Besides, being a very general approach, it has the advantage of being easily adapted to different variants of a UC problem. When necessary, additional tools that can help the searching process, may be added to the framework, with no changes in the main core of the algorithm. New information and objectives, related to the aims of the different actors present in the decision process, can therefore be incorporated in the algorithm with no important changes in its structure. Further work will focus on including hydro units in the problem. The authors will also adapt the current model to a market environment and study the behaviour of this approach for problems that reflect the particular features of such environments. Under market conditions, and following the research priorities specified in the 99’DIMACS Workshop (“The next generation of Unit Commitment models”), presented in (Hobbs et al., 2001), particular attention will also be given to versions of the problem that can include several objectives (e.g. take or pay contracts can be modeled as objective functions) and therefore allow the Decision Maker to consider further important information in the decision process. Multiobjective metaheuristics ((Ehrgott and Gandibleux, 2000), (Viana and Sousa, 2000)) shall be developed for this purpose.

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.18

19 * Acknowledgements

The authors would like to thank Prof. Kazarlis and Prof. Bakirtzis, from AUTH, Greece, for making available detailed information about the instances presented in this paper.

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.19

20 References

Aoki, K. et al. (1987). “Unit Commitment in a Large-Scale Power System Including fuel constrained thermal and pumped-storage hydro”. IEEE Transactions on Power Systems 4, 1077–1084. Bard, J. F. (1988). “Short-Term Scheduling of Thermal-Electric Generators Using Lagrangian Relaxation”. Operations Research 36(5), 756–766. Cohen, A. I. and Yoshimura, M. (1983). “A branch-and-bound algorithm for unit commitment”. IEEE Transactions on Power Apparatus Systems PAS-102(2), 444–451. Dasgupta, D. and McGrevor, D. (1994). “Thermal unit commitment using genetic algorithms”. IEE Proceedings Generation Transmission and Distribution 141, 459–465. Ehrgott, M. and Gandibleux, X. (2000). “A Survey and annotated Bibliography of Multiobjective Combinatorial Optimization”. OR Spektrum 22, 425–460. Feo, T. and Resende, M. (1995). “Greedy randomized adaptive search procedures”. Journal of Global Optimization 6, 109–133. Festa, P. and Resende, M. (2001). “GRASP: An annotated bibliography”. In: P. Hansen and C. Ribeiro (eds.): Essays and Surveys on Metaheuristics. Kluwer Academic Publishers. Hobbs, B. F. et al. (2001). The Next Generation of Electric Power Unit Commitment Models.

Kluwer Academic

Publishers. Huang, S.-J. and Huang, C.-L. (1997). “Application of genetic-based neural networks to thermal unit commitment”. IEEE Transactions on Power Systems 12, 654–660. Kazarlis, S., Bakirtzis, A. and Petridis, V. (1996). “A genetic algorithm solution to the unit commitment problem”. IEEE Transactions on Power Systems 11, 83–92. Lee, F. (1988). “Short term Unit Commitment - a new method”. IEEE Transactions on Power Systems 3, 421–428. Mantawy, A., Abdel-Magid, Y. L. and Selim, S. Z. (1998a). “A simulated annealing algorithm for unit commitment”. IEEE Transactions on Power Systems 13, 197–204. Mantawy, A., Abdel-Magid, Y. L. and Selim, S. Z. (1998b). “Unit commitment by tabu search”. IEE Proceedings Generation Transmission and Distribution 145, 56–65. Merlin, A. and Sandrin, P. (1983). “A New Method for Unit Commitment at Electricite de France”. IEEE Transactions on PAS 102, 1218–1225. Ouyang, Z. and Shahidehpour, S. (1992). “A multi-stage intelligent system for Unit Commitment”. IEEE Transactions on Power Systems 7, 639–646.

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.20

21 Reeves, C. R. (1995). Modern heuristiques techniques for combinatorial problems. McGraw Hill. Sasaki, H., Watanabe, M. and Yokoyama, R. (1992). “A solution method of Unit Commitment by artificial neural networks”. IEEE Transactions on Power Systems 7, 974–981. Sen, S. and Kothari, D. P. (1998). “Optimal thermal generating unit commitment: a review”. Electrical Power and Energy Systems 20, 443–451. Shebl´e, G. (1999). Computational Auction Mechanisms for Restructured Power Industry Operation. Kluwer Academic Publishers. Viana, A. and Sousa, J. P. (2000). “Using Metaheuristics in Multiobjective Resource Constrained Project Scheduling”. European Journal of Operational Research 120, 359–374. Wood, A. and Wollenberg, B. F. (1996). Power Generation Operation and Control. Wiley and Sons. Yin Wa Wong, S. (1998). “An enhanced simulated annealing approach to unit commitment”. Electrical Power and Energy Systems 20, 359–368. Zhuang, F. and Galiana, F. D. (1990). “Unit commitment by simulated annealing”. IEEE Transactions on Power Systems 5, 311–318.

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.21

22 Table 1. Data for the 10 generators problem Unit 1

Unit 2

Unit 3

Unit 4

Unit 5

Pmax (MW)

455

455

130

130

162

Pmin (MW)

150

150

20

20

25

a ($/h)

1000

970

700

680

450

b ($/MWh)

16.19

17.26

16.60

16.50

19.70

c ($/MW2 h)

0.00048

0.00031

0.002

0.00211

0.00398

min up (h)

8

8

5

5

6

min down (h)

8

8

5

5

6

hot start cost ($)

4500

5000

550

560

900

cold start cost ($)

9000

10000

1100

1120

1800

5

5

4

4

4

+8

+8

-5

-5

-6

Unit 6

Unit 7

Unit 8

Unit 9

Unit 10

Pmax (MW)

80

85

55

55

55

Pmin (MW)

20

25

10

10

10

a ($/h)

370

480

660

665

670

b ($/MWh)

22.26

27.74

25.92

27.27

27.79

c ($/MW2 h)

0.00712

0.00079

0.00413

0.00222

0.00173

min up (h)

3

3

1

1

1

min down (h)

3

3

1

1

1

hot start cost ($)

170

260

30

30

30

cold start cost ($)

340

520

60

60

60

cold start hours (h)

2

2

0

0

0

initial state (h)

-3

-3

-1

-1

-1

cold start hours (h) initial state (h)

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.22

23

Table 2. Load and reserve requirements Hour

Load (MW)

Reserve (MW)

Hour

Load (MW)

Reserve (MW)

1

700

70

13

1400

140

2

750

75

14

1300

130

3

850

85

15

1200

120

4

950

95

16

1050

105

5

1000

100

17

1000

100

6

1100

110

18

1100

110

7

1150

115

19

1200

120

8

1200

120

20

1400

140

9

1300

130

21

1300

130

10

1400

140

22

1100

110

11

1450

145

23

900

90

12

1500

150

24

800

80

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.23

24

Table 3. Computational results for GRASP Problem

αbetter

size

Production

CPU time

cost

(sec)

10

-

565 825

17

20

0.6

1 128 160

571

40

0.6

2 259 340

1 511

60

0.4

3 383 184

2 638

80

0.6

4 525 934

3 308

100

0.6

5 668 870

4 392

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.24

25

Table 4. Computational results for GRASP (with simplification tool) Problem

αbetter

size

Production

CPU time

cost

(sec)

20

0.8

1 126 805

171

40

0.8

2 255 416

906

80

0.8

4 524 207

863

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.25

26

Table 5. Computational results reported in (Kazarlis, Bakirtzis and Petridis, 1996) Production cost

Average

Problem size

DP

LH

GA

time (sec)

10

565 825

565 825

565 825

221

20

-

1 130 660

1 126 243

733

40

-

2 258 503

2 251 911

2697

60

-

3 394 066

3 376 625

5840

80

-

4 526 022

4 504 933

10 036

100

-

5 657 277

5 627 437

15 733

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.26

27

Table 6. GRASP vs LR-GA: relative error Problem size

Relative error(%) GRASP vs LR

GRASP vs GA

10

0.00

0.00

20

-0.342

0.049

40

-0.137

0.157

60

-0.322

0.194

80

- 0.040

0.428

100

0.205

0.736

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.27

28

RCL = {} Alpha = Alpha_Ini Build RCLCandidates

prod < load + reserve ?

No

Yes Build RCLNoCandidates

prodRCL = 0 Cost = GreedyFunction(RCLCandidates)

RCL = Achieve(RCLCandidates) RCLCandidates = RCLCandidates\RCL RandomChooseUnit(RCL) Update(Alpha)

No

prod < load + reserve ? Yes Yes

Alpha < 1 ? No

RCL = Achieve(RCLNoCandidates) RCLNoCandidates = RCLNoCandidates\RCL RandomChooseUnit(RCL) Update(Alpha)

prod < load + reserve ?

Yes

No

END

Figure 1. Flowchart for the MakeRCL procedure

Paper_kluwer_final.tex; 29/11/2002; 14:30; p.28