PowerModels.jl is a Julia/JuMP package for Steady-State Power Network Optimization. It provides utilities for parsing and modifying network data (see PowerModels Network Data Format for details), and is designed to enable computational evaluation of emerging power network formulations and algorithms in a common platform.
The code is engineered to decouple Problem Specifications (e.g. Power Flow, Optimal Power Flow, ...) from Network Formulations (e.g. AC, DC-approximation, SOC-relaxation, ...). This enables the definition of a wide variety of power network formulations and their comparison on common problem specifications.
The latest stable release of PowerModels can be installed using the Julia package manager with
] add PowerModels
For the current development version, "checkout" this package with
] add PowerModels#master
At least one solver is required for running PowerModels. The open-source solver Ipopt is recommended, as it is fast, scaleable and can be used to solve a wide variety of the problems and network formulations provided in PowerModels. The Ipopt solver can be installed via the package manager with
] add Ipopt
Test that the package works by running
] test PowerModels
PowerModels' tests are comprehensive and can take as long as 10 minutes to complete.