You are on page 1of 42

EE/Econ 458

SCUC

J. McCalley

1
Unit Commitment (UC)
The problem of unit commitment (UC) is to decide
which units to interconnect over the next T hours,
where T is commonly as few as 2 but more
commonly it is 24 or 48 hours, or even 1 week.
In the day-ahead market, it is always 24 hours.
In reliability-assessment-commitment (RAC), it can be &often is less.

The problem becomes security constrained (SCUC)


when constraints are imposed to ensure line flows
do not exceed chosen limits following a contingency.

2
SCUC Objective Function (no demand bidding)
min  z Fit   g it Cit   yit S it   xit H it
it
 t  i    t  i    t  i    t  i  
Fixed (no - load) Costs Production Costs Startup Costs Shutdown Costs

• Decision variables are zit, git, yit, xit


• zit, yit, xit are discrete, git is continuous
git is the MW produced by generator i in period t,
zit is 1 if generator i is dispatched during t, 0 otherwise,
yit is 1 if generator i starts at beginning of period t, 0 otherwise,
xit is 1 if generator i shuts at beginning of period t, 0 otherwise,
Fit is no-load cost ($/period) of operating generator i in period t,
Cit is prod. cost ($/MW/period) of operating gen i in period t;
Sit is startup cost ($) of starting gen i in period t.
Hit is shutdown cost ($) of shutting gen i in period t.

3
SCUC Problem (no demand bidding)
min  z Fit   g it Cit   yit Sit   xit H it
it
 t  i    t  i    t  i    t  i  
Fixed (no -load) Costs Production Costs Startup Costs Shutdown Costs

Subject to
power balance  git  Dt   dit  t, (2) Power balance at each period t.
i i

reserve  rit  SDt  t, (3)


i
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5) Max gen,
max spinning reserve rit  zit MAXSPi  i, t , (6) min gen,
ramp rate pos limit git  git 1  MxInci  i, t , (7) reserves.
ramp rate neg limit git  git 1  MxDeci  i, t , (8)
start if off-then-on zit  zit 1  yit  i, t , (9)
shut if on-then-off zit  zit 1  xit  i, t , (10)
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11)
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12)


i

Dt is the total demand in period t, MxFlowk is the maximum MW flow on line k


SDt is the spinning reserve required in period t,
aki( j ) is linearized coefficient
relating bus i
MxInci is max ramprate (MW/period) for increasing
injection to line k flow under contingency j,
gen i output
MxDeci is max ramprate (MW/period) for MxFlowk( j )
is the maximum MW flow on line k
decreasing gen i output under contingency j
aij is linearized coefficient relating bus i injection to 4
MAXSPi is maximum spinning reserve for unit i
Two Categories of Reserves
• “Regulating”: To handle the moment-to-moment
variation in load (or net load where variable
generation has significant presence).
• “Contingency”: To compensate for unexpected
imbalances usually caused by a gen trip.
Contingency reserves must be available within 10
mins following a request. There are 2 types of
contingency reserves:
 Spinning reserve: reserve from units that are connected
 Supplementary reserve: reserve from units not connected
The markets separate these, but there is little insight to be gained
by doing so, and it makes the problem more complicated. We
represent only contingency reserves.
5
Contingency Reserves
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5)
max spinning reserve rit  zit MAXSPi  i, t , (6)

Note last constraint: MAXSPi.


The amount of reserve a unit can offer is not unconstrained. If no
value of MAXSPi is entered, then the software should default to
MAXSPi=MAXi-MINi

6
SCUC Problem (no demand bidding)
min  z Fit   g it Cit   yit Sit   xit H it
it
 t  i    t  i    t  i    t  i  
Fixed (no -load) Costs Production Costs Startup Costs Shutdown Costs

Subject to
power balance  git  Dt   dit  t, (2)
i i

reserve  rit  SDt  t, (3)


i
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5)
max spinning reserve rit  zit MAXSPi  i, t , (6) Max increase
ramp rate pos limit git  git 1  MxInci  i, t , (7) and max
ramp rate neg limit git  git 1  MxDeci  i, t , (8)
zit  zit 1  yit
decrease.
start if off-then-on  i, t , (9)
This reflects
shut if on-then-off zit  zit 1  xit  i, t , (10)
ramp rates.
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11)
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12)


i

Dt is the total demand in period t, MxFlowk is the maximum MW flow on line k


SDt is the spinning reserve required in period t,
aki( j ) is linearized coefficient
relating bus i
MxInci is max ramprate (MW/period) for increasing
injection to line k flow under contingency j,
gen i output
MxDeci is max ramprate (MW/period) for MxFlowk( j )
is the maximum MW flow on line k
decreasing gen i output under contingency j
aij is linearized coefficient relating bus i injection to 7
MAXSPi is maximum spinning reserve for unit i
Max Inc and Max Dec (Ramp Rates)
ramp rate pos limit git  git 1  MxInci  i, t , (7)
ramp rate neg limit git  git 1  MxDeci  i, t , (8)

MxInci=RampRateUpi*ΔT %/min
Coal 1-5
MW/Min Min Nuclear 1-5
NGCC 5-10
MxDeci=RampRateDowni*ΔT CT 20
Diesel 40

A unit may be able to ramp down faster than it can ramp up.
Wind is an extreme case (it may not be able to ramp up at all!)
So RampRateUpi and RampRateDowni may differ.

ΔT is amount of time from one period t to the next t+1


8
SCUC Problem (no demand bidding)
min  z Fit   g it Cit   yit Sit   xit H it
it
 t  i    t  i    t  i    t  i  
Fixed (no -load) Costs Production Costs Startup Costs Shutdown Costs

Subject to
power balance  git  Dt   dit  t, (2)
i i

reserve  rit  SDt  t, (3)


i
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5)
max spinning reserve rit  zit MAXSPi  i, t , (6)
ramp rate pos limit git  git 1  MxInci  i, t , (7)
Start
ramp rate neg limit git  git 1  MxDeci  i, t , (8)
zit  zit 1  yit
constraint
start if off-then-on  i, t , (9)
shut if on-then-off zit  zit 1  xit  i, t , (10) Shut
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11) constraint
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12)


i

Dt is the total demand in period t, MxFlowk is the maximum MW flow on line k


SDt is the spinning reserve required in period t,
aki( j ) is linearized coefficient
relating bus i
MxInci is max ramprate (MW/period) for increasing
injection to line k flow under contingency j,
gen i output
MxDeci is max ramprate (MW/period) for MxFlowk( j )
is the maximum MW flow on line k
decreasing gen i output under contingency j
aij is linearized coefficient relating bus i injection to 9
MAXSPi is maximum spinning reserve for unit i
Start and Shut Constraints
start if off-then-on zit  zit 1  yit  i, t , (9)
shut if on-then-off zit  zit 1  xit  i, t , (10)
Starting constraints. For example, z 12≤z11+y12,

or more generally, zkt≤zk,t-1+ykt, which says

Status of unit k in time t ≤status of unit k in time t-1+start flag in time t

Constraints associated with shutting. For example, z 12≥z11-x12,

or more generally, zkt≥zk,t-1-xkt, which says

Status of unit k in time t ≥status of unit k in time t-1-shut flag in time t

These constraints are very important. You can understand them


better by performing the following exercise for unit 1:
•List all possible combinations of z11, z12, y12, x12
•For each combination, compute z11+y12 and z11-x12
•Eliminate combinations not satisfying above constraints
•Of the “feasible” combinations, identify which ones make no
economic sense, i.e., which ones will give you nothing but cost you
money (e.g., “on, start, on” or “off, shut, off”). Because we are
10
minimizing costs, these will never be chosen!
SCUC Problem (no demand bidding)
min  z Fit   g it Cit   yit Sit   xit H it
it
 t  i    t  i    t  i    t  i  
Fixed (no -load) Costs Production Costs Startup Costs Shutdown Costs

Subject to
power balance  git  Dt   dit  t, (2)
i i

reserve  rit  SDt  t, (3)


i
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5)
max spinning reserve rit  zit MAXSPi  i, t , (6)
ramp rate pos limit git  git 1  MxInci  i, t , (7) Transmission
ramp rate neg limit git  git 1  MxDeci  i, t , (8) normal
start if off-then-on zit  zit 1  yit  i, t , (9)
constraint
shut if on-then-off zit  zit 1  xit  i, t , (10)
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11) Transmisison
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12) security
i constraint,
Dt is the total demand in period t, MxFlowk is the maximum MW flow on line k
SDt is the spinning reserve required in period t,
aki( j ) is linearized coefficient
relating bus i
MxInci is max ramprate (MW/period) for increasing
injection to line k flow under contingency j,
gen i output
MxDeci is max ramprate (MW/period) for MxFlowk( j )
is the maximum MW flow on line k
decreasing gen i output under contingency j
aij is linearized coefficient relating bus i injection to 11
MAXSPi is maximum spinning reserve for unit i
Transmission normal, security constraints
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11)
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12)


i

The addition of eq. (11) alone provides that this problem is a


transmission-constrained unit commitment problem.
The addition of eqs. (11) and (12) together provides that this
problem is a security-constrained unit commitment problem.

aij is linearized coefficient relating bus i injection to line k flow

aki( j ) is linearized coefficient relating bus i injection to line k flow under


contingency j,
We will not have time to learn how to compute these coefficients.
But they can be obtained using DC-Power flow based approach. 12
Key Concept
min  z itFit   g it Cit   yit Sit   xit H it
 t  i    t  i  
Fixed (no -load) Costs
 t  i  
Production Costs
 t  i  
Startup Costs Shutdown Costs
Problem is a
Subject to function of t.
power balance  git  Dt   dit  t, (2)
i i

reserve  rit  SDt  t, (3)


i
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5)
max spinning reserve rit  zit MAXSPi  i, t , (6)
ramp rate pos limit git  git 1  MxInci  i, t , (7) These are inter-
ramp rate neg limit git  git 1  MxDeci  i, t , (8)
start if off-then-on zit  zit 1  yit  i, t , (9) temporal
shut if on-then-off zit  zit 1  xit  i, t , (10) constraints!
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11)
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12)


i

In addition to being MIP, the UC problem has two important features.


Dynamic: It obtains decisions for a sequence of time periods.
Inter-temporal constraints: What happens in one time period affects
what happens in another time period. So we may not solve each time
period independent of solutions in other time periods.
13
Branch & Bound is Best 
Note the financial implications of changing to MIP.

14
Some good industry quotes in notes
“The most popular algorithms for the solutions of the unit
commitment problems are Priority-List schemes [4], Dynamic
Programming [5], and Mixed Integer Linear Programming [6]. Among
these approaches the MILP technique has achieved significant
progress in the recent years [7]. The MILP methodology has been
applied to the SCUC formulation to solve this MOW problem. Recent
developments in the implementation of MILP-based algorithms and
careful attention to the specific problem formulation have made it
possible to meet accuracy and performance requirements for solving
such large scale problems in a practical competitive energy market
environment.”
Q. Zhou, D. Lamb, R. Frowd, E. Ledesma, A. Papalexopoulos, “Minimizing Market
Operation Costs Using A Security-Constrained Unit Commitment Approach,” 2005
IEEE/PES Transmission and Distribution Conference & Exhibition: Asia and Pacific Dalian,
China.

15
Some good industry quotes in notes
“The LR algorithm was adequate for the original market size, but as
the market size increased, PJM desired an approach that had more
flexibility in modeling transmission constraints. In addition, PJM has
seen an increasing need to model Combined-cycle plant operation
more accurately. While these enhancements present a challenge to
the LR formulation, the use of a MIP formulation provides much
more flexibility. For these reasons, PJM began discussion with its
software vendors, in late 2002, concerning the need to develop a
production grade MIP-based approach for large-scale unit
commitment problems….”

D. Streiffert, R. Philbrick, and A. Ott, “A Mixed Integer Programming Solution for Market
Clearing and Reliability Analysis,” Power Engineering Society General Meeting, 2005. IEEE
12-16 June 2005 , pp. 2724 - 2731 Vol. 3..

16
Some good industry quotes in notes
“The Unit Commitment problem is a large-scale non-linear mixed integer programming
problem. Integer variables are required for modeling: 1) Generator hourly On/Off-line
status, 2) generator Startups/Shutdowns, 3) conditional startup costs (hot, intermediate &
cold). Due to the large number of integer variables in this problem, it has long been viewed
as an intractable optimization problem. Most existing solution methods make use of
simplifying assumptions to reduce the dimensionality of the problem and the number of
combinations that need to be evaluated. Examples include priority-based methods,
decomposition schemes (LR) and stochastic (genetic) methods. While many of these
schemes have worked well in the past, there is an increasing need to solve larger (RTO-size)
problems with more complex (e.g. security) constraints, to a greater degree of accuracy.
Over the last several years, the number of units being scheduled by RTOs has increased
dramatically. PJM started with about 500 units a few years ago, and is now clearing over
1100 each day. MISO cases will be larger still….”
 
“The classical MIP implementation utilizes a Branch and Bound scheme. This method
attempts to perform an implicit enumeration of all combinations of integer variables to
locate the optimal solution. In theory, the MIP is the only method that can make this claim.
It can, in fact, solve non-convex problems with multiple local minima. Since the MIP
methods utilize multiple Linear Programming (LP) executions, they have benefited from
recent advances in both computer hardware and software [6]…”
D. Streiffert, R. Philbrick, and A. Ott, “A Mixed Integer Programming Solution for Market Clearing and Reliability
17
Analysis,” Power Engineering Society General Meeting, 2005. IEEE 12-16 June 2005 , pp. 2724 - 2731 Vol. 3..
g1
Illustration – Problem data g2

We illustrate using an example that utilizes the


1 2
same system we have been using in our
y =-j10
y14 =-j10
12
previous notes, where we had 3 generator buses
y =-j10 P y =-j10
13 d2
in a 4 bus network supplying load at 2 different
23

y =-j10
34
buses, but this time we model each generator
4 3
with the ability to submit 3 offers.
g4 P We ignore reserve constraints in this
d3

illustration.
Three offers per gen: (gk1t,Pk1t), (gk2t, Pk2t), (gk3t, Pk3t)
Ci gk3t
$/hr Unit, Fixed Startup Shutdown Production Costs ($/pu-hr)
k costs Costs Costs ($) gk1t gk2t gk4t
gk2t ($/hr) ($)
gk1t 1 50 100 20 1246 1307 1358
Pi3
2 50 100 20 1129 1211 1282
Pi1 Pi2 4 50 100 20 1183 1254 1320
Pi,min Pi (MW) 

Notice that for each unit, the offers increase with generation, i.e., g k1t<gk2t<gk3t. This
prevents use of a higher generation level before a lower generation level. It also says that
our offer function is convex.

18
Illustration – Problem data
Constraints on the offers

0  g11t  0.50


0  g  0.60
   12t   
0  g13t  0.40
     
g
0  21t  0.35
0   g 22t   0.60, t
     
0  g 23t  0.20
0  g  0.45
   41t   
0  g 42t  0.50
0  g  0.40
   43t   

19
Illustration – Problem data
Hour, t Load, Dt (pu) Load curve
1 1.50
2 1.40
3 1.30
4 1.40
5 1.70
6 2.00
7 2.40
8 2.80 One Day Load variation

9 3.20 400
350
10 3.30 300

Load (MW)
250
11 3.30 200
150
Series1

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

14 3.30 Time (hr)

15 3.35
16 3.40
17 3.30
18 3.30
19 3.20 Notice between the hours of
20 2.80 t=20 and t=21 that the load
drops 0.5 pu. We must have
21 2.30 the reserves available to
22 2.00 handle such a drop!
23 1.70
24 1.60
20
Illustration 1: CPLEX code for 4 hours

21
Illustration 1: CPLEX code for 4 hours

22
Illustration 1: CPLEX result
Note that all y- and x-
variables are 0, therefore
there is no starting up or
shutting down.

0  g11t  0.50


0  g  0.60
   12t   
0  g13t  0.40
     
0 g
   21t   0 . 35 
0   g 22t   0.60, t
     
0 g
   23t   0. 20 
0  g  0.45
   41t   
g
   42t  
0 0. 50 
0  g  0.40
   43t   
23
Illustration 1: CPLEX result
Why did we obtain such a simple solution with
unit 1 down, units 2 and 4 up for all four hours? Most
expensive unit
This is a result of the fact Unit, Fixed Startup Shutdown Production Costs ($/pu-hr)
that the initial solution of k costs Costs Costs ($) gk1t gk2t gk4t
($/hr) ($)
initialu1: z11=0 1 50 100 20 1246 1307 1358
2 50 100 20 1129 1211 1282
initialu2: z21=1 4 50 100 20 1183 1254 1320
initialu4: z41=1
was the best one for the initial loading condition, and since the
loading condition hardly changed during the first four hours, there
was no reason to change any of the units.
One Day Load variation

To test this, let’s try a different 400


350

initial condition: Load (MW)


300
250
200 Series1

initialu1: z11=1 150


100
50

initialu2: z21=0
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Time (hr)

initialu4: z41=1 24
Illustration 2: CPLEX result
Previous solution was
7020.70. Why was this
one more expensive?
One Day Load variation

400
350
300

Load (MW)
250
200 Series1
150
100
50
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Time (hr)

Because of
•U1 shut-down cost
•U2 startup cost
•Difference in cost
between running U1
and U2 during hr 1

25
Illustration 2: CPLEX result
Because we initialized the solution with more
expensive units, to get back to the less
expensive solution, the program forces U2 to
start up (y22=1) and U1 to shut down (x12=1) at
the beginning of period 2. The additional cost
of starting U2 ($100) and shutting U1 ($20) was
less than the savings associated with running
the more efficient unit (U2) over the remaining
3 hours of the simulation, and so the program
ordered starting U2 and shutting U1.

Let’s test our understanding by increasing


startup costs of U2 from $100 to $10,000.
The objective function value in this case is
$7281.25 (higher than the last solution).
The decision variables are…. 26
Illustration 3: CPLEX result
We observe U1 was on-line the entire
four hours, i.e, there is no switching,
something we expected since the start-
up cost of U2 was high.

27
Illustration 4: 24 hours
We refrain from showing the data in this case because it is extensive,
having 426 variables:
72 z-variables
69 y-variables
69 x-variables
216 g-variables

The solution is initialized at


initialu1: z11=0
initialu2: z21=1
initialu4: z41=1
which is the most economic solution for the hour 1 loading level.

28
Illustration 4: 24 hours
The output can be analyzed by using
“display solution variables -”
and then either reading the z-variables or reading the y-variables and
x-variables that are listed (and therefore 1). The x and y variables
indicate changes in the unit commitment.
In studying the load curve, what kind of changes do you expect?
One Day Load variation

400
350
300
Load (MW)

250
200
150
100
50
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Time (hr)

The result, objective value=$77667.3, shows that the only x and y variables that are non-zero
are y1,8 and x1,21. This means that the changes in the unit commitment occur only for unit 1
and only at hours 8 and 21. A pictorial representation of the unit commitment through the 24
hour period is shown on the next slide. 29
Load (MW)
400
350
300
One Day Load variation

Illustration 4: 24 hours
250
200
150
100
50
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Time (hr)

Unit 1

1.2

0.8
Unit 1 starts at hr 8, shuts at hr 21.
Up or down

0.6 Unit 1

0.4

0.2

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

Unit 2

1.2

Unit 2 is always up.


