https://github.com/nicomignoni/multiple-storage-systems-in-smart-grids
Simulations code for MSc thesis.
https://github.com/nicomignoni/multiple-storage-systems-in-smart-grids
energy-storage game-theory optimization smart-grid
Last synced: 3 months ago
JSON representation
Simulations code for MSc thesis.
- Host: GitHub
- URL: https://github.com/nicomignoni/multiple-storage-systems-in-smart-grids
- Owner: nicomignoni
- License: gpl-3.0
- Created: 2021-06-15T11:21:19.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-29T00:39:55.000Z (over 2 years ago)
- Last Synced: 2023-12-16T15:56:51.303Z (almost 2 years ago)
- Topics: energy-storage, game-theory, optimization, smart-grid
- Language: MATLAB
- Homepage:
- Size: 6.98 MB
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Multiple storage systems in smart grids
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](https://www.sciencedirect.com/science/article/abs/pii/S0967066122001952)] [[TechRxiv](https://www.techrxiv.org/articles/preprint/Control_Frameworks_for_Transactive_Energy_Storage_Services_in_Energy_Communities/21305052)].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.
![]()
## Prosumer and provider models
The model for theprosumer 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
.
## Implementation approaches
### Centralized
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 to
![]()
where
is
![]()
This 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.
### Decentralized
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 factorsand
, 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.
![]()
### Distributed
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.
![]()
## Reference
N. Mignoni, _Control techniques for multiple energy storage systems in smart grids_, Politecnico di Bari, 2021## Cite as
```
@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}
}
```