Power generator scheduling by dynamic programming

Power generator scheduling by dynamic programming

Power generator scheduling by dynamic programming J o h n Powell University o f South Dakota, Vermillion, SD 57069, U.S.A., John Gleason University of...

925KB Sizes 0 Downloads 64 Views

Power generator scheduling by dynamic programming J o h n Powell University o f South Dakota, Vermillion, SD 57069, U.S.A., John Gleason University of Nebraska at Omaha, Omaha, NE 68101, U.S.A. Jon Burton Drexel bniversity, PA 19104, U.S.A. Received ~5 February 1976 Dynamic programming is applied to the problem of determining an optimal short-run schedule for a series of power generating units to meet a time varying system load. Typical scheduling procedures include a priority ordering constraint which requires that units be committed to or removed from power production in a fixed order. A dynamic programming model which relaxes this constraint yields a large combinatorial problem whose state space depends on the numt,er of feasible combinations of generating units. Reduction of storage requirements is achieved through the implementation of data structure techniques. An example of the dynamic programming procedure with data from an actual system suggests significant cost reductions. A comparison with a case in the literature also results in significant savings. Perhaps more important, however, are the substantial energy savings, in light of the current emphasis on energT cor.servation. Daily scheduling of power generating units presents a unique production scheduling probem. Power produced in one time period cannot be placed in inventory to satisfy demand at a future time. Production must be scheduled in order to satisfy demand for the period in which the demand occurs. This property distinguishes the power scheduling problem from the general production problem in that production smoothing is not possible. The schedule developed, in addition to selecting the units to operate, must aiso specify the output level of each unit. This work was partially supported by the Institute for Applied Operations Research in Public Administration, Texas Tech. University, Lubbock, Texas 79409, U.S.A.

Although the demand for power is continuous, it is possible to discretize the scheduling process. In general, units cannot be brought up to the point of delivering usable power in less than an hour. Thus, given hourly forecasts of demand, it is possible to schedule resources for each hour on the assumption that demand remains constant throughout the hour. An advantage of using hourly time increments is that it enables uncoupling of a seemingly continuous problem into a seres of discrete problems. Thus, it is possible to discuss many of the characteristics of the problem by considering any one hour period. A schedule is sought which satisfies demand for each time period of the time horizon under consideration while at the same time minimizing total operating costs. The costs that are involved in the production of power can be separated into both fLxed and variable costs. Since the concern of this paper is with operation over the short-range, it is assumed that f'Lxed costs such as labor and capital investment are not subject to the operating level of the system; thus, they need not be considered in the analysis. On the other hand, even though the cost per unit of fuei is assumed to be constant (possibly different for each generating unit), total fuel cost is variable an~t is a function of the operating level of the system. Thus, the costs considered in this paper are production costs for each period plus start-up costs incurred when changing the status of a unit from off to on. Given these system characteristics and an hourly forecast of power demand, the production scheduling problem requires two tasks. The first task, frequently referred to as the unit commitraent problem, specifies, for each hour, the set of generating units to be operated. The objective is to choose a set of operating units for each hour such that total generation costs are minimized. System restrictions impose constraints on the unit commitment problem. Suppose the system consists of n generating units, each with lower bound on the power output Li and upper bound Ui. Let lk depote the set of operating units in hour k. If deinand in hour k is DI, and the spinning reserve requirement is Sk (where spL'ming reserve is power output available in excess of forecasted demand, for emergency usage), the set I k of operating units must have sufficient capacity to satisfy both requirements, that is, V; >~Dk + Sk. i~Ik

© North-Holland PublishingCompany European Journal of Operational Research 1 (1977) 154-160.

Similarly, the l k must not have e×cessive cal:acity, 154

J. lowell, J. Gleason, J. Burton / Power generator scheduling by dynamic programming

that is, Li ~ D k . The second task, ca~ed the economic dispatching problem, chooses, for each hour, the generation levels required for each unit in the operating set. The output level x i of each unit in the operating set Ik must be chosen to minimize total operating cost of all units in I k. These problems are discussed in more detail in Section 2. Various technioues have been applied to this scheduling problem, but in general they impose a priority ordering on the sequence in which units will be committed. Lowery [3] solves the single period unit commitment problem for any demand level using dynamic programming. Sasson [7] tests several nonlinear programming algorithms for solving the economic dispatching problem where nonlinear cost functions are included. Others have studied the complete production scheduling problem. Muckstadt and Wilson [4] propose an integer programming formulation, Joy [2] presents a dynamic programming approach, and Day [1] describes a linear programming method. The formulation herein extends the work of Joy by relaxing his priority ordering constraint width stipulates the sequence in which generating units are activated or deactivated in the unit commitment problem. Priority order is frequently based on increasing incremental cost. Units are committed to service in this order until the demand for a period is satisfied. When demand decreases, units are removed from service in the reverse order to that used for commitment. To demonstrate how the priority ordering restriction may lead to non-optimal solutions, consider two units, A and B, having start-up and operating costs of $600 and $5/megawatt hour, and $100 and $12/ megawatt hour, respectively. If the priority restriction forces unit A to be operating before unit B, an additional demand of 50 megawatts of power would cost $600 + $250 = $850 on unit A but would cost only $100 + $600 = $700 on unit B.

155

able for each generating unit. A cost function which describes costs as a function of power enables computation of fuel costs for each period. The derivative of the cost function yields the marginal cost. In the case of a quadratic cost function, the resulting marginal cost will be linear. If tile cost function is represented by a pieeewise linear function, then the derivative of a line segment will represent the marginal cost over a range of power levels. In addition to individual fuel costs, it is also necessary to have the start-up cost of each unit. This is a cost which must be incurred for any period in which a unit operates, given that it was not operating in the immedia,ely preceding period. This may be a time dependent variable; that is, the start-up cost may vary depending upon the length of time the unit has been off. The cost functions are monotonically nondecreasing and convex. Combining the conditions of separability and monotonicity of the cost functions, it can be seen that the model lends itself to a dynamic: programming formulation. These two conditions art sufficient to ensure that this N-stage optimization p:oblem can be solved by aynamic programming. A dynamic programming formulation of the model has been developed and is depic:ed in Fig. 1. This model does not assume a priority ordering of unit use; consequently, the state space must incorporate all feasible combinations of available units. Thus, to store all possible state variables for an n unit, N-stage problem together with the necessary information to enable tracing of the optimal solution, requires in the order of 3 N(2 n) words of storage (this requirement is developed in Section 3). From Fig. 1 we see that total N-stage return is a function of the states and decisions of the N stages. Thus R~v = R N ( X N , ..., X l, d,rv, ..., d l). However, when stage returns are additive the problem can be decomposed so that R ~ X N , ..., X l , dN, ..., d l ) = ~=I rn(Xn, dr.). Hence total N-stage return is the summation of the N individual stage returns.

"n

1. Dynamic programming formulation of the problem The dynamic programming algorithm discussed herein does not assume priority ordering. It does, however, assume the following information is avail-

,.c .

.

.

.

.

f(d~)

Fig. 1. Model formulation.

156

J. Powell, :I. Gleason, J. Burton / Power generator scheduling by dynam!c programming

If fN(XN) represents the optimal return for an N-stage problem with additive returns, then f l ~ X N ) = optimumdlv..... dl {rN(X~, dN) + r N - I ( X N - t , d ^ ' - t ) + ... + r l ( X l , d l ) ). But f N - t ( X N - t ) = optimumaN_l ..... dl {rN-1(XN-1 , d N - l ) + ... + rt(Xl, dl)}, hence f~(XN) = optimumd/v {rN(Xjv, dN) + f N - I(XN-1)} subject to XN_ l = tN(XN, dlv). Thus the original N-stage problem has been simplified into two smaller optimization problems: (a) f N _ I ( X N _ I ) =optimUmdN_ t .....dt {rN_ I(XN_ I, dN_ I) + ... + r l(X I, d l)} subject to Xn_ 1 = tn(Xn, dn) , n = 1 , . . . , N - 1 , which is an (N - 1)-stage optimization, and (b) f~r(XN) = op'~imumdN {rN(XN, dN)+ fN_t(XN_I)} subject to X N - 1 = tN(XN, dN), which is a one-stage optimization. This procedure can be repeated until the original N-stage optimization problem is decomposed into N one-stage optimization problems of the form f t(Xl) = optimumd! rl(Xl, d l) and fn(Xn) = optimUmdn {rn(Xn, dn) + f n - t ( X n - ])} subject to X n - t = tn(Xn, dn), for n = 2, ..., N. It is now possible to state the solution procedure for the N-stage optimization problem. As generally presented, the dynamic programming computation starts at the final stage and works backward toward the initial stage. (This procedure has the property of feedback control which means that the optimal con. trol policy is a function of both state and stage, not just a function of stage.) The optimal policy for each state of the last stage is determined. Then, using the recursive relationships defined in the previous paragraph, the solution procedure moves backward stage by stage. At each stage the optimal policy is found for each state of that stage and the process continues until the optimal policy is determined when starting at the initial stage. Several items displayed in Fig. 1 deserve special mention. First, it should be noted that the number of a stage refers to the number of stages that remain to be evaluated. Second, state space, which is represented by the vector (cij), contains all the feasible combinations of units available for scheduling at stage ]. Determination of the feasibility of a combination is based upon satisfaction of the following two conditions: (i) for a given demand level, the sum of the upper bounds on capacity must be greater than or equal to demand plus spinning reserve whUe (ii) the sum of the lower capacity bounds must be less than or equal to demand. Once the feasibility of a combination is aster-

tained, it is necessary to determine the operating level of each unit so that production costs are minimized. This subproblem mu.st be solved for each feasible eombh~ation prior to the use of the dynaraic programming algorithm. The technique employed to solve the subproblem is discussed in the next section.

2. Subproblem solution Assume that there are n units to be furnishing power, where the level of output is denoted by xi for i = 1, 2, ..., n. Let the cost function for unit i be quadratic which results in a linear marginal cost. We require that output for the b th unit must lie in the interval Li <~xi <~ Ui where Li and Ui are, respectively, the lower and upper bound capacity constraints. If D~ represents the demand for the k-th stage then we require ~i=l n xi = Dk. We seek the operating levels such that the sum of the costs will be minimized. Srikantan [8] has developed, and Sanathanan [6] has generalized an iterative process for obtaining optimum allocation for the problem of rainimizing the (loss) function when: (i) the (loss)function is convex and additive, (ii) the resource function is linear, and (iii) the resources themselves are subject to ceilings and/or floors. Replacing loss functions by cost functions and noting that the coefficients of the individual cost functions are nonnegative, it is seen that the subproblem defined above is precis;ely of this form. A key factor in the iterative process fox obtaining optimum allocation is the following lemma from Sanathanan. Let x ° denote the optimal xi value for the separable problem stated above. Then there exists a number ~o such that x ° L i if and only ify~{Li)>1 k o and x ° = Ui if and only ifyi(Ui) <~~o. Also, if x ° is not equal to L i or U i, then yi(x°) = ~o. Basically this lemma states that for a fixed value of ~o, if the marginal cost of operating the i.th unit at its lower bound is greater than or equal to ~,o, the unit should be operated at its lower bound. Conversely, if the marginal cost of operating the t-th unit at its upper bound is less than or equal to ~'o, the unit should be operated at its upper bound. If the unit cannot be set at either of its bounds~ then it should be set at a level such that its marginal cost is equal to ~o. The iterative nature of the procedure derives from the fact that for a specified value of ~o and the eorre=

J. PoweU,J. Gleason, J. Burton / Power generator scheduling by dynamic programming

157

sponding setting for each x i, the constraint requiting that the sum of the allocations equals demand may not be satisfied. All units not operating at one of their boundaries will be adjusted so as to operate at a common marginal cost. This follows the economic principle that minium cost will occur when the marginal costs are equal. The iterative process is initiated by evaluating the lower bound and upper bound marginal costs for each unit to be scheduled. There are 2n marginal costs thus realized which are sorted into descending order of magnitude, say Xl, A2, ..., X2n. Initializing the variable k = n, ?~o is set at ~k. With this value of ?~othe values of x ° are determined and if 2;n=l x° = D , the subproblem is solved. If 2~n=lx° < D, a higher marginal cost is tested, ergo, k = k - 1 and ~0 = ;~k- Conversely, if ~2n=l x ° > D , a lower marginal cost is utilized by setting k = k + 1 and ~,o =~k. Once the demand is bounded by evaluations made at two consecutive marginal costs, a set of simultaneous equations is solved to assign the levels of those units not operating at either their lower bound or their upper bound. The solution of this system of equations results in all of the variable adjusted units being assigned an output yielding a aommon marginal cost. Having ascertained the levels x i it is now possible to calculate the fuel costs for this stage using this particular combination of units. The dynamic programming algorithm is then invoked to trace the optimal path which is the one resulting in mL..mum total cost. Referring to Fig. 1, with one stage to go, d~ is the optimal decision or combination, and it has an associated cost f(dl). With two stages to go the combination, that is, decision d2, is sought so that the cost incurred from stages two and one, given that the system is operated optimally in stage one, is optimal. This again requires the solution of many subproblems by means of the algorithm described above. Working backward through the stages, eventually the first stage is reached. At this point the status of the system is known, that is, the initial conditions are known regarding the status of all units. (In Fig. 1 this is depicted by I.C. for the state variables at the beginning of the process.) It is now possible to determine the optimal policy.

then the status of each unit can be represented by a zero-one variable, where zero indicates the unit is off while one indicates that it is on. It can be seen then that state space is comprised of 2 n vectors with n zero-one variables each. However, storage need only be allocated to those states that are feasible, along with the relevant information concerning the optimal path to pursue given a feasible state and appropriate values of the return function. Data structure techniques provide a viable alternate form of data storage over the normal matrix methods of storing tabular data. The severity of the "curse of dimensionality" of discrete dynamic programming can be significantly reduced by incorporating data structure techniques within the solution algorithm. Underlying the techniques is the concept of a node which is considered to be the basic unit of information desired. A node can be comprised of one or more words of computer storate. The structure of a typical node is displayed in Fig. 2. There are two distinct advantages associated with the node type structure employed in the algorithm. First, only information relative to feasible states is ever stored in computer memory. (It is, in fact, stored in a linear list.) Second, true dynamic storage allocation has been implemented based on the concept of nodes, in this context, storage (in terms of nodes) is returned to an available master pool of storage so that the same nodes may be used repeatedly. Incorporation of this feature has resulted in dramatic reductions in storage requirements for the problems considered. Dynamic storage allocation is achieved as follows. Consider that the dynamic programming algorithm is

Word

Information

Address

1

Combination operating this period

MASTER(K)

2

Link to node next stage

MASTER~K + 1)

3

Production costs this stage

MASTER~K + 2)

4

Total cost from here to the end of the horizon

MASTER(K + 3)

3. Data structure techniques

5

Link to the next node in this stage

MASTER(K + 4)

Assume there are n units available for assignment. If the levels of output for the units are neglected,

Fig. 2. Structure of a node. Note 1: " K " is the p o i n t e r to this node. Note 2: " M A S T E R " is a one-d~mensional vector.

I, ~

158 Stafle k

,L ~ ,

J, B ~ n

/ Powergenerator scheduling by dynamic programming

Staae k-I

Staqe k - I

N

l,

1

-C?

rl --*

,p

(a) Befor~ Return MASTER Sta~e k-1

__~,

NEXT

NEXT

°- -

_1_ Fig. 3. Returnable nodes. Note: The nodes indicated by a n asterisk (*) in stage k - 1 are not linked to stage k. Hence, they can be returned to the available storage pool.

(b) A f t e r Return

Fig. 4. Return of a node to the pool. Note 1: Asterisk (*) inaicates node to be returned. Note 2: - ~ indicates breaking of a link. Note 3 : - - - + indicates revised linkage.

currently at some intermediate stage, say k, as depicted in Fig. 3. A node has been generated for each feasible state at this stage. One information field of a node is the link to a node in the next stage (that is, stage k - 1). It is now possible to ascertain those nodes in stage k - 1 which are not linked to any nodes m stage k. All of these non-referenced nodes are no longer needed since there will be no possible paths to them. Hence, these nodes can be returned to the available storage pool for reuse at a later time. The return of a node is shown in Fig. 4.

Given that a node in stage k - 1 can be returned to the storage pool, there is a good chance that the node it linked to in stage k - 2 is no longer needed• Thus it can be seen that the technique can be applied through succeeding stages in order to return the maximum amount of storage to the pool.

Table 1 Generator performance data Generator

Input-output curves

Low (MWH)

High (MWH)

Start-up ($)

Generator 1 Generator 2 Generator 3 Generator 4 Generator 5 Generator 6

14.6770 + 9.6039X + 0.3041X 2 26.1551 + 9.8392X + 0.1114X 2 41.3219 + 6.9514X + 0.2636X 2 42.0810 + 0.4318X + 1.3473X2 45.5859 + 5.1646X + 0.2771X 2 72.1710 + 7.7910X + 0,1910X 2

3.2 7.0 9.0 3.0 7.0 9.5

9.0 19.0 20.0 6.2 20.0

2.6725 5.4700 6.4700 3.3900

10.0

6.0975 ~.2500

J. Powell, J. Gleason, J. Burton / Power generator scheduling by dynamic programming 4. Cost comparison examples

159

i n d e p e n d e n t l y o f the larger system; consequently, it can be e x a m i n e d as an individual small system. The system includes six generators. The i n p u t - o u t p u t curves for the generators are quadratic functions Y =

The system e x a m i n e d herein is a segment o f a larger system. However, the segment operates

Table 2

Actual and algorithm generated schedules Period

Demand

Actual

Algorithm

Period

Demand

Actual

Algorithm

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

18 16 16 16 17 16 15 15 29 46 48 57 68 74 79 76 73 75 73 69 54 45 37 22 16 17 16 16 16 16 16 16 20 39 64 72 74 72 72 73 70 72 71 72 70 65 48 33

010010 010010 010010 010010 010010 010010 010010 010010 011010 111011 111011 II1011 111011 111011 II1011 111011 111011 111011 111011 111011 011010 011010 011010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 111011 111011 111011 111011 111011 111011 111011 111011 111011 111011 111011 111011 011011 011010 011010

000010 000010 000010 000010 000010 000010 000010 000010 010010 011010 011010 111010 111110 111110 II1111 111111 111110 111111 111110 111110 111010 011010 010010 010010 000010 000010 000010 000010 000010 000010 000010 000010 100010 110010 111010 111110 111110 111110 111110 111110 111110 ~11110 111110 111110 111110 lllOiO 011010 010010

49 50 51 52 53 54 55 56 47 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

26 24 23 24 24 25 24 36 55 67 70 72 73 71 72 71 72 71 70 71 73 67 61 53 43 24 24 24 24 24 26 28 26 27 27 29 30 29 29 27 28 29 38 45 45 43 32 22

011010 011010 011010 011010 011010 011010 011010 011010 011011 111011 111011 111011 111011 111011 111011 111011 111011 111011 111011 111011 111011 111011 011011 011010 011010 011010 011010 011010 011010 011010 011010 011010 011010 011010 011010 011010 011010 011010 011010 OllOlO 011010 011010 011010 011010 011010 011010 011010 011010

010010 010010 010010 010010 010010 010010 010010 010010 111010 111110 111110 111110 111110 111110 1111|0 111110 111110 lllllO 111110 111110 lllllO 111110 111010 111010 011010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 010010 01101C 011010 011010 011010 010010 010010

160

.t. Powell, J. Gleason, J. Burton / Power generator scheduling by dynamic programming

a + b X + c X 2, where Y is in million BTU's and X is in

megawatt hours. The curves for the individual generators appear in Table 1. Since natural gas costs 0.454397/million BTU, the input-output curves can be converted to cost curves by multiplying Y by 0.454397. Note that cost is a function of output. (Generally, cost curves for different levels of output for the individual generators are available. In these cases, multiplication of Y by the cost factor is unnecessary.) The incremental heat rate curves are IHR= d Y / d X = b + 2cX. The operating ranges and start-up costs for the generators appear in Table 1. In this system, there is no spinning reserve. However, all the generators are "warm" at all times. That is, three-quarters of the start-up cost that would be incurred if the general:ors were off is never incurred. Consequently, start-up costs shown in Table 1 are only approximately one quarter of the "cold" start-up costs. The demand data for the 96 hour period from 1.00 a.m., Wednesday, May 15, 1974 through 1.00 aan., Sunday, May 19, 1974 appears in Table 2. The actual and algorithm generated schedules for the 96 hour period also appear in Table 2. The actual sequencing yields operating costs of $26,064.10 and start-up costs of $24.71, for a total cost of $26,088.81. The algorithm generated schedule yields operating costs of $25,333.81 and start-up costs of $59.51, for a total cost of $25,393.32. Thus, use of the algorithm to develop the schedule for the 96 hour period yields savings of $695.49. Projecting these savings over a one-year period suggests yearly savings in excess of $63,000, or, in excess of $10,000 per generator. The dynamic programming procedure may also be evaluated from an energy conservation point of view. In this example, the dynamic programming schedule results in savings of over 1,500,000 cubic feet of naturtfl gas during the 96 hour period. From the point of view of the consumer, the savings in natural gas in 96 hc,urs is enough to supply the natural gas needs of 10 housholds for one year. The natural gas savings are developed as follows: Natural gas costs 0.454397/ million BTU, which is equi~salent to 2.2 million BTU/ dollar. Costs of the two sL;hedules are converted to BTU's using this factor, yielding BTU savings of approximately 1,530,000 BTU. Finally, using a con-

version factor of 1,000 B(U/cubic foot of gas, the natural gas savings are approximately 1,530,000 cubic feet of natural gas. Another example of the savings implicit in the use of the suggested algorithm is evident in a comparison of this procedure with the dynamic programming approach of Joy [2]. Joy considers a six-generator system over 84 two-hour periods (one week). Joy's approach, which combines dynamic programming and unit commitment according to priority ordering, results in a total cost of $387,289.26; the approach suggested herein, which relaxes the priority ordering restriction, results hi a total cost of $382,053.04. Thus savings of $5,236.22 are apparent in a one week period. Details of the comparison may be seen in [5]. It "s apparent that the use of dynamic programming in power generator scheduling provides the potential for significant cost reduction. The cost reduction potential is overshadowed, however, by the substantial savings in resources of energy used as fuel for the generators. The importance of the energy savings cannot be overemphasized in light of current energy conservation efforts.

References [1] J.T. Day, Forecasting minimum production costs with linear programming, IEEE Trans. Power Appar. Syst. 90 (1971). [2] D.S. Joy, A aynamic programming solution of the electric generating system unit commitment problem, Oak Ridge National Laboratory (AprL', 1970). [31 P.G. Lowery, Generating unit commitment by dynamic programming, IEEE Trans. Power Appar. Syst. 85 (1966) 422-426. [41 J.A. Muckstadt and R.C. Wilson, An application of mixed-integer programmingduality to scheduling thermal generating systems, IEEE Trans. Power Appar. Syst. 87 (1968) 1968-1978. [5] J.E. PoweR, A dynamic programming approach to the daily scheduling of power generatingunits, Doctoral Dissertation, Indiana University, Bloomington (1972). [6] L. Sanathanan, On an allocation problem with multistage c3nstraints, Operations Res. 19 (197 D 1647-1663. [71 A.M. Sasson, Nonlinear progra~ramingsolutions for |oadl~ow, minimum-loss,and economic d~spatchingproblems, [EEE Trans. Power Appar. Syst. 88 (1969) 399-409, [8] K.S. Srikantan, A problem in optimum allocation, Opera'dons Res. 11 (1963) 265-273.