# 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
- [Overview](#overview)
- [Documentation](#documentation)
- [File Structure](#file-structure)
- [Installation](#installation)
- [Tutorials](#tutorials)
- [Publications](#publications)
- [Citing FinRL](#citing-finrl)
- [LICENSE](#license)
## 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
<details><summary><b>Version History</b> <i>[click to expand]</i></summary>
<div>
* 2023-09-27
0.1: Beta version
</div>
</details>
## 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.**
Raw data
{
"_id": null,
"home_page": "https://github.com/ShengrenHou/RL-ADN",
"name": "RL-ADN",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "DRL energy arbitrage",
"author": "Hou Shengren, Gao Shuyi, Pedro Vargara",
"author_email": "houshengren97@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/1e/6a/e39591bd69657991fa21cc054354eb4beb17089ff3fd17f203359498d3ca/RL-ADN-0.1.3.tar.gz",
"platform": null,
"description": "# RL-ADN: A Benchmark Framework for DRL-based Battery Energy Arbitrage in Distribution Networks\r\n\r\n\r\n\r\n**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. \r\n\r\n## Features\r\n\r\n- **Versatile Benchmarking**: Model diverse energy arbitrage tasks with full flexibility.\r\n- **Laurent Power Flow**: Over 10 times faster computational speed compared to traditional methods.\r\n- **Seamless Transition**: Designed for both simulated environments and real-world applications.\r\n- **Open-source**: Easily accessible for modifications, customizations, and further research.\r\n\r\n\r\n## Outline\r\n\r\n - [Overview](#overview)\r\n - [Documentation](#documentation)\r\n - [File Structure](#file-structure)\r\n - [Installation](#installation)\r\n - [Tutorials](#tutorials)\r\n - [Publications](#publications)\r\n - [Citing FinRL](#citing-finrl)\r\n - [LICENSE](#license)\r\n \r\n## documentation \r\nunder developing \r\n\r\n## File Structure\r\n\r\nThe main folder **RL-ADN** is shown below\r\n\r\n```\r\n\u2514\u2500power_network_rl\r\n \u2502 README.md\r\n \u2502 requirements.txt\r\n \u2502 setup.py\r\n \u2502 __init__.py\r\n \u2502\r\n \u251c\u2500benckmark_algorithms\r\n \u2502 Optimality_pyomo.py\r\n \u2502 __init__.py\r\n \u2502\r\n \u251c\u2500data_manager\r\n \u2502 \u2502 data_manager.py\r\n \u2502 \u2502 __init__.py\r\n \u2502\r\n \u251c\u2500data_sources\r\n \u2502 \u251c\u2500network_data\r\n \u2502 \u2502 \u2502 __init__.py\r\n \u2502 \u2502 \u2502\r\n \u2502 \u2502 \u251c\u2500node_123\r\n \u2502 \u2502 \u2502 Lines_123.csv\r\n \u2502 \u2502 \u2502 Nodes_123.csv\r\n \u2502 \u2502 \u2502\r\n \u2502 \u2502 \u251c\u2500node_25\r\n \u2502 \u2502 \u2502 Lines_25.csv\r\n \u2502 \u2502 \u2502 Nodes_25.csv\r\n \u2502 \u2502 \u2502\r\n \u2502 \u2502 \u251c\u2500node_34\r\n \u2502 \u2502 \u2502 Lines_34.csv\r\n \u2502 \u2502 \u2502 Nodes_34.csv\r\n \u2502 \u2502 \u2502\r\n \u2502 \u2502 \u2514\u2500node_69\r\n \u2502 \u2502 Lines_69.csv\r\n \u2502 \u2502 Nodes_69.csv\r\n \u2502 \u2502\r\n \u2502 \u2514\u2500time_series_data\r\n \u2502 123_node_time_series.csv\r\n \u2502 25_node_time_series.csv\r\n \u2502 34_node_time_series.csv\r\n \u2502 69_node_time_series.csv\r\n \u2502\r\n \u251c\u2500docs\r\n \u251c\u2500DRL_algorithms\r\n \u2502 \u2502 Agent.py\r\n \u2502 \u2502 DDPG.py\r\n \u2502 \u2502 PPO.py\r\n \u2502 \u2502 SAC.py\r\n \u2502 \u2502 TD3.py\r\n \u2502 \u2502 utility.py\r\n \u2502 \u2502 __init__.py\r\n \u2502\r\n \u2502\r\n \u251c\u2500environments\r\n \u2502 \u2502 Component_Battery.py\r\n \u2502 \u2502 Environment_Integrated.py\r\n \u2502 \u2502 env_config.json\r\n \u2502 \u2502 gym_env_create_t.py\r\n \u2502 \u2502 __init__.py\r\n \u2502\r\n \u251c\u2500example\r\n \u2502 customize_env.py\r\n \u2502 training_DDPG.py\r\n \u2502\r\n \u251c\u2500tests\r\n \u2502 123_node_network_powerflow_test.py\r\n \u2502 25_node_network_powerflow_test.py\r\n \u2502 69_node_network_powerflow_test.py\r\n \u2502 test_comparison_power_flow.py\r\n \u2502\r\n \u251c\u2500utility\r\n \u2502 \u2502 gpu_interface.py\r\n \u2502 \u2502 grid.py\r\n \u2502 \u2502 Not_converge_Power_Flow.py\r\n \u2502 \u2502 numbarize.py\r\n \u2502 \u2502 Power_Flow.py\r\n \u2502 \u2502 utils.py\r\n \u2502 \u2502 __init__.py\r\n \u2502 \u2502\r\n\r\n\r\n\r\n```\r\n\r\n## Installation\r\nTo install RL-ADN, simply run:\r\n\r\n```\r\npip install RL-ADN\r\n```\r\nOr install from git\r\n```\r\ngit clone https://github.com/shengrenhou/RL-ADN.git\r\ncd your repository\r\npip install -e .\r\n\r\n```\r\nOr install from local, if you have download the source code\r\n\r\n```\r\ncd to the path contains setup.py\r\npython setup.py install\r\n\r\n```\r\n\r\n\r\n## Status Update\r\n<details><summary><b>Version History</b> <i>[click to expand]</i></summary>\r\n<div>\r\n\r\n* 2023-09-27\r\n \t0.1: Beta version\r\n</div>\r\n</details>\r\n\r\n## Tutorials\r\nIn example folder, training_DDPG.ipynb shows a tutorial for training DDPG agent using RL-ADN step by step. \r\ncustomize_env.py shows a simple tutorial for users customize their own environment by using RL-ADN\r\n\r\n## Future work \r\nDevelop a data augmentation functin by implementing a data generator for time-series data used for training algorithms.\r\n\r\n## Publications\r\n\r\n\r\n## Citing RL-ADN\r\n\r\n\r\n## Contributing\r\n\r\n\r\n\r\n\r\n## LICENSE\r\n\r\nMIT License\r\n\r\n**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.**\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "RL-ADN: A Benchmark Framework for DRL-based Battery Energy Arbitrage in Distribution Networks",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/ShengrenHou/RL-ADN"
},
"split_keywords": [
"drl",
"energy",
"arbitrage"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e90dd4468d2479456e8280d27b6e197417bfadec196e58d2a5fe615f1b6d9226",
"md5": "e6561fe69006218b27c5fa54cf6a6da4",
"sha256": "c69911c78e20151e5c14fe77d9e77474f0ec4f86daad8a3b84426fc3bc5f5e7e"
},
"downloads": -1,
"filename": "RL_ADN-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e6561fe69006218b27c5fa54cf6a6da4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12749662,
"upload_time": "2023-10-05T07:22:53",
"upload_time_iso_8601": "2023-10-05T07:22:53.751987Z",
"url": "https://files.pythonhosted.org/packages/e9/0d/d4468d2479456e8280d27b6e197417bfadec196e58d2a5fe615f1b6d9226/RL_ADN-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e6ae39591bd69657991fa21cc054354eb4beb17089ff3fd17f203359498d3ca",
"md5": "3093c4268fe1cbb3b300a194e5de4703",
"sha256": "dbb332257ca9fef9e4619e849ff5dfcbccddd47e67ed4abaa2fc4f3974902c4e"
},
"downloads": -1,
"filename": "RL-ADN-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "3093c4268fe1cbb3b300a194e5de4703",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12691868,
"upload_time": "2023-10-05T07:22:56",
"upload_time_iso_8601": "2023-10-05T07:22:56.368742Z",
"url": "https://files.pythonhosted.org/packages/1e/6a/e39591bd69657991fa21cc054354eb4beb17089ff3fd17f203359498d3ca/RL-ADN-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-05 07:22:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ShengrenHou",
"github_project": "RL-ADN",
"github_not_found": true,
"lcname": "rl-adn"
}