License: CC BY 4.0
arXiv:2403.04609v1 [math.OC] 07 Mar 2024

A Market Mechanism for a Two-stage Settlement Electricity Market with Energy Storage

Rajni Kant Bansal, Enrique Mallada, and Patricia Hidalgo-Gonzalez Rajni Kant Bansal and Patricia Hidalgo-Gonzalez are with the University of California San Diego, USA. Emails: {rabansal, phidalgogonzalez}@ucsd.eduEnrique Mallada is with the Johns Hopkins University, USA. Email: {mallada}@jhu.edu
Abstract

Electricity markets typically clear in two stages: a day-ahead market and a real-time market. In this paper, we propose market mechanisms for a two-stage multi-interval electricity market with energy storage, generators, and demand uncertainties. We consider two possible mixed bidding strategies: storage first bids cycle depths in the day ahead and then charge-discharge power bids in the real-time market for any last-minute adjustments. While the first strategy only considers day-ahead decisions from an individual participant’s perspective as part of their individual optimization formulation, the second strategy accounts for both the market operator’s and participants’ perspectives. We demonstrate that the competitive equilibrium exists uniquely for both mechanisms. However, accounting for the day-ahead decisions in the bidding function has several advantages. Numerical experiments using New York ISO data provide bounds on the proposed market mechanism.

I Introduction

Energy storage systems, like grid-scale lithium-ion batteries, that are characterized by a fast response time, high ramp rate, their ability to complement variability in renewable energy dispatch, etc., are being considered across the grid for essential services. Recent policy steps from regulators allowing market participation of emerging technologies, including energy storage, have further increased its adoption in electricity markets [1, 2, 3]. In particular, several works have investigated the benefits of energy storage for system reliability and power quality, e.g., supporting renewable energy resources, transmission and distribution networks, etc. [4, 5, 6, 7, 8]. However, determining energy storage’s marginal operation costs remains a key challenge in resource participation and efficient market clearing. Unlike conventional fuel-based generators, where marginal costs depend on energy supply, or variable renewable energy resources, with nearly zero operating costs, the degradation incurred due to charge-discharge cycles constitutes the bulk of the operation cost for energy storage.

Recent efforts have developed participation bids while accounting for the operation cost of storage in two ways. The first approach relies on creating an optimal sequence of charge-discharge energy bids, i.e., price-quantity pairs, typically using a Bilevel optimization framework with the market operator as a follower [9, 10, 11]. However, the resulting market mechanisms based on energy bids require stringent conditions to align with the social optimum and result in incentive-misaligned market outcomes [12]. The second approach relies on develo** a state of charge (SoC) based charge-discharge bids to account for SoC-dependent energy storage physical characteristics, e.g., storage degradation [13, 14]. These strategies either assume or estimate unknown prices in markets. Further, the formulations typically consider a single stage, e.g., real-time market, and do not take into account the impact of the decisions in the day-ahead market on the subsequent decisions in the real-time market. Besides, these works provide little insight into the impact of storage decisions on the resulting market equilibrium.

In this paper, we study energy storage participation in a two-stage multi-interval market with generators under demand uncertainties. We propose mixed bidding market mechanisms with storage bidding an energy-cycling function, i.e., charge-discharge cycle depths as a function of per-cycle prices, while a generator bids a supply function in the day-ahead market. The day-ahead market clears efficiently based on the forecast for the next day. The formulation is implemented via a convex optimization problem that utilizes the convex storage degradation cost function as a combination of the Rainflow cycle counting algorithm with a cycle stress function [15, 12].

The cost of degradation depends on temporally coupled charge-discharge cycles. Such temporal coupling makes it challenging to design bids for the real-time stage that clears at a relatively faster timescale with adjustments to day-ahead commitments. To address this, we propose two possible participation strategies: 1) Participants account for their day-ahead decisions by including them in their individual problems, i.e., profit maximization. More specifically, we propose a constrained energy bid for storage in the real-time market, such that the storage physical characteristics, e.g., storage degradation function, remain the same. 2) Participants account for their day-ahead market decisions in both the bidding function and individual problems. A generator bids a supply function in the real-time market, similar to the day-ahead stage. The real-time market clearing incorporates a rolling time horizon window that includes binding and advisory intervals. The market operator optimizes the dispatch decision with an updated forecast for the demand.

Contributions

Our work has multiple contributions. First, we extend the previously proposed cycle-based market mechanism [12] for the day-ahead market and provide a uniform price market mechanism for storage. The extended design allows market operators to generate a uniform per-cycle price for various storage units, similar to the case of generators in the existing market design. This modification is necessary for the real-time market design. Second, we study two mixed market mechanisms and the resulting competitive equilibrium in the real-time market. It assumes participants as price-takers, and we show that the equilibrium exists uniquely. Third, we provide a case study for the proposed market mechanism and do a comparative analysis with the social planner problem as we change the physical characteristics of energy storage. Our analysis shows that the proposed mechanism performs within the bounds of the benchmark social planner problem, meaning a bounded loss in the incentive alignment with participation in the real-time market.

The rest of the paper is organized as follows. In section II we introduce the market mechanisms for day-ahead and real-time market. The uniform price market mechanism for the day-ahead market is discussed in Section III. In Section IV we compare the two mixed market mechanisms and analyze the existence of competitive equilibrium for the proposed. Section V discusses the case study and Section VI concludes the paper.

Notation

We use ||||22||\cdot||_{2}^{2}| | ⋅ | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT to denote the Euclidean norm and ,\langle\cdot,\cdot\rangle⟨ ⋅ , ⋅ ⟩ to denote the inner product. Also, f(a;b)𝑓𝑎𝑏f(a;b)italic_f ( italic_a ; italic_b ) denotes a function of independent variable a𝑎aitalic_a with b𝑏bitalic_b as a parameter.

II Market Model

In this section, we formulate the social planner problem and describe the proposed market mechanism for a two-stage settlement multi-interval electricity market.

II-A Model Preliminaries

Consider a two-stage market consisting of a day-ahead and a real-time market, where a set 𝒢𝒢\mathcal{G}caligraphic_G of generators and a set 𝒮𝒮\mathcal{S}caligraphic_S of storage units participate to meet inelastic demand over a time horizon t𝒯:={1,,T}t\in\mathcal{T}\mathrel{\mathop{:}}=\{1,...,T\}italic_t ∈ caligraphic_T : = { 1 , … , italic_T }. We denote the demand forecast in day-ahead as ddTsuperscript𝑑𝑑superscript𝑇d^{d}\in\mathbb{R}^{T}italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT and the forecast error in real-time as drTsuperscript𝑑𝑟superscript𝑇d^{r}\in\mathbb{R}^{T}italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT. Thus, the net demand dT𝑑superscript𝑇d\in\mathbb{R}^{T}italic_d ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over two stages is given by

d:=dd+dr\displaystyle d\mathrel{\mathop{:}}=d^{d}+d^{r}italic_d : = italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT (1)

Each generator j𝒢𝑗𝒢j\in\mathcal{G}italic_j ∈ caligraphic_G dispatches gjdTsuperscriptsubscript𝑔𝑗𝑑superscript𝑇g_{j}^{d}\in\mathbb{R}^{T}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT and gjrTsuperscriptsubscript𝑔𝑗𝑟superscript𝑇g_{j}^{r}\in\mathbb{R}^{T}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT over the time horizon 𝒯𝒯\mathcal{T}caligraphic_T in the day-ahead and real-time markets, respectively. For v{d,r}𝑣𝑑𝑟v\in\{d,r\}italic_v ∈ { italic_d , italic_r }, the stage-wise and overall power dispatch of generator j𝑗jitalic_j is subject to capacity constraints

g¯jgj,tvg¯j,t𝒯formulae-sequencesubscript¯𝑔𝑗superscriptsubscript𝑔𝑗𝑡𝑣subscript¯𝑔𝑗𝑡𝒯\displaystyle\underline{g}_{j}\leq g_{j,t}^{v}\leq\overline{g}_{j},\ t\in% \mathcal{T}under¯ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_g start_POSTSUBSCRIPT italic_j , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ≤ over¯ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_t ∈ caligraphic_T (2a)
g¯jgj,td+gj,trg¯j,t𝒯formulae-sequencesubscript¯𝑔𝑗superscriptsubscript𝑔𝑗𝑡𝑑superscriptsubscript𝑔𝑗𝑡𝑟subscript¯𝑔𝑗𝑡𝒯\displaystyle\underline{g}_{j}\leq g_{j,t}^{d}+g_{j,t}^{r}\leq\overline{g}_{j}% ,\ t\in\mathcal{T}under¯ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_g start_POSTSUBSCRIPT italic_j , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_g start_POSTSUBSCRIPT italic_j , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≤ over¯ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_t ∈ caligraphic_T (2b)

where g¯j,g¯jsubscript¯𝑔𝑗subscript¯𝑔𝑗\underline{g}_{j},\overline{g}_{j}under¯ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , over¯ start_ARG italic_g end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT denote the minimum and maximum generation limits, respectively. Similarly, each energy storage s𝒮𝑠𝒮s\in\mathcal{S}italic_s ∈ caligraphic_S of capacity Essubscript𝐸𝑠E_{s}italic_E start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT dispatches usdTand usrTsuperscriptsubscript𝑢𝑠𝑑superscript𝑇and superscriptsubscript𝑢𝑠𝑟superscript𝑇u_{s}^{d}\in\mathbb{R}^{T}\text{and }u_{s}^{r}\in\mathbb{R}^{T}italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT and italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT in the day-ahead and real-time markets, respectively. The individual and total energy dispatch, i.e., discharge (positive) or charge (negative) rate, is bounded as,

u¯sus,tvu¯s,t𝒯formulae-sequencesubscript¯𝑢𝑠superscriptsubscript𝑢𝑠𝑡𝑣subscript¯𝑢𝑠𝑡𝒯\displaystyle\underline{u}_{s}\leq u_{s,t}^{v}\leq\overline{u}_{s},\ t\in% \mathcal{T}under¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ≤ italic_u start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ≤ over¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_t ∈ caligraphic_T (3a)
u¯sus,td+us,tru¯s,t𝒯formulae-sequencesubscript¯𝑢𝑠superscriptsubscript𝑢𝑠𝑡𝑑superscriptsubscript𝑢𝑠𝑡𝑟subscript¯𝑢𝑠𝑡𝒯\displaystyle\underline{u}_{s}\leq u_{s,t}^{d}+u_{s,t}^{r}\leq\overline{u}_{s}% ,\ t\in\mathcal{T}under¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ≤ italic_u start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_u start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≤ over¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_t ∈ caligraphic_T (3b)

