Keywords

1 Introduction

Local energy markets (LEMs) have been proposed as a paradigm to better exploit the benefits of distributed local energy generation [3]. The various proposed market mechanisms target to encourage neighbours to exchange energy locally - within the same low voltage distribution grid, for example - in order to reduce their energy bill or even to generate revenue. In most implementations, the market mechanisms consist of a sequence of auctions that allow the participants to trade energy for the next time-slot (usually 15 or 30 min long). For a review of different proposals and implementations, the reader is referred to [8, 9, 12] and the references therein. LEMs are usually implemented as double auctions, with players (households) submitting both buying and selling bids. In particular, a house with renewable generation can be a buyer or a seller, depending on the time-slot.

In addition, if households have flexibility in their consumption profiles (for example, thanks to energy storage systems), they will schedule their load to obtain the most out of the market. In spite of this, it is known that the system architecture involving sequential auctions does not fully exploit the available flexibility and can even be counterproductive in some cases [6]. For example, when players are subject to Time-of-Use tariffs (ToU), their beliefs about future market prices can lead them to postpone their demand, only to follow it with a huge peak in consumption before a change in the price from the cheap ToU period to the most expensive one [5].

In this paper, we put forward the design of an approach based on a combinatorial double auction [7, 11, 13] that improves the utility of all players and increases the total traded energy. Even though combinatorial auctions have already been proposed [1, 10] the design presented here is the first to exploit the structure of flexible demand derived from energy storage.

2 Mathematical Model of Players

Let \(\mathcal {N}= \left\{ 1, \dots , N \right\} \) denote the set of players and \(\mathcal {T}= \left\{ 1, \dots , T \right\} \) the set of time-slots in a given day. Each player can consume energy by using appliances (water heater, A/C, charging electric vehicles, TV, etc.) and might produce energy (e.g. photovoltaic generation). Let \(x^i_{t}\) denote the demand of player i at time-slot t, where a positive value of \(x^i_{t}\) represents excess of consumption while a negative value stands for a surplus of renewable energy (the definition of x is independent of possible flows with a battery, those flows will be introduced through additional variables). The demand profile \(x^i_{}=(x^i_{1}, \dots , x^i_{T})\) of player i is assumed fixed and known.

To simplify the presentation, we suppose that the flexibility of each player is introduced only by batteries (for example, the demand of the appliances is not shifted in time). Let \(\mathbf {S}^i\) denote the total capacity of player i’s battery (possibly 0), \(\mathbf {S}^i_0\) the initial state of charge and \(s^i_{t}\) the amount of charged (\(s^i_{t} \ge 0\)) or discharged (\(s^i_{t} < 0\)) energy at time-slot t. The feasible set of charging/discharging decisions \(\mathcal {F}^i\) is given by Eq. (1).

$$\begin{aligned} \mathcal {F}^i= \left\{ s^i_{}:\mathbf {S}^i_0+ \sum ^{j}_{t=1} s^i_{t} \in [0, \mathbf {S}^i], \ \forall j\in \mathcal {T}; s^i_{}\in \mathbb {R}^T \right\} \end{aligned}$$
(1)

The state of the battery at time-slot t is precisely: \(\mathbf {S}^i_0+ \sum _{j=1}^t s^i_{j}\).

Furthermore, we will denote by \(n^i_{}= s^i_{}+ x^i_{}\), with \(s^i_{}\in \mathcal {F}^i\), the net consumption of player i as seen from the grid.

In addition to trading in the market, households can trade with their traditional electricity company (TEC). Each player’s contract with the TEC stipulates a price for buying energy \(\beta ^i_{t}\) and a price for selling energy back to the grid \(\zeta ^i_{t}\) at time-slot t. Consequently, the cost faced by player’s i at time-slot t when consuming a load of \(w^i_t\) is given by:

$$ C^i_{t}(w^i_t) = \beta ^i_{t}\max \{w^i_t, 0\} - \zeta ^i_{t}\max \{- w^i_t , 0\}. $$

As it is with most tariffs that allow for injecting back into the main grid, we will assume that the price of buying \(\beta ^i_{t} > \zeta ^i_{j}, \ \forall t,j\) so that buying and re-selling to the TEC is never optimal.

2.1 Utility of Players Trading in the Market and with the TEC

We introduce here the definition we use of the utility of any given player when trading in the local market.

At time-slot t, player i might be able to trade a fraction \(\lambda ^i_{t} \in [0, 1]\) of her net load \(n^i_{t}\) in the local market. If player i trades \(\lambda ^i_{t}n^i_{t}\) in the local market, then it will have to trade the quantity \((1-\lambda ^i_{t})n^i_{t}\) with the TEC. Denoting \(\mathcal {P}^i_{}\) the payment of player i associated with the total quantity traded in the local market (positive if buying, negative if selling) among all time-slots, the utility of player i is given by:

$$\begin{aligned} u^i(x^i_{}, s^i_{}, \lambda ^i_{}, \mathcal {P}^i_{}) = {\left\{ \begin{array}{ll} -\mathcal {P}^i_{}- \sum \nolimits ^{T}_{t=1} C^i_{t}((1 - \lambda ^i_{t})n^i_{t}) &{} \text { if } (n^i_{}- x^i_{}\in \mathcal {F}^i) \\ - \infty &{} \text { otherwise} \end{array}\right. } \end{aligned}$$
(2)

An interpretation of the above is as follows: if players do not manage to consume their desired energy consumption profile \(x^i_{}\), then they are dissatisfied beyond repair. Otherwise, their utility is simply their total cost, which is given as the cost associated with the market and the cost associated with trading with the TEC.

The maximum utility that a player can obtain without participating in the market and only trading with the TEC is given by:

$$\begin{aligned} \alpha ^i= \max _{s^i_{}\in \mathcal {F}^i} u^i(s^i_{}+ x^i_{}, 0, 0) \end{aligned}$$
(3)

The optimization problem specified in (3) coincides with the optimal control of a battery subject to a fixed price tariff and it is equivalent to a linear programming problem [2].

3 Auction Model

We put forward the design of a combinatorial double auction that exploits the flexibility available for players. Unlike the traditional auctions used for LEMs in which players bid the quantity they want to buy or sell for a single time-slot, we allow players express in their bids their desire to acquire specific profiles of energy spanning multiple periods. We proceed to explain the bidding format, the allocation and the pricing rules.

3.1 Bidding Format and Allocation Rule

In the proposed auction, each player expresses all her acceptable trading profiles and the utility associated with each one of them. To do so, each player bids a feasible set of consumption profiles \(\hat{\mathcal {F}^i}\) (this can be done by bidding the battery capacity, initial state of charge and the player’s demand \(\hat{x^i_{}}\)) and her utility function \(u^i\), such as the one defined in Eq. (2). Here, we use the \(\hat{h}\) notation to emphasize that the bid needs not to be truthful. From the bids, we can obtain \(\displaystyle \hat{\alpha ^i}\), the maximum utility that player i can guarantee without trading in the local market, according to her reported information.

Observe that to bid the utility function \(u^i\), it suffices to bid the set of buying and selling prices \(\beta ^i_{}, \zeta ^i_{}\).

Regarding the allocation rule, it will be derived from the optimal solution of optimization problem (4a)–(4e). As the objective function of the allocation problem, we decided to use Eq. (4a), which maximizes the value of all the local trades. The value is defined as the price that players would have to pay to the TEC to buy (sell) the same amount of energy. That way, the maximum amount of profit can be distributed among the market participants. This is analogous to finding the clearing price in a double auction such as [4].

$$\begin{aligned} \max _{n^i_{}, \lambda ^i_{}, \mathcal {P}^i_{}} \!\!\!\!\qquad \quad \sum _{i \in \mathcal {N}} \sum _{i \in \mathcal {T}} C^i_{t}\left( \lambda ^i_{t}n^i_{t} \right) \qquad \qquad \;\!\!\!\!\!\!&\end{aligned}$$
(4a)
$$\begin{aligned} \text {subject to: } \qquad \qquad \qquad \;\;\!\!\!\!\!\! \quad \sum _{i \in \mathcal {N}} \mathcal {P}^i_{}\qquad \;\;\!\!\! \ge 0&\quad \end{aligned}$$
(4b)
$$\begin{aligned} \mathcal {P}^i_{}+ \sum _{t\in \mathcal {T}} C^i_{t}\left[ 1 - \lambda ^i_{t}n^i_{t} \right] \quad \;\!\! \le -\hat{\alpha ^i}&\quad \forall i \in \mathcal {N} \end{aligned}$$
(4c)
$$\begin{aligned} \sum _{i \in \mathcal {N}} \lambda ^i_{t}n^i_{t} \qquad \;\; \!\!\! = 0&\quad \forall t \in \mathcal {T} \end{aligned}$$
(4d)
$$\begin{aligned} n^i_{}\in \hat{\mathcal {F}^i} + \hat{x^i_{}}&\quad \forall i \in \mathcal {N} \end{aligned}$$
(4e)

The first constraint (4b) ensures that if the equality holds, all the money is redistributed among the participants according to the market decisions, while if the inequality is strict, the market maker obtains a profit. Constraint (4c) guarantees that the auction is individually rational, i.e., each players is at least as good as if she had not participated in the local market. It’s important to note that encoding all of the \(\mathcal {N}\) constraints (4c) requires a total of \(\mathcal {N}\mathcal {T}\) additional binary variables. Equalities (4d) ensure that the amount of sold energy is equal to the energy bought in every time-slot. The last constraint guarantees that only feasible net consumption profiles are used. Finally, the amount of energy traded by player i at time-slot t is given by \(\lambda ^{i*}_{}n^{i*}_{}\), where \(\lambda ^{i*}_{}\) and \(n^{i*}_{}\) are the optimal solutions of optimization problem (4a).

3.2 Payment Rule

As a payment rule, one alternative is to use the value of \(\mathcal {P}^{i*}_{}\) in the optimal solution of (4a). For the cases in which the values of \(\mathcal {P}^{i*}_{}\) will not be unique, a predefined rule can be used to choose among the possible values. One such could be to select the values of \(\mathcal {P}^{i*}_{}\) that maximize a given fairness criterion.

We proceed to illustrate our proposal with an example.

3.3 A Simple Example

Consider two players 1 and 2 such that: \(x^1 = (0, -1, 0)\), \(x^2 = (0, 0, 1)\), \(\beta ^1 = \beta ^2 = (2, 3, 3)\), \(\zeta ^1 = \zeta ^2 = (1, 1, 1)\), \(\mathbf {S}^1 = \mathbf {S}^2 = 1\), \(\mathbf {S}^1_0 = \mathbf {S}^2_0 = 0\).

If player 1 does not trade in the market, she will sell all her energy at price 1, for a total utility of \(\alpha ^1 = 1\), net consumption profile \(n^1 = (0, -1, 0)\) and no need to user her battery \(s^1 = (0, 0, 0)\). Analogously, player’s 2 utility is \(-2\) as she charges her battery during the first time-slot and discharges it in the last one (\(s^2=(1, 0, -1)\)) to obtain a net consumption profile \(n^2 = (1, 0, 0)\).

We will now assume that the two players decide to participate in the auction and they do so truthfully. In the optimal solution of the allocation problem defined by their bids, it holds that \(n^1 = (0, -1, 0) = - n^2\), \(\lambda ^1 = \lambda ^2 = (0, 1, 0)\). Furthermore, the maximum value is attained at: \(3\times (1) + 1 \times (-1) = 2\).

Regarding the payments, we have that for player 1: \(\mathcal {P}^{1*} \le -1\) and for player 2: \(\mathcal {P}^{2*} \le 2\). Consequently, any payment from player 2 to player 1 in the interval \(\mathcal {P}^{2*} \in (1, 2)\) will leave both players better off than before.

3.4 General Properties of the Solution

First, observe that in (4a), the scenario without trades (\(\mathcal {P}^i_{t} = \lambda ^i_{t} = 0, \forall i \in \mathcal {N}, \ \forall t \in \mathcal {T}\)) is always feasible and therefore, a solution exists. This solution needs not to be unique, as discussed in Subsect. 3.2. Secondly, when all players bid truthfully, the proposed auction obtains the consumption and trading profiles that maximize the value of the trades. The obtained allocation outperforms the results obtained when players maximize their individually utility and attempt to trade later using sequential auctions. An example of this was given in the previous subsection. There, the total utility of players went from \(-1\), had they tried to trade in sequential auctions using the net profiles that maximized their individual utilities, to 0 by trading in the proposed auction.

4 Conclusion

In this paper we introduced a combinatorial double auction to be used in local energy markets as a replacement to run several sequential auctions in the same day, one for each time-slot. The proposed model maximizes the value of the trades in the local market by exploiting the latent flexibility of the players, given that players bid truthfully. Future lines of research include variations of the proposed mechanism that are strategy-proof or that require less binary variables.