A Julia/JuMP Package for N-k Contingency Analysis in Power Systems
Author Argonne-National-Laboratory
6 Stars
Updated Last
2 Years Ago
Started In
June 2019


Build Status codecov Coverage Status


MaximinOPF.jl is a Julia/JuMP package for modeling a Maximin Optimal Power Flow problem that identifies the worst-case contingencies in electric grid systems. The package creates a maximin optimization model where an attacker seeks to maximize system infeasibility subject to 1) a given attack budget of K network assets (typically lines and transformers) and 2) the assumed optimal defense response of the power system operator. The power flow system is modeled according to various formulations based on relaxations or approxiations of the equations governing line/transformer power flow, which include the SDP and SOCP relaxations, and the DC or other linear approximation of the power flow equations.

Quick Start

The simplest way to install the MaximinOPF.jl is below:

(Shell)> cd <proj_root>
(Shell)> julia
(Julia)> ]
(v1.3) pkg> activate .
(MaximinOPF.jl) pkg> build
(MaximinOPF.jl) pkg> test
  • Our Wiki pages provide more detailed documentation, including the installation, MaximinOPF model building, API functions, and other options.

Team Members

  • Kibaek Kim: PI, Argonne National Laboratory, USA
  • Brian Dandurand: Argonne National Laboratory, USA
  • Michel Schanen: Argonne National Laboratory, USA
  • Sang-il Yim: Argonne National Laboratory, USA


This material is based upon work supported by the U.S. Department of Energy, Office of Electricity Delivery and Energy Reliability, Advanced Grid Research and Development, under contract number DE-AC02-06CH11357.

Used By Packages

No packages found.