Solver Components

Data Wangling

These tools are used for parsing data files and translating data into the PowerModels internal data model.

PowerModelsSecurityConstrained.parse_goc_filesFunction

Given an .ini file and a scenario id (i.e. a directory name), parses the files from ARPA-e GOC Challenge 1 data format.

  • .raw network model
  • .rop generator costs
  • .con contingency set
  • .inl generator contingency response parameters
source
PowerModelsSecurityConstrained.build_pm_modelFunction

transforms files from ARPA-e GOC Challenge 1 data format in to the PowerModels data format. This consists of taking the data from multiple data structures and putting into a network data dictionary.

source

OPF Formulations

These are standard OPF formulations (i.e. without contingency constraints) and are used as sub-processes in building contingency constrained solutions.

PowerModelsSecurityConstrained.run_opf_shuntFunction

An OPF formulation conforming to the ARPA-e GOC Challenge 1 specification. Power balance and branch flow constraints are strictly enforced. The primary departure from the PowerModels standard formulation is dispatchable bus shunts and a slight change in the transformer model.

source
PowerModelsSecurityConstrained.run_opf_cheapFunction

An OPF formulation conforming to the ARPA-e GOC Challenge 1 specification. Power balance are strictly enforced and the branch flow violations are penalized based on a conservative linear approximation of the formulation's flow violation penalty specification.

source
PowerModelsSecurityConstrained.run_opf_cheap_lazy_acrFunction

A variant of run_opf_cheap model, specialized for solving very large AC Power Flow models in rectangular coordinates for faster derivative computations. Support sparse collections of flow constrains for increased performance.

source

Contingency Filters

These are tools for checking for constraint violations in contingencies

PowerModelsSecurityConstrained.check_contingencies_branch_powerFunction

Checks a given operating point against the contingencies to look for branch flow violations. The DC Power Flow approximation is used for flow simulation. If a violation is found, computes a PTDF cut based on bus injections. Uses the participation factor based generator response model from the ARPA-e GOC Challenge 1 specification.

source

SCOPF Formulations

These are contingency constrained OPF formulations.

PowerModelsSecurityConstrained.run_scopfFunction

An academic SCOPF formulation inspired by the ARPA-e GOC Challenge 1 specification. Power balance and line flow constraints are strictly enforced in the first stage and contingency stages.

This formulation is best used in conjunction with the contingency filters that find violated contingencies.

source
PowerModelsSecurityConstrained.run_scopf_cuts_softFunction

An SCOPF formulation conforming to the ARPA-e GOC Challenge 1 specification. A DC power flow approximation is used. Power balance and line flow constraints are strictly enforced in the first stage. Contingency branch flow constraints are enforced by PTDF cuts and penalized based on a conservative linear approximation of the formulation's specification.

This formulation is used in conjunction with the contingency filters that generate PTDF cuts.

source
PowerModelsSecurityConstrained.run_scopf_ptdf_cuts!Function

Solves a SCOPF problem by iteratively checking for violated branch flow constraints in contingencies and resolving until a fixed-point is reached.

The base-case model is formulation agnostic. The flow cuts are based on PTDF and utilize the DC Power Flow assumption.

source

Contingency-Stage Solvers

These are solvers for quickly solving large collections of contingencies. These solvers are usually more detailed on than the models used in the contingency filters.

PowerModelsSecurityConstrained.run_fixpoint_pf_bqv!Function

A power flow solver inspired by the ARPA-e GOC Challenge 1 contingency-stage specification but designed to be faster on large network cases. Instead conducting PV/PQ bus switching address disjunctive constraints, this solver simply adds extra reactive capability on buses where the voltage bounds cannot be enforced and takes an associated power balance penalty.

source