You are on page 1of 31

20-Mar-24

UNIT COMMITMENT
D R . N AE E M I Q B AL

CHAPTER 4 UNIT COMMITMENT

Introduction
Economic Dispatch versus Unit Commitment
Constraints in Unit Commitment
Spinning Reserve
Thermal Unit Constraints
Other Constraints
Unit Commitment Solution Methods
Priority-List Methods
Lagrange Relaxation Solution
Mixed Integer Linear Programming
Security-Constrained Unit Commitment (SCUC)
Daily Auctions Using a Unit Commitment
APPENDIX 4A Dual Optimization on a Nonconvex Problem
APPENDIX 4B Dynamic-Programming Solution to Unit Commitment
4B.1 Introduction
4B.2 Forward DP Approach
PROBLEMS

March 20, 2024 Unit Commitment 2

1
20-Mar-24

ECONOMIC DISPATCH VERSUS UNIT


COMMITMENT CONTENTS
Given that there are a number of subsets of the complete set of
Ngen generating units that would satisfy the expected demand,
which of these subsets should be used in order to provide the
minimum operating cost?

The problem is more difficult to solve mathematically since it


involves integer variables. That is, generating units must be either all
on or all off.

March 20, 2024 Unit Commitment 3

Example 4A: Suppose one had the three units given here:

with fuel costs:

If we are to supply a load of 550 MW, what unit or combination of units


should be used to supply this load most economically?

March 20, 2024 Unit Commitment 4

2
20-Mar-24

Unit Combinations to supply 550 MW

March 20, 2024 Unit Commitment 5

March 20, 2024 Unit Commitment 6

3
20-Mar-24

CONSTRAINTS IN UNIT COMMITMENT

Spinning reserve: enough generation operated below


generator limit to allow generators to rapidly make up loss of
one or more generators
Thermal Generator constraints:
Minimum up time
Minimum down time
Crew constraints

Start up cost: the energy needed to bring a large steam


generator on line
•Hydro Constraints
•Generator “Must Run” constraints
•Fuel Constraints

March 20, 2024 Unit Commitment 7

March 20, 2024 Unit Commitment 8

4
20-Mar-24

Allocation of the capacity


of a generating unit that
participates in all three
levels of frequency control

March 20, 2024 Unit Commitment 9

SPINNING RESERVE

the spinning reserve is the unused capacity which can be activated on


decision of the system operator and which is provided by devices which
are synchronized to the network and able to affect the active power.

March 20, 2024 Unit Commitment 10

5
20-Mar-24

March 20, 2024 Unit Commitment 11

Calculation of spinning reserve requirements in different


systems

March 20, 2024 Unit Commitment 12

6
20-Mar-24

Example 4C: Suppose a power system


consisted of two isolated regions: a
western region and an eastern region.
Five units, as shown in Figure, have
been committed to supply 3090 MW.
The two regions are separated by
transmission tie lines that can together
transfer a maximum of 550 MW in
either direction. This is also shown in If unit 4 were to be lost and
Figure. What can we say about the unit 5 were to be run to its
allocation of spinning reserve in this maximum of 600 MW, the
system? eastern region would still
need 590 MW to cover the
load in that region.

March 20, 2024 Unit Commitment 13

UNIT COMMITMENT SOLUTION


METHOD
• We must establish a loading pattern for M periods.
• We have N units to commit and dispatch.
• The M load levels and operating limits on the N units are such that
any one unit can supply the individual loads and that any
combination of units can also supply the loads.

Next, assume we are going to establish the commitment by


enumeration (brute force). The total number of combinations we
need to try each hour is,

where C(N,j), is the combination of N items taken j at a time.

March 20, 2024 Unit Commitment 14

7
20-Mar-24

MOST USED TECHNIQUES

• Priority-list Schemes
• Dynamic Programming (DP)
• Lagrange Relaxation (LR)
• Integer Programming (IP)

March 20, 2024 Unit Commitment 15

Priority-List Methods

March 20, 2024 Unit Commitment 16

8
20-Mar-24

Most priority-list schemes are built around a simple shutdown algorithm that might
operate as follows:

• At each hour when load is dropping, determine whether dropping the next unit
on the priority list will leave sufficient generation to supply the load plus spinning
reserve requirements. If not, continue operating as is; if yes, go on to the next step.

•Determine the number of hours, H, before the unit will be needed again, that is,
assuming that the load is dropping and will then go back up some hours later.

•If H is less than the minimum shutdown time for the unit, keep the commitment
as is and go to the last step; if not, go to the next step.

• Calculate two costs. The first is the sum of the hourly production costs for the
next H hours with the unit up. Then recalculate the same sum for the unit down
and add in the start-up cost for either cooling the unit or banking it, whichever
is less expensive. If there is sufficient savings from shutting down the unit, it
should be shut down; otherwise, keep it on.

•Repeat this entire procedure for the next unit on the priority list. If it is also
dropped, go to the next and so forth.

March 20, 2024 Unit Commitment 17

UNIT COMMITMENT BY LAGRANGE


RELAXATION

Lagrange
Function

March 20, 2024 Unit Commitment 18

9
20-Mar-24

LAGRANGE RELAXATION SOLUTION

The objective function, the unit limits, and any unit min up/down
time constraints are separable over units, that is:
What we do with one unit does not affect the cost of running another
unit

The loading constraint is a coupling constraint so that what is


done with one unit affects all other units if the loading is to be
met.
To solve, we ignore the loading constraint (it is said to be
relaxed). This is done using a dual optimization approach.
Maximize the Lagrangian by adjusting lambdas
Minimize the same Lagrangian by adjusting the generator P
and U values.

March 20, 2024 Unit Commitment 19

3. Unit minimum up- and downtime constraints. Note that other


constraints can easily be formulated and added to the unit
commitment problem. These include transmission security constraints
(see Chapter 7), generator fuel limit constraints, and system air quality
constraints in the form of limits on emissions from fossil-fired plants,
spinning-reserve constraints, etc.

March 20, 2024 Unit Commitment 20

10
20-Mar-24

The unit commitment problem requires that we minimize


this Lagrange function,

subject to the local unit constraints 2 and 3,

1. The cost function, together with constraints 2 and


3 are each separable over units.

2. Constraints 1 are coupling constraints across the units so that what


we do to one unit affects what will happen on other units if the
coupling constraints are to be met.

March 20, 2024 Unit Commitment 21

The Lagrange relaxation procedure solves the unit commitment problem


by “relaxing” or temporarily ignoring the coupling constraints and solving
the problem as if they did not exist.
This is done through the dual optimization procedure as explained in
Appendix 4A of this chapter.

The dual procedure attempts to reach the constrained optimum by


maximizing the Lagrangian with respect to the Lagrange
multipliers while
minimizing with respect to the other variables in the problem;

The Dual Optimization Procedure

March 20, 2024 Unit Commitment 22

11
20-Mar-24

March 20, 2024 Unit Commitment 23

The minimum of the Lagrangian is found by solving for the minimum for
each generating unit over all time periods;

subject to

and the up- and downtime constraints.

March 20, 2024 Unit Commitment 24

12
20-Mar-24

March 20, 2024 Unit Commitment 25

March 20, 2024 Unit Commitment 26

13
20-Mar-24

Lagrange relaxation procedure for unit


commitment.

March 20, 2024 Unit Commitment 27

EXAMPLE 4E In this example, a three-generator, four-hour unit


commitment problem will be solved. The data for this problem are as
follows. Given the three generating units in the following,

March 20, 2024 Unit Commitment 28

14
20-Mar-24

March 20, 2024 Unit Commitment 29

March 20, 2024 Unit Commitment 30

15
20-Mar-24

March 20, 2024 Unit Commitment 31

March 20, 2024 Unit Commitment 32

16
20-Mar-24

coeff=[0.002 10 500; %units cost functions coefficients


0.0025 8 300;
0.005 6 100];
Pmin=[100 ;100 ;50]; %minimum capacity of each unit
Pmax=[600 ;400 ;200]; %maximum capacity of each unit
Pload=[170 520 1100 330]; %usage power at each hour
%Pload=[170 180 200 300 400 520 1100 900 700 600 500 400 330]; %usage power at each
hour

n=size(coeff,1);
T=size(Pload,2);
lambda=zeros(1,T);

q=0;
minCost=zeros(n,1);
P=zeros(n,T);
U=zeros(n,T);
lostPower=zeros(1,T);

J=0;
leastCost=zeros(1,T);
Pt=zeros(n,T);
lackCost=10000;
flag=0;

iter=1;
epsilon=0.05;
gap=0.05;

March 20, 2024 Unit Commitment 33

while( abs(gap)>=epsilon ) J=0;


for t=1:T
for i=1:n if( sum(Pt(:,t))>0)
[ minCost(i),P(i,:),U(i,:) ] = dp( J=J + leastCost(t);
coeff(i,:),Pmin(i),Pmax(i),T,lambda); else
end J=J + lackCost;
end
sumPower=zeros(1,T); end
for t=1:T if q~=0
for i=1:n gap=(J-q)/q;
sumPower(t)=sumPower(t) + U(i,t)*P(i,t); end
end
end if ( abs(gap)>=epsilon )
lostPower=Pload-sumPower; leastCost=zeros(1,T);
Pt=zeros(n,T);
q=0;
for i=1:n for t=1:T
q = q + minCost(i); if lostPower(t)>0
end alpha=0.01;
for t=1:T elseif lostPower(t)<0
q = q + lambda(t)*lostPower(t); alpha=0.002;
end end
lambda(t)=lambda(t)+lostPower(t)*alpha;
for t=1:T end
for i=1:n iter=iter+1;
if U(i,t)==1 end
flag=1; end
end
end
if flag==1
[leastCost(t),Pt(:,t)] = ecoDisp(
coeff,Pmin,Pmax,U(:,t),Pload(t) );%
end
flag=0;
Marchend
20, 2024 Unit Commitment 34

17
20-Mar-24

function [minCost,P,U]=dp(coeff,Pmin,Pmax,T,lambda)

c2=coeff(1);% coeff=[c2,c1,c0]
c1=coeff(2);
c0=coeff(3);

minCost=0;
P=zeros(1,T);
U=zeros(1,T);

optCost=zeros(1,T);

for t=1:T
P(t)=( lambda(t)-c1 )/(2*c2);
if P(t)<=Pmin
P(t)=Pmin;
elseif P(t)>=Pmax
P(t)=Pmax;
end
optCost(t)=c2*P(t)*P(t)+c1*P(t)+c0 - lambda(t)*P(t);
end

for t=1:T
if optCost(t)< 0
U(t)=1;
else
U(t)=0;
P(t)=0;
end
end

for t=1:T
minCost = minCost + U(t)* ( c2*P(t)*P(t)+c1*P(t)+c0 );
March 20, 2024 end Unit Commitment 35

if( Pload<=maxPower)
function while( abs(lostPower)>=epsilon )
[leastCost,Pt]=ecoDisp(coeff,Pmin,Pmax,U,Pload) for i=1:n
if U(i)==1
n=size(coeff,1); Pt(i)=( lambda-c1(i) )/(2*c2(i));
c2=zeros(n,1); if Pt(i)<=Pmin(i)
c1=zeros(n,1); Pt(i)=Pmin(i);
c0=zeros(n,1); elseif Pt(i)>=Pmax(i)
c2=coeff(:,1); Pt(i)=Pmax(i);
c1=coeff(:,2); end
c0=coeff(:,3); end
end
leastCost=0; sumPower=0;
Pt=zeros(n,1); for i=1:n
sumPower = sumPower + U(i)*Pt(i);
lambda=10; end
epsilon=0.1; lostPower=Pload - sumPower;
lostPower=0.1;
sumPower=0; if lostPower> 0
alpha=0.01;
maxPower=0; elseif lostPower< 0
for i=1:n alpha=0.002;
maxPower = maxPower + U(i)*Pmax(i); end
end lambda=lambda+lostPower*alpha;
end

for i=1:n
leastCost = leastCost + U(i)* (
c2(i)*Pt(i)*Pt(i)+c1(i)*Pt(i)+c0(i) );
March 20, 2024 end
Unit Commitment 36
end

18
20-Mar-24

UNIT COMMITMENT SOLUTION BY


INTEGER PROGRAMMING

March 20, 2024 Unit Commitment 37

Other constraints can also be formulated such as:


• Unit minimum up- and downtime constraints
• Transmission security constraints (see Chapter 7)
• Spinning-reserve constraints
• Generator fuel limit constraints and system air quality constraints
in the form of limits on emissions from fossil-fired plants

March 20, 2024 Unit Commitment 38

19
20-Mar-24

SECURITY-CONSTRAINED UNIT
COMMITMENT (SCUC)

If one is going to operate the power system according to the


schedule of unit commitment output by the UC program, then it is
necessary that the economic dispatch within the UC include
“security constraints”.

These are additional constraints that force the dispatch of


generation so that
no transmission lines are overloaded

and that force the dispatch so that


no transmission lines are overloaded even when another line is lost.

March 20, 2024 Unit Commitment 39

March 20, 2024 Unit Commitment 40

20
20-Mar-24

Homework:

Solve end problems 4.1 to 4.4

SUBMIT Theusday March 5

March 20, 2024 Unit Commitment 41

Dual Optimization on a Nonconvex Problem

minimization of

March 20, 2024 Unit Commitment 42

21
20-Mar-24

There are four possible solutions.

an objective function value of 33.1559.


Therefore, we know the optimum value for this problem;
namely, u1 = 1, u2 = 0, and x1 = 5.

enumerate all possible combinations of the 1–0 variables and


then optimize over the continuous variables
March 20, 2024 Unit Commitment 43

Convex Problem

March 20, 2024 Unit Commitment 44

22
20-Mar-24

The Lagrange relaxation method solves problems such as the previous


one as follows. Define the Lagrange function as

where x1, x2, u1, u2 obey the limits and the 1–0 conditions as before.

The dual problem is then to find

March 20, 2024 Unit Commitment 45

Dual Optimization

rearrange

(ignore u1 for a moment)

Check for limit violated, and adjust

If it is positive,
then we can minimize the Lagrangian by merely setting u1 = 0;
otherwise, u1 = 1.
March 20, 2024 Unit Commitment 46

23
20-Mar-24

(again, ignore u2)

Check for limit violated, and adjust

If it is positive, then we minimize the Lagrangian by making u2 = 0;


otherwise, u2 = 1.

We have now found the minimum value of L with a specified


fixed value of k.

March 20, 2024 Unit Commitment 47

Dual Optimization

Note also that if both u1 and u2 are 0, the gradient will be 5, indicating a
positive value telling us to increase . Eventually, increasing will result in a
negative value for

or for both, and this will cause u1 or u2, or both, to be set to 1.


Once the value of is increased, we go back to step 1 and find the new
values for x1, x2, u1, u2 again.
March 20, 2024 Unit Commitment 48

24
20-Mar-24

March 20, 2024 Unit Commitment 49

the relative duality gap.

March 20, 2024 Unit Commitment 50

25
20-Mar-24

March 20, 2024 Unit Commitment 51

Chapter 5
Generation with Limited Energy Supply

March 20, 2024 Unit Commitment 52

26
20-Mar-24

Take or Pay Gas Contract

• Purchase a specific number of cubic feet of gas


for a fix price
• Contract specifies a time period for the gas to be
taken
• If buyer does not take all the gas purchased the
unused gas remains with the seller.
• There is no refund for the unused gas.

Summary: Buyer pays fixed amount for gas whether


it uses the gas or not.

March 20, 2024 Unit Commitment 53

March 20, 2024 Unit Commitment 54

27
20-Mar-24

What is new?
Time step variables j= 1 … jmax is the quantity of gas
used By generator T in time step j

March 20, 2024 Unit Commitment 55

March 20, 2024 Unit Commitment 56

28
20-Mar-24

March 20, 2024 Unit Commitment 57

March 20, 2024 Unit Commitment 58

29
20-Mar-24

March 20, 2024 Unit Commitment 59

March 20, 2024 Unit Commitment 60

30
20-Mar-24

Operating cost of the composite unit over the entire 24-h period is
52,128.03 $. The total gas consumption is 21.8 × 106 ft3.

Since the gas-fired plant must burn 40 × 106 ft3 of gas, the cost will be
2.0 $/1000 ft3 × 40.106 ft3 , which is 80,000 $ for the gas.

Therefore, the total cost will be 132,128.03 $.

The solution method shown in Figure 5.3 was used with g values ranging
from 0.500 to 0.875. The final value for gamma is 0.8742 $/ccf with an
optimal schedule as shown in Table 5.3.

This schedule has a fuel cost for the composite unit of 34,937.47 $.

Note that the gas unit is run much harder and that it does not hit either
limit in the optimal schedule.

Further, note that the total cost is now


34,937.47$ + 80,000$ = 114,937.4$
so we have lowered the total fuel expense by properly scheduling the
gas plant.

March 20, 2024 Unit Commitment 61

31

You might also like