where v{d,r}𝑣𝑑𝑟v\in\{d,r\}italic_v ∈ { italic_d , italic_r }. The pair u¯s,u¯ssubscript¯𝑢𝑠subscript¯𝑢𝑠\underline{u}_{s},\overline{u}_{s}under¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , over¯ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT denote the minimum and maximum storage rate limits, respectively. The net output of generator j𝑗jitalic_j and storage s𝑠sitalic_s over two stages is denoted as,

gj:=gjd+gjr,j𝒢,us:=usd+usr,s𝒮\displaystyle g_{j}\mathrel{\mathop{:}}=g_{j}^{d}+g_{j}^{r},j\in\mathcal{G},\ % u_{s}\mathrel{\mathop{:}}=u_{s}^{d}+u_{s}^{r},s\in\mathcal{S}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT : = italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_j ∈ caligraphic_G , italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT : = italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_s ∈ caligraphic_S (4)

We denote the stored energy in storage s𝑠sitalic_s by a normalized State of Charge (SoC) profile xsdT+1superscriptsubscript𝑥𝑠𝑑superscript𝑇1x_{s}^{d}\in\mathbb{R}^{T+1}italic_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T + 1 end_POSTSUPERSCRIPT with initial SoC xs,0dsuperscriptsubscript𝑥𝑠0𝑑x_{s,0}^{d}italic_x start_POSTSUBSCRIPT italic_s , 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT associated with the day-ahead storage dispatch usdsuperscriptsubscript𝑢𝑠𝑑u_{s}^{d}italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. The SoC evolves over time horizon 𝒯𝒯\mathcal{T}caligraphic_T as,

xs,tdxs,t1d=1Esus,td,s𝒮,t𝒯formulae-sequencesuperscriptsubscript𝑥𝑠𝑡𝑑superscriptsubscript𝑥𝑠𝑡1𝑑1subscript𝐸𝑠superscriptsubscript𝑢𝑠𝑡𝑑formulae-sequencefor-all𝑠𝒮𝑡𝒯\displaystyle x_{s,t}^{d}-x_{s,t-1}^{d}=\frac{1}{E_{s}}u_{s,t}^{d},\forall s% \in\mathcal{S},t\in\mathcal{T}italic_x start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT - italic_x start_POSTSUBSCRIPT italic_s , italic_t - 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = divide start_ARG 1 end_ARG start_ARG italic_E start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG italic_u start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , ∀ italic_s ∈ caligraphic_S , italic_t ∈ caligraphic_T (5)

Analogously, we denote SoC profile xsT+1subscript𝑥𝑠superscript𝑇1x_{s}\in\mathbb{R}^{T+1}italic_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T + 1 end_POSTSUPERSCRIPT with initial SoC xs,0subscript𝑥𝑠0x_{s,0}italic_x start_POSTSUBSCRIPT italic_s , 0 end_POSTSUBSCRIPT corresponding to the net storage dispatch ussubscript𝑢𝑠u_{s}italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, such that the SoC evolves as

xs,txs,t1=1Esus,t,s𝒮,t𝒯formulae-sequencesubscript𝑥𝑠𝑡subscript𝑥𝑠𝑡11subscript𝐸𝑠subscript𝑢𝑠𝑡formulae-sequencefor-all𝑠𝒮𝑡𝒯\displaystyle x_{s,t}-x_{s,t-1}=\frac{1}{E_{s}}u_{s,t},\forall s\in\mathcal{S}% ,t\in\mathcal{T}italic_x start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT - italic_x start_POSTSUBSCRIPT italic_s , italic_t - 1 end_POSTSUBSCRIPT = divide start_ARG 1 end_ARG start_ARG italic_E start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG italic_u start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT , ∀ italic_s ∈ caligraphic_S , italic_t ∈ caligraphic_T (6)

The normalized SoC is bounded as,

0xs,td1,s𝒮,t𝒯formulae-sequence0superscriptsubscript𝑥𝑠𝑡𝑑1formulae-sequence𝑠𝒮𝑡𝒯\displaystyle 0\leq x_{s,t}^{d}\leq 1,s\in\mathcal{S},t\in\mathcal{T}0 ≤ italic_x start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ≤ 1 , italic_s ∈ caligraphic_S , italic_t ∈ caligraphic_T (7a)
0xs,t1,s𝒮,t𝒯formulae-sequence0subscript𝑥𝑠𝑡1formulae-sequence𝑠𝒮𝑡𝒯\displaystyle 0\leq x_{s,t}\leq 1,s\in\mathcal{S},t\in\mathcal{T}0 ≤ italic_x start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT ≤ 1 , italic_s ∈ caligraphic_S , italic_t ∈ caligraphic_T (7b)

Lastly, we assume periodicity constraints on storage to account for its cyclic nature in current markets111However, we relax such a periodicity constraint in real-time to allow storage for any immediate adjustments for system reliability., i.e.,

xs,0d=xs,Tdsuperscriptsubscript𝑥𝑠0𝑑superscriptsubscript𝑥𝑠𝑇𝑑\displaystyle x_{s,0}^{d}=x_{s,T}^{d}italic_x start_POSTSUBSCRIPT italic_s , 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_x start_POSTSUBSCRIPT italic_s , italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (8a)
xs,0=xs,Tsubscript𝑥𝑠0subscript𝑥𝑠𝑇\displaystyle x_{s,0}=x_{s,T}italic_x start_POSTSUBSCRIPT italic_s , 0 end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT italic_s , italic_T end_POSTSUBSCRIPT (8b)

Substituting (6) in (II-A), we get

t𝒯us,td=0,s𝒮formulae-sequencesubscript𝑡𝒯superscriptsubscript𝑢𝑠𝑡𝑑0𝑠𝒮\displaystyle\sum_{t\in\mathcal{T}}u_{s,t}^{d}=0,\ s\in\mathcal{S}∑ start_POSTSUBSCRIPT italic_t ∈ caligraphic_T end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = 0 , italic_s ∈ caligraphic_S (9a)
t𝒯us,t=0,s𝒮formulae-sequencesubscript𝑡𝒯subscript𝑢𝑠𝑡0𝑠𝒮\displaystyle\sum_{t\in\mathcal{T}}u_{s,t}=0,\ s\in\mathcal{S}∑ start_POSTSUBSCRIPT italic_t ∈ caligraphic_T end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT = 0 , italic_s ∈ caligraphic_S (9b)

II-B Social Planner

The social planner’s problem, assuming perfect foresight is given by

mingj,j𝒢,us,s𝒮,xs,s𝒮subscriptformulae-sequencesubscript𝑔𝑗𝑗𝒢subscript𝑢𝑠𝑠𝒮subscript𝑥𝑠𝑠𝒮\displaystyle\min_{g_{j},j\in\mathcal{G},u_{s},s\in\mathcal{S},x_{s},s\in% \mathcal{S}}roman_min start_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_j ∈ caligraphic_G , italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_s ∈ caligraphic_S , italic_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , italic_s ∈ caligraphic_S end_POSTSUBSCRIPT j𝒢Cj(gj)+s𝒢Cs(us)subscript𝑗𝒢subscript𝐶𝑗subscript𝑔𝑗subscript𝑠𝒢subscript𝐶𝑠subscript𝑢𝑠\displaystyle\ \sum_{j\in\mathcal{G}}C_{j}(g_{j})+\sum_{s\in\mathcal{G}}C_{s}(% u_{s})∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_G end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) (10a)
s.t.j𝒢gj+s𝒮us=ds.t.subscript𝑗𝒢subscript𝑔𝑗subscript𝑠𝒮subscript𝑢𝑠𝑑\displaystyle\textrm{s.t.}\sum_{j\in\mathcal{G}}g_{j}+\sum_{s\in\mathcal{S}}u_% {s}=ds.t. ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = italic_d (10b)
(2b),(3b),(6),(7b),(9b)italic-(2bitalic-)italic-(3bitalic-)italic-(6italic-)italic-(7bitalic-)italic-(9bitalic-)\displaystyle\eqref{gen_cap_total},\eqref{str_cap_total},\eqref{SoC_evolve_all% },\eqref{SoC_ineq_total},\eqref{SoC_periodicity_total}italic_( italic_) , italic_( italic_) , italic_( italic_) , italic_( italic_) , italic_( italic_)

where (10b) denotes the power balance constraint over two stages. In this paper, we assume a quadratic cost function for the generators, given by

Cj(gj)=cj2t𝒯gj,t2+ajt𝒯gj,tsubscript𝐶𝑗subscript𝑔𝑗subscript𝑐𝑗2subscript𝑡𝒯superscriptsubscript𝑔𝑗𝑡2subscript𝑎𝑗subscript𝑡𝒯subscript𝑔𝑗𝑡\displaystyle C_{j}(g_{j})=\frac{c_{j}}{2}\sum_{t\in\mathcal{T}}g_{j,t}^{2}+a_% {j}\sum_{t\in\mathcal{T}}g_{j,t}italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = divide start_ARG italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ∑ start_POSTSUBSCRIPT italic_t ∈ caligraphic_T end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_a start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_t ∈ caligraphic_T end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j , italic_t end_POSTSUBSCRIPT (11)

where cj,ajsubscript𝑐𝑗subscript𝑎𝑗c_{j},a_{j}italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_a start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are the cost coefficients222For ease of analysis, we assume that aj=0subscript𝑎𝑗0a_{j}=0italic_a start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0. However, the analysis is generalizable for the case aj0subscript𝑎𝑗0a_{j}\neq 0italic_a start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≠ 0.. For storage s𝑠sitalic_s, we adopt the convex cycle-based degradation cost as its operational cost. It combines the Rainflow cycle counting algorithm with a cycle stress function to identify and penalize the cost of charge-discharge cycles [12]. The cost function is given by

Cs(us)=bs2νsTνs=bs2usTN(us)TN(us)ussubscript𝐶𝑠subscript𝑢𝑠subscript𝑏𝑠2superscriptsubscript𝜈𝑠𝑇subscript𝜈𝑠subscript𝑏𝑠2superscriptsubscript𝑢𝑠𝑇𝑁superscriptsubscript𝑢𝑠𝑇𝑁subscript𝑢𝑠subscript𝑢𝑠\displaystyle C_{s}(u_{s})=\frac{b_{s}}{2}\nu_{s}^{T}\nu_{s}=\frac{b_{s}}{2}u_% {s}^{T}N(u_{s})^{T}N(u_{s})u_{s}italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) = divide start_ARG italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = divide start_ARG italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT (12)

where bssubscript𝑏𝑠b_{s}italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is the empirical cost coefficient. Also, νsTsubscript𝜈𝑠superscript𝑇\nu_{s}\in\mathbb{R}^{T}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT represents the vector of half-cycle depths created from the Rainflow algorithm, which maps a storage dispatch profile to associated charge-discharge half-cycles, such that

