Skip to content

inesmultrier/battery-optimisation

 
 

Repository files navigation

Build Status

battery_optimisation

This project looks at the optimisation of domestic batteries with domestic solar photovoltaics attached.

The project's aim is to use reinforcement learning to dispatch a battery source optimally.

Installation

Pre-requisite: A virtual environment

Although not strictly necessary, creating a conda virtual environment is highly recommended: it will isolate users and developers from changes occuring on their operating system, and from conflicts between python packages. It ensures reproducibility from day to day.

Create a virtual env including python with:

> conda create -n battery-optimisation python=3.7

Activate the environment with:

> conda activate battery-optimisation

Later, to recover the system-wide "normal" python, deactivate the environment with:

> conda deactivate

Installation of packages

Next, to install the required python packages, run:

> pip install -r requirements.in

Usage

To run the reinforcement learning algorithm, you must run a single file, such as the following:

> python3 src/models/run_model.py   

Training

To visualise the training in real-time, it is possible to use tensorboard. To start tensorboard, you must find your ray_results/ folder. This is usually in ~/ray_results/. The following code should work to get tensorboard started:

> tensorboard --logdir=~/ray_results/

You can then view the training by navigating to http://localhost:6007/ in a browser.

Important features?

  • Weather
  • Historical load
  • Historical weather irradiance
  • Generator capacity

Reward

  • Inverse of electricity price

Observations

  • State of battery charge
  • Battery size
  • Previous data points
  • Time
  • Day

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 97.0%
  • Python 2.7%
  • Makefile 0.3%