Abstract
This paper describes the application of bilevel programming to a class of real-life problems in the field of electric power systems. Within the context of electricity markets, market-clearing procedures, i.e., auction models, are used by an independent entity to schedule generation offers and consumption bids as well as to determine market-clearing prices. This paper addresses a mathematically challenging type of auction, denoted as price-based market clearing, wherein, as a distinctive feature, market-clearing prices are explicitly incorporated in the formulation of the optimization process. This paper shows that bilevel programming provides a suitable modeling framework for price-based market clearing. Furthermore, based on practical modeling aspects, an equivalent single-level primal-dual transformation into a mixed-integer program can be implemented. Such transformation relies on the application of duality theory of linear programming. The bilevel programming framework for price-based market clearing is applied to a revenue-constrained auction model similar to those used in several European electricity markets. As a major contribution, bilinear terms associated with both generation revenue constraints and the duality-based transformation are equivalently converted into linear forms with no additional binary variables. Simulation results show the effective performance of the proposed approach and its superiority over current industry practice.
Similar content being viewed by others
References
Alizadeh SM, Marcotte P, Savard G (2013) Two-stage stochastic bilevel programming over a transportation network. Transp Res Part B Methodol 58:92–105
Alonso J, Trías A, Gaitan V, Alba JJ (1999) Thermal plant bids and market clearing in an electricity pool. Minimization of costs vs. minimization of consumer payments. IEEE Trans Power Syst 14(4):1327–1334
APX (2015) Power Spot Exchange NL. http://www.apxgroup.com/trading-clearing/day-ahead-auction/
Arroyo JM (2010) Bilevel programming applied to power system vulnerability analysis under multiple contingencies. IET Gener Transm Distrib 4(2):178–190
Arroyo JM, Conejo AJ (2002) Multiperiod auction for a pool-based electricity market. IEEE Trans Power Syst 17(4):1225–1231
Arroyo JM, Fernández FJ (2013) Application of a genetic algorithm to \(n-{K}\) power system security assessment. Int J Electr Power Energy Syst 49:114–121
Arroyo JM, Galiana FD (2005a) Energy and reserve pricing in security and network-constrained electricity markets. IEEE Trans Power Syst 20(2):634–643
Arroyo JM, Galiana FD (2005b) On the solution of the bilevel programming formulation of the terrorist threat problem. IEEE Trans Power Syst 20(2):789–797
Bard JF (1998) Practical bilevel optimization: algorithms and applications. Kluwer Academic Publishers, Dordrecht
Bard JF, Plummer J, Sourie JC (2000) A bilevel programming approach to determining tax credits for biofuel production. Eur J Oper Res 120(1):30–46
Bjørndal M, Jörnsten K (2008) Equilibrium prices supported by dual price functions in markets with non-convexities. Eur J Oper Res 190(3):768–789
Carrión M, Arroyo JM (2006) A computationally efficient mixed-integer linear formulation for the thermal unit commitment problem. IEEE Trans Power Syst 21(3):1371–1378
Centeno E, Wogrin S, López-Peña A, Vázquez M (2011) Analysis of investments in generation capacity: a bilevel approach. IET Gener Transm Distrib 5(8):842–849
Chen Y, Hobbs BF, Leyffer S, Munson TS (2006) Leader-follower equilibria for electric power and \({\rm NO}_{x}\) allowances markets. Comput Manage Sci 3(4):307–330
Colson B, Marcotte P, Savard G (2007) An overview of bilevel optimization. Ann Oper Res 153(1):235–256
CPLEX (2015) IBM ILOG CPLEX. http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer
Delgadillo A, Arroyo JM, Alguacil N (2010) Analysis of electric grid interdiction with line switching. IEEE Trans Power Syst 25(2):633–641
Dempe S (2002) Foundations of bilevel programming. Kluwer Academic Publishers, Dordrecht
Dewez S, Labbé M, Marcotte P, Savard G (2008) New formulations and valid inequalities for a bilevel pricing problem. Oper Res Lett 36(2):141–149
Fampa M, Barroso LA, Candal D, Simonetti L (2008) Bilevel optimization applied to strategic pricing in competitive electricity markets. Comput Optim Appl 39(2):121–142
Fernández-Blanco R, Arroyo JM, Alguacil N (2012) A unified bilevel programming framework for price-based market clearing under marginal pricing. IEEE Trans Power Syst 27(1):517–525
Fernández-Blanco R, Arroyo JM, Alguacil N (2014) Network-constrained day-ahead auction for consumer payment minimization. IEEE Trans Power Syst 29(2):526–536
Floudas CA (1995) Nonlinear and mixed-integer optimization: fundamentals and applications. Oxford University Press, New York
Gabriel SA, Shim Y, Conejo AJ, de la Torre S, García-Bertrand R (2010) A Benders decomposition method for discretely-constrained mathematical programs with equilibrium constraints. J Oper Res Soc 61(9):1404–1419
Galiana FD, Bouffard F, Arroyo JM, Restrepo JF (2005) Scheduling and pricing of coupled energy and primary, secondary, and tertiary reserves. Proc IEEE 93(11):1970–1983
GAMS (2015) GAMS Development Corporation. http://www.gams.com
García-Bertrand R, Conejo AJ, Gabriel SA (2005) Multi-period near-equilibrium in a pool-based electricity market including on/off decisions. Netw Spat Econ 5(4):371–393
García-Bertrand R, Conejo AJ, Gabriel SA (2006) Electricity market near-equilibrium under locational marginal pricing and minimum profit conditions. Eur J Oper Res 174(1):457–479
Gómez-Expósito A, Conejo AJ, Cañizares C (2008) Electric energy systems: analysis and operation. CRC Press, Boca Raton
Hao S, Zhuang F (2003) New models for integrated short-term forward electricity markets. IEEE Trans Power Syst 18(2):478–485
Hao S, Angelidis GA, Singh H, Papalexopoulos AD (1998) Consumer payment minimization in power pool auctions. IEEE Trans Power Syst 13(3):986–991
Hobbs BF, Metzler CB, Pang J-S (2000) Strategic gaming analysis for electric power systems: an MPEC approach. IEEE Trans Power Syst 15(2):638–645
Hu X, Ralph D (2007) Using EPECs to model bilevel games in restructured electricity markets with locational prices. Oper Res 55(5):809–827
Labbé M, Marcotte P, Savard G (1998) A bilevel model of taxation and its application to optimal highway pricing. Manage Sci 44(12):1608–1622
Li C-A, Svoboda AJ, Guan X, Singh H (1999) Revenue adequate bidding strategies in competitive electricity markets. IEEE Trans Power Syst 14(2):492–497
Luenberger DG (1989) Linear and nonlinear programming, 2nd edn. Addison-Wesley, Reading
Luh PB, Blankson WE, Chen Y, Yan JH, Stern GA, Chang S-C, Zhao F (2006) Payment cost minimization auction for deregulated electricity markets using surrogate optimization. IEEE Trans Power Syst 21(2):568–578
Mínguez R, Castillo E (2009) Reliability-based optimization in engineering using decomposition techniques and FORMS. Struct Saf 31(3):214–223
Morales JM, Conejo AJ, Liu K, Zhong J (2012) Pricing electricity in pools with wind producers. IEEE Trans Power Syst 27(3):1366–1376
Motto AL (2005) On the exact solution of a class of Stackelberg games. In: Proceedings of the 2005 American Control Conference, Portland, pp 249–250
Motto AL, Galiana FD (2002) Equilibrium of auction markets with unit commitment: the need for augmented pricing. IEEE Trans Power Syst 17(3):798–805
Motto AL, Galiana FD (2004a) Coordination in markets with nonconvexities as a mathematical program with equilibrium constraints—part I: a solution procedure. IEEE Trans Power Syst 19(1):308–316
Motto AL, Galiana FD (2004b) Coordination in markets with nonconvexities as a mathematical program with equilibrium constraints—part II: case studies. IEEE Trans Power Syst 19(1):317–324
Motto AL, Arroyo JM, Galiana FD (2005) A mixed-integer LP procedure for the analysis of electric grid security under disruptive threat. IEEE Trans Power Syst 20(3):1357–1365
OMIE (2014) Market Operator of the Iberian Electricity Market. Daily and intraday electricity market operating rules. http://www.omel.es/files/20140509_reglas_v11_ingles.pdf
O’Neill RP, Sotkiewicz PM, Hobbs BF, Rothkopf MH, Stewart WR Jr (2005) Efficient market-clearing prices in markets with nonconvexities. Eur J Oper Res 164(1):269–285
Outrata J, Kočvara M, Zowe J (1998) Nonsmooth approach to optimization problems with equilibrium constraints: theory, applications and numerical results. Kluwer Academic Publishers, Dordrecht
RTS (1999) The IEEE Reliability Test System-1996. IEEE Trans Power Syst 14(3):1010–1020
Ruiz C, Conejo AJ (2009) Pool strategy of a producer with endogenous formation of locational marginal prices. IEEE Trans Power Syst 24(4):1855–1866
Ruiz C, Conejo AJ, Gabriel SA (2012) Pricing non-convexities in an electricity pool. IEEE Trans Power Syst 27(3):1334–1342
Schweppe FC, Caramanis MC, Tabors RD, Bohn RE (1988) Spot pricing of electricity. Kluwer Academic Publishers, Norwell
Shahidehpour M, Yamin H, Li Z (2002) Market operations in electric power systems: forecasting, scheduling, and risk management. Wiley, New York
Sheblé GB (1999) Computational auction mechanisms for restructured power industry operation. Kluwer Academic Publishers, Dordrecht
Shimizu K, Ishizuka Y, Bard JF (1997) Nondifferentiable and two-level mathematical programming. Kluwer Academic Publishers, Dordrecht
Siddiqui S, Gabriel SA (2013) An SOS1-based approach for solving MPECs with a natural gas market application. Netw Spat Econ 13(2):205–227
Somani A, Tesfatsion L (2008) An agent-based test bed study of wholesale power market performance measures. IEEE Comput Intell Mag 3(4):56–72
Steffensen S, Ulbrich M (2010) A new relaxation scheme for mathematical programs with equilibrium constraints. SIAM J Optim 20(5):2504–2539
Stoft S (2002) Power system economics: designing markets for electricity. Wiley-Interscience, New York
Street A, Moreira A, Arroyo JM (2014) Energy and reserve scheduling under a joint generation and transmission security criterion: an adjustable robust optimization approach. IEEE Trans Power Syst 29(1):3–14
Vázquez C, Rivier M, Pérez-Arriaga IJ (2002) Production cost minimization versus consumer payment minimization in electricity pools. IEEE Trans Power Syst 17(1):119–127
Wogrin S, Barquín J, Centeno E (2013) Capacity expansion equilibria in liberalized electricity markets: an EPEC approach. IEEE Trans Power Syst 28(2):1531–1539
Wogrin S, Centeno E, Barquín J (2011) Generation capacity expansion in liberalized electricity markets: a stochastic MPEC approach. IEEE Trans Power Syst 26(4):2526–2532
Wood AJ, Wollenberg BF, Sheblé GB (2014) Power generation, operation, and control, 3rd edn. Wiley, Hoboken
Zhao F, Luh PB, Yan JH, Stern GA, Chang S-C (2008) Payment cost minimization auction for deregulated electricity markets with transmission capacity constraints. IEEE Trans Power Syst 23(2):532–544
Acknowledgments
This work was supported in part by the Ministry of Science of Spain under CICYT Project ENE2012-30679; by the European Commission, under Grant Agreement Number 309048; by the Junta de Comunidades de Castilla-La Mancha, under Project POII-2014-012-P; and by the Universidad de Castilla-La Mancha, under Grant GI20152945.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: Linearization of the product of a binary variable and a continuous variable
Given the product of a binary variable \(u \in \{0,1\}\) and a continuous variable \(\tau \in [\tau ^{min},\tau ^{max}]\), a linear equivalent can be found as follows (see Floudas 1995): (1) replace the product \(u\tau \) by a new continuous variable \(x\), and (2) introduce new inequalities \(\tau ^{min}u \le x \le \tau ^{max}u\) and \(\tau ^{min}(1-u) \le \tau -x \le \tau ^{max}(1-u)\). Thus, if \(u\) is equal to 0, \(x\) is also equal to 0 while \(\tau \) is bounded by its upper and lower limits. Conversely, if \(u\) is equal to 1, \(x\) is set equal to \(\tau \) and is bounded by the upper and lower limits for \(\tau \).
Appendix B: Nomenclature
1.1 Indices
- \(b\) :
-
Supply offer block index.
- \(h\) :
-
Demand bid block index.
- \(i\) :
-
Generating unit index.
- \(j\) :
-
Consumer index.
- \(l\) :
-
Time period index.
- \(t\) :
-
Time period index.
1.2 Sets
- \(B_i\) :
-
Index set of energy blocks offered by unit \(i\).
- \(H_j\) :
-
Index set of energy blocks bid by consumer \(j\).
- \(I\) :
-
Index set of generating units.
- \(J\) :
-
Index set of consumers.
- \(T\) :
-
Index set of time periods.
- \(\Gamma \) :
-
Feasibility set of the vector of market-clearing prices.
1.3 Functions
- \(\mathcal {F}(\cdot )\) :
-
Objective function of the price-based market-clearing procedure.
- \(\mathcal {G}(\cdot )\) :
-
Constrained functions involving scheduling variables.
- \(\mathcal {H}(\cdot )\) :
-
Constrained functions relating both scheduling and dispatching variables and market-clearing prices.
- \(\mathcal {R}_i(\cdot )\) :
-
Minimum revenue function offered by unit \(i\).
1.4 Constants
- \(DT_i\) :
-
Minimum down time of unit \(i\).
- \(F_{i}\) :
-
Number of periods during which unit \(i\) must be initially scheduled off due to its minimum down time constraint.
- \(FT_{i}\) :
-
Coefficient of the fixed term of the minimum revenue function offered by unit \(i\).
- \(L_{i}\) :
-
Number of periods during which unit \(i\) must be initially scheduled on due to its minimum up time constraint.
- \(n\) :
-
Dimension of vector \(\mathbf {v}\).
- \(n_T\) :
-
Number of time periods.
- \(O^{d}_{hjt}\) :
-
Price of the \(h\)th energy block bid by consumer \(j\) in period \(t\).
- \(O^{g}_{bit}\) :
-
Price of the \(b\)th energy block offered by unit \(i\) in period \(t\).
- \(O_{it}^{su}\) :
-
Start-up offer price of unit \(i\) in period \(t\).
- \(P_{jt}^{d,max}\) :
-
Upper bound for the power consumption of consumer \(j\) in period \(t\).
- \(P_{jt}^{d,min}\) :
-
Lower bound for the power consumption of consumer \(j\) in period \(t\).
- \(P_{i0}^{g}\) :
-
Initial power output of unit \(i\).
- \(P_{it}^{g,max}\) :
-
Upper bound for the power output of unit \(i\) in period \(t\).
- \(P_{it}^{g,min}\) :
-
Lower bound for the power output of unit \(i\) in period \(t\).
- \(RD_i\) :
-
Ramp-down rate of unit \(i\).
- \(RU_i\) :
-
Ramp-up rate of unit \(i\).
- \(S_i^0\) :
-
Number of periods during which unit \(i\) has been scheduled off prior to the first period of the time span (end of period 0).
- \(SD_i\) :
-
Shutdown ramp rate of unit \(i\).
- \(SU_i\) :
-
Start-up ramp rate of unit \(i\).
- \(UT_i\) :
-
Minimum up time of unit \(i\).
- \(UT_i^{0}\) :
-
Number of periods during which unit \(i\) has been scheduled on prior to the first period of the time span (end of period 0).
- \(V_{i0}\) :
-
Initial on/off status of unit \(i\).
- \(VT_{bit}\) :
-
Slope of block \(b\) of the minimum revenue function offered by unit \(i\) in period \(t\).
- \(\gamma _{it}^{l,min}\) :
-
Lower bound for dual variable \(\gamma _{it}^l\).
- \(\gamma _{it}^{u,min}\) :
-
Lower bound for dual variable \(\gamma _{it}^u\).
- \(\delta _{hjt}^{d,max}\) :
-
Upper bound for the consumption in block \(h\) bid by consumer \(j\) in period \(t\).
- \(\delta _{bit}^{g,max}\) :
-
Upper bound for the production in block \(b\) offered by unit \(i\) in period \(t\).
- \(\epsilon _{it}^{min}\) :
-
Lower bound for dual variable \(\epsilon _{it}\).
- \(\xi _{it}^{min}\) :
-
Lower bound for dual variable \(\xi _{it}\).
- \(\sigma _{it}^{min}\) :
-
Lower bound for dual variable \(\sigma _{it}\).
1.5 Variables
- \(a_{it}\) :
-
Variable equal to the product \(v_{it}\gamma _{it}^l\).
- \(d_{it}\) :
-
Variable equal to the product \(v_{it}\gamma _{it}^u\).
- \(e_{it}\) :
-
Variable equal to the product \(v_{it}\xi _{it}\).
- \(k_{it}\) :
-
Variable equal to the product \(v_{it-1}\xi _{it}\).
- \(m_{it}\) :
-
Variable equal to the product \(v_{it}\epsilon _{it}\).
- \(o_{it}\) :
-
Variable equal to the product \(v_{it+1}\epsilon _{it}\).
- \(p_{jt}^{d}\) :
-
Power consumption of consumer \(j\) in period \(t\).
- \(p_{it}^{g}\) :
-
Power output of unit \(i\) in period \(t\).
- \(q_{it}\) :
-
Variable equal to the product \(v_{it}\sigma _{it}\).
- \(R_i\) :
-
Total revenue earned by unit \(i\).
- \(R_i^{min}\) :
-
Minimum revenue unit \(i\) is willing to earn.
- \(r_{it}\) :
-
Variable equal to the product \(v_{it-1}\sigma _{it}\).
- \(s_{it}\) :
-
Start-up offer cost of unit \(i\) in period \(t\).
- \(v_{it}\) :
-
Variable that is equal to \(1\) if unit \(i\) is scheduled on in period \(t\), being \(0\) otherwise.
- \(w_{i}\) :
-
Variable that is equal to \(0\) if unit \(i\) is scheduled off along the time span, being \(1\) otherwise.
- \(\alpha _{it}\) :
-
Dual variable related to the definition of \(p_{it}^g\) as the sum of the generation levels awarded to the generation offer blocks.
- \(\beta _{bit}^l\) :
-
Dual variable related to the constraint imposing the lower bound for \(\delta _{bit}^g\).
- \(\beta _{bit}^u\) :
-
Dual variable related to the constraint imposing the upper bound for \(\delta _{bit}^g\).
- \(\gamma _{it}^l\) :
-
Dual variable related to the constraint imposing the lower bound for \(p_{it}^{g}\).
- \(\gamma _{it}^u\) :
-
Dual variable related to the constraint imposing the upper bound for \(p_{it}^{g}\).
- \(\Delta R_i\) :
-
Revenue margin of unit \(i\).
- \(\delta _{hjt}^d\) :
-
Consumption level awarded to block \(h\) bid by consumer \(j\) in period \(t\).
- \(\delta _{bit}^g\) :
-
Generation level awarded to block \(b\) offered by unit \(i\) in period \(t\).
- \(\epsilon _{it}\) :
-
Dual variable related to the shutdown ramp rate constraint of unit \(i\) in period \(t\).
- \(\lambda _{t}\) :
-
Market-clearing price in period \(t\).
- \(\mu _{jt}^l\) :
-
Dual variable related to the constraint imposing the lower bound for \(p_{jt}^{d}\).
- \(\mu _{jt}^u\) :
-
Dual variable related to the constraint imposing the upper bound for \(p_{jt}^{d}\).
- \(\xi _{it}\) :
-
Dual variable related to the ramp-up and start-up ramp rate constraint of unit \(i\) in period \(t\).
- \(\pi _{jt}\) :
-
Dual variable related to the definition of \(p_{jt}^d\) as the sum of the consumption levels awarded to the demand bid blocks.
- \(\rho _{hjt}^l\) :
-
Dual variable related to the constraint imposing the lower bound for \(\delta _{hjt}^d\).
- \(\rho _{hjt}^u\) :
-
Dual variable related to the constraint imposing the upper bound for \(\delta _{hjt}^d\).
- \(\sigma _{it}\) :
-
Dual variable related to the ramp-down rate constraint of unit \(i\) in period \(t\).
1.6 Matrices and vectors
- \(\mathbf {A}\) :
-
Coefficient matrix associated with power balance constraints.
- \(\mathbf {B},\mathbf {C}\) :
-
Coefficient matrices associated with dispatching constraints other than power balance equations.
- \(\mathbf {b_1}\) :
-
Vector of the right-hand side coefficients of power balance constraints.
- \(\mathbf {b_2}\) :
-
Vector of the right-hand side coefficients of dispatching constraints other than power balance equations.
- \(\mathbf {c}\) :
-
Coefficient vector of the objective function of the lower-level primal problem.
- \(\mathbf {v}\) :
-
Vector of binary scheduling variables.
- \(\mathbf {y}\) :
-
Vector of continuous scheduling variables.
- \(\mathbf {z}\) :
-
Vector of dispatching variables.
- \(\varvec{\eta }\) :
-
Vector of dual variables associated with dispatching constraints other than power balance equations.
- \(\varvec{\lambda }\) :
-
Vector of market-clearing prices.
Rights and permissions
About this article
Cite this article
Fernández-Blanco, R., Arroyo, J.M. & Alguacil, N. Bilevel programming for price-based electricity auctions: a revenue-constrained case. EURO J Comput Optim 3, 163–195 (2015). https://doi.org/10.1007/s13675-015-0037-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13675-015-0037-8
Keywords
- Bilevel programming
- Mixed-integer programming
- Price-based market clearing
- Revenue-constrained auction model