νs:=Rainflow(us)=N(us)us\displaystyle\nu_{s}\mathrel{\mathop{:}}=Rainflow(u_{s})=N(u_{s})u_{s}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT : = italic_R italic_a italic_i italic_n italic_f italic_l italic_o italic_w ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) = italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT (13)

Here the matrix N(us)𝑁subscript𝑢𝑠N(u_{s})italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) is a function of the storage dispatch ussubscript𝑢𝑠u_{s}italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and represents the Rainflow map between the storage dispatch profile and half-cycle depths. See, e.g., [12] for more details.

II-C Two-Stage Market Mechanism

In this subsection, we describe the two-stage market clearing, as shown in Figure 1.

Refer to caption
Figure 1: Two-stage Mixed Market Mechanism.

II-C1 Day-Ahead Market

: Each generator j𝑗jitalic_j submits a supply function parameterized by αjdsuperscriptsubscript𝛼𝑗𝑑\alpha_{j}^{d}\in\mathbb{R}italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R indicating its willingness to participate in day-ahead market as,

gjd=αjdλdsuperscriptsubscript𝑔𝑗𝑑superscriptsubscript𝛼𝑗𝑑superscript𝜆𝑑\displaystyle g_{j}^{d}=\alpha_{j}^{d}\lambda^{d}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (14)

where λdTsuperscript𝜆𝑑superscript𝑇\lambda^{d}\in\mathbb{R}^{T}italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT denotes the clearing prices in the day ahead. Analogously, each storage s𝑠sitalic_s submits an energy cycling function parameterized by βsdsuperscriptsubscript𝛽𝑠𝑑\beta_{s}^{d}\in\mathbb{R}italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R that maps cycle depths νsdTsuperscriptsubscript𝜈𝑠𝑑superscript𝑇\nu_{s}^{d}\in\mathbb{R}^{T}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT to per cycle prices θsdTsuperscriptsubscript𝜃𝑠𝑑superscript𝑇\theta_{s}^{d}\in\mathbb{R}^{T}italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT, as

νsd=βsdθsdsuperscriptsubscript𝜈𝑠𝑑superscriptsubscript𝛽𝑠𝑑superscriptsubscript𝜃𝑠𝑑\displaystyle\nu_{s}^{d}=\beta_{s}^{d}\theta_{s}^{d}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (15)

The market operator collects all the bids and solves the day-ahead market clearing problem, given by

mingjd,j𝒢,(usd,νsd),s𝒮subscriptformulae-sequencesuperscriptsubscript𝑔𝑗𝑑𝑗𝒢superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝜈𝑠𝑑𝑠𝒮\displaystyle\min_{g_{j}^{d},j\in\mathcal{G},(u_{s}^{d},\nu_{s}^{d}),s\in% \mathcal{S}}roman_min start_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_j ∈ caligraphic_G , ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) , italic_s ∈ caligraphic_S end_POSTSUBSCRIPT j𝒢t𝒯(gj,td)22αj+s𝒮t𝒯(νs,td)22βssubscript𝑗𝒢subscript𝑡𝒯superscriptsuperscriptsubscript𝑔𝑗𝑡𝑑22subscript𝛼𝑗subscript𝑠𝒮subscript𝑡𝒯superscriptsuperscriptsubscript𝜈𝑠𝑡𝑑22subscript𝛽𝑠\displaystyle\ \sum_{j\in\mathcal{G}}\sum_{t\in\mathcal{T}}\frac{(g_{j,t}^{d})% ^{2}}{2\alpha_{j}}\!+\!\!\sum_{s\in\mathcal{S}}\sum_{t\in\mathcal{T}}\frac{(% \nu_{s,t}^{d})^{2}}{2\beta_{s}}\!∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_t ∈ caligraphic_T end_POSTSUBSCRIPT divide start_ARG ( italic_g start_POSTSUBSCRIPT italic_j , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_t ∈ caligraphic_T end_POSTSUBSCRIPT divide start_ARG ( italic_ν start_POSTSUBSCRIPT italic_s , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG (16a)
s.t. j𝒢gjd+s𝒮usd=ddsubscript𝑗𝒢superscriptsubscript𝑔𝑗𝑑subscript𝑠𝒮superscriptsubscript𝑢𝑠𝑑superscript𝑑𝑑\displaystyle\sum_{j\in\mathcal{G}}g_{j}^{d}+\sum_{s\in\mathcal{S}}u_{s}^{d}=d% ^{d}∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (16b)
νsd=N(usd)usdsuperscriptsubscript𝜈𝑠𝑑𝑁superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑑\displaystyle\nu_{s}^{d}=N(u_{s}^{d})u_{s}^{d}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (16c)
(2a),(3a),(9a)italic-(2aitalic-)italic-(3aitalic-)italic-(9aitalic-)\displaystyle\eqref{gen_cap_individual},\eqref{str_cap_individual},\eqref{SoC_% periodicity_da}italic_( italic_) , italic_( italic_) , italic_( italic_)

where (16c) denotes the constraint associated with the Rainflow algorithm. The market clearing gives the optimal dispatch and prices, such that generator j𝑗jitalic_j produces gjsubscript𝑔𝑗g_{j}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT and gets paid (λd)Tgjdsuperscriptsuperscript𝜆𝑑𝑇superscriptsubscript𝑔𝑗𝑑(\lambda^{d})^{T}g_{j}^{d}( italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT while storage s𝑠sitalic_s produces a cycle depth schedule νssubscript𝜈𝑠\nu_{s}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and gets paid (θsd)Tνsdsuperscriptsuperscriptsubscript𝜃𝑠𝑑𝑇superscriptsubscript𝜈𝑠𝑑(\theta_{s}^{d})^{T}\nu_{s}^{d}( italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. Here the prices λd,θsdsuperscript𝜆𝑑superscriptsubscript𝜃𝑠𝑑\lambda^{d},\theta_{s}^{d}italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT are given by the dual variables corresponding to the constraints (16b) and (16c), respectively.

In the day-ahead market, participants are competing against each other to maximize their profit. We assume participants as price-takers such that the individual problems of generator j𝑗jitalic_j, is

maxgjdλd,gjdCj(gjd),s.t.(14)subscriptsuperscriptsubscript𝑔𝑗𝑑superscript𝜆𝑑superscriptsubscript𝑔𝑗𝑑subscript𝐶𝑗superscriptsubscript𝑔𝑗𝑑s.t.italic-(14italic-)\displaystyle\max_{g_{j}^{d}}\ \langle\lambda^{d},g_{j}^{d}\rangle-C_{j}(g_{j}% ^{d}),\ \textrm{s.t.}\ \eqref{gen_bid_da}roman_max start_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ⟨ italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ - italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) , s.t. italic_( italic_) (17)

and storage s𝑠sitalic_s, is

max(usd,νsd)θsd,νsdCs(usd)s.t.(15)subscriptsuperscriptsubscript𝑢𝑠𝑑superscriptsubscript𝜈𝑠𝑑superscriptsubscript𝜃𝑠𝑑superscriptsubscript𝜈𝑠𝑑subscript𝐶𝑠superscriptsubscript𝑢𝑠𝑑s.t.italic-(15italic-)\displaystyle\max_{(u_{s}^{d},\nu_{s}^{d})}\langle\theta_{s}^{d},\nu_{s}^{d}% \rangle-C_{s}(u_{s}^{d})\ \textrm{s.t.}\ \eqref{str_bid_da}roman_max start_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT ⟨ italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ - italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) s.t. italic_( italic_) (18)

Since the participants are price-takers, they do not anticipate their decisions in the real-time market.

II-C2 Real-Time Market

Analogous to the day-ahead market, each generator j𝑗jitalic_j submits a supply function f:×TT:𝑓superscript𝑇superscript𝑇f\mathrel{\mathop{:}}\mathbb{R}\times\mathbb{R}^{T}\rightarrow\mathbb{R}^{T}italic_f : blackboard_R × blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT, parameterized with αjrsuperscriptsubscript𝛼𝑗𝑟\alpha_{j}^{r}\in\mathbb{R}italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ∈ blackboard_R, as

gjr=f(αjr;λr)superscriptsubscript𝑔𝑗𝑟𝑓superscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟\displaystyle g_{j}^{r}=f(\alpha_{j}^{r};\lambda^{r})italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_f ( italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ; italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) (19)

where λrTsuperscript𝜆𝑟superscript𝑇\lambda^{r}\in\mathbb{R}^{T}italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT denotes the clearing prices in the real-time. However, unlike storage in day-ahead markets, in the real-time market storage s𝑠sitalic_s bids a supply function h:×TT:superscript𝑇superscript𝑇h\mathrel{\mathop{:}}\mathbb{R}\times\mathbb{R}^{T}\rightarrow\mathbb{R}^{T}italic_h : blackboard_R × blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT, parameterized by βsrsuperscriptsubscript𝛽𝑠𝑟\beta_{s}^{r}italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT, as

usr=h(βsr;λr)superscriptsubscript𝑢𝑠𝑟superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟\displaystyle u_{s}^{r}=h(\beta_{s}^{r};\lambda^{r})italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_h ( italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ; italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) (20)

Given the bids (αjr,βsr)superscriptsubscript𝛼𝑗𝑟superscriptsubscript𝛽𝑠𝑟(\alpha_{j}^{r},\beta_{s}^{r})( italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) the market operator clears the market and meets the supply-demand balance for each time period t𝒯𝑡𝒯t\in\mathcal{T}italic_t ∈ caligraphic_T, as

dr=j𝒢f(αjr;λr)+s𝒮h(βsr;λr)superscript𝑑𝑟subscript𝑗𝒢𝑓superscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟subscript𝑠𝒮superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟\displaystyle d^{r}=\sum_{j\in\mathcal{G}}f(\alpha_{j}^{r};\lambda^{r})+\sum_{% s\in\mathcal{S}}h(\beta_{s}^{r};\lambda^{r})italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_f ( italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ; italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_h ( italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ; italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) (21)

Given the prices in the real-time market and the participant’s decision in the day-ahead market, the individual problem of generator j𝑗jitalic_j is given by,

maxgjrλd,gjd+λr,gjrCj(gjd+gjr)s.t.(19)subscriptsuperscriptsubscript𝑔𝑗𝑟superscript𝜆𝑑superscriptsubscript𝑔𝑗𝑑superscript𝜆𝑟superscriptsubscript𝑔𝑗𝑟subscript𝐶𝑗superscriptsubscript𝑔𝑗𝑑superscriptsubscript𝑔𝑗𝑟s.t.italic-(19italic-)\displaystyle\max_{g_{j}^{r}}\ \langle\lambda^{d},g_{j}^{d}\rangle+\langle% \lambda^{r},g_{j}^{r}\rangle-C_{j}(g_{j}^{d}+g_{j}^{r})\ \textrm{s.t.}\ \eqref% {gen_bid_rt_func}roman_max start_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ⟨ italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ + ⟨ italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ⟩ - italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) s.t. italic_( italic_) (22)

and storage s𝑠sitalic_s is

maxusrθsd,νsd+λr,usrCs(usd+usr)s.t.(20)subscriptsuperscriptsubscript𝑢𝑠𝑟superscriptsubscript𝜃𝑠𝑑superscriptsubscript𝜈𝑠𝑑superscript𝜆𝑟superscriptsubscript𝑢𝑠𝑟subscript𝐶𝑠superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑟s.t.italic-(20italic-)\displaystyle\max_{u_{s}^{r}}\ \langle\theta_{s}^{d},\nu_{s}^{d}\rangle+% \langle\lambda^{r},u_{s}^{r}\rangle-C_{s}(u_{s}^{d}+u_{s}^{r})\ \textrm{s.t.}% \ \eqref{str_bid_rt_func}roman_max start_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ⟨ italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ + ⟨ italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ⟩ - italic_C start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) s.t. italic_( italic_) (23)

II-D Market Equilibrium

In this subsection, we characterize the properties of competitive equilibrium in a two-stage market, such that the market clears and participants do not deviate from their bid.

Definition 1.

Each stage of a two-stage market is at the competitive equilibrium if the participant bids and the clearing prices, i.e., (λd,αjd,βsd)superscript𝜆𝑑superscriptsubscript𝛼𝑗𝑑superscriptsubscript𝛽𝑠𝑑(\lambda^{d},\alpha_{j}^{d},\beta_{s}^{d})( italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) and (λr,αjr,βsr)superscript𝜆𝑟superscriptsubscript𝛼𝑗𝑟superscriptsubscript𝛽𝑠𝑟(\lambda^{r},\alpha_{j}^{r},\beta_{s}^{r})( italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ), in day-ahead and real-time markets, respectively, satisfy:

  1. 1.

    The bid αjd(αjr)superscriptsubscript𝛼𝑗𝑑superscriptsubscript𝛼𝑗𝑟\alpha_{j}^{d}(\alpha_{j}^{r})italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) of generator j𝑗jitalic_j in the day-ahead (real-time) market maximizes its profit.

  2. 2.

    The bid βsd(βar)superscriptsubscript𝛽𝑠𝑑superscriptsubscript𝛽𝑎𝑟\beta_{s}^{d}(\beta_{a}^{r})italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( italic_β start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) of storage s𝑠sitalic_s in the day-ahead (real-time) market maximizes its profit.

  3. 3.

    The inelastic demand dd,drsuperscript𝑑𝑑superscript𝑑𝑟d^{d},d^{r}italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT in the day-ahead and the real-time market is met, resulting in clearing prices λd,θsdsuperscript𝜆𝑑superscriptsubscript𝜃𝑠𝑑\lambda^{d},\theta_{s}^{d}italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT and λrsuperscript𝜆𝑟\lambda^{r}italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT, respectively.

III Uniform Price Market Mechanism

In this section, we extend the previous cycle-aware market mechanism [12] in the day-ahead market and propose a uniform price market mechanism.

Theorem 2.

(Incentive Compatibility [12]) The competitive equilibrium in the day-ahead market also aligns with the social optimum.

The incentive compatibility results first appeared in [12] for a market mechanism where storage bids cycle depths and generator bids power in a day-ahead market. However, the resulting competitive equilibrium provides non-uniform prices for storage units, which may not be desirable from a market operator perspective. To address this, we propose the following theorem that ascertains uniform prices in a market.

Theorem 3.

Let’s assume that the capacity constraints of storage (3a) and generator (2a) are non-binding. Furthermore, the SoC constraint associated with energy storage (7a) is also non-binding. Given optimal bids αjd,βsdsuperscriptsubscript𝛼𝑗𝑑superscriptsubscript𝛽𝑠𝑑\alpha_{j}^{d},\beta_{s}^{d}italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT, there exists a unique set of coefficients ϵssubscriptitalic-ϵ𝑠\epsilon_{s}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT such that the day-ahead market clearing (II-C1) results in uniform prices.

Proof.

Let’s assume a proportional energy storage dispatch of the form

usd=ϵs(ddj𝒢gjd), where s𝒮ϵs=1formulae-sequencesuperscriptsubscript𝑢𝑠𝑑subscriptitalic-ϵ𝑠superscript𝑑𝑑subscript𝑗𝒢superscriptsubscript𝑔𝑗𝑑 where subscript𝑠𝒮subscriptitalic-ϵ𝑠1\displaystyle u_{s}^{d}=\epsilon_{s}(d^{d}-\sum_{j\in\mathcal{G}}g_{j}^{d}),% \textrm{ where }\sum_{s\in\mathcal{S}}\epsilon_{s}=1italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT - ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) , where ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = 1 (24)

Let’s denote ud:=(ddj𝒢gjd)u^{d}\mathrel{\mathop{:}}=(d^{d}-\sum_{j\in\mathcal{G}}g_{j}^{d})italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT : = ( italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT - ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ). The KKT conditions of the convex day-ahead market clearing problem (II-C1) are given by,

dd=j𝒢gjd+s𝒮usd,gjd=αjdλdformulae-sequencesuperscript𝑑𝑑subscript𝑗𝒢superscriptsubscript𝑔𝑗𝑑subscript𝑠𝒮superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑔𝑗𝑑superscriptsubscript𝛼𝑗𝑑superscript𝜆𝑑\displaystyle d^{d}=\sum_{j\in\mathcal{G}}g_{j}^{d}+\sum_{s\in\mathcal{S}}u_{s% }^{d},\ g_{j}^{d}=\alpha_{j}^{d}\lambda^{d}italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (25a)
νsd=N(usd)usd,νsd=βsdθsdformulae-sequencesuperscriptsubscript𝜈𝑠𝑑𝑁superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝜈𝑠𝑑superscriptsubscript𝛽𝑠𝑑superscriptsubscript𝜃𝑠𝑑\displaystyle\nu_{s}^{d}=N(u_{s}^{d})u_{s}^{d},\ \nu_{s}^{d}=\beta_{s}^{d}% \theta_{s}^{d}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (25b)
λd=kγkNk(usd)TNk(usd)usd+δs𝟏superscript𝜆𝑑subscript𝑘subscript𝛾𝑘subscript𝑁𝑘superscriptsubscriptsuperscript𝑢𝑑𝑠𝑇subscript𝑁𝑘superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑑subscript𝛿𝑠1\displaystyle\lambda^{d}=\sum_{k}\gamma_{k}N_{k}(u^{d}_{s})^{T}N_{k}(u_{s}^{d}% )u_{s}^{d}+\delta_{s}\mathbf{1}italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_δ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT bold_1 (25c)
𝟏Tusd=0.superscript1𝑇superscriptsubscript𝑢𝑠𝑑0\displaystyle\mathbf{1}^{T}u_{s}^{d}=0.bold_1 start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = 0 . (25d)

where γksubscript𝛾𝑘\gamma_{k}italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT are convex coefficients associated with subgradients of the piecewise linear convex cost of storage cycling (12). See e.g., [12], for more details. Also, λd,θsd,superscript𝜆𝑑superscriptsubscript𝜃𝑠𝑑\lambda^{d},\theta_{s}^{d},italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , and δssubscript𝛿𝑠\delta_{s}italic_δ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT are the dual variables associated with constraints (16b), (16c), and (9a), respectively. Substituting the proportional dispatch condition (24) in the KKT conditions (III), we get

ud=ddj𝒢gjd,gjd=αjdλdformulae-sequencesuperscript𝑢𝑑superscript𝑑𝑑subscript𝑗𝒢superscriptsubscript𝑔𝑗𝑑superscriptsubscript𝑔𝑗𝑑superscriptsubscript𝛼𝑗𝑑superscript𝜆𝑑\displaystyle u^{d}=d^{d}-\sum_{j\in\mathcal{G}}g_{j}^{d},\ g_{j}^{d}=\alpha_{% j}^{d}\lambda^{d}italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT - ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (26a)
νsd=ϵsN(ud)udsuperscriptsubscript𝜈𝑠𝑑subscriptitalic-ϵ𝑠𝑁superscript𝑢𝑑superscript𝑢𝑑\displaystyle\nu_{s}^{d}=\epsilon_{s}N(u^{d})u^{d}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_N ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (26b)
νsd=βsdθsdθsd=ϵsβsN(ud)udsuperscriptsubscript𝜈𝑠𝑑superscriptsubscript𝛽𝑠𝑑superscriptsubscript𝜃𝑠𝑑superscriptsubscript𝜃𝑠𝑑subscriptitalic-ϵ𝑠subscript𝛽𝑠𝑁superscript𝑢𝑑superscript𝑢𝑑\displaystyle\nu_{s}^{d}=\beta_{s}^{d}\theta_{s}^{d}\implies\theta_{s}^{d}=% \frac{\epsilon_{s}}{\beta_{s}}N(u^{d})u^{d}italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟹ italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = divide start_ARG italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG italic_N ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (26c)
λd=kγkϵsβsNk(ud)TNk(ud)ud+δs𝟏superscript𝜆𝑑subscript𝑘subscript𝛾𝑘subscriptitalic-ϵ𝑠subscript𝛽𝑠subscript𝑁𝑘superscriptsuperscript𝑢𝑑𝑇subscript𝑁𝑘superscript𝑢𝑑superscript𝑢𝑑subscript𝛿𝑠1\displaystyle\lambda^{d}=\sum_{k}\gamma_{k}\frac{\epsilon_{s}}{\beta_{s}}N_{k}% (u^{d})^{T}N_{k}(u^{d})u^{d}+\delta_{s}\mathbf{1}italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT divide start_ARG italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG italic_N start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_δ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT bold_1 (26d)
𝟏Tud=0superscript1𝑇superscript𝑢𝑑0\displaystyle\mathbf{1}^{T}u^{d}=0bold_1 start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = 0 (26e)

where we use the [12, Lemma 1] to write

N(usd)=N(ϵsud)=N(ud).𝑁superscriptsubscript𝑢𝑠𝑑𝑁subscriptitalic-ϵ𝑠superscript𝑢𝑑𝑁superscript𝑢𝑑N(u_{s}^{d})=N(\epsilon_{s}u^{d})=N(u^{d}).italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) = italic_N ( italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) = italic_N ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) .

Rewriting the KKT conditions (III), we get

dudj𝒢αjd=kγkϵsβsdNk(ud)TNk(ud)ud+δs𝟏𝑑superscript𝑢𝑑subscript𝑗𝒢superscriptsubscript𝛼𝑗𝑑subscript𝑘subscript𝛾𝑘subscriptitalic-ϵ𝑠superscriptsubscript𝛽𝑠𝑑subscript𝑁𝑘superscriptsuperscript𝑢𝑑𝑇subscript𝑁𝑘superscript𝑢𝑑superscript𝑢𝑑subscript𝛿𝑠1\displaystyle\frac{d-u^{d}}{\sum\limits_{j\in\mathcal{G}}\alpha_{j}^{d}}=\sum_% {k}\gamma_{k}\frac{\epsilon_{s}}{\beta_{s}^{d}}N_{k}(u^{d})^{T}N_{k}(u^{d})u^{% d}+\delta_{s}\mathbf{1}divide start_ARG italic_d - italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG = ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT divide start_ARG italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG italic_N start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_δ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT bold_1 (27a)
𝟏Tud=0superscript1𝑇superscript𝑢𝑑0\displaystyle\mathbf{1}^{T}u^{d}=0bold_1 start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = 0 (27b)

Given the optimal bids (αjd,βsdsuperscriptsubscript𝛼𝑗𝑑superscriptsubscript𝛽𝑠𝑑\alpha_{j}^{d},\beta_{s}^{d}italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT), we consider a convex optimization problem, as

minudsubscriptsuperscript𝑢𝑑\displaystyle\min_{u^{d}}roman_min start_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ud222j𝒢αjddd,udj𝒢αjd+N(ud)ud22s𝒮βsdsuperscriptsubscriptnormsuperscript𝑢𝑑222subscript𝑗𝒢superscriptsubscript𝛼𝑗𝑑superscript𝑑𝑑superscript𝑢𝑑subscript𝑗𝒢superscriptsubscript𝛼𝑗𝑑superscriptsubscriptnorm𝑁superscript𝑢𝑑superscript𝑢𝑑22subscript𝑠𝒮superscriptsubscript𝛽𝑠𝑑\displaystyle\ \frac{||u^{d}||_{2}^{2}}{2\sum\limits_{j\in\mathcal{G}}\alpha_{% j}^{d}}\!-\!\frac{\ \langle d^{d},u^{d}\rangle}{\sum\limits_{j\in\mathcal{G}}% \alpha_{j}^{d}}\!+\!\frac{||N(u^{d})u^{d}||_{2}^{2}}{\sum\limits_{s\in\mathcal% {S}}\beta_{s}^{d}}divide start_ARG | | italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG - divide start_ARG ⟨ italic_d start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG + divide start_ARG | | italic_N ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG (28a)
s.t. 𝟏Tud=0:δsuperscript1𝑇superscript𝑢𝑑0:𝛿\displaystyle\ \mathbf{1}^{T}u^{d}=0\mathrel{\mathop{:}}\deltabold_1 start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = 0 : italic_δ (28b)

From [15], we observe that the optimization problem (III) is convex. Therefore, \exists a unique primal-dual solution (ud)*,δ*superscriptsuperscript𝑢𝑑superscript𝛿(u^{d})^{*},\delta^{*}( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT , italic_δ start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT to the convex optimization problem (III) which satisfies the KKT conditions  (III). Hence, assuming

ϵs=βss𝒮βsd,δs*:=δ*s𝒮,usd=ϵsud\displaystyle\epsilon_{s}=\frac{\beta_{s}}{\sum\limits_{s\in\mathcal{S}}\beta_% {s}^{d}},\ \delta_{s}^{*}\mathrel{\mathop{:}}=\delta^{*}\ \forall s\in\mathcal% {S},\ u_{s}^{d}=\epsilon_{s}u^{d}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = divide start_ARG italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG , italic_δ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT : = italic_δ start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ∀ italic_s ∈ caligraphic_S , italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (29)

we observe that we have a unique optimal solution with uniform clearing prices

λd=dudj𝒢αjd,superscript𝜆𝑑𝑑superscript𝑢𝑑subscript𝑗𝒢superscriptsubscript𝛼𝑗𝑑\displaystyle\lambda^{d}=\frac{d-u^{d}}{\sum\limits_{j\in\mathcal{G}}\alpha_{j% }^{d}},italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = divide start_ARG italic_d - italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG , (30a)
θsd=θd:=ϵsβsdN(ud)ud=1s𝒮βsdN(ud)ud\displaystyle\theta_{s}^{d}=\theta^{d}\mathrel{\mathop{:}}=\frac{\epsilon_{s}}% {\beta_{s}^{d}}N(u^{d})u^{d}=\frac{1}{\sum\limits_{s\in\mathcal{S}}\beta_{s}^{% d}}N(u^{d})u^{d}italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT : = divide start_ARG italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG italic_N ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = divide start_ARG 1 end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_ARG italic_N ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (30b)

that satisfies the KKT conditions of the original problem. Therefore, we have a uniform price market mechanism. ∎

For ease of analysis, we assume the inequality constraints are non-binding. However, the result can be observed for a general formulation as well. Moreover, the resulting competitive equilibrium for the uniform price market mechanism also aligns with the social planner optimum in the day-ahead market.

IV Competitive Equilibrium in the Real-Time Market

In this section, we discuss two potential energy storage participation strategies in the real-time market, i.e., day-ahead unaware bidding and day-ahead aware bidding. For ease of exposition and closed-form analysis, we consider in this section a simplified setting where the power balance (21) is the only constraint in the real-time market clearing. A general setting is considered in the case study in Section V.

IV-A Mixed Market Mechanism - Day-Ahead Unaware Bidding

In this subsection, we characterize the competitive equilibrium in the real-time market given the participants’ decision in the day-ahead market. Each generator j𝑗jitalic_j bids

gjr=αjrλrsuperscriptsubscript𝑔𝑗𝑟superscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟\displaystyle g_{j}^{r}=\alpha_{j}^{r}\lambda^{r}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT (31)

and storage s𝑠sitalic_s bids

usr=βsrλrsuperscriptsubscript𝑢𝑠𝑟superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟\displaystyle u_{s}^{r}=\beta_{s}^{r}\lambda^{r}italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT (32)

in the real-time market. Substituting (31) in (22), we get

maxαjrαjrλr22cj2gjd+αjrλr22subscriptsuperscriptsubscript𝛼𝑗𝑟superscriptsubscript𝛼𝑗𝑟superscriptsubscriptnormsuperscript𝜆𝑟22subscript𝑐𝑗2superscriptsubscriptnormsuperscriptsubscript𝑔𝑗𝑑superscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟22\displaystyle\max_{\alpha_{j}^{r}}\ \alpha_{j}^{r}||\lambda^{r}||_{2}^{2}-% \frac{c_{j}}{2}||g_{j}^{d}+\alpha_{j}^{r}\lambda^{r}||_{2}^{2}roman_max start_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - divide start_ARG italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG | | italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (33)

where we drop the revenue term λd,gjdsuperscript𝜆𝑑superscriptsubscript𝑔𝑗𝑑\langle\lambda^{d},g_{j}^{d}\rangle⟨ italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ from the day-ahead market as it does not affect the objective in the optimization problem. Similarly, substituting (32) in (23), we get

maxβsrβsrλr22bs2N(usd+βsrλr)(usd+βsrλr)22subscriptsuperscriptsubscript𝛽𝑠𝑟superscriptsubscript𝛽𝑠𝑟superscriptsubscriptnormsuperscript𝜆𝑟22subscript𝑏𝑠2superscriptsubscriptnorm𝑁superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟22\displaystyle\max_{\beta_{s}^{r}}\ \beta_{s}^{r}||\lambda^{r}||_{2}^{2}-\frac{% b_{s}}{2}||N(u_{s}^{d}+\beta_{s}^{r}\lambda^{r})(u_{s}^{d}+\beta_{s}^{r}% \lambda^{r})||_{2}^{2}roman_max start_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - divide start_ARG italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG | | italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (34)

To account for the temporally coupled cost of storage degradation while making decisions in the real-time market at a faster time scale, we assume that storage deviations are constrained in the neighborhood of its day-ahead decision such that

N(usd+usr)=N(usd)𝑁superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑟𝑁superscriptsubscript𝑢𝑠𝑑\displaystyle N(u_{s}^{d}+u_{s}^{r})=N(u_{s}^{d})italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) = italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) (35)

More precisely, we constrain the storage dispatch such that the piecewise linear map between cycle depths and SoC profile remains the same. Such a strategy allows storage to participate in the market with a simplified setting, e.g., existing supply function, with the flexibility to change the optimal bid to account for the degradation cost.

Theorem 4.

Let’s assume a uniform price market mechanism in the day-ahead market. Also, assume that

N(usd+usr)=N(usd).𝑁superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑟𝑁superscriptsubscript𝑢𝑠𝑑N(u_{s}^{d}+u_{s}^{r})=N(u_{s}^{d}).italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) = italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) .

The competitive equilibrium in the real-time market, given the participants’ decision in the day-ahead market, exists uniquely. There exists a unique set of coefficients ω𝜔\omegaitalic_ω such that the equilibrium can be determined as

λr=ωdrsubscript𝜆𝑟𝜔superscript𝑑𝑟\displaystyle\lambda_{r}=\omega d^{r}italic_λ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = italic_ω italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT (36a)
αjr=cj1<gjd,λr>λr22\displaystyle\alpha_{j}^{r}=c_{j}^{-1}-\frac{<g_{j}^{d},\lambda^{r}>}{||% \lambda^{r}||_{2}^{2}}italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT - divide start_ARG < italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT > end_ARG start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG (36b)
βsr=bs1λr22θsd,N(usd)λrN(usd)λr22superscriptsubscript𝛽𝑠𝑟superscriptsubscript𝑏𝑠1superscriptsubscriptnormsuperscript𝜆𝑟22superscriptsubscript𝜃𝑠𝑑𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟subscriptsuperscriptnorm𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟22\displaystyle\beta_{s}^{r}=b_{s}^{-1}\frac{||\lambda^{r}||_{2}^{2}-\langle% \theta_{s}^{d},N(u_{s}^{d})\lambda^{r}\rangle}{||N(u_{s}^{d})\lambda^{r}||^{2}% _{2}}italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - ⟨ italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ⟩ end_ARG start_ARG | | italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG (36c)
ω=<λd,dr>dr22+(j𝒢cj1+s𝒮bs1dr22kγkN(usd)dr22)1\displaystyle\!\!\omega\!=\!\frac{<\!\lambda^{d},d^{r}\!\!>}{||d^{r}||_{2}^{2}% }\!+\!\!\!{\left(\!\sum\limits_{j\in\mathcal{G}}\!\!c_{j}^{-1}\!\!+\!\!\!\sum% \limits_{s\in\mathcal{S}}\!b_{s}^{-1}\frac{||d^{r}||_{2}^{2}}{||\!\sum\limits_% {k}\!\!\gamma_{k}N(\!u_{s}^{d})d^{r}||^{2}_{2}}\!\!\right)\!\!\!}^{-1}italic_ω = divide start_ARG < italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT > end_ARG start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ( ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT (36d)

where γk0,kγk=1formulae-sequencesubscript𝛾𝑘0subscript𝑘subscript𝛾𝑘1\gamma_{k}\geq 0,\sum_{k}\gamma_{k}=1italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≥ 0 , ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 are the convex coefficients associated with the subgradients of the piecewise linear convex cost function (12). See e.g., [12] for more details.

Proof.

Given the day-ahead decisions and prices in the real-time market, we can solve for the optimal bid by taking the derivative of the convex optimization problem (33), as

λr22cj(gjd+αjrλr)Tλr=0αjr=cj1gjd,λrλr22subscriptsuperscriptnormsuperscript𝜆𝑟22subscript𝑐𝑗superscriptsuperscriptsubscript𝑔𝑗𝑑superscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟𝑇superscript𝜆𝑟0superscriptsubscript𝛼𝑗𝑟superscriptsubscript𝑐𝑗1superscriptsubscript𝑔𝑗𝑑superscript𝜆𝑟subscriptsuperscriptnormsuperscript𝜆𝑟22\displaystyle\!\!\!\!||\lambda^{r}||^{2}_{2}-\!c_{j}(g_{j}^{d}\!+\!\alpha_{j}^% {r}\lambda^{r})^{T}\!\lambda^{r}\!\!=\!0\!\!\implies\!\!\alpha_{j}^{r}\!=\!c_{% j}^{-1}\!-\!\frac{\langle g_{j}^{d},\lambda^{r}\rangle}{||\lambda^{r}||^{2}_{2}}| | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = 0 ⟹ italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT - divide start_ARG ⟨ italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ⟩ end_ARG start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG (37a)

Similarly, taking the derivative of (34), we get the optimal bid of energy storage s𝑠sitalic_s,

λr22bs(N(usd)(usd+βSrλr))TN(usd)λr=0subscriptsuperscriptnormsuperscript𝜆𝑟22subscript𝑏𝑠superscript𝑁superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝛽𝑆𝑟superscript𝜆𝑟𝑇𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟0\displaystyle\!||\lambda^{r}||^{2}_{2}-b_{s}\!\left(N(u_{s}^{d})(u_{s}^{d}+% \beta_{S}^{r}\lambda^{r})\!\right)^{T}\!N(u_{s}^{d})\lambda^{r}\!=\!0| | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_β start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = 0 (38)

where we use N(usd+usr)=N(usd)𝑁superscriptsubscript𝑢𝑠𝑑superscriptsubscript𝑢𝑠𝑟𝑁superscriptsubscript𝑢𝑠𝑑N(u_{s}^{d}+u_{s}^{r})=N(u_{s}^{d})italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) = italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ). Substituting (13) and (15) in (38), we get

\displaystyle\implies λr22bs(νsd+βSrN(usd)λr)TN(usd)λr=0subscriptsuperscriptnormsuperscript𝜆𝑟22subscript𝑏𝑠superscriptsuperscriptsubscript𝜈𝑠𝑑superscriptsubscript𝛽𝑆𝑟𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟𝑇𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟0\displaystyle||\lambda^{r}||^{2}_{2}-b_{s}\left(\nu_{s}^{d}+\beta_{S}^{r}N(u_{% s}^{d})\lambda^{r}\right)^{T}N(u_{s}^{d})\lambda^{r}\!=\!0| | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_ν start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_β start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = 0 (39a)
\displaystyle\implies λr22(θsd+bsβSrN(usd)λr)TN(usd)λr=0subscriptsuperscriptnormsuperscript𝜆𝑟22superscriptsuperscriptsubscript𝜃𝑠𝑑subscript𝑏𝑠superscriptsubscript𝛽𝑆𝑟𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟𝑇𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟0\displaystyle||\lambda^{r}||^{2}_{2}\!-\!\left(\theta_{s}^{d}+b_{s}\beta_{S}^{% r}N(u_{s}^{d})\lambda^{r}\right)^{T}\!\!N(u_{s}^{d})\lambda^{r}\!=\!0| | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - ( italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = 0 (39b)
\displaystyle\implies βSr=bs1λr22θsd,N(usd)λrN(usd)λr22superscriptsubscript𝛽𝑆𝑟superscriptsubscript𝑏𝑠1superscriptsubscriptnormsuperscript𝜆𝑟22superscriptsubscript𝜃𝑠𝑑𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟subscriptsuperscriptnorm𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟22\displaystyle\beta_{S}^{r}=b_{s}^{-1}\frac{||\lambda^{r}||_{2}^{2}-\langle% \theta_{s}^{d},N(u_{s}^{d})\lambda^{r}\rangle}{||N(u_{s}^{d})\lambda^{r}||^{2}% _{2}}italic_β start_POSTSUBSCRIPT italic_S end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - ⟨ italic_θ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ⟩ end_ARG start_ARG | | italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG (39c)

At the equilibrium, (21), (37a), and (39c) must hold simultaneously. Since λrsuperscript𝜆𝑟\lambda^{r}italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT is proportional to drsuperscript𝑑𝑟d^{r}italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT, let’s assume that ω𝜔\exists\ \omega\in\mathbb{R}∃ italic_ω ∈ blackboard_R such that λr=ωdrsuperscript𝜆𝑟𝜔superscript𝑑𝑟\lambda^{r}=\omega d^{r}italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_ω italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT. Substituting (14) in (37a), as

αjr=cj1(1<λd,λr>λr22)=cj1(11ω<λd,dr>dr22)\displaystyle\!\!\alpha_{j}^{r}\!=\!c_{j}^{-1}\!\left(\!1\!-\!\frac{<\lambda^{% d},\lambda^{r}>}{||\lambda^{r}||_{2}^{2}}\right)\!\!=\!c_{j}^{-1}\!\left(\!\!1% \!-\!\frac{1}{\omega}\frac{<\lambda^{d},d^{r}>}{||d^{r}||_{2}^{2}}\!\!\right)italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( 1 - divide start_ARG < italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT > end_ARG start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) = italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( 1 - divide start_ARG 1 end_ARG start_ARG italic_ω end_ARG divide start_ARG < italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT > end_ARG start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) (40a)
j𝒢αjr=j𝒢cj1(11ω<λd,dr>dr22)\displaystyle\implies\sum\limits_{j\in\mathcal{G}}\alpha_{j}^{r}=\sum\limits_{% j\in\mathcal{G}}c_{j}^{-1}\left(1-\frac{1}{\omega}\frac{<\lambda^{d},d^{r}>}{|% |d^{r}||_{2}^{2}}\right)⟹ ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( 1 - divide start_ARG 1 end_ARG start_ARG italic_ω end_ARG divide start_ARG < italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT > end_ARG start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ) (40b)

Similarly, substituting (25c) in (39c) and simplifying as

βsr=bs1λr22λd,λrkγkN(usd)λr22=bs1dr22ω1λd,drkγkN(usd)dr22superscriptsubscript𝛽𝑠𝑟superscriptsubscript𝑏𝑠1superscriptsubscriptnormsuperscript𝜆𝑟22superscript𝜆𝑑superscript𝜆𝑟subscriptsuperscriptnormsubscript𝑘subscript𝛾𝑘𝑁superscriptsubscript𝑢𝑠𝑑superscript𝜆𝑟22superscriptsubscript𝑏𝑠1superscriptsubscriptnormsuperscript𝑑𝑟22superscript𝜔1superscript𝜆𝑑superscript𝑑𝑟subscriptsuperscriptnormsubscript𝑘subscript𝛾𝑘𝑁superscriptsubscript𝑢𝑠𝑑superscript𝑑𝑟22\displaystyle\!\!\!\!\!\!\beta_{s}^{r}\!=\!b_{s}^{-1}\frac{||\lambda^{r}||_{2}% ^{2}-\langle\lambda^{d},\lambda^{r}\rangle}{||\!\sum\limits_{k}\!\gamma_{k}N(u% _{s}^{d})\lambda^{r}||^{2}_{2}}\!=b_{s}^{-1}\frac{||d^{r}||_{2}^{2}-\omega^{-1% }\langle\lambda^{d},d^{r}\rangle}{||\sum\limits_{k}\!\gamma_{k}N(u_{s}^{d})d^{% r}||^{2}_{2}}italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - ⟨ italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ⟩ end_ARG start_ARG | | ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG = italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_ω start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ⟨ italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ⟩ end_ARG start_ARG | | ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG (41)

Substituting (40b) in (41), as

\displaystyle\implies βsr=bs1j𝒢αjj𝒢cj1dr22kγkN(usd)dr22superscriptsubscript𝛽𝑠𝑟superscriptsubscript𝑏𝑠1subscript𝑗𝒢subscript𝛼𝑗subscript𝑗𝒢superscriptsubscript𝑐𝑗1superscriptsubscriptnormsuperscript𝑑𝑟22subscriptsuperscriptnormsubscript𝑘subscript𝛾𝑘𝑁superscriptsubscript𝑢𝑠𝑑superscript𝑑𝑟22\displaystyle\beta_{s}^{r}=b_{s}^{-1}\frac{\sum\limits_{j\in\mathcal{G}}\alpha% _{j}}{\sum\limits_{j\in\mathcal{G}}c_{j}^{-1}}\frac{||d^{r}||_{2}^{2}}{||\sum_% {k}\gamma_{k}N(u_{s}^{d})d^{r}||^{2}_{2}}italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT end_ARG divide start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG (42a)
\displaystyle\implies s𝒮βsr=s𝒮bs1j𝒢αjj𝒢cj1dr22kγkN(usd)dr22subscript𝑠𝒮superscriptsubscript𝛽𝑠𝑟subscript𝑠𝒮superscriptsubscript𝑏𝑠1subscript𝑗𝒢subscript𝛼𝑗subscript𝑗𝒢superscriptsubscript𝑐𝑗1superscriptsubscriptnormsuperscript𝑑𝑟22subscriptsuperscriptnormsubscript𝑘subscript𝛾𝑘𝑁superscriptsubscript𝑢𝑠𝑑superscript𝑑𝑟22\displaystyle\sum\limits_{s\in\mathcal{S}}\beta_{s}^{r}=\sum\limits_{s\in% \mathcal{S}}b_{s}^{-1}\frac{\sum\limits_{j\in\mathcal{G}}\alpha_{j}}{\sum% \limits_{j\in\mathcal{G}}c_{j}^{-1}}\frac{||d^{r}||_{2}^{2}}{||\sum_{k}\gamma_% {k}N(u_{s}^{d})d^{r}||^{2}_{2}}∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT end_ARG divide start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG (42b)

where we use the fact that energy dispatch is proportional and N(usd)=N(ud)𝑁superscriptsubscript𝑢𝑠𝑑𝑁superscript𝑢𝑑N(u_{s}^{d})=N(u^{d})italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) = italic_N ( italic_u start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) in the case of uniform price market mechanism in equation (42b). Substituting (40b) and (42b) in (21), we get

ω=<λd,dr>dr22+(j𝒢cj1+s𝒮bs1dr22kγkN(usd)dr22)1\displaystyle\omega\!=\!\frac{<\!\!\lambda^{d}\!,d^{r}\!\!>}{||d^{r}||_{2}^{2}% }\!+\!\!\left(\!\sum\limits_{j\in\mathcal{G}}\!\!c_{j}^{-1}\!\!+\!\!\!\sum% \limits_{s\in\mathcal{S}}\!b_{s}^{-1}\frac{||d^{r}||_{2}^{2}}{||\sum\limits_{k% }\gamma_{k}N(u_{s}^{d})d^{r}||^{2}_{2}}\!\!\right)^{-1}italic_ω = divide start_ARG < italic_λ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT > end_ARG start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ( ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_N ( italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT

Hence, under the price-taking assumption the optimal bid and clearing prices (αjr,j𝒢,βsr,s𝒮,λr)formulae-sequencesuperscriptsubscript𝛼𝑗𝑟𝑗𝒢superscriptsubscript𝛽𝑠𝑟𝑠𝒮superscript𝜆𝑟(\alpha_{j}^{r},j\in\mathcal{G},\beta_{s}^{r},s\in\mathcal{S},\lambda^{r})( italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_j ∈ caligraphic_G , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_s ∈ caligraphic_S , italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) exist uniquely. ∎

Although the competitive equilibrium exists uniquely, it requires a customized iterative algorithm, where participants’ bids and clearing prices are updated repetitively until convergence, to solve the equilibrium, which may not be feasible for real-time market operations. To address this, we propose a modified bidding approach in the following subsection that accounts for the day-ahead decisions in the bidding function.

IV-B Mixed Market Mechanism - Day-Ahead Aware Bidding

Given the day-ahead decisions, each generator j𝑗jitalic_j bids

gjr=αjrλrgjdsuperscriptsubscript𝑔𝑗𝑟superscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟superscriptsubscript𝑔𝑗𝑑\displaystyle g_{j}^{r}=\alpha_{j}^{r}\lambda^{r}-g_{j}^{d}italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT - italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT (43)

and storage s𝑠sitalic_s bids

usr=βsrλrusrsuperscriptsubscript𝑢𝑠𝑟superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟superscriptsubscript𝑢𝑠𝑟\displaystyle u_{s}^{r}=\beta_{s}^{r}\lambda^{r}-u_{s}^{r}italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT - italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT (44)

in the real-time market. Substituting (43) in (22), we get,

maxαjrαjrλr22+λr,gjdcj2αjrλr22subscriptsuperscriptsubscript𝛼𝑗𝑟superscriptsubscript𝛼𝑗𝑟superscriptsubscriptnormsuperscript𝜆𝑟22superscript𝜆𝑟superscriptsubscript𝑔𝑗𝑑subscript𝑐𝑗2superscriptsubscriptnormsuperscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟22\displaystyle\max_{\alpha_{j}^{r}}\ \alpha_{j}^{r}||\lambda^{r}||_{2}^{2}+% \langle\lambda^{r},g_{j}^{d}\rangle-\frac{c_{j}}{2}||\alpha_{j}^{r}\lambda^{r}% ||_{2}^{2}roman_max start_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ⟨ italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ - divide start_ARG italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG | | italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (45)

and substituting (44) in (23), we get

maxβsrβsrλr22+λr,usdbs2N(βsrλr)(βsrλr)22subscriptsuperscriptsubscript𝛽𝑠𝑟superscriptsubscript𝛽𝑠𝑟superscriptsubscriptnormsuperscript𝜆𝑟22superscript𝜆𝑟superscriptsubscript𝑢𝑠𝑑subscript𝑏𝑠2superscriptsubscriptnorm𝑁superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟22\displaystyle\max_{\beta_{s}^{r}}\ \beta_{s}^{r}||\lambda^{r}||_{2}^{2}+% \langle\lambda^{r},u_{s}^{d}\rangle-\frac{b_{s}}{2}||N(\beta_{s}^{r}\lambda^{r% })(\beta_{s}^{r}\lambda^{r})||_{2}^{2}roman_max start_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ⟨ italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ⟩ - divide start_ARG italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG | | italic_N ( italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) ( italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (46)

Note that we drop the terms associated with the day-ahead revenue in (45) and (46), as it does not affect the objective in the individual problem. Once all the bids (αjr,βsr)superscriptsubscript𝛼𝑗𝑟superscriptsubscript𝛽𝑠𝑟(\alpha_{j}^{r},\beta_{s}^{r})( italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) are collected, the market operator clears the real-time market to achieve supply-demand balance, given by

dr=j𝒢(αjrλrgjd)+s𝒮(βsrλrusd)superscript𝑑𝑟subscript𝑗𝒢superscriptsubscript𝛼𝑗𝑟superscript𝜆𝑟superscriptsubscript𝑔𝑗𝑑subscript𝑠𝒮superscriptsubscript𝛽𝑠𝑟superscript𝜆𝑟superscriptsubscript𝑢𝑠𝑑\displaystyle d^{r}=\sum_{j\in\mathcal{G}}\left(\alpha_{j}^{r}\lambda^{r}-g_{j% }^{d}\right)+\sum_{s\in\mathcal{S}}\left(\beta_{s}^{r}\lambda^{r}-u_{s}^{d}\right)italic_d start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT ( italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT - italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) + ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT ( italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT - italic_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) (47)
Theorem 5.

The competitive equilibrium of the mixed market mechanism with day-ahead decision-aware bids in the real-time market exists uniquely, as

λr=ϕd,superscript𝜆𝑟italic-ϕ𝑑\displaystyle\lambda^{r}=\phi d,italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_ϕ italic_d , (48a)
αjr=cj1,superscriptsubscript𝛼𝑗𝑟superscriptsubscript𝑐𝑗1\displaystyle\alpha_{j}^{r}=c_{j}^{-1},italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT , (48b)
βsr=bs1λr22N(λr)λ22superscriptsubscript𝛽𝑠𝑟superscriptsubscript𝑏𝑠1superscriptsubscriptnormsuperscript𝜆𝑟22superscriptsubscriptnorm𝑁superscript𝜆𝑟𝜆22\displaystyle{\beta_{s}^{r}}=b_{s}^{-1}\frac{||\lambda^{r}||_{2}^{2}}{||N(% \lambda^{r})\lambda||_{2}^{2}}italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | italic_N ( italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) italic_λ | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG (48c)
ϕ1=(i𝒮bs1d22N(d)d22+j𝒢cj1)superscriptitalic-ϕ1subscript𝑖𝒮superscriptsubscript𝑏𝑠1superscriptsubscriptnorm𝑑22superscriptsubscriptnorm𝑁𝑑𝑑22subscript𝑗𝒢superscriptsubscript𝑐𝑗1\displaystyle\phi^{-1}=\left(\sum_{i\in\mathcal{S}}b_{s}^{-1}\frac{||d||_{2}^{% 2}}{||N(d)d||_{2}^{2}}+\sum_{j\in\mathcal{G}}c_{j}^{-1}\right)italic_ϕ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT = ( ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_S end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_d | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | italic_N ( italic_d ) italic_d | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ) (48d)
Proof.

Writing the derivative of (45) for the optimal bid of each generator j𝑗jitalic_j, we get

λr22(1αjrcj)=0αjr=cj1,j𝒢formulae-sequencesuperscriptsubscriptnormsuperscript𝜆𝑟221superscriptsubscript𝛼𝑗𝑟subscript𝑐𝑗0superscriptsubscript𝛼𝑗𝑟superscriptsubscript𝑐𝑗1for-all𝑗𝒢\displaystyle||\lambda^{r}||_{2}^{2}(1-\alpha_{j}^{r}c_{j})=0\implies{\alpha_{% j}^{r}}=c_{j}^{-1},\ \forall j\in\mathcal{G}| | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = 0 ⟹ italic_α start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT , ∀ italic_j ∈ caligraphic_G (49)

Similarly, we take the derivative of (46) for storage, as

λr22bsβsrN(λr)λr22=0βsr=bs1λr22N(λr)λr22superscriptsubscriptnormsuperscript𝜆𝑟22subscript𝑏𝑠superscriptsubscript𝛽𝑠𝑟superscriptsubscriptnorm𝑁superscript𝜆𝑟superscript𝜆𝑟220superscriptsubscript𝛽𝑠𝑟superscriptsubscript𝑏𝑠1superscriptsubscriptnormsuperscript𝜆𝑟22superscriptsubscriptnorm𝑁superscript𝜆𝑟superscript𝜆𝑟22\displaystyle\!\!\!\!||\lambda^{r}||_{2}^{2}\!-\!b_{s}{\beta_{s}^{r}}||\!N(\!% \lambda^{r}\!)\lambda^{r}||_{2}^{2}\!=\!0\!\!\!\implies\!\!\!{\beta_{s}^{r}}\!% \!=\!b_{s}^{-1}\frac{||\lambda^{r}||_{2}^{2}}{||\!N(\!\lambda^{r}\!)\lambda^{r% }||_{2}^{2}}| | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | italic_N ( italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 0 ⟹ italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | italic_N ( italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ) italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG (50a)

where we use  [12, Lemma 1] in (50a). At the equilibrium  (47), (49), and (50a) must hold simultaneously. Since λrsuperscript𝜆𝑟\lambda^{r}italic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT is proportional to d𝑑ditalic_d, let’s assume ϕitalic-ϕ\exists\ \phi\in\mathbb{R}∃ italic_ϕ ∈ blackboard_R such that λr=ϕdsuperscript𝜆𝑟italic-ϕ𝑑\lambda^{r}=\phi ditalic_λ start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = italic_ϕ italic_d. Substituting (16b), (49), (50a) in (47), we can solve for ϕitalic-ϕ\phiitalic_ϕ as

ϕ1=(s𝒮bs1d22N(d)d22+j𝒢cj1)superscriptitalic-ϕ1subscript𝑠𝒮superscriptsubscript𝑏𝑠1superscriptsubscriptnorm𝑑22superscriptsubscriptnorm𝑁𝑑𝑑22subscript𝑗𝒢superscriptsubscript𝑐𝑗1\displaystyle\phi^{-1}=\left(\sum_{s\in\mathcal{S}}b_{s}^{-1}\frac{||d||_{2}^{% 2}}{||N(d)d||_{2}^{2}}+\sum_{j\in\mathcal{G}}{c_{j}}^{-1}\right)italic_ϕ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT = ( ∑ start_POSTSUBSCRIPT italic_s ∈ caligraphic_S end_POSTSUBSCRIPT italic_b start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT divide start_ARG | | italic_d | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG | | italic_N ( italic_d ) italic_d | | start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG + ∑ start_POSTSUBSCRIPT italic_j ∈ caligraphic_G end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ) (51)

Hence the competitive equilibrium exists uniquely. ∎

We note that the competitive equilibrium in Theorem 5 does not need any extra requirements in market parameters, unlike the mixed market mechanism in subsection IV-A. Additionally, the resulting market equilibrium with constant optimal participant bids can be solved fast enough for the needs of the real-time market using convex optimization.

V Case Study

In this section, we provide a numerical case study that analyses the mixed market mechanism based on decision-aware bidding from subsection IV-B. For the day-ahead market, we formulate a two-day optimization horizon consisting of Day 1111 with 24242424 time periods as the binding period and Day 2222 with 24242424 periods as the advisory period. In the real-time market, we use a rolling time horizon window of 24242424 h that has the 1st hour as the binding period and the rest as advisory periods. We assume that at each hour in the real-time market, the market realizes the updated demand only for the 1st (binding) interval. As the window rolls forward, the operator minimizes the dispatch cost subject to operational constraints for stage-wise and overall dispatch.

We use forecast and real aggregate demand data for Aug 25-26, 2023, from the Millwood Zone in the New York ISO [16]. Furthermore, we assume one generator with aggregate cost coefficients c=20$/(MW)2𝑐20currency-dollarsuperscript𝑀𝑊2c=20\$/(MW)^{2}italic_c = 20 $ / ( italic_M italic_W ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT [17] and capacity limits g¯=0,g¯=maxt{dt}formulae-sequence¯𝑔0¯𝑔subscript𝑡subscript𝑑𝑡\underline{g}=0,\ \overline{g}=\max_{t}\{d_{t}\}under¯ start_ARG italic_g end_ARG = 0 , over¯ start_ARG italic_g end_ARG = roman_max start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT { italic_d start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }. Also, we assume one energy storage asset with variable capacity cost B𝐵Bitalic_B and variable capacity E𝐸Eitalic_E. The empirical cost coefficient given by bs:=ρBEbs\mathrel{\mathop{:}}=\rho BEitalic_b italic_s : = italic_ρ italic_B italic_E where ρ=5.24×104𝜌5.24superscript104\rho=5.24\times 10^{-4}italic_ρ = 5.24 × 10 start_POSTSUPERSCRIPT - 4 end_POSTSUPERSCRIPT [18, 15]. We assume a 4444-hour Lithium-ion battery such that the storage dispatch is bounded by u¯=E4¯𝑢𝐸4\underline{u}=-\frac{E}{4}under¯ start_ARG italic_u end_ARG = - divide start_ARG italic_E end_ARG start_ARG 4 end_ARG and u¯=E4¯𝑢𝐸4\overline{u}=\frac{E}{4}over¯ start_ARG italic_u end_ARG = divide start_ARG italic_E end_ARG start_ARG 4 end_ARG.

It is important to note that in real-time markets, the absence of a periodicity constraint may lead to periodicity constraint violations in cases of total two-stage dispatch. The operator only considers the optimal real-time dispatch for the first interval of the horizon as binding as the horizon window moves forward. Therefore, we use the underlying social planner problem (II-B) with and without periodicity constraints as a benchmark to compare the performance of the proposed mixed market mechanism from different perspectives.

Refer to caption
Figure 2: Social cost in the proposed mixed market mechanism, social planner without periodicity constraints, and social planner with periodicity constraints w.r.t (left) storage capital cost and (right) storage capacity.

We first consider the market perspective. Figure 2 illustrates the two-stage social cost for the three strategies, i.e., the proposed mixed market mechanism, the social planner with periodicity, and the social planner without periodicity, as we (a) change the storage capital cost for a fixed storage capacity of E=50MWh𝐸50𝑀𝑊E=50MWhitalic_E = 50 italic_M italic_W italic_h and (b) change the storage capacity for a fixed storage capital cost B=150$/kWh𝐵150currency-dollar𝑘𝑊B=150\$/kWhitalic_B = 150 $ / italic_k italic_W italic_h. The two-stage social cost of the proposed mechanism lies between the two bounds of the social planner problems in both the left and the right panels. This means that the proposed mechanism does not lead to significant losses in incentive compatibility. However, as we decrease the storage capital cost on the left panel or increase the storage capacity on the right panel, the difference in the social cost tends to increase. This suggests further study of the proposed mechanism in a more rigorous market setting.

Refer to caption
Figure 3: Storage profit in the proposed mixed market mechanism, social planner without periodicity constraints, and social planner with periodicity constraints w.r.t (left) storage capital cost and (right) storage capacity.

We next consider the resource owner perspective. Figure 3 illustrates the two-stage profit for the three strategies, i.e., the proposed mixed market mechanism, the social planner with periodicity, and the social planner without periodicity, as we (a) change the storage capital cost for a fixed storage capacity of E=50MWh𝐸50𝑀𝑊E=50MWhitalic_E = 50 italic_M italic_W italic_h and (b) change the storage capacity for a fixed storage capital cost B=150$/kWh𝐵150currency-dollar𝑘𝑊B=150\$/kWhitalic_B = 150 $ / italic_k italic_W italic_h. As expected, the energy storage profit also lies within the two bounds of the social planner problem. Similar to the previous case, the difference in profit between the mixed market mechanism and social planner without periodicity tends to increase as energy storage becomes cheaper or larger. However, note that profits tend to saturate at low capital costs, which results in greater utilization in real-time markets, as shown in the left panel.

VI Concluding Remarks

We study the market participation strategy of energy storage in two-stage markets while accounting for the temporally coupled storage operating cost in the form of its cycling cost. We propose two specific mixed market mechanisms where energy storage bids charge-discharge cycles in the day-ahead market followed by charge-discharge power bids in the real-time market. In the first mechanism, participants take into account their day-ahead decisions in their individual profit maximization problems. Alternatively, in the second approach, participants reflect on their day-ahead decisions in both bidding functions and individual problems.

Although both market mechanisms result in a unique competitive equilibrium, the first requires an iterative best response algorithm which may not be desirable in real-time markets due to frequent market clearing. The second approach, on the other hand, can be implemented via convex programming. Numerical simulations for the real-world NYISO data show that the proposed mechanism lies within the two bounds of the social planner problem, implying a bounded loss in incentive compatibility.

References

  • [1] “Annual energy outlook 2021 with projections to 2050.”   Energy Information Administration, Washington, DC, 2021.
  • [2] “Participation of distributed energy resource aggregations in markets operated by regional transmission organizations and independent system operators, Docket No. rm18-9-000, Order No. 2222.”   Department of Energy, Federal Energy Regulatory Commission, USA, 2020.
  • [3] P. Denholm, J. Nunemaker, P. Gagnon, and W. Cole, “The Potential for battery energy storage to provide peaking capacity in the United States,” National Renewable Energy Laboratory (NREL), Tech. Rep., 2019.
  • [4] C. A. Hill, M. C. Such, D. Chen, J. Gonzalez, and W. M. Grady, “Battery energy storage for enabling integration of distributed solar power generation,” IEEE Transactions on Smart Grid, 2012.
  • [5] M. A. Abdullah, K. M. Muttaqi, D. Sutanto, and A. P. Agalgaonkar, “An effective power dispatch control strategy to improve generation schedulability and supply reliability of a wind farm using a battery energy storage system,” IEEE Transactions on Sustainable Energy, vol. 6, no. 3, pp. 1093–1102, 2015.
  • [6] R. T. Elliott et al., “Sharing energy storage between transmission and distribution,” IEEE Transactions on Power Systems, 2019.
  • [7] D. Pudjianto, M. Aunedi, P. Djapic, and G. Strbac, “Whole-systems assessment of the value of energy storage in low-carbon electricity systems,” IEEE Transactions on Smart Grid, vol. 5, no. 2, pp. 1098–1109, 2014.
  • [8] N. G. Singhal, R. K. Bansal, J. M. Kemp, E. Ela, and M. Heleno, “Integration of hybrids into wholesale power markets,” Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States), Tech. Rep., 8 2023. [Online]. Available: https://www.osti.gov/biblio/1994813
  • [9] G. He, Q. Chen, C. Kang, P. Pinson, and Q. Xia, “Optimal bidding strategy of battery storage in power markets considering performance-based regulation and battery cycle life,” IEEE Transactions on Smart Grid, vol. 7, no. 5, pp. 2359–2367, 2015.
  • [10] D. Krishnamurthy, C. Uckun, Z. Zhou, P. R. Thimmapuram, and A. Botterud, “Energy storage arbitrage under day-ahead and real-time price uncertainty,” IEEE Transactions on Power Systems, 2018.
  • [11] S. Bhattacharjee, R. Sioshansi, and H. Zareipour, “Energy storage participation in wholesale markets: The impact of state-of-energy management,” IEEE Open Access Journal of Power and Energy, vol. 9, pp. 173–182, 2022.
  • [12] R. K. Bansal, P. You, D. F. Gayme, and E. Mallada, “A market mechanism for truthful bidding with energy storage,” Electric Power Systems Research, vol. 211, 2022.
  • [13] N. Zheng, X. Qin, D. Wu, G. Murtaugh, and B. Xu, “Energy storage state-of-charge market model,” IEEE Transactions on Energy Markets, Policy and Regulation, vol. 1, no. 1, pp. 11–22, 2023.
  • [14] C. Chen, S. Li, and L. Tong, “Multi-interval energy-reserve co-optimization with soc-dependent bids from battery storage,” 2024.
  • [15] R. K. Bansal, P. You, D. F. Gayme, and E. Mallada, “Storage degradation aware economic dispatch,” in 2021 American Control Conference (ACC), 2021, pp. 589–595.
  • [16] “ISO-New York : Energy market and operational data,” Available at https://www.nyiso.com/custom-reports/ (2023).
  • [17] R. D. Zimmerman and C. E. Murillo-Sanchez, “Matpower (version 7.0) [software].” Available at https://matpower.org/ (2019).
  • [18] Y. Shi, B. Xu, Y. Tan, D. Kirschen, and B. Zhang, “Optimal battery control under cycle aging mechanisms in pay for performance settings,” IEEE Transactions on Automatic Control, vol. 64, no. 6, pp. 2324–2339, 2019.