Skip to content
A Julia/JuMP Package for Power Network Optimization
Branch: master
Clone or download
Latest commit b0b335b Mar 8, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update documentation (#461) Jan 29, 2019
src FIX: stripping empty space from parsed lines (#472) Mar 8, 2019
test FIX: stripping empty space from parsed lines (#472) Mar 8, 2019
.codecov.yml adding 5% threshold to PRs Jan 20, 2017
.travis.yml add julia v1.1 to travis tests Feb 14, 2019 fix typo in change log Mar 8, 2019 fixing contributing rendering Jul 31, 2017
REQUIRE adding version ub constraint on Memento Mar 6, 2019


Release: PowerModels, PowerModels, PowerModels,

Dev: Build Status codecov

PowerModels.jl is a Julia/JuMP package for Steady-State Power Network Optimization. It 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 the power 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.

Core Problem Specifications

  • Power Flow (pf)
  • Optimal Power Flow (opf)
  • Optimal Transmission Switching (ots)
  • Transmission Network Expansion Planning (tnep)

Core Network Formulations

  • AC (polar and rectangular coordinates)
  • DC Approximation (polar coordinates)
  • LPAC Approximation (polar coordinates)
  • SDP Relaxation (W-space)
  • SOC Relaxation (W-space)
  • QC Relaxation (W+L-space)

Network Data Formats

  • Matpower ".m" files
  • PTI ".raw" files (PSS(R)E v33 specfication)


The package documentation includes a variety of useful information including a quick-start guide, network model specification, and baseline results.

Additionally, these presentations provide a brief introduction to various aspects of PowerModels,


Community-driven development and enhancement of PowerModels are welcome and encouraged. Please fork this repository and share your contributions to the master with pull requests. See for code contribution guidelines.


This code has been developed as part of the Advanced Network Science Initiative at Los Alamos National Laboratory. The primary developer is Carleton Coffrin(@ccoffrin) with support from the following contributors,

  • Russell Bent (@rb004f) LANL, Matpower export, TNEP problem specification
  • Jose Daniel Lara (@jd-lara) Berkeley, Julia v1.0 compatibility
  • Hakan Ergun (@hakanergun) KU Leuven, HVDC lines
  • David Fobes (@pseudocubic) LANL, PSS(R)E v33 data support
  • Rory Finnegan (@rofinn) Invenia, Memento Logging
  • Frederik Geth (@frederikgeth) CSIRO, storage modeling advise, Branch Flow formulation
  • Jonas Kersulis (@kersulis) University of Michigan, Sparse SDP formulation
  • Miles Lubin (@mlubin) MIT, Julia/JuMP advise
  • Yeesian Ng (@yeesian) MIT, Documenter.jl setup
  • Kaarthik Sundar (@kaarthiksundar) LANL, OBBT utility

Citing PowerModels

If you find PowerModels useful in your work, we kindly request that you cite the following publication:

  author = {Carleton Coffrin and Russell Bent and Kaarthik Sundar and Yeesian Ng and Miles Lubin}, 
  title = {PowerModels.jl: An Open-Source Framework for Exploring Power Flow Formulations}, 
  booktitle = {2018 Power Systems Computation Conference (PSCC)}, 
  year = {2018},
  month = {June},
  pages = {1-8}, 
  doi = {10.23919/PSCC.2018.8442948}

Citation of the orginal works for problem denifitions (e.g. OPF) and power flow formulations (e.g. SOC) is also encouraged when publishing works that use PowerModels.


This code is provided under a BSD license as part of the Multi-Infrastructure Control and Optimization Toolkit (MICOT) project, LA-CC-13-108.

You can’t perform that action at this time.