Giter Site home page Giter Site logo

code_smart_charging's Introduction

Smart Charging Electric Vehicles

Welcome! In this repository you will find all the code and models for the Masters Thesis of David Ribberholt Ipsen. Checkout visualisations to see some of the results.

Code

The most important implementations is located in MPC/, particularly MPC/FunctionCollection.py.

Figures

1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Abstract

A key aspect of transitioning to weather-driven energy sources is utilising the flexibility of energy consumption to meet the weather-driven time of production. An important example of such flexibility is the charging of electric vehicles (EVs). EV charging can often be postponed or advanced to times when the grid is in plenty, for example, overnight. This process is popularly called Smart Charging. This thesis provides models, methods and code for solving the Smart Charging problem of minimising costs.

The thesis demonstrates that the Smart Charging problem can be solved by a simple linear program which is very fast to solve. For controlling the charging optimally over time, *Economic Model Predictive Control is suggested for solving the linear program with a receding horizon of up to six days of length. External data sources are used for price forecasts and EV behavioural data.

%(When considering the next six days in determining how much to charge here-and-now, one will need to forecast the expected usage and price. For the latter, open-source forecast is utilised. For the former, EV behavioural data has been provided by Monta

For comparison of various models, a novel measure is proposed: Relative Total Cost, which defines the relative difference from the total cost of charging having Perfect Foresight relative to Dumb Charging (as opposed to Smart Charging). This provides a framework for assessing all Smart Charging algorithms in a range from 0 % to 100 %.

Both deterministic and stochastic model predictive controllers are developed. The deterministic models treat the price forecast as the ground truth. This proves to fool the model into taking worse decisions than the Day-Ahead model, which only acts on the known prices 11-35 hours ahead.

To model the inherent uncertainty of the price forecasts, the Stochastic Multi-Day Ahead model is established. It is based on building a probabilistic forecast on top of the point forecast, from which statistical scenarios of the price residuals can be sampled. By defining the two-stage stochastic program of the problem, the model learns that forecasts are inherently uncertain and proves to improve performance relative to the deterministic Multi-Day Ahead model on the training set. A test set is obtained to estimate the out-of-sample performance, on which the stochastic model degrades in performance, calling for adaptive estimation of the covariance structure in the residuals.

Ultimately, the Day-Ahead Model provides the best results on both training and test set. The model is found to exploit the majority of the value within EV flexibility. Suggestions for additional enhancements are provided. The average savings per vehicle is estimated to be 1337 DKK (28 %) per year.

code_smart_charging's People

Contributors

davidripsen avatar

Stargazers

 avatar steven Song avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.