Solver Components
Data Wangling
These tools are used for parsing data files and translating data into the PowerModels internal data model.
PowerModelsSecurityConstrained.parse_goc_files
— FunctionGiven 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
PowerModelsSecurityConstrained.build_pm_model
— Functiontransforms 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.
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_shunt
— FunctionAn 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.
PowerModelsSecurityConstrained.run_opf_cheap
— FunctionAn 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.
PowerModelsSecurityConstrained.run_opf_cheap_lazy_acr
— FunctionA 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.
Contingency Filters
These are tools for checking for constraint violations in contingencies
PowerModelsSecurityConstrained.check_contingency_violations
— FunctionChecks a given operating point against the contingencies to look for branch flow violations. The DC Power Flow approximation is used for flow simulation. Returns a list of contingencies where a violation is found.
PowerModelsSecurityConstrained.check_contingencies_branch_power
— FunctionChecks 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.
PowerModelsSecurityConstrained.check_contingencies_branch_power_bpv
— FunctionA variant of check_contingencies_branch_flow_remote
, which ignores the participation factor based generator response model from the ARPA-e GOC Challenge 1 specification and instead injects active power equally at all buses in the network.
SCOPF Formulations
These are contingency constrained OPF formulations.
PowerModelsSecurityConstrained.run_scopf
— FunctionAn 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.
PowerModelsSecurityConstrained.run_scopf_cuts_soft
— FunctionAn 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.
PowerModelsSecurityConstrained.run_scopf_cuts_soft_bpv
— Functiona variant of run_scopf_cuts_dc_soft
with a different generator response function
PowerModelsSecurityConstrained.run_scopf_contigency_cuts
— FunctionSolves a SCOPF problem by iteratively checking for violated contingencies and resolving until a fixed-point is reached
PowerModelsSecurityConstrained.run_scopf_ptdf_cuts!
— FunctionSolves 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.
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_pvpq!
— FunctionA power flow solver conforming to the ARPA-e GOC Challenge 1 contingency-stage specification. The solver conducts multiple rounds of PV/PQ bus switching to heuristically enforce the disjunctive constraints.
PowerModelsSecurityConstrained.run_fixpoint_pf_bqv!
— FunctionA 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.