Market Bulletin #5 – Wednesday February 13, 2002 SPD Price Administration Process This document was presented and discussed at the Wholesale Market Subcommittee Meeting on Wednesday, October 24, 2001 and emailed to the WMS and others on Thursday, October 25. A. Background The ERCOT Protocols do not specify how market prices should be calculated when constraint violations cannot be solved. This is a deficiency in the Market Design and should be addressed by the rule-making organizations. While this rule is defined, ERCOT has requested its system vendor to suggest temporary solutions that will keep MCPE and CSC Constraint prices within reasonable bounds. This paper describes a set of interim procedures and formulae for price administration, based on several rounds of discussions between ERCOT and its vendor. The procedures are post-processing of the LPsolutions currently generated by Scheduling, Pricing and dispatching software (SPD). If the LPsolution check detects pricing anomaly, then corrective actions are taken automatically. Under normal operating conditions the zonal market clearing prices and CSC congestion prices are automatically calculated by the market clearing application of SPD. These prices are shadow prices of the optimization solution. When one or more constraints (e.g. the demand – supply balance problem, Zonal Congestion constraints…) cannot be satisfied, these shadow prices become functions of the penalty weights associated with the violated constraints. These penalty weights are set sufficiently high to minimize “nuisance” or marginal constraint violations. The shadow prices that result from applying these penalty weights are fairly high when compared to the normal prices. B. MCPE Price Administration Procedures 1) Initialization: a) Determine net BES clearing mode for the system (sMode) and for each zone (zMode): A) If sNetBESMW = 0 and sUBESMW=0, then sMode = Null B) Otherwise: (1) If sNetBESMW>0.0, then sMode=UP, else sMode=DN (2) If zNetBESMW>=0.0, then zMode=UP, else zMode=DN 687292713 February 5, 2016 1 b) Calculate marginal price of cleared BES Bids: A) System wide: (1) If sMode=Null, then sMarginBESPrice = Max (DBES bid price for the whole system) (2) If sMode=UP, then sMarginBESPrice = Max {Price of all cleared UBES bids} (3) Else …. SMode=DN then sMarginBESPrice = Min {Price of all cleared DBES bids} B) For each zone z: (1) If sMode=Null, then zMarginBESPrice = sMarginBESPrice (2) If zMode=UP AND UBES Bid Cleared MW >0 then zMarginBESPrice = Max of UBES bids cleared in zone z (3) If zMode=UP AND UBES Bid Cleared MW = 0 then zMarginBESPrice = null (4) Else …. zMode=DN then zMarginBESPrice = Min of DBES bids cleared in zone z Price in zones with null zMarginBESPrice will be set to the average of all non-null zMarginBESPrice’s. 2) Check for Anomaly: a) If zMode=UP, and zMCPE<= max(zMarginBESPrice ) with zMode=UP+ Tolerance …..OK b) If zMode=DN, and zMCPE>=min(zMarginBESPrice ) with zMode=DN- Tolerance …. OK Price-corrections for all zones and CSCs as described below are needed if any zonal MCPE fails the above check or sMode = Null 3) MCPE Price Correction: a) If power balance constraint is infeasible: zMCPE = sMarginBESPriced for all zones.. 687292713 February 5, 2016 2 b) Else ……….(power balance constraint is feasible, but other violations exist) i) If CSC Congestion does not exist Then, zMCPE = sMarginBESPrice for all zones ii) Else…. (CSC congestion exists) Then, zMCPE = zMarginBESPrice for each zone z 4) CSC Constraint Price Correction: For each congested CSC K, its constraint shadow price is calculated based on the shift-factors and the adjusted MCPE at Zone H and Zone L, where zone H and zone L are the zones with the highest and lowest adjusted MCPE respectively. CSCPrice_K = max (0,(MCPEH – MCPEL) / (ShiftFactor_KL – ShiftFactor_KH)) C. MCPC Price Administration Procedures Anomaly Check: 1. Determine the system wide maximum price (MaxBidPrice) among all cleared RPRS bids from those resources that are not used for solving local congestion. 2. If all original zonal MCPC are not greater than MaxBidPrice from (1), then no pricecorrective actions are needed; otherwise, proceed to price-correction. Price Correction: Pre-Calculation 1. 2. 3. Identify highest original CSC shadow price. Denote it as SPCH. Identify highest original MCPC. Denote it as MCPCH’. If no RPRS is cleared, set MaxBidPrice = 0 MCPC Correction: 1. If SPCH < Tolerance All zone: MCPCi = MaxBidPrice 2. If SPCH > Tolerance, calculate zonal MCPC separately 1) If cleared RPRS MWi >0, MCPCi = Highest cleared RPRS bid price in zone I from those resources that are not used for solving local congestion. If cleared RPRS MWi =0, MCPCi = 0 2) If cleared RPRS MWi =0 for all zones, MCPCi = 0 687292713 February 5, 2016 3 CSC Price Correction: 1. Identify highest adjusted MCPC. Denote it as MCPCH 2. Identify lowest adjusted MCPC. Denote it as MCPCL 3. For each congested CSC K, its constraint shadow price is calculated based on the shift-factors and the adjusted MCPE at Zone H and Zone L: CSCPrice_K = (MCPCH – MCPCL) / (ShiftFactor_KL – ShiftFactor_KH) Other corrections in prices and/or MWs: None. 687292713 February 5, 2016 4 Calculation of Market Clearing Prices and Shadow Prices of Congestion, using linear programming to simultaneously solve for multiple CSC Constraint(s) Background Currently, ERCOT clears the Balancing Energy Market using a Linear Program. Following is the simplified model for this process. The real software system is much more complicated than that. The detail information is described in ESCA design document “ERCOT MOS Analytical Function Software Specification Document (SSD)’. To minimize system cost and maximize system welfare, the following objective function is used to calculate Market Clear price and Balance Energy bid deployment. Object: NP NZ NP NZ BEUBP * INSU BEDBP Min ij i 1 j 1 ij i 1 j 1 ij * INSDij (1) Subject to: P LF INSU NP NZ i 1 j 1 NZ ij j 1 NP P NZ j 1 i 1 ij NP NZ j i 1 j 1 ij INSDij 0 INSU ij INSDij LF j * SF j ,k TTCk k K C INSU ij MAXBEU ij i IP, j JZ INSDij MAXBEDij i IP, j JZ ( INSU ij,t INSU ij ,t 1 ) Ramprateij,Up * 10 i I P , j J Z ( INSDij ,t INSDij ,t 1 ) Ramprateij, Down * 10 i I P , j J Z Solve this LP, we can obtain shadow prices for all CSC Congestion constraints and shadow price for Power Balance. Then zonal MCPE can be calculated with the following equation: NC MCPE j MCPE system SPk * SF j , k kK (2) k Re-write equation (2) using matrix: MCPEN 1, SFN , SN , SFN , SH , SFN ,W N MCPEsystem MCPE 1, SF , SF , SF S , SN S , SH S ,W N SPSN S MCPEW 1, SFW , SN , SFW , SH , SFW ,W N SPSH MCPEH 1, SFH , SN , SFH , SH , SFH ,W N SPW N (3) Hence, the Shadow Prices can be calculated backward using: 1 MCPEsystem 1, SFN , SN , SFN , SH , SFN ,W N MCPEN 1, SF , SF 5, SF MCPE 687292713 S , SN S , SH S ,W N S SPSN February 5, 2016 SPSH 1, SFW , SN , SFW , SH , SFW ,W N MCPEW MCPEH SPW N 1, SFH , SN , SFH , SH , SFH ,W N (4) where: IP: J Z: KC: A set of QSEs A set of zones A set of Zonal congestions NP: Total number of QSEs NZ: Total number of zones NC: Total number of Zonal congestions BEUBPij: BEDBPij: INSUij: INSDj: Pij: Balancing Energy Up Bid price curve for QSE i in zone j Balancing Energy Down Bid price curve for QSE i in zone Deployed amount of Balancing Energy Up Bid from QSE i in zone j Deployed amount of Balancing Energy Down Bid from QSE i in zone j Total generation schedule of participant i in zone j, which includes both the balanced scheduled generation and mismatched scheduled generation Lij: Total load schedule of QSE i in Zone j SFj,k: Shift Factor of zone j to Zonal Constraint k TTCk: Total Transfer Capacity of CSC Congestion Constraint k MAXBEUij Maximum amount of Balancing Energy Up bid from QSE i in zone j MAXBEDij Maximum amount of Balancing Energy Down bid from QSE i in zone j Ramprateij Portfolio Balancing Energy ramp rate submitted by the QSE i in zone j MCPEj: Market Clear Price in zone j MCPEsystem: Power Balance Shadow Price SPk: Shadow Price of CSC Congestion k SFi, k: Shift Factor of zone i to CSC Congestion k LF 687292713 February 5, 2016 Load Forecast 6