This repo contains the MATLAB code used in the MSc thesis "Control techniques for multiple energy storage systems in smart grids", whose results have been extended to the paper "Control frameworks for transactive energy storage services in energy communities" [Elsevier] [TechRxiv].
The main idea is to consider the energy storage as a service provided by an independent economical agents, i.e., the providers. Prosumers can than decide whether to sell the exceeding energy to the retailer or store it.
The model for the prosumer comprises the cost function , i.e.,
subject to the constraints set
where is the energy generated by the prosumer, is its demand, is the energy retrieved from providers' storage systems, while is the energy transferred to providers. The amount of energy bought from the provider is , while the amount sold is . The amount of energy stored is . Vector contains the previously listed variables. Parameters , , are, respectively, the energy buying and selling prices, and the storage service price.
As for the model for the provider, it comprises the cost function , i.e.,
subject to the constraints set
where is the energy received by prosumers, is the energy retrieved by prosumers, is the storage system charging level. Vector contains the previously listed variables. The degradation rate is .
The centralized approach consists of a grand coalition resulting from the union of the prosumers' and providers' communities. A community manager solves the ooptimization problem on behalf of all agents.
The objective function is results from the sum of the objective functions of all agents, i.e.,
subject toThis approach returns an optimal and paretian solution for the coalition, but is not practically conveneient to realize. Therefore, the decentralized and distributed approaches are formulated as alternatives.
In the decentralized approach the problem is formulated as a non-cooperative game where its solution corresponds to a Nash equilibrium point. The iterative algorithm consists of every agent solves its optimization problem and then communicates the state of its energy flow variables to a coordinator. Therefore, the latter can calculate the aggregate energy flow values and, consequently, the penalty factors and , which guarantee the convergence of the energy flow constraints. Penalty factors are, then, are boradcasted to all agents, in order for them to calculate the penalty regularizers and , which are added to the objective function.
In the distributed approach, the communication and energy transfer network is modelled as a bipartite graph. Each agent solves its own optimization problem and broadcasts the state of its energy flow variables to the nodes in its neighborhood. Therefore, penalty factors and regularizers are autonomously updated, without the need of a coordinator.
N. Mignoni, Control techniques for multiple energy storage systems in smart grids, Politecnico di Bari, 2021
@article{mignoni2023control,
title={Control frameworks for transactive energy storage services in energy communities},
author={Mignoni, Nicola and Scarabaggio, Paolo and Carli, Raffaele and Dotoli, Mariagrazia},
journal={Control Engineering Practice},
volume={130},
pages={105364},
year={2023},
publisher={Elsevier}
}