Skip to main content

RL-ADN: A Benchmark Framework for DRL-based Battery Energy Arbitrage in Distribution Networks

Project description

RL-ADN: A Benchmark Framework for DRL-based Battery Energy Arbitrage in Distribution Networks

RL-ADN is the first open-source framework designed to revolutionize DRL-based battery energy arbitrage in distribution networks. By abstracting distribution network dynamics and offering a modular structure, RL-ADN paves the way for modeling diverse energy arbitrage tasks.

Features

  • Versatile Benchmarking: Model diverse energy arbitrage tasks with full flexibility.
  • Laurent Power Flow: Over 10 times faster computational speed compared to traditional methods.
  • Seamless Transition: Designed for both simulated environments and real-world applications.
  • Open-source: Easily accessible for modifications, customizations, and further research.

Outline

documentation

under developing

File Structure

The main folder RL-ADN is shown below

└─power_network_rl
    │  README.md
    │  requirements.txt
    │  setup.py
    │  __init__.py
    │
    ├─benckmark_algorithms
    │      Optimality_pyomo.py
    │      __init__.py
    │
    ├─data_manager
    │  │  data_manager.py
    │  │  __init__.py
    │
    ├─data_sources
    │  ├─network_data
    │  │  │  __init__.py
    │  │  │
    │  │  ├─node_123
    │  │  │      Lines_123.csv
    │  │  │      Nodes_123.csv
    │  │  │
    │  │  ├─node_25
    │  │  │      Lines_25.csv
    │  │  │      Nodes_25.csv
    │  │  │
    │  │  ├─node_34
    │  │  │      Lines_34.csv
    │  │  │      Nodes_34.csv
    │  │  │
    │  │  └─node_69
    │  │          Lines_69.csv
    │  │          Nodes_69.csv
    │  │
    │  └─time_series_data
    │          123_node_time_series.csv
    │          25_node_time_series.csv
    │          34_node_time_series.csv
    │          69_node_time_series.csv
    │
    ├─docs
    ├─DRL_algorithms
    │  │  Agent.py
    │  │  DDPG.py
    │  │  PPO.py
    │  │  SAC.py
    │  │  TD3.py
    │  │  utility.py
    │  │  __init__.py
    │
    │
    ├─environments
    │  │  Component_Battery.py
    │  │  Environment_Integrated.py
    │  │  env_config.json
    │  │  gym_env_create_t.py
    │  │  __init__.py
    │
    ├─example
    │      customize_env.py
    │      training_DDPG.py
    │
    ├─tests
    │      123_node_network_powerflow_test.py
    │      25_node_network_powerflow_test.py
    │      69_node_network_powerflow_test.py
    │      test_comparison_power_flow.py
    │
    ├─utility
    │  │  gpu_interface.py
    │  │  grid.py
    │  │  Not_converge_Power_Flow.py
    │  │  numbarize.py
    │  │  Power_Flow.py
    │  │  utils.py
    │  │  __init__.py
    │  │



Installation

To install RL-ADN, simply run:

pip install RL-ADN

Or install from git

git clone https://github.com/shengrenhou/RL-ADN.git
cd your repository
pip install -e .

Or install from local, if you have download the source code

cd to the path contains setup.py
python setup.py install

Status Update

Version History [click to expand]
  • 2023-09-27 0.1: Beta version

Tutorials

In example folder, training_DDPG.ipynb shows a tutorial for training DDPG agent using RL-ADN step by step. customize_env.py shows a simple tutorial for users customize their own environment by using RL-ADN

Future work

Develop a data augmentation functin by implementing a data generator for time-series data used for training algorithms.

Publications

Citing RL-ADN

Contributing

LICENSE

MIT License

Disclaimer: We are sharing codes for academic purpose under the MIT education license. Nothing herein is financial advice, and NOT a recommendation to trade real money. Please use common sense and always first consult a professional before trading or investing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RL-ADN-0.1.3.tar.gz (12.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

RL_ADN-0.1.3-py3-none-any.whl (12.7 MB view details)

Uploaded Python 3

File details

Details for the file RL-ADN-0.1.3.tar.gz.

File metadata

  • Download URL: RL-ADN-0.1.3.tar.gz
  • Upload date:
  • Size: 12.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for RL-ADN-0.1.3.tar.gz
Algorithm Hash digest
SHA256 dbb332257ca9fef9e4619e849ff5dfcbccddd47e67ed4abaa2fc4f3974902c4e
MD5 3093c4268fe1cbb3b300a194e5de4703
BLAKE2b-256 1e6ae39591bd69657991fa21cc054354eb4beb17089ff3fd17f203359498d3ca

See more details on using hashes here.

File details

Details for the file RL_ADN-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: RL_ADN-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for RL_ADN-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c69911c78e20151e5c14fe77d9e77474f0ec4f86daad8a3b84426fc3bc5f5e7e
MD5 e6561fe69006218b27c5fa54cf6a6da4
BLAKE2b-256 e90dd4468d2479456e8280d27b6e197417bfadec196e58d2a5fe615f1b6d9226

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page