Package: commonpower
CommonPowerIntroductionCommonPower provides a flexible framework to model power systems, interface to single-agent and multi-agent RL controllers,
and maintain safety based on a symbolic representation of the system equations.
Alternatively, the system model can directly be used to solve a given use case via the built-in model predictive controller.
Following a modular design philosophy, CommonPower is an easily extendable tool for the development and benchmarking
of RL controllers in the context of smart grids. The initial focus is on energy management and economic dispatch.
Additionally, CommonPower readily allows the influence of forecast quality to be studied.
The primary features arean object-oriented approach to modelling power system entities,a Pyomo-based symbolic math representation of entities to obtain all relevant system equations in the background,interfaces for single/multi-agent reinforcement learning and optimal control,a flexible interface to make use of diverse data sources and forecasting models.DocumentationOur documentation is available onReadtheDocs.ReferenceCommonPower was developed and is maintained by the Cyber-Physical Systems Group at the Chair for Robotics and Embedded Systems at Technical University of Munich.If you use CommonPower, please cite it as:@article{eichelbeck2023commonpower,
  title={CommonPower: Supercharging machine learning for smart grids},
  author={Eichelbeck, Michael and Markgraf, Hannah and Althoff, Matthias},
  year={2023}
}Installing CommonPowerYou will needPython>= 3.8 installed on your system.We recommend using avirtual environmentto work with CommonPower.
To create a virtual environment runpython-mvenv</path/to/new/virtual/environment>You can then activate the virtual environment.Linux:source<path/to/venv>/bin/activateWindows:<path/to/venv>\Scripts\activate.batYou can then proceed to install CommonPower.
For local development, install the library in editable mode:cd<your/working/directory>
gitclone"https://github.com/TUMcps/commonpower.git"pipinstall-e<absolute/path/to/the/commonpower/directory>Otherwise, install CommonPower via PyPI:pipinstallcommonpowerMulti-agent reinforcement learningAt the moment, CommonPower supports multi-agent reinforcement learning using the IPPO/MAPPO implementation detailed in thispaper.
Since we had to make a few adjustments, we forked the original repository. Please clone ourfork, cd into the repository and install the package to your virtual environment usingpip install -e ..GurobiWe use Gurobi as a default solver for our optimization problems. As a student, you can obtain anacademic license.
There are two options: If you want to run CommonPower on you laptop, you can use the named-user license. To run it on a server, you need the WLS license.
After obtaining a license, follow the Gurobiquickstart guide(choose the appropriate one for your system) to install Gurobi and retrieve your license.
If you use Gurobi on a server (with the WLS license) and receive the error that it requires two many cores, you can justsubmit a ticketwith the error message and your WLS license will be upgraded.Get startedHave a look at the Introduction tutorial to learn more about how CommonPower is structured.