https://github.com/imperialcollegelondon/ev_reserve
Code for the study "Reserve Provision from Electric Vehicles: Aggregate Boundaries and Stochastic Model Predictive Control"
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 5 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.5%) to scientific vocabulary
Repository
Code for the study "Reserve Provision from Electric Vehicles: Aggregate Boundaries and Stochastic Model Predictive Control"
Basic Info
- Host: GitHub
- Owner: ImperialCollegeLondon
- Language: Python
- Default Branch: main
- Size: 162 KB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Reserve Provision from Electric Vehicles: Aggregate Boundaries and Stochastic Model Predictive Control
The code in this repository simulates a Stochastic Model Predictive Control (SMPC) algorithm for an aggregate electric vehicle (EV) fleet. The algorithm was proposed as part of a journal submission for which a preprint has been made available.
Input data
The required input data has been uploaded alongside the results as a dataset on IEEE dataport but the individual sources are listed below: 1. Plug-in times and energy charged: Department for Transport, “Electric chargepoint analysis 2017: Domestics,” https://www.data.gov.uk/dataset/5438d88d-695b-4381-a5f2-6ea03bf3dcf0/electric-chargepoint-analysis-2017-domestics, 2018, accessed: 2023-09-15. 2. Rain volume: L. V. Alexander and P. D. Jones, “Updated precipitation series for the UK and discussion of recent extremes,” Atmospheric science letters, vol. 1, no. 2, pp. 142–150, 2000. 3. D. E. Parker, T. P. Legg, and C. K. Folland, “A new daily central england temperature series, 1772–1991,” International journal of climatology, vol. 12, no. 4, pp. 317–342, 1992. 4. Elexon, “Balancing mechanism reporting service (bmrs): Market index data,” https://www.bmreports.com/bmrs/?q=balancing/marketindex/historic, 2023, accessed: 2023-09-15.
Datasets 2-4 have also been made available in this repository but the electric chargepoint analysis (datast 1) is too large to be uploaded on GitHub.
Functionality
a_remove_double_occ.py removes plug-in entries in which a charger is occupied by two EVs at the same time as this is not possible. It also removes any charging process that lasts longer than two weeks. Note that this process is computationally intensive, so that it should only be done once.\
b_add_EVdata.py formats the plug-in data and adds some additional measures as described in the paper.\
c_random_seed.py uses a charger list that was created using a one-time random seed to create datasets of 20-1000 EV chargers.\
d_aggregate_bounds.py creates a function that aggregates the data from any of the charging datasets into the three continuous boundaries (Power Boundary, Upper Energy Boundary, Lower Energy Boundary)\
e_predmodel.py contains a multiple linear regression (MLR) model that uses the boundary trajectories from the training dataset to predict the boundary trajectories in the test dataset. Additionally, the boundary scenarios are also generated here.\
f_stoch_opt.py presents the first- and second-stage optimisation functions which take the generated predictions and scenarios as an input and generate charging decisions. The first-stage optimisation additionally decides on reserve provision.\
g_smpc.py iterates through half-hour settlements, calling the previous file at each timestep to solve the resulting optimisation.\
simulations.ipynb runs simulations for different fleet sizes. It is recommended to use some sort of parallel processing here, such as the multiprocessing package in Python as otherwise the simulations will be very time-consuming.\
auxfunc_aggregation.py, auxfunc_data.py and auxfunc_test_train_split.py are files with auxiliary functions that are called upon for the aggregation process, data processing and the test/train split, respectively.
Owner
- Name: Imperial College London
- Login: ImperialCollegeLondon
- Kind: organization
- Email: icgithub-support@imperial.ac.uk
- Location: Imperial College London
- Repositories: 311
- Profile: https://github.com/ImperialCollegeLondon
Imperial College main code repository
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0