Mathematical Programming for Power Systems

Powertools is a c++ library for modeling and solving optimization problems in Power Systems.

It features a full-scale modeling langage, with optimized functions' evaluation and derivatives computing.

Powertools includes a mixed-integer nonlinear solver based on open-source code. It also links to various existing commerical and academic solvers, and implements stat-of-the-art models for the Alternating Current Optimal Power Flow Problem (ACOPF) and its line switching extension (ACOTS).

Powertools features advanced optimization techniques such as smart on/off constraint modeling, automatic function convexification, outer-approximation and bounds propagation.

Created by Hassan Hijazi (hhijazi) on the 18th of September 2015


Hassan Hijazi ANU/Data61 | hassan.hijazi@anu.edu.au

Ksenija Bestuzheva ANU/Data61

Dan Gordon ANU/Data61


See INSTALL.md for instructions on compiling PowerTools

After running make, the PowerTools executable can be found under PowerTools/bin/

To run PowerTools, enter: PowerTools filename [ACPOL/ACRECT/SOCP/DC/OTS/SOCP_OTS] [ipopt/gurobi]


ACRECT = Rectangular ACOPF

SOCP = Second-Order Cone relaxation

DC = DCOPF approximation

OTS = Optimal Transmission Switching

SOCP_OTS = Second-Order Cone relaxation for the Optimal Transmission Switching problem