Low carbone solutions for buildings
!! REINFORCEMENT LEARNING Challenge !! Train your model with Accenta Gym Environment.
Started on Jan. 27, 2023
ACCENTA is a DeepTech company in energy transition. It develops an innovative solution that combines machine learning algorithms, mathematical optimization and inter-seasonal heat storage to reduce energy consumption and CO2 emissions caused by the heating and cooling of collective buildings (collective housing, offices, warehouses, hotels, malls, etc.). Created in 2016 at the X-novation Center of the Ecole Polytechnique, the company brings together a multidisciplinary team of specialists from the areas of energy, engineering and information technology.
The ACCENTA HVAC system (Heating, Ventilation, and Air Conditioning system) mostly relies on geostorage to offer a cleaner alternative to polluting HVAC systems: the heat produced at very low cost in summer is stored one to two hundred meters deep in the ground to be reused in winter when it is most useful (when its production is most expensive and carbon intensive). Geostorage maximizes the energy efficiency of thermal systems, but the geothermal probes used to exchange heat between the ground and the building represent a significant investment for the purchaser. ACCENTA proposes to make geostorage economically competitive by reducing the number of geothermal probes used as much as possible thanks to optimized sizing and optimal control via Artificial Intelligence algorithms (Machine Learning and mathematical optimization).
Reducing greenhouse gas emissions of heating and cooling systems of large buildings
Optimizing the control of the thermal systems of these buildings
Significant CO2 savings are already achieved by Accenta:
Explore new ways to improve these algorithms based on reinforcement learning methods
This challenge is not a supervised learning problem (classification or regression) but a Reinforcement Learning problem:
In this framework, we have a system (or environment) which is in a given state; the agent (i.e. the adaptive algorithm in charge to control our system) acts on this environment with actions. Agent actions modify the state of the environment, and these actions generates a reward. The goal is to maximize the sum of these rewards over time, knowing that there is a stochastic process which will also have an influence on the evolution of the environment.
In this challenge, you have to train an AI (your agent) to drive a simplified numerical model of the ACCENTA low-carbon thermal system (the environment) so as to maximize its efficiency and minimize its energy bill.
At each time step, your agent will have a certain amount of information at his disposal (which define the state space) to make his decisions:
Your agent will have several levers at his disposal to control the thermal system (which define the actions space):
Ce challenge n’étant pas un challenge d’apprentissage supervisé, le processus d’écriture et d’évaluation du modèle est un peu différent de celui des autres challenges.
L’environnement sur lequel entraîner votre agent sera installé via la commande pip
comme n’importe quelle bibliothèque Python :
pip install rlenv
Vous serez donc amené à écrire et entraîner votre agent sur votre machine et une fois que vous serez satisfait du résultat, vous pourrez le publier pour évaluation sur la plateforme ENS via un référentiel Git que vous aurez préalablement créé sur GitHub ou GitLab.
Le choix d’implémentation de l’agent est très libre tant au niveau technique qu’algorithmique. La seule contrainte est d’implémenter la fonction rlagent.agent.load_agent() dans le code de votre modèle pour que la plateforme d’évaluation puisse charger votre agent entraîné.
Tout cela est expliqué sur la page suivante : https://ens-data-challenge.gitlab.io/accenta-rl-agent-example/api_agent.html#rlagent.agent.load_agent
Un exemple d’agent pré entraîné est mis à disposition sur le référentiel Git suivant : https://gitlab.com/ens-data-challenge/accenta-rl-agent-example
La suite de ce document détaille la procédure technique à suivre pour installer l'environnement, entraîner l'agent et l'évaluer sur la plateforme Challenge Data.
Nous supposons ici que l'environnement de programmation Python est déjà installé sur votre ordinateur.
Voici les étapes à suivre pour préparer votre environnement pour ce challenge :
git clone git@gitlab.com:VOTRE_COMPTE/accenta-rl-agent-example.git
Pour plus d'aide, sur l'utilisation de git et gitlab, veuillez consulter le lien suivant : make_your_first_git_commit.html
cd accenta-rl-agent-example
python3 -m venv env
source env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 setup.py develop
python3 examples/plot_load_and_run_agent.py
D'autres scripts d'exemples sont disponibles ici.
L'environnement est installé, vous pouvez alors commencer à travailler sur la partie algorithmique.
Un script d'exemple montrant la définition et l'entraînement votre agent est disponible dans examples/print_train_and_save_agent.py. L'exemple fourni est volontairement minimaliste et s'appui sur une implémentation toute faite de PPO dans Stable-Baselines3 ; à vous d'être créatif pour faire mieux que l'exemple fourni !
Les dépendances dont à besoin votre agent doivent être placées dans le fichier requirements.txt à la racine du projet (pytorch et stablebaseline3 sont pré-renseignés).
Pour évaluer votre agent entraîné, vous devez publier sont code et les paramètres de son modèle sur gitlab.com (via les commandes "git add", "git commit" et "git push"). L'agent doit pouvoir être chargé depuis n'importe quel machine via la fonction rlagent.agent.load_agent().
Allez ensuite sur la page "Soumissions" de la plateforme Challenge Data pour évaluer votre agent. N'oubliez pas de renseigner l'url de votre projet GitLab.
Files are accessible when logged in and registered to the challenge