Sei sulla pagina 1di 28

EDC 1

1.0 Introduction

Economic dispatch is the process of


allocating the required load demand between
the available generation units such that the
cost of operation is at a minimum. The
process of solving such a problem is referred
to as optimization. Optimization problems
are found in all engineering fields.

You have seen 1-dimensional optimization


problems in calculus, when you found the
minimum or maximum of a function.
Generally, however, optimization problems
are multivariable.

An additional feature to general


optimization problems is that they may be
constrained. That is, we must find the
minimum or maximum to a function subject
to some kind of constraints on the variables

1
of interest. Each constraint may be either an
equality or an inequality.

A last very important feature of optimization


problems is whether they are linear or
nonlinear.

We will see that the EDC problem is a non-


linear, multivariable, constrained
optimization problem.

2.0 Optimization basics

Optimization is a decision-making tool. In


light of this, we provide 2 basic definitions.

The decision variables are the variables in


the problem, which, once known, determine
the decision to be made.

2
The objective function is the function to be
minimized or maximized. It is also
sometimes known as the cost function.

The constraints are equality or inequality


relations in terms of the decision variables
which impose limitations or restrictions on
what the solution may be, i.e., they
constrain the solution.

Inequality constraints may be either non-


binding or binding. A non-binding
inequality constraint is one that does not
influence the solution. A binding inequality
constraint does restrict the solution, i.e., the
objective function becomes better (greater
if the problem is maximization or lesser if
the problem is minimization) if a binding
constraint is removed.

Optimization problems are often called


programs or programming problems. Such
terminology is not to be confused with use

3
of the same terminology for a piece of
source code (a program) or what you do
when you write source code (programming).
Use of the terminology here refers to an
analytical statement of a decision problem.
In fact, optimization problems are often
referred to as mathematical programs and
their solution procedures as mathematical
programming. Such use of this terminology
is indicated when one uses the term linear
programming (LP), nonlinear programming
(NLP), or integer programming (IP).

The general form of a nonlinear


programming problem to find vector x is:
Min f (x)
subject to: (1)
h (x) = c
g (x) b

Here, f, g, and h are given functions of the n


decision variables x.

4
The LaGrangian function of (1) is:
F (x, , ) f (x ) [h(x )c] [g (x )b]
T T
(2)
where individual elements of =(1 ,2 , J )
and =(1 , 2 , ) are called LaGrange
K

multipliers. It is assumed that f, h, and g are


continuous and differentiable.

The first-order necessary conditions for an


optimal solution are:

h j ( x) = c j j = 1,, J (3)
g k ( x) bk k = 1, , K (4)
F
=0 i = 1,, n (5)
xi
k [ gk ( x) bk ] = 0 k = 1, , K (6)
k 0 k = 1, , K (7)
Equations (5)-(7) are known as the Karush
Kuhn-Tucker (KKT) conditions or, more
simply, as the Kuhn-Tucker (KT)
conditions.

5
Equation (6) is called the complementary
slackness condition. This condition is
important to understand. It says that if x
occurs on the boundary of the kth inequality
constraint, then gk(x) = bk. In this case eq.
(6) allows k to be >0. On the other hand, if
the solution x does not occur on the
boundary of the kth inequality constraint,
then (assuming x is an attainable point) gk(x)
- bk > 0, in this case, eq. (6) requires that k
= 0 and the kth constraint makes no
contribution to the LaGrangian.

It is important to understand the significance


of and . The optimal values of the
LaGrangian Multipliers are in fact the rates
of change of the optimum attainable
objective value f(x) with respect to changes
in the right-hand-side elements of the
constraints. Economists know these
variables as shadow prices or marginal
values.

6
3.0 EDC Problem Formulation

Each plant i has a cost-rate curve that gives


the cost Ci in $/hour as a function of its
generation level PGi (the 3 phase power). So
we denote the cost-rate functions as Ci(PGi).
These functions are normally assumed to be
quadratic. For example, two such functions
are
C1 ( PG1 ) = 900 + 45 PG1 + 0.01PG21 (8)
C2 ( PG 2 ) = 2500 + 43 PG 2 + 0.003 PG22 (9)
If we have m generating units, then the total
system cost will be given by
m
CT = Ci ( PGi )
i =1
(10)
Equation (10) represents our objective
function, and we desire to minimize it. The
generation values PGi are the decision
variables.

