Reformulation of a market clearing problem avoiding complementarity constraints, and its consequences Mehdi Madani*, Mathieu Van Vyve** *Louvain School of management, ** CORE Universit´ e Catholique de Louvain Aussois Combinatorial Optimization Workshop, January 2014
Introduction 1 Day-ahead Electricity Markets Example of order matching programs Day-Ahead Electricity Markets and Uniform Prices 2 Primal Program Duality and Linear Equilibrium Prices Equilibrium with block orders ? 3 Example Reformulation Block order selections A primal-dual framework Minimization problems under European rules Locally strengthened Benders cuts 4 A (simple) Benders decomposition Comparison with real data: numeric results Conclusion - comments 5
Introduction Day-ahead Markets: 24 periods (23 or 25 once a year) several areas/locations for bids + network constraints Both demand and offer bids (elastic demand) We are interested in uniform/linear prices .
Main kinds of orders: Hourly orders - (Monotonic) DEMAND / SUPPLY preference curves Block orders, i.e. ’binary orders’ Span multiple periods and ”fill-or-kill condition”: order must be entirely accepted or rejected.
A simple matching for hourly orders: max (100 × 15) x 1 + (50 × 10) x 2 − (120 × 5) x 3 − (30 × 12) x 4 x i ≥ 0 s . t . x i ≤ 1 ∀ i ∈ { 1 , 2 , 3 , 4 } [ s i ] (1) 100 x 1 + 50 x 2 = 120 x 3 + 30 x 4 [ p ] (2) optimum value = 1100 for x 1 = 1 , x 2 = 2 5 , x 3 = 1 , x 4 = 0 Quantity exchanged: 100 + 2 550 = 120 MW.
min s 1 + s 2 + s 3 + s 4 s i ≥ 0 , p s . t . s 1 + 100 p ≥ 1500 [ x 1 ] (3) s 2 + 50 p ≥ 500 [ x 2 ] (4) s 3 − 120 p ≥ − 600 [ x 3 ] (5) s 4 − 30 p ≥ − 360 [ x 4 ] (6) optimum value = 1100 for p = 10 , s 1 = 500 , s 2 = 0 , s 3 = 600 , s 4 = 0 Marginal Price: 10 EUR/MW s i is the surplus of order i Equilibrium: 120 MW exchanged at 10 EUR / MW . Quantity exchanged: primal program Equilibrium Price: dual program Welfare maximization ⇔ Walrasian equilibrium (see dual and complementarity constraints )
Primal (welfare maximizing) program: � Q i P i x i + � Q j P j y j max x i , y j i j subject to: x i ≤ 1 ∀ i ∈ I [ s i ] (7) y j ≤ 1 ∀ j ∈ J ”[ s j ]” (8) � Q i x i + � Q j y j = 0 [ p m ] (9) i j x i , y j ≥ 0 , y j ∈ Z . (10) Q < 0 for sell orders and Q > 0 for buy orders !
Dual (continuous relax.): � � min s i + s j s i , s j i j subject to: s i + Q i p m ≥ Q i P i ∀ i ∈ I [ x i ] (11) s j + Q j p m ≥ Q j P j ∀ j ∈ J [ y j ] (12) s i , s j ≥ 0 (13) Complementarity Constraints: s i (1 − x i ) = 0 ∀ i ∈ I (14) s j (1 − y j ) = 0 ∀ j ∈ J (15) x i ( s i + Q i p m − Q i P i ) = 0 ∀ i ∈ I (16) y j ( s j + Q j p m − Q j P j ) = 0 ∀ j ∈ J (17)
If x i = 1 − → complem. constr. of type (16) x i = 1 ⇒ s i = Q i ( P i − p m ) ≥ 0 p m ≥ P i for sell orders (when Q < 0) P i ≥ p m for buy orders (when Q > 0) Order is In-The-Money (ITM) or At-The-Money (ATM) If 0 < x i < 1 − → complem. constr. of type (14) and (16) (0 < x i < 1) ⇒ s i = Q i ( P i − p m ) = 0 ⇒ P i = p m (order is ATM) If x i = 0 − → complem. constr. of type (14) and dual (11) ( x i = 0) ⇒ ( s i = 0) ⇒ Q i ( P i − p m ) ≤ 0 (order is ATM or OTM) Or also: ITM orders are executed !
Classical MPCC formulation Of European market rules Primal constraints (feasible dispatch) Dual program (prices) Walrasian equilibrium Paradoxically Related compl. constraints rejected block orders allowed
Equilibrium with block orders ?...
Classical MPCC formulation Of European market rules Primal constraints (feasible dispatch) Dual program (prices) Walrasian equilibrium Paradoxically Related compl. constraints rejected block orders allowed
*upper bound* on the actual loss of executed order j Strong duality <-> ‘ relaxed complementarity constraints ’
Maximizing Welfare, new formulation: � � Q i P i x i + Q j P j y j max x i , y j , p m , s i , s j i j subject to: x i ≤ 1 ∀ i ∈ I [ s i ] (18) y j ≤ 1 ∀ j ∈ J ”[ s j ]” (19) � Q i x i + � Q j y j = 0 [ p m ] (20) i j x i , y j ≥ 0 , y j ∈ Z (21) s i + Q i p m ≥ Q i P i ∀ i ∈ I [ x i ] (22) s j + Q j p m ≥ Q j P j − M j (1 − y j ) ∀ j ∈ J ”[ y j ]” (23) � Q i P i x i + � Q j P j y j ≥ � � s i + s j (24) i j i j s i , s j ≥ 0 , param . M j >> 0 (25)
Maximizing Welfare, new formulation, quadratic case: 0 ) x 2 � Q i P i x i + � Q i ( P i 1 − P i i � Q j P j y j max 2 + x i , y j , p m , s i , s j i i j subject to: x i ≤ 1 (26) y j ≤ 1 (27) � � Q i x i + Q j y j = 0 (28) i j x i , y j ≥ 0 , y j ∈ Z (29) s i + Q i p m ≥ Q i P i + Q i ( P i 1 − P i 0 ) x i (30) s j + Q j p m ≥ Q j P j − M j (1 − y j ) (31) � Q i P i x i + � Q j P j y j + � Q i ( P i 1 − P i 0 ) x 2 � � i ≥ s i + s j (32) i j i i j s i , s j ≥ 0 , param . M j >> 0 (33)
*upper bound* on the actual loss of executed order j Strong duality <-> ‘ relaxed complementarity constraints ’
block order selection J = J 0 ˙ ∪ J 1 Primal: � Q i P i x i + � Q j P j y j max x i , y j i j subject to: x i ≤ 1 ∀ i ∈ I [ s i ] (34) y j ≤ 1 ∀ j ∈ J [ s j ] (35) y j 0 ≤ 0 ∀ j 0 ∈ J 0 ⊆ J [ d 0 j 0 ] (36) − y j 1 ≤ − 1 ∀ j 1 ∈ J 1 ⊆ J [ d 1 j 1 ] (37) � Q i x i + � Q j y j = 0 , [ p m ] (38) i j x i , y j ≥ 0 (39)
� � � Dual: min s i + s j − d 1 j 1 j 1 ∈ J 1 i j subject to: s i + Q i p m ≥ Q i P i ∀ i ∈ I [ x i ] (40) s j 0 + d 0 j 0 + Q j 0 p m ≥ Q j 0 P j 0 ∀ j 0 ∈ J 0 [ y j 0 ] (41) s j 1 − d 1 j 1 + Q j 1 p m ≥ Q j 1 P j 1 ∀ j 1 ∈ J 1 [ y j 1 ] (42) s i , s j , d j 0 , d j 1 , u m ≥ 0 (43) Complementarity constraints s i (1 − x i ) = 0 ∀ i ∈ I (44) s j 0 (1 − y j 0 ) = 0 ∀ j ∈ J (45) s j 1 (1 − y j 1 ) = 0 ∀ j ∈ J (46) x i ( s i + Q i p m − Q i P i ) = 0 ∀ i ∈ I (47) y j 0 ( s j 0 + d 0 j 0 + Q j 0 p m − Q j 0 P j 0 ) = 0 ∀ j ∈ J 0 (48) y j 1 ( s j 1 − d 1 j 1 + Q j 1 p m − Q j 1 P j 1 ) = 0 ∀ j ∈ J 1 (49) y j 0 d 0 j 0 = 0 , (1 − x j 1 ) d 1 j 1 = 0 ∀ j 0 ∈ J 0 , ∀ j 1 ∈ J 1 (50)
With primal, dual and complementarity constraints: d 0 j is an *upper bound* on the opportunity cost of order j d 1 j is an *upper bound* on the actual loss of (executed) order j Block order selection not known ’ex ante’. Goal: according to some criterion/obj. fun., determine: a block selection J = J 0 ˙ ∪ J 1 optimal primal and dual points for this block selection (pair of problems above) Linear constraints, no new binary variables ...Strong duality + Big M’s: complementarity constraints ↔ equality of objective functions dual constraints adapted to the block order selection ↔ Big M’s...
Primal-dual framework: Feasible Set LMM defined by: x i ≤ 1 ∀ i ∈ I (51) y j ≤ 1 ∀ j ∈ J (52) � Q i x i + � Q j y j = 0 (53) i j x i , y j ≥ 0 , y j ∈ Z (54) s i + Q i p m ≥ Q i P i ∀ i ∈ I (55) s j + d 0 j − d 1 j + Q j p m ≥ Q j P j ∀ j ∈ J (56) d 0 j ≤ M j (1 − y j ) ∀ j ∈ J (57) d 1 j ≤ M j y j ∀ j ∈ J (58) s i , s j , d 0 j , d 1 j ≥ 0 , param . : M j >> 0 (59) � Q i P i x i + � Q j P j y j ≥ ... = � � � s i + s j − d 1 j 1 (60) i j i j j 1 ∈ J 1
Minimization problems under European rules European market rules ? No paradoxically accepted block orders: add to LMM (the ’primal-dual framework’) constraints d 1 j = 0 ∀ j ∈ J d 0 j ≥ 0 *upper bound* on the opportunity cost of block order j ... � Minimizing opportunity costs ? min d 0 j � Minimizing # PRBs ? min z 0 j s.t. z 0 j ≥ d 0 j & z 0 j ∈ Z , ∀ j ∈ J
No complementarity constraints, no more binary variables than block orders Has been tested to maximize welfare using real data from Apx-Endex: works great, solves real large-scale (MILP) instances Also works when adding a network model (several areas, several periods) Could consider balance between multiple criteria (op. costs, welfare) Derivation of a powerful Benders decomposition procedure Would also work when considering linearly interpolated orders: Strong duality for convex quadratic programs (Dorn’s Dual) One dense convex quadratic constraint (eq. of objective functions) Not tractable ’as is’, but ... Benders decomposition with locally strengthened cuts works very well in this setting (see below)
Introduction 1 Day-ahead Electricity Markets Example of order matching programs Day-Ahead Electricity Markets and Uniform Prices 2 Primal Program Duality and Linear Equilibrium Prices Equilibrium with block orders ? 3 Example Reformulation Block order selections A primal-dual framework Minimization problems under European rules Locally strengthened Benders cuts 4 A (simple) Benders decomposition Comparison with real data: numeric results Conclusion - comments 5
Recommend
More recommend