This repository is the official implementation of Winning the L2RPN Challenge: Power Grid Management via Semi-Markov Afterstate Actor-Critic.
- python >= 3.6
- grid2op == 0.9.4 (Important!)
- lightsim2grid == 0.2.3 (Manual install required. (https://github.com/BDonnot/lightsim2grid))
conda env create -f environment.yml
conda activate smaac
git clone https://github.com/BDonnot/lightsim2grid.git
cd lightsim2grid
git checkout v0.2.3
git submodule init
git submodule update
make
pip install -U pybind11
pip install -U .
Since chronic data is required to train or evaluate, please Download.
Then, replace data/
with it.
cd SMAAC
rm -rf data
tar -zxvf data.tar.gz
The detail of arguments is provided in test.py
.
python test.py -n=[experiment_name] -s=[seed] -c=[environment_name (5, sand, wcci)]
# Example
python test.py -n=wcci_run -s=0 -c=wcci
The detail of arguments is provided in evaluate.py
.
python evaluate.py -n=[experiment_dirname] -c=[environment_name]
# Example
python evaluate.py -n=wcci_run_0 -c=wcci
# If you want to evaluate an example trained model on WCCI, execute as below
python evaluate.py -n=example
@inproceedings{yoon2021winning,
title={Winning the L2{\{}RPN{\}} Challenge: Power Grid Management via Semi-Markov Afterstate Actor-Critic},
author={Deunsol Yoon and Sunghoon Hong and Byung-Jun Lee and Kee-Eung Kim},
booktitle={International Conference on Learning Representations},
year={2021},
url={https://openreview.net/forum?id=LmUJqB1Cz8}
}
Our code is based on rte-france's Grid2Op (https://github.com/rte-france/Grid2Op)
Copyright (c) 2020 KAIST-AILab
This source code is subject to the terms of the Mozilla Public License (MPL) v2 also available here