EE 553 Security-constrained unit commitment (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 itCit yit Sit xit H it t i t t t i i i it 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) z Fit g itCit yit Sit xit H it t i t t t i i i min it Fixed (no -load) Costs Production Costs Subject to power balance git Dt dit i reserve Startup Costs rit SDt Shutdown Costs t, (2) Power balance at each period t. t, (3) i i min generation max generation max spinning reserve ramp rate pos limit ramp rate neg limit start if off-then-on shut if on-then-off normal line flow limit git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , git git 1 MxInci i, t , git git 1 MxDeci i, t , zit zit 1 yit i, t , zit zit 1 xit i, t , aki ( git dit ) MxFlowk k , t, (4) (5) (6) (7) (8) (9) (10) (11) k , j, t , (12) Max gen, min gen, reserves. i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) i Dt is the total demand in period t, SDt is the spinning reserve required in period t, MxInci is max ramprate (MW/period) for increasing gen i output MxDeci is max ramprate (MW/period) for decreasing gen i output aij is linearized coefficient relating bus i injection to line k flow MxFlowk is the maximum MW flow on line k aki( j )is linearized coefficient relating bus i injection to line k flow under contingency j, MxFlowk( j ) is the maximum MW flow on line k under contingency j MAXSPi is maximum spinning reserve for4 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 regulating (up and down) from contingency reserves, but it makes the problem more complicated. In this initial view of the problems, we represent only contingency reserves. 5 Contingency Reserves min generation max generation max spinning reserve git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , (4) (5) (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) z Fit g itCit yit Sit xit H it t i t t t i i i min it Fixed (no -load) Costs Production Costs Subject to power balance git Dt dit i reserve Startup Costs rit SDt Shutdown Costs t, (2) t, (3) i i min generation max generation max spinning reserve ramp rate pos limit ramp rate neg limit start if off-then-on shut if on-then-off normal line flow limit git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , git git 1 MxInci i, t , git git 1 MxDeci i, t , zit zit 1 yit i, t , zit zit 1 xit i, t , aki ( git dit ) MxFlowk k , t, (4) (5) (6) (7) (8) (9) (10) (11) k , j, t , (12) Max increase and max decrease. This reflects ramp rates. i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) i Dt is the total demand in period t, SDt is the spinning reserve required in period t, MxInci is max ramprate (MW/period) for increasing gen i output MxDeci is max ramprate (MW/period) for decreasing gen i output aij is linearized coefficient relating bus i injection to line k flow MxFlowk is the maximum MW flow on line k aki( j )is linearized coefficient relating bus i injection to line k flow under contingency j, MxFlowk( j ) is the maximum MW flow on line k under contingency j MAXSPi is maximum spinning reserve for7 unit i Max Inc and Max Dec (Ramp Rates) ramp rate pos limit ramp rate neg limit git git 1 MxInci i, t , git git 1 MxDeci i, t , (7) (8) %/min MxInci=RampRateUpi*ΔT Coal 1-5 Nuclear 1-5 MW/Min Min MxDeci=RampRateDowni*ΔT NGCC 5-10 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 Max Inc and Max Dec (Ramp Rates) ramp rate pos limit ramp rate neg limit git git 1 MxInci i, t , git git 1 MxDeci i, t , (7) (8) %/min MxInci=RampRateUpi*ΔT Coal 1-5 Nuclear 1-5 MW/Min Min MxDeci=RampRateDowni*ΔT NGCC 5-10 CT 20 Diesel 40 Note that ramp rate constraints (RRC) enforce the ramping capability of each given unit. They are not ramp rate requirements (RRR), which would place a requirement on the amount of reserve at any given time to be comprised of units having a certain level of ramping capability. RRC (which depend on 2 consecutive time periods) require, under a given load forecast, the solution remains feasible. RRR (which depend on only one time period) attempt to ensure a feasible solution will exist. We are only considering RRC here. We are NOT considering RRR here. The following paper addresses this further: V. Krishnan, E. Ibanez, T. Das, Y. Gu, and J. McCalley, “Modeling Operational Effects of Variable Generation within National 9 Long-term Infrastructure Planning Software,” to appear in IEEE Transactions on Power Systems. SCUC Problem (no demand bidding) z Fit g itCit yit Sit xit H it t i t t t i i i min it Fixed (no -load) Costs Production Costs Subject to power balance git Dt dit i reserve Startup Costs rit SDt Shutdown Costs t, (2) t, (3) i i min generation max generation max spinning reserve ramp rate pos limit ramp rate neg limit start if off-then-on shut if on-then-off normal line flow limit git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , git git 1 MxInci i, t , git git 1 MxDeci i, t , zit zit 1 yit i, t , zit zit 1 xit i, t , aki ( git dit ) MxFlowk k , t, (4) (5) (6) (7) (8) (9) (10) (11) k , j, t , (12) Start constraint Shut constraint i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) i Dt is the total demand in period t, SDt is the spinning reserve required in period t, MxInci is max ramprate (MW/period) for increasing gen i output MxDeci is max ramprate (MW/period) for decreasing gen i output aij is linearized coefficient relating bus i injection to line k flow MxFlowk is the maximum MW flow on line k aki( j )is linearized coefficient relating bus i injection to line k flow under contingency j, MxFlowk( j ) is the maximum MW flow on line k under contingency j 10 unit i MAXSPi is maximum spinning reserve for Start and Shut Constraints start if off-then-on shut if on-then-off zit zit 1 yit i, t , zit zit 1 xit i, t , (9) (10) Starting constraints. For example, z12≤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, z12≥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 minimizing costs, these will never be chosen! 11 SCUC Problem (no demand bidding) z Fit g itCit yit Sit xit H it t i t t t i i i min it Fixed (no -load) Costs Production Costs Subject to power balance git Dt dit i reserve Startup Costs rit SDt Shutdown Costs t, (2) t, (3) i i min generation max generation max spinning reserve ramp rate pos limit ramp rate neg limit start if off-then-on shut if on-then-off normal line flow limit git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , git git 1 MxInci i, t , git git 1 MxDeci i, t , zit zit 1 yit i, t , zit zit 1 xit i, t , aki ( git dit ) MxFlowk i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) i Dt is the total demand in period t, SDt is the spinning reserve required in period t, MxInci is max ramprate (MW/period) for increasing gen i output MxDeci is max ramprate (MW/period) for decreasing gen i output aij is linearized coefficient relating bus i injection to line k flow k , t, (4) (5) (6) (7) (8) (9) (10) (11) Transmission normal constraint Transmisison security k , j, t , (12) constraint, MxFlowk is the maximum MW flow on line k aki( j )is linearized coefficient relating bus i injection to line k flow under contingency j, MxFlowk( j ) is the maximum MW flow on line k under contingency j 12 unit i MAXSPi is maximum spinning reserve for Transmission normal, security constraints normal line flow limit aki ( git dit ) MxFlowk k , t, (11) k , j, t , (12) i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) i Note: Should have absolute value signs around the both summations on the left to account for bi-directional flow. 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. aki 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 have learned how to compute the aij (which are just generation shift factors). The aki(j) are developed on the next slide.13 Modeling transmission security constraints al,i: gen shift factor for cct l, given a change in injection at bus i, when all ccts are in service. dl,k line outage distribution factor for cct l, given outage of circuit k. Pi: real power injection at bus i. fk: flow on circuit k. Consider taking the following actions in the network: (1) Increase generation at all buses i=1,…,N from 0 to Pi. (2) Remove circuit k. Derive total flow on cct , fl, in terms of parameters defined above, following actions (1), (2). N f l(1) ali Pi i 1 N f l(2) d lk f k(1) d lk aki Pi f (2) l f l f l (1) ( 2) i 1 al(ik ) ali dlk aki Effective generation ali Pi d lk aki Pi ali d lk aki Pi shift factor: linearized coefficient relating bus i 1 i 1 i 1 i injection to line l flow under contingency k. N N N 14 Key Concept z Fit g itCit yit Sit xit H it t i t t t i i i min it Fixed (no -load) Costs Production Costs Subject to power balance git Dt dit i reserve Startup Costs rit SDt Problem is a function of t. Shutdown Costs t, (2) t, (3) i i min generation max generation max spinning reserve ramp rate pos limit ramp rate neg limit start if off-then-on shut if on-then-off normal line flow limit git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , git git 1 MxInci i, t , git git 1 MxDeci i, t , zit zit 1 yit i, t , zit zit 1 xit i, t , aki ( git dit ) MxFlowk k , t, (4) (5) (6) (7) (8) (9) (10) (11) k , j, t , (12) These are intertemporal constraints! i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) 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. 15 Branch & Bound is Best Note the financial implications of changing to MIP. Source: M. Rothleder, presentation to the Harvard Energy Policy Group, Dec 7, 2007, available at http://www.hks.harvard.edu/hepg/Rothleder_Mark.pdf. 16 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. 17 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.. 18 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 19 Analysis,” Power Engineering Society General Meeting, 2005. IEEE 12-16 June 2005 , pp. 2724 - 2731 Vol. 3.. Illustration – Problem data g2 g1 1 2 y12 =-j10 y14 =-j10 y13 =-j10 Pd2 y23 =-j10 y34 =-j10 4 3 g4 Pd3 We illustrate using an example that utilizes the same system we have been using in our previous notes, where we had 3 generator buses in a 4 bus network supplying load at 2 different buses, but this time we model each generator with the ability to submit 3 offers. We ignore reserve constraints in this illustration. Three offers per gen: (gk1t,Pk1t), (gk2t, Pk2t), (gk3t, Pk3t) Ci $/hr gk3t Unit, k gk2t gk1t Pi1 Pi,min Pi2 Pi3 1 2 4 Fixed Startup Shutdown costs Costs Costs ($) ($/hr) ($) 50 100 20 50 100 20 50 100 20 Production Costs ($/pu-hr) gk1t gk2t gk4t 1246 1129 1183 1307 1211 1254 1358 1282 1320 Pi (MW) Notice that for each unit, the offers increase with generation, i.e., gk1t<gk2t<gk3t. This prevents use of a higher generation level before a lower generation level. It also says that our offer function is convex. 20 Illustration – Problem data Constraints on the offers 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 0 g 42t 0.50 0 g 0.40 43t 21 Illustration – Problem data Load, Dt (pu) 1.50 1.40 1.30 1.40 1.70 2.00 2.40 2.80 3.20 3.30 3.30 3.20 3.20 3.30 3.35 3.40 3.30 3.30 3.20 2.80 2.30 2.00 1.70 1.60 Load curve One Day Load variation 400 Load (MW) Hour, t 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 350 300 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) Notice between the hours of t=20 and t=21 that the load drops 0.5 pu. We must have the reserves available to handle such a drop! 22 Illustration 1: CPLEX code for 4 hours 23 Illustration 1: CPLEX code for 4 hours 24 Illustration 1: CPLEX result Note that all y- and xvariables are 0, therefore there is no starting up or shutting down. 0 g11t 0.50 0 g 0.60 12t 0 g13t 0.40 g 0 0 . 35 21t 0 g 22t 0.60, t g 0 0 . 20 23t 0 g 0.45 41t g 0 42t 0.50 0 g 0.40 43t 25 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) k costs Costs Costs ($) g g g that the initial solution of ($/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. k1t k4t One Day Load variation 400 Load (MW) To test this, let’s try a different initial condition: initialu1: z11=1 initialu2: z21=0 initialu4: z41=1 k2t 350 300 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) 26 Illustration 2: CPLEX result Previous solution was 7020.70. Why was this one more expensive? One Day Load variation Load (MW) 400 350 300 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 27 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). 28 The decision variables are…. 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 startup cost of U2 was high. 29 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. 30 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 Load (MW) 400 350 300 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. 31 Illustration 4: 24 hours One Day Load variation 400 Load (MW) 350 300 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 1 Unit 1 starts at hr 8, shuts at hr 21. Up or down 0.8 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 1 Up or down 0.8 0.6 Unit 2 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 Hour Unit 3 1.2 1 Up or down 0.8 0.6 Unit 3 Unit 4 is always up. 0.4 0.2 32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Hour 14 15 16 17 18 19 20 21 22 23 24 Illustration 5: 24 hours One Day Load variation 400 350 300 350 300 250 200 250 load Load (MW) One day load variation 400 150 100 200 150 100 50 0 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) Previous load curve 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 Observe initial & final load values are lower in the new load curve. What effect will this have on the UC? 33 Illustration 5: 24 hours One day load variation 400 350 300 load 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 hour Unit 1 1.2 1 0.8 Unit 1 starts at hr 8, shuts at hr 19. 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 1 0.8 Unit 2 is always up. 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 3 1.2 1 0.8 Unit 4 is always up, until hour 24. 0.6 0.4 0.2 34 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 load 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 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. 35 Illustration 6: 24 hours One day load variation 400 350 300 load 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 hour Unit 1 1.2 1 0.8 Unit 1 starts at hr 8, shuts at hr 11, starts at hr 12, shuts at hr 20. 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 1 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 1 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 4 shuts at hr 2, starts at hr 5, and shuts at hr 23. 36 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 37 if we solved each hour independently. 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. 38 Co-optimization: what? Electricity markets: simultaneous clearing of two or more commodity markets within one optimization problem. Planning: simultaneous identification of two or more classes of infrastructure decisions within one optimization problem (G&T, G&T&natural gas pipeline) . Cooptimization optimizes two (or more) objectives which depend on different but related decisions: min f1(x(y))+f2(y(x)) Choose copper sheet transmission (y) then optimize generation f1(x) then optimize transmission f2(y). Multiobjective optimization optimizes two (or more) objectives which depend on the same decisions: min f1(x)+f2(x) 39 How to choose operating condition x to achieve good risk-cost f1-f2 trade-off of risk? 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 40 usually no single loads as large as the largest single generator. SCUC Problem (no demand bidding) z Fit g iktCikt yit Sit xit H it rit Rit t i t k t t t i i i i min it Fixed (no -load) Costs Subject to power balance Production Costs git Dt dit i reserve Startup Costs rit SDt Shutdown Costs t, (2) t, (3) Reserve Costs i i min generation max generation max spinning reserve ramp rate pos limit ramp rate neg limit start if off-then-on shut if on-then-off normal line flow limit git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , git git 1 MxInci i, t , git git 1 MxDeci i, t , zit zit 1 yit i, t , zit zit 1 xit i, t , aki ( git dit ) MxFlowk k , t, (4) (5) (6) (7) (8) (9) (10) (11) k , j, t , (12) i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) 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. 41 SCUC Problem (w/demand+reserve bidding) min z F g iktCikt diktU ikt yit Sit xit H it rit Rit witWit t i t k t k t t t i t i i i i i it it Fixed (no -load) Costs Production Costs Subject to power balance git Dt dit i reserve DemandValu e rit SDt Startup Costs Shutdown Costs t, (2) t, (3) Reserve Costs Reserve Value i i min generation max generation max spinning reserve ramp rate pos limit ramp rate neg limit start if off-then-on shut if on-then-off normal line flow limit git zit MINi i, t , git rit zit MAX i i, t , rit zit MAXSPi i, t , git git 1 MxInci i, t , git git 1 MxDeci i, t , zit zit 1 yit i, t , zit zit 1 xit i, t , aki ( git dit ) MxFlowk k , t, (4) (5) (6) (7) (8) (9) (10) (11) k , j, t , (12) This is interesting…. i security line flow limits aki( j ) ( git dit ) MxFlowk( j ) 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. 42 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 marketwide 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 and Tariff/Pricing Comm Meeting, Feb 4-5, 2008. 43