Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Socially Optimal Energy Usage via Adaptive Pricing

Jiayi Li, Matthew Motoki and Baosen Zhang
Electrical and Computer Engineering, University of Washington
{ljy9712, mmotoki, zhangbao}@uw.edu

We study the coordination of the electricity usage of a group of users by an operator. This question has been studied extensively by the community, for example, in the context of demand response, customer aggregation, and virtual power plants (see [pinson2014benefits, zhang2017robust] and the references within). The common setup is where each user is endowed with a cost (or utility) function, and the operator seeks to minimize a global cost function that is made up of the individual costs of the users and social welfare considerations.

A central challenge in these problems is that the cost functions of the users may not be known to the operator. Furthermore, users themselves may not be able to provide an analytical description, for example, if its consumption profile arises from applying a learning algorithm. In most existing works, however, the operator needs to somehow learn the cost functions of the users [Li19]. This restricts the users to having simple (typically quadratic) cost functions and is often too restrictive to be implemented in practice.

In this paper, we overcome this challenge by deploying a two-time-scale incentive mechanism that alternatively updates between the operator and the users. More specifically, based on a price, users solve their individual cost optimization problem; based on the actions of the users, the price is updated. This setup can accommodate a large class of user cost functions (e.g., they need not be convex or differentiable) and the operator does not need to learn what they are. The key is to use an ”externality” term that captures the difference between the optimal solutions of individual users and the socially optimal solution [maheshwari2022inducing]. We present the model and state the high-level results and some preliminary simulation results in this abstract.

We consider a system with N𝑁Nitalic_N users. Let xiTsubscript𝑥𝑖superscript𝑇x_{i}\in\mathbb{R}^{T}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT denote the electricity consumption of user i𝑖iitalic_i. We assume xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT takes value in a compact set 𝒳isubscript𝒳𝑖\mathcal{X}_{i}caligraphic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The cost for player i𝑖iitalic_i is fi(xi)subscript𝑓𝑖subscript𝑥𝑖f_{i}(x_{i})italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ). The operator is interested in minimizing a global cost function:

Φ(x)=ifi(xi)+g(ixi).Φ𝑥subscript𝑖subscript𝑓𝑖subscript𝑥𝑖𝑔subscript𝑖subscript𝑥𝑖\Phi(x)=\sum_{i}f_{i}(x_{i})+g\left(\sum_{i}x_{i}\right).roman_Φ ( italic_x ) = ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) + italic_g ( ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) . (1)

The first term in ΦΦ\Phiroman_Φ represents the sum of the users’ costs, while the second term represents a social or system cost. For example, if g(ixi)=ixi2𝑔subscript𝑖subscript𝑥𝑖superscriptnormsubscript𝑖subscript𝑥𝑖2g\left(\sum_{i}x_{i}\right)=||\sum_{i}x_{i}||^{2}italic_g ( ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = | | ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, the system is then penalizing the total power used by all the users.

To guide the users to the minimizing solution of Φ(x)Φ𝑥\Phi(x)roman_Φ ( italic_x ), the system operator broadcast a price p𝑝pitalic_p, and user i𝑖iitalic_i solves

minxi𝒳ici(xi)=fi(x)+pTxi.subscriptsubscript𝑥𝑖subscript𝒳𝑖subscript𝑐𝑖subscript𝑥𝑖subscript𝑓𝑖𝑥superscript𝑝𝑇subscript𝑥𝑖\min_{x_{i}\in\mathcal{X}_{i}}\quad c_{i}(x_{i})=f_{i}(x)+p^{T}x_{i}.roman_min start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x ) + italic_p start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT . (2)

We define the externality e𝑒eitalic_e as the marginal social cost arising from the term g𝑔gitalic_g:

e(x)=zg(z)|z=ixi.𝑒𝑥evaluated-atsubscript𝑧𝑔𝑧𝑧subscript𝑖subscript𝑥𝑖e(x)=\nabla_{z}g(z)|_{z=\sum_{i}x_{i}}.italic_e ( italic_x ) = ∇ start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT italic_g ( italic_z ) | start_POSTSUBSCRIPT italic_z = ∑ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT . (3)

We use an iterative algorithm to find the price that would incentivize minimizing the social cost ΦΦ\Phiroman_Φ. An important assumption we make is that given any p𝑝pitalic_p, there is a unique solution to (2), denoted by xi(p)subscript𝑥𝑖𝑝x_{i}(p)italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_p ). But otherwise are not concerned with how user i𝑖iitalic_i solves (2). Then we update the price p𝑝pitalic_p as

pk+1=(1βk)pk+βke(x(pk)).subscript𝑝𝑘11subscript𝛽𝑘subscript𝑝𝑘subscript𝛽𝑘𝑒𝑥subscript𝑝𝑘p_{k+1}=(1-\beta_{k})p_{k}+\beta_{k}e(x(p_{k})).italic_p start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT = ( 1 - italic_β start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_β start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_e ( italic_x ( italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) ) . (4)

In the full paper, we will show that under mild assumptions, the dynamic in (4) will converge to a unique psuperscript𝑝p^{*}italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, such that x(p)𝑥superscript𝑝x(p^{*})italic_x ( italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) is the minimizer of ΦΦ\Phiroman_Φ. This price update scheme is attractive because the operator doesn’t need to know or to learn the fisubscript𝑓𝑖f_{i}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT’s. As long as the decisions xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT’s are observed, a unique psuperscript𝑝p^{*}italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT can be found to induce globally optimal behavior.

We consider two examples here to show the performance of the update in (4). The first is where xisubscript𝑥𝑖x_{i}\in\mathbb{R}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_R, fi(xi)=12(xix¯i)2subscript𝑓𝑖subscript𝑥𝑖12superscriptsubscript𝑥𝑖subscript¯𝑥𝑖2f_{i}(x_{i})=\frac{1}{2}(x_{i}-\bar{x}_{i})^{2}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - over¯ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT and g(xi)=λ2(xi)2𝑔subscript𝑥𝑖𝜆2superscriptsubscript𝑥𝑖2g(\sum x_{i})=\frac{\lambda}{2}(\sum x_{i})^{2}italic_g ( ∑ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = divide start_ARG italic_λ end_ARG start_ARG 2 end_ARG ( ∑ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT for some λ𝜆\lambdaitalic_λ.

Refer to caption
Figure 1: Simulation results for 10 users.

The second example shows that fisubscript𝑓𝑖f_{i}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT’s need not be differentiable or convex. This is exemplified through a group of water heaters where xiTsubscript𝑥𝑖superscript𝑇x_{i}\in\mathbb{R}^{T}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT represents the 1-day load profile, fisubscript𝑓𝑖f_{i}italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT represents user discomfort, and g𝑔gitalic_g is the same as previous.

Refer to caption
Figure 2: Simulation results for 25 users minimizing discomfort.