There are two basic kinds of constraints for


our problem.

7
1.Power balance
2.Generation limits

3.1 Power balance constraint


In regards to power balance, it must be the
case that the total generation equals the total
demand PD plus the total losses PL.
m

P
i =1
Gi = PD + PL
(11a)
The demand PD is assumed to be a fixed
value. However, the losses PL depend on the
solution (given by PGi) which we do not
know until we solve the problem. This
dependency is due to the fact that the losses
depend on the flows in the circuits, and the
flows in the circuits depend on the
generation dispatch. Therefore we represent
this dependency according to eq. (11b).
m

P = PD + PL ( PG1 , PG 2 ,, PGm )
i =1
Gi (11b)
Note that only m-1 of the PGi are
independent variables. Given demand and

8
losses, one of the generation values is
determined once the other m-1 are set. In the
power flow problem, this generator is
referred to as the swing or slack bus. We
will assume this generator is unit 1.

Therefore we need to remove PG1 from the


arguments of PL so that eq. (11b) becomes
m

P = PD + PL ( PG 2 ,, PGm )
i =1
Gi (11c)
We rearrange eq. (11c) so that all terms
dependent on the decision variables are on
the left-hand-side, according to:
m

P PL ( PG 2 ,, PGm ) = PD
i =1
Gi (11d)

3.2 Generation limits


There are physical constraints on the
generation levels. The generators cannot
exceed their maximum capabilities,
max
represented by PGi . And clearly, they
cannot operate below 0 (otherwise they are

9
operating as a motor, attempting to drive the
turbine not a good operational state!).
Most units actually cannot operate at 0; as a
min
P
result, we will denote the minimum as Gi .
Therefore, the generation limits are
represented by
PGimin PGi PGimax (12)

3.3 Problem statement

This leads us to the statement of the


problem, which is, from eqs. (10), (11d), and
(12), as follows.
m

Min CT = i =1
Ci ( PGi )

Subject to
m

P Gi PL ( PG 2 ,, PGm ) = PD
i =1
min
P Gi PGi PGimax i = 1,..., m

10
4.0 Application of KKT conditions

Recall the KKT conditions as given by eqs.


(5)-(7). Lets apply these conditions to the
problem statement of section 3.3. The
LaGrangian function is
m
m
F = Ci ( PGi ) PGi PL ( PG 2 ,, PGm ) PD
i =1 i =1
m m
i( PGimax PGi ) i( PGi PGimin )
i =1 i =1

The first-order necessary conditions for


optimality are
m

P Gi PL ( PG 2 ,, PGm ) = PD (11)
i =1
P PGi PGimax
min
Gi i = 1,, m (12)
F dCi ( PGi ) PL
= 1 + i i = 0
PGi dPGi PGi
i = 1,, m (13)

11
i( PGimax PGi ) = 0 i = 1,, m (14)
i( PGi PGimin ) = 0 i = 1,, m (15)
i 0 i = 1,, m (16)
i 0 i = 1,, m (17)

We consider three cases:

Case 1: PGimin < PGi < PGimax


From (14) and (15)
i = i = 0
Therefore (13) becomes
dCi ( PGi ) PL
= 1 (13a)
dPGi PGi

Case 2: PGi = PGimin


From (14)
i = 0
Therefore (13) becomes
F dCi ( PGi ) PL
= 1 i = 0
PGi dPGi PGi
which in view of (17) can be written as

12
dCi ( PGi ) PL
1 (13b)
dPGi PGi

Case 3: PGi = PGimax


From (15)
i = 0
Therefore (13) becomes
F dCi ( PGi ) PL
= 1 + i = 0
PGi dPGi PGi
which in view of (16) can be written as
dCi ( PGi ) PL
1 (13c)
dPGi PGi

Cases 1, 2, & 3 allow the necessary


conditions to be rewritten as
m

P Gi PL ( PG 2 ,, PGm ) = PD (11)
i =1
P PGi PGimax
min
Gi i = 1,, m (12)
dCi ( PGi ) PL min max
= 1 for P Gi < PGi < PGi
dPGi PGi

13
- (13a)
dCi ( PGi ) PL min
1 for PGi = PGi (13b)
dPGi PGi

dCi ( PGi ) P
1 L for PGi = PGimax (13c)
dPGi PGi

So to solve the ED problem, we can do the


following:
Solve the problem without any inequality

constraint
Check solution against inequality
constraints. For those that are violated,
bring them in as equality constraints and
re-solve the problem. Repeat this step until
you obtain a solution for which no
inequality constraints are violated and the
KKT conditions given by (13a)-(13c) are
satisfied.

This is an iterative solution procedure.

14
dC i
The term dPGi
is called the incremental cost
of unit i and is denoted by ICi.

Lets consider eq. (13a) more closely. In


particular, lets solve it for .
1 dCi ( PGi )
=
PL ( PG 2 ,, PGm ) dPGi (18)
1 PGi

Define the fraction out front as Li, that is
1
Li =
PL ( PG 2 ,, PGm ) (19)
1 P
Gi
We call Li the penalty factor for the ith unit.
Note that L1=1. Substituting eq. (19) into
(18) results in
dCi ( PGi )
= Li (20)
dPGi
What eq. (20) says is that, at the optimum
dispatch, for each unit not at a binding limit,
the product of the penalty factor and the
incremental cost of unit is the same and is
equal to .

15
Example:
Consider the cost-rate functions:
C1 ( PG1 ) = 900 + 45 PG1 + 0.01PG21 (8)
C1 ( PG 2 ) = 2500 + 43 PG 2 + 0.003 PG22 (9)
The load is specified as PD=600 MW.
Generator limits are given as
50 MW PG1 200MW
50MW PG 2 600MW
In this example, we assume that there are no
losses. This means that all penalty factors
are 1.0. Assuming there are no binding
inequality constraints, eq. (20) is
dC1 ( PG1 ) dC 2 ( PG 2 )
= =
dPG1 dPG 2
Writing out these equations, we have:
= 45 + 0.02 PG1
= 43 + 0.006 PG 2
We also have our equality constraint eq. (11)
PG1 + PG 2 = 600

16
We can solve these equations in matrix
representation, as a set of linear equations,
as given below.
0.02 0 1 PG1 45
0 0.006 1 P = 43
G 2
1 1 0 600
Solution to this equation yields:
PG1 61.5385
P = 538.4615
G 2
46.2308
Checking the inequality limits, we see that
we have found the solution.

Lets explore another solution method. The


previous one is fine, but it requires that all
IC equations be linear. This may not always
be the case, e.g., when the cost-rate
functions are cubic. The method is known as
Lambda-iteration and is best understood via
Fig. 1 which shows incremental cost curves
IC1, IC2, given by

17
IC1 = 45 + 0.02 PG1
IC 2 = 43 + 0.006 PG 2
The incremental cost curves are just the
derivatives of the cost-rate curves. They
express the derivatives under any condition,
not necessarily at the optimum. The
expressions derived for under the KKT
conditions specify a certain relation among
the incremental cost curves.

49

48
IC1=45+0.02Pg1

47
$/MWhr

46

45 IC2=43+0.006Pg2

44

43
0 100 200 300 400 500 600
MW

Fig. 1

18
The lambda iteration method begins with a
guess in regards to a value of which
satisfies equations (11)-(13).

The lambda iteration may be performed


graphically. Lets guess that =46. To
determine what the corresponding
generation levels are at the optimum, draw a
horizontal line across our IC curves, as
shown by the dark horizontal line in Fig. 2.
49

48
IC1=45+0.02Pg1

47
$/MWhr

46

45 IC2=43+0.006Pg2

44

43
0 100 200 300 400 500 600
MW

Fig. 2

19
The corresponding generation values are the
dark vertical dashed lines, so we can see that
PG1=50 and PG2=500, for a total generation
of 550 MW. This is less than the desired 600
MW so lets increase our guess. Lets try
about 46.4, as shown in Fig. 3.
49

48
IC1=45+0.02Pg1

47
$/MWhr

46

45 IC2=43+0.006Pg2

44

43
0 100 200 300 400 500 600
MW

Fig. 3
The corresponding generation levels are
about PG1=70 MW and PG2=567 MW, for a
total of 637 MW, and so this is a little too
high. Lets try =46.2 as shown in Fig. 4.

20
49

48
IC1=45+0.02Pg1

47
$/MWhr

46

45 IC2=43+0.006Pg2

44

43
0 100 200 300 400 500 600
MW

Fig. 4
The corresponding generation levels are
about PG1=60 MW and PG2=533 MW for a
total of 593 MW, so this is just a small bit
too low. It is probably not possible to do
better than this unless we use a more
granular axis in our plots.

This method can be stated analytically as


well. Notice what we are doing: we choose
and then obtain the generation levels from
the plots.

21
Well, the plots are really analytical relations
between and the generation levels, and we
can easily manipulate them so that they give
the generation levels as a function of , as
shown below.
0.02 PG1 = 45 PG1 = ( 45) / 0.02
0.006 PG 2 = 43 PG 2 = ( 43) / 0.006
Now we can proceed analytically.

As before, guess 46 and calculate:


PG1 = (46 45) / 0.02 = 50.0000
PG 2 = (46 43) / 0.006 = 500 .0000
Total is 550 MW which is too low so lets
try 46.4 (we could try anything we like, as
long as it is higher, since the generation is
too low in our first guess):
PG1 = (46.4 45) / 0.02 = 70.0000
PG 2 = (46.4 43) / 0.006 = 566 .6667
Total is 636.6667, so now we need to try a
lower . But lets use linear interpolation to
guide our next value of :

22
46.4 46 46
= = 46.2308
636.6667 550.0000 600 550.0000
Because our equations for PG1 and PG2 are
linear with , the linear interpolation will
provide an exact answer. We can check to
see:
PG1 = (46.2308 45) / 0.02 = 61.5385
PG 2 = (46.2308 43) / 0.006 = 538 .4615
And the sum is 600.0000 MW as desired.

This method will also work when the IC


curves are nonlinear. For nonlinear IC
relations, however, linear interpolation will
not find the solution in one shot, and so it is
necessary to iterate. For every iteration, one
may employ a stopping criterion by
checking to see whether the total generation
is within some tolerance of the load (see Fig.
5).

23
Fig. 5

Example (extended):

Now lets reconsider our example, but with


a load of 700 MW instead of 600 MW.
Using our graphical method again, and with
the knowledge gained from our previous
example, we know that will exceed 46.4.
But it cannot go too much higher without
causing unit 2 to exceed its upper limit.
24
Lets try it at the value of that causes unit
2 to be at its upper limit. This is shown in
Fig. 6.
49

48
IC1=45+0.02Pg1

47
$/MWhr

46

45 IC2=43+0.006Pg2

44

43
0 100 200 300 400 500 600
MW

Fig. 6
It appears that is 46.6, and PG1 = 80MW,
PG2 = 600 MW, for a total of 680 MW. So
this is not enough, and we must therefore
raise . However, we cannot raise on unit 2
because it is already at its upper limit. So we
have to clamp PG2 at 600 MW. In other
words, we will no longer use PG2 in our -
iteration, although we will need to account
for its generation of 600 MW.

25
So we will perform -iteration on only the
remaining units. In this case, the remaining
units is just unit 1. In addition, our stopping
criterion will now be that the total
generation of the remaining units be equal to
PD-PG2=700-600=100 MW.

The conclusion of this is that we need to


perform -iteration on unit 1s ability to
supply 100 MW. The horizontal solid-dark
line of Fig. 7 illustrates.
49

48
IC1=45+0.02Pg1

47
$/MWhr

46

45 IC2=43+0.006Pg2

44

43
0 100 200 300 400 500 600
MW

Fig. 7

26
Observe, however that there are now two
horizontal lines,
the solid one for unit 1 at 47 $/MWh;

the dashed one for unit 2 at 46.6 $/MWh

So which one is ?

is the SYSTEM incremental cost and


indicates the cost of supplying another MW
for the next hour. If we had to supply
another MW for the next hour, we would
have no choice but to do it with unit 1.
Therefore =47.

Then what is 46.6? It is the incremental cost


of unit 2 (but not the system incremental
cost). The unit incremental cost is normally
understood as the cost for the unit to supply
another MW for one hour. It can
equivalently be understood as the savings if
the unit was off-loaded by 1 MW for one
hour, and in this case, that is a better
interpretation since the unit cannot supply
more power.

27
References:

[1] A.R. Bergen and V. Vittal: Power


System Analysis 2nd Edition (Prentice-Hall,
2000).

[2] A.J. Wood and B.F. Wollenberg: Power


Generation, Operation, and Control 2nd
Edition (Wiley, 1996).

[3] J.D. Glover, M.S. Sarma, and T.J.


Overbye: Power System Analysis and
Design 4th Edition (Thomson, 2007).

28

Potrebbero piacerti anche