OATS: Optimisation and Analysis Toolbox for Power Systems

pip install oatspower==1.0.2


PyPI version DOI


Optimisation and Analysis Toolbox for power Systems (OATS) is a high-level modelling and simulation tool for power system analysis, developed at the University of Strathclyde. OATS is a collection of optimisation models and Python scripts for analysis and solution of a range of power system analysis problems.

Getting started

The scripts in OATS are written in Python 3. The optimisation models are written in PYOMO, which is an algebraic modelling language. A solver is required to solve the optimisation models.


The documentation of OATS is a best place to start. The documentation provides installation instructions and brief description of the optimisation models that are implemented in OATS.


Any issues with the code and/or software bugs in OATS should be raised through the GitHub page.

Users are encouraged to contribute to improve OATS. Contributions can be in the form of improved optimisation models or in the form of data sets.

Please note that the users are obliged to share the code derived from OATS under the license terms.


OATS is distributed under the open source license GNU GPL v3 - see the LICENSE file for details. This is a copyleft license that requires anyone using this code or a derivative work to make the source available under the same terms.


See also the list of contributors who participated in this project.

Citing OATS

We request that publications derived from the use of OATS acknowledge our work by citing the follow:

  • W. Bukhsh, C. Edmunds and K. Bell, "OATS: Optimisation and Analysis Toolbox for Power Systems," in IEEE Transactions on Power Systems, vol. 35, no. 5, pp. 3552-3561, Sept. 2020, doi: 10.1109/TPWRS.2020.2986081.
  • W. Bukhsh, OATS: Optimisation and Analysis Toolbox for Power Systems Optimisation, Documentation release 0.1, 2019 [Available] Online: https://github.com/bukhsh/oats