0.8
Up or down

0.6 Unit 2

0.4

0.2

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

Unit 3

1.2

Unit 4 is always up.


0.8
Up or down

0.6 Unit 3

0.4

0.2

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

One Day Load variation


One day load variation

400 400

350 350

300 300
Load (MW)

250 250
200

load
200
150 150
100 100
50 50
0
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
hour
Time (hr)

Previous load curve New load curve

Observe initial & final load values are lower in the new load curve.
What effect will this have on the UC?

31
400

350

300
One day load variation

Illustration 5: 24 hours
250
load

200

150

100

50

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

Unit 1

1.2

Unit 1 starts at hr 8, shuts at hr 19.


0.8

0.6

0.4

0.2

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

Unit 2

1.2

0.8

0.6 Unit 2 is always up.


0.4

0.2

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

Unit 3

1.2

0.8

0.6 Unit 4 is always up, until hour 24.


0.4

0.2

32
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Illustration 6: 24 hours
One day load variation

400

350

300

250

load
200

150

100

50

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

New load curve


Use new load curve but reduce startup costs to $10 and shutdown
costs to $2. All other data remains as before.

What effect do you think this will have on the UC?


The result, with objective function value of $66,867.95, shows that
the only x and y variables that are non-0 are
y1,8, y1,12, y4,5, x1,11, x1,20, x4,2, x4,24.

33
400

350

300
One day load variation

Illustration 6: 24 hours
250
load

200

150

100

50

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

Unit 1

1.2

0.8

0.6

0.4
Unit 1 starts at hr 8, shuts at hr 11,
0.2
starts at hr 12, shuts at hr 20.
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Unit 2

1.2

0.8

0.6

0.4
Unit 2 is always up.
0.2

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

Unit 3

1.2

0.8

0.6

0.4

0.2
Unit 4 shuts at hr 2, starts at hr 5,
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 and shuts at hr 23.
34
An observation
What do low start up and shut down costs do to the UC solution?

They tend to make UC change more.

What do high start up and shut down costs do to the UC solution?

They tend to make UC change less.


Recall:
Inter-temporal constraints: What happens in one time period
affects what happens in another time period. So we may not solve
each time period independent of solutions in other time periods.
Start-up and shut-down costs make the inter-temporal
constraints influential. In our problem, if these costs were zero,
then the solution we obtain would be the same one we would get
if we solved each hour independently. 35
Another observation
Do we obtain the generation dispatch from the UC solution?

Yes, these are the gkit variables.

Why, then, do we need the SCED?

The SCED provides the LMPs, the SCUC does not.


After solving any MIP, ask CPLEX for the dual variables using:
display solution duals –
CPLEX will tell you “Not available for mixed integer problems.”

SCED is solved using LP, which provides dual variables.


SCUC is solved using B&B, which cannot provide dual variables.

36
Exam Problem 1
Beginning from the CPLEX file provided, provide plots of dispatch vs. time for all three units.
Give total cost.

Then implement the below ramp rate constraints for all three units such that that
MxInci=MxDeci=0.3 pu.
Note that this affects constraints (7) and (8) in our formulation. Provide plots of dispatch vs.
time for all three units comparing the “with ramp rate constraints” and “without” cases. Give
total cost.

I want to see plots for both cases, for all three units, like I have been
showing you. 1.2
Unit 2

0.8

0.6

0.4

0.2

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

THIS IS AN EXAM QUESTION AND IS TO BE WORKED INDIVIDUALLY.


BRING TO THE EXAM ON WEDNESDAY.
37
Co-optimization (SC-SCUC)
Co-optimization, in the context of electricity markets, refers to the
simultaneous clearing of two or more commodity markets within
the same optimization problem.

Most ISOs clear 3 commodity markets within their co-optimization:


-Energy
Operating
-Regulating reserve reserve
-Contingency reserve
K. Wissman, “Competitive Electricity Markets and the Special
Role of Ancillary Services, slides presented at the Licensing/
Competition and Tariff/Pricing Comm Meeting, Feb 4-5, 2008.

