GithubHelp home page GithubHelp logo

pierlucaanania / rec-energy-management-mpc-rl Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 0.0 103.6 MB

Explore efficient energy management in renewable communities through the implementation of Model Predictive Control (MPC) and Reinforcement Learning (RL). This GitHub repository houses the codebase for optimizing renewable energy systems, promoting sustainable practices and smart energy utilization. MSc Mechanical Eng Thesis // Pier Luca Anania

License: MIT License

Python 100.00%
energy-data energy-management energy-system model-predictive-control reinforcement-learning

rec-energy-management-mpc-rl's Introduction

"Reinforcement Learning for Optimal Energy Management in Renewable Energy Communities" (example of title, to be defined)


Potential Applications of RL to REC Energy Management.

Description

This GitHub repository hosts the code and resources for my Master's thesis in Mechanical Engineering, focusing on the application of Reinforcement Learning techniques to the Energy Management of a Renewable Energy Community. The goal of this research is to develop efficient strategies for optimizing the energy production, consumption and distribution within a local community powered by renewable sources. (//ToBeUpdated with more details of Ponza)

Table of Contents

Introduction

example: (add a brief description of the project, what it does, and how it works)

// In recent times, the transition to sustainable and renewable energy sources has become paramount. This project aims to address the challenges of managing energy within a localized community that primarily relies on renewable energy generation, such as solar panels, wind turbines, and more. The application of reinforcement learning techniques to energy management problems offers the potential to optimize energy consumption, storage, and distribution in a dynamic and adaptable manner.

Dependencies

  • Python 3.7+
  • TensorFlow
  • OpenAI Gym
  • Other necessary libraries listed in requirements.txt
  • //ToBeUpdated

Structure

//ToBeUpdated --> Only an idea of the structure of the repository

๐Ÿ“‚ MScThesis_RL-REC

โ”‚   ๐Ÿ“„ README.md                     # Introduction document
โ”‚   ๐Ÿ“„ LICENSE                       # License information
โ”‚   ๐Ÿ“„ .gitignore                    # Gitignore configuration file
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ Learning Material         # Papers, books, and other learning material
โ”‚   โ”‚   ๐Ÿ“„ papers.md                 # List of relevant scientific papers
โ”‚   โ”‚   ๐Ÿ“„ books.md                  # List of consulted books
โ”‚   โ”‚   ๐Ÿ“„๐Ÿ“„ papers
โ”‚
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ draft                        # Draft code
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ src                          # Source code
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€โ”€ ๐Ÿ“‚ data                       # Input data
โ”‚       โ”‚   ๐Ÿ“„ consumption.csv         # Energy consumption data
โ”‚       โ”‚   ๐Ÿ“„ production.csv          # Energy production data
โ”‚       โ”‚   ...
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€โ”€ ๐Ÿ“‚ models                     # Reinforcement learning models
โ”‚       โ”‚   ๐Ÿ“„ dqn_model.py            # DQN model implementation
โ”‚       โ”‚   ๐Ÿ“„ actor_critic_model.py   # Actor-Critic model implementation
โ”‚       โ”‚   ...
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€โ”€ ๐Ÿ“‚ utils                      # Utility and helper functions
โ”‚       โ”‚   ๐Ÿ“„ data_preprocessing.py   # Data preprocessing
โ”‚       โ”‚   ๐Ÿ“„ energy_calculations.py  # Energy calculations
โ”‚       โ”‚   ...
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ docs                           # Documentation
โ”‚   โ”‚   ๐Ÿ“„ thesis.pdf                  # Final version of the thesis in PDF
โ”‚   โ”‚   ๐Ÿ“„ presentation.pptx           # Presentation for thesis defense
โ”‚   โ”‚   ...
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ experiments                    # Experimental results // Application
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€โ”€ ๐Ÿ“‚ experiment_1               # Experiment 1: Configuration parameters X
โ”‚   โ”‚   โ”‚   ๐Ÿ“„ results.txt             # Quantitative results of experiment 1
โ”‚   โ”‚   โ”‚   ๐Ÿ“„ analysis.md             # Qualitative analysis of results
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€โ”€ ๐Ÿ“‚ experiment_2               # Experiment 2: Configuration parameters Y
โ”‚       โ”‚   ...
โ”‚
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ references                     # Documents and references
โ”‚   โ”‚   ๐Ÿ“„ papers.md                   # List of relevant scientific papers
โ”‚   โ”‚   ๐Ÿ“„ books.md                    # List of consulted books
โ”‚   โ”‚   ...
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ presentation                   # Presentation materials
โ”‚   โ”‚   ๐Ÿ“„ slide1.pptx                 # Slides
โ”‚   โ”‚   ๐Ÿ“„ slide2.pptx                 # Slides
โ”‚   โ”‚   ...
โ”‚
โ””โ”€โ”€โ”€ ๐Ÿ“‚ screenshots                    # Example screenshots or visualizations
โ”‚   โ”‚   ๐Ÿ“„ screenshot_1.png            # Example data visualization
โ”‚   โ”‚   ๐Ÿ“„ screenshot_2.png            # Example results visualization
โ”‚   โ”‚   ...

Usage

A/N: Private Repository, not available for public use. This section will be updated with instructions on how to use the code once the thesis is completed.

  1. Clone the repository:
git clone https://github.com/pierlucaanania/MScThesis_RL-REC.git
cd MScThesis_RL-REC
  1. Set up the environment: #ToBeUpdated
python3 -m venv venv
source venv/bin/activate
  1. Install the dependencies
pip install -r requirements.txt
  1. Run the code
#add running script if exists

Results

example:

// The results of applying reinforcement learning techniques to the renewable energy community energy management problem will be documented in the 'results' directory. This section will include data visualizations, analysis, and comparisons of different algorithms.

Contributions

A/N: Private Repository, not available for public use. This section will be updated with instructions on how to use the code once the thesis is completed.

Contributions to this project are welcome! If you have suggestions, bug fixes, or improvements, please feel free to open an issue or submit a pull request. Let's collaborate to advance the understanding of efficient energy management using reinforcement learning.

License and Contact

This project is under MIT License

Author: Pier Luca Anania

Contact:

  1. [email protected]
  2. [email protected]

University: Sapienza University of Rome

Department: DIMA Mechanical and Aerospace Engineering

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.