SmartGridLab / battery-control-by-reinforcement-learning

5 stars 3 forks source link

これはなに?

強化学習による蓄電池の最適な充放電を実現するためのコードです。

Gettering Started

Installation / 導入

VSCodeのremote connectionを使ってdocker fileを読み込んでください。

Usage / 実行

main.pyを実行してください。

Others / その他

Directroy / ディレクトリ構成

ディレクトリ構成は以下の2つを参考にしています:

  1. The Hitchhiker's Guide to Python
    https://python-guideja.readthedocs.io/ja/latest/writing/structure.html
  2. Cookiecutter: Better Project Templates
    https://cookiecutter.readthedocs.io/en/latest/index.html

Project Organization / プロジェクトの構成


├── .devcontainer      <- docker関連ファイル
│       ├── Dockerfile
│       └── requirements.txt   <- The requirements file for reproducing the analysis environment, e.g.
│                         generated with `pip freeze > requirements.txt`
│
├── .gihub             <- gothub関連ファイル
│      └── workflows   <- pullreqされると走るもの
│
├── .vscode            <- VScodeでの実行環境設定ファイル 
│
├── Battery-Control-By-Reinforcement-Learning   <- Source code for use in this project.
│       ├── __init__.py    <- Makes source codes a Python module
│       │── main.py
│       └── paramaters.py   <- 機械学習の調整パラメータを記述
│
├── PPO_tensorboard <- PPOの学習統計ログ。tensorboardで可視化されている。
│
├── RL_trainedModels <- PPOの学習済みモデルのデータ。 
│
├── out/class_diagram <- 生成されたクラス図
│
├── docs               <- A default Sphinx project; see sphinx-doc.org for details
│
├── tests              <- テストコード
│
├── README.md          <- The top-level README for developers using this project.
│
│
└── setup.py           <- makes project pip installable (pip install -e .) so the main code can be imported

Information for the code / コードの図解


クラス図:第4版
クラス図でわかること:pyファイル一つに1クラスが対応。クラス間の依存関係がわかる。 Class_Diagram

今後はファイルを追加したらその都度変更できるようにしたいですが、毎回以下の設定が必要
javaのインストール
graphvizのインストール
PlantUMLのインストール

プログラム構成
image

スポット市場締切までの時系列
image

リアルタイム制御時の時間帯ごとに使用するGPVファイル対応表
image