In the following, I only include contingency reserves.


Inclusion of regulating reserves is a little more complicated because we
need both ramp-up and ramp-down capability.
Contingency reserves require only ramp-up capability since there are
38
usually no single loads as large as the largest single generator.
SCUC Problem (no demand bidding)
min  z Fit   g iktCikt   yit Sit   xit H it   rit Rit
it
 t  i    t  i  k     t  i    t  i    t  i  
Fixed (no-load) Costs Production Costs Startup Costs Shutdown Costs Reserve Costs

Subject to
power balance  git  Dt   dit  t, (2)
i i

reserve  rit  SDt  t, (3)


i
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5)
max spinning reserve rit  zit MAXSPi  i, t , (6)
ramp rate pos limit git  git 1  MxInci  i, t , (7)
ramp rate neg limit git  git 1  MxDeci  i, t , (8)
start if off-then-on zit  zit 1  yit  i, t , (9)
shut if on-then-off zit  zit 1  xit  i, t , (10)
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11)
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12)


i

How does this formulation differ from the one on slide 4?


 Here, we allow offers to be made on reserves and so
have included the last term in the objective function.
39
SCUC Problem (w/demand+reserve bidding)
min  z F it it   g ikt Cikt   d iktU ikt   yit Sit   xit H it   rit Rit   witWit
 t  i    t  i k     t  i  k     t  i    t  i    t  i    t  i  
Fixed (no-load) Costs Production Costs DemandValu e Startup Costs Shutdown Costs Reserve Costs Reserve Value

Subject to
power balance  git  Dt   dit  t, (2)
i i

reserve  rit  SDt  t, (3)


i
min generation git  zit MINi  i, t , (4)
max generation git  rit  zit MAX i  i, t , (5)
max spinning reserve rit  zit MAXSPi  i, t , (6)
This is
ramp rate pos limit git  git 1  MxInci  i, t , (7) interesting….
ramp rate neg limit git  git 1  MxDeci  i, t , (8)
start if off-then-on zit  zit 1  yit  i, t , (9)
shut if on-then-off zit  zit 1  xit  i, t , (10)
normal line flow limit  aki ( git  dit )  MxFlowk  k , t, (11)
i

security line flow limits  aki( j ) ( git  dit )  MxFlowk( j )  k , j, t, (12)


i

How does this formulation differ from the one on slide


39?
 Here, we allow offers and bids to be made on energy & reserves
and so have included the terms corresponding to demand value and
reserve value. 40
SCUC Problem (w/demand+reserve bidding)
“The Midwest ISO market-wide OR demand curve is utilized to ensure that
energy and OR are priced to reflect scarcity conditions when OR becomes
scarce. The market-wide OR demand curve price is determined in terms of
the Value of Lost Load (VoLL, currently set to $3,500/MW) and the
estimated conditional probability of loss of load given that a single forced
resource outage of 100 MW or greater will occur at the cleared market-
wide OR level for which the price is being determined.”
Ref: Xingwang Ma, Haili Song, Mingguo Hong, Jie Wan, Yonghong Chen, Eugene Zak, “The Security-constrained Commitment and Dispatch For
Midwest ISO Day-ahead Co-optimized Energy and Ancillary Service Market,” Proc. of the 2009 IEEE PES General Meeting.

K. Wissman, “Competitive Electricity Markets and the Special Role of Ancillary Services, slides presented at the Licensing/ Competition
41
and Tariff/Pricing Comm Meeting, Feb 4-5, 2008.
Exam 2 Coverage
• Optimization
• Linear programming
• How SCUC/SCED/RAC are used in the market
• LPOPF (SCED)
• Branch & bound
• SCUC
Suggested priority in studying:
1.Slides and notes
2.Homeworks
3.Posted papers
(All of the above are “fair game”)
Exam 2 is closed book, closed notes, open
calculator, but no communication
devices.
Remember to work and bring to exam
problem #1.
42

You might also like