https://github.com/imperialcollegelondon/ev_reserve

Code for the study "Reserve Provision from Electric Vehicles: Aggregate Boundaries and Stochastic Model Predictive Control"

https://github.com/imperialcollegelondon/ev_reserve

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
Last synced: 4 months ago · JSON representation

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
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme

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

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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels