Problems
Solvers
PowerModelsDistribution.solve_mc_mld — MethodSolve load shedding problem with storage
PowerModelsDistribution.solve_mc_mld_uc — MethodSolve unit commitment load shedding problem (!relaxed)
PowerModelsDistribution.solve_mc_model — Methodsolve_mc_model(
data::Dict{String,<:Any},
model_type::Type,
optimizer,
build_mc::Function;
ref_extensions::Vector{<:Function}=Function[],
multinetwork::Bool=false,
global_keys::Set{String}=Set{String}(),
eng2math_extensions::Vector{<:Function}=Function[],
eng2math_passthrough::Dict{String,<:Vector{<:String}}=Dict{String,Vector{String}}(),
make_si::Bool=!get(data, "per_unit", false),
make_si_extensions::Vector{<:Function}=Function[],
dimensionalize_math_extensions::Dict{String,Dict{String,Vector{String}}}=Dict{String,Dict{String,Vector{String}}}(),
kwargs...
)::Dict{String,Any}Takes data in either the ENGINEERING or MATHEMATICAL model, a model type (e.g., ACRUPowerModel), and model builder function (e.g., build_mc_opf), and returns a solution in the original data model defined by data.
If make_si is false, data will remain in per-unit.
For an explanation of multinetwork and global_keys, see make_multinetwork
For an explanation of eng2math_extensions and eng2math_passthrough, see transform_data_model
For an explanation of make_pu_extensions, see make_per_unit!
For an explanation of ref_extensions, see instantiate_mc_model
For an explanation of map_math2eng_extensions, make_si, make_si_extensions, and dimensionalize_math_extensions, see solution_make_si
PowerModelsDistribution.solve_mc_model — Methodsolve_mc_model(
file::String,
model_type::Type,
optimizer,
build_mc::Function;
dss2eng_extensions::Vector{<:Function}=Function[],
multinetwork::Bool=false,
global_keys::Set{String}=Set{String}(),
kwargs...
)::Dict{String,Any}Given a file::String, data will be parsed automatically from the file.
See solve_mc_model for detailed explanation of function arguments.
PowerModelsDistribution.solve_mc_opf — Methodfunction solve_mc_opf(
data::Union{Dict{String,<:Any},String},
model_type::Type,
solver;
kwargs...
)Solve Optimal Power Flow
PowerModelsDistribution.solve_mc_opf_capc — Methodsolve_mc_opf_capc(data::Union{Dict{String,<:Any},String}, model_type::Type, solver; kwargs...)Solve OPF with capacitor control
PowerModelsDistribution.solve_mc_opf_oltc — MethodSolve on-load tap-changer OPF
PowerModelsDistribution.solve_mc_opf_oltc_capc — Methodsolve_mc_opf_capc(data::Union{Dict{String,<:Any},String}, model_type::Type, solver; kwargs...)Solve OPF with capacitor control
PowerModelsDistribution.solve_mc_opf_pbs — MethodSolve OPF problem with slack power at every bus
PowerModelsDistribution.solve_mc_pf — MethodPower Flow Problem
PowerModelsDistribution.solve_mc_pf_pbs — MethodSolve PF problem with slack power at every bus
PowerModelsDistribution.solve_mn_mc_mld_simple — MethodSolve multinetwork load shedding problem with storage
PowerModelsDistribution.solve_mn_mc_opf — Methodfunction solve_mn_mc_opf(
data::Union{Dict{String,<:Any},String},
model_type::Type,
solver;
kwargs...
)Solve multinetwork optimal power flow problem
PowerModelsDistribution.solve_mn_mc_opf_oltc — Methodfunction solve_mn_mc_opf_oltc(
data::Union{Dict{String,<:Any},String},
model_type::Type,
solver;
kwargs...
)Solve multinetwork oltc optimal power flow problem
Builders
PowerModelsDistribution.build_mc_mld — MethodLoad shedding problem for Branch Flow model
PowerModelsDistribution.build_mc_mld — MethodPowerModelsDistribution.build_mc_mld — MethodLoad shedding problem including storage (snap-shot)
PowerModelsDistribution.build_mc_mld_bf — MethodLoad shedding problem for Branch Flow model
PowerModelsDistribution.build_mc_mld_uc — MethodStandard unit commitment (!relaxed) load shedding problem
PowerModelsDistribution.build_mc_opf — Methodfunction build_mc_opf(
pm::AbstractExplicitNeutralACRModel
)constructor for OPF in power-voltage variable space with explicit neutrals
PowerModelsDistribution.build_mc_opf — Methodfunction build_mc_opf(
pm::AbstractExplicitNeutralIVRModel
)constructor for OPF in current-voltage variable space with explicit neutrals
PowerModelsDistribution.build_mc_opf — Methodfunction build_mc_opf(
pm::AbstractUBFModels
)constructor for branch flow opf
PowerModelsDistribution.build_mc_opf — Methodfunction build_mc_opf(
pm::AbstractUnbalancedIVRModel
)constructor for OPF in current-voltage variable space
PowerModelsDistribution.build_mc_opf — Methodfunction build_mc_opf(
pm::AbstractUnbalancedPowerModel
)Constructor for Optimal Power Flow
PowerModelsDistribution.build_mc_opf_capc — Methodconstructor for branch flow opf with capcontrol
PowerModelsDistribution.build_mc_opf_capc — Methodconstructor for capcontrol OPF in current-voltage variable space
PowerModelsDistribution.build_mc_opf_capc — Methodbuild_mc_opf_capc(pm::AbstractUnbalancedPowerModel)Constructor for capcontrol OPF
PowerModelsDistribution.build_mc_opf_oltc — Methodconstructor for branch flow on-load tap-changer OPF
PowerModelsDistribution.build_mc_opf_oltc — Methodconstructor for on-load tap-changer OPF
PowerModelsDistribution.build_mc_opf_oltc_capc — Methodconstructor for branch flow opf
PowerModelsDistribution.build_mc_opf_oltc_capc — Methodbuild_mc_opf_capc(pm::AbstractUnbalancedPowerModel)Constructor for capcontrol OPF
PowerModelsDistribution.build_mc_opf_pbs — MethodOPF problem with slack power at every bus
PowerModelsDistribution.build_mc_pf — MethodConstructor for Branch Flow Power Flow
PowerModelsDistribution.build_mc_pf — MethodConstructor for Power Flow in current-voltage variable space
PowerModelsDistribution.build_mc_pf — MethodConstructor for Power Flow Problem
PowerModelsDistribution.build_mc_pf_pbs — MethodPF problem with slack power at every bus
PowerModelsDistribution.build_mn_mc_mld_simple — MethodMultinetwork load shedding problem for Branch Flow model
PowerModelsDistribution.build_mn_mc_mld_simple — MethodMultinetwork load shedding problem including storage
PowerModelsDistribution.build_mn_mc_opf — Methodfunction buildmcopf( pm::AbstractExplicitNeutralIVRModel )
constructor for multinetwork OPF in current-voltage variable space with explicit neutrals
PowerModelsDistribution.build_mn_mc_opf — Methodfunction build_mn_mc_opf(
pm::AbstractUBFModels
)Multinetwork branch flow optimal power flow problem
PowerModelsDistribution.build_mn_mc_opf — Methodfunction build_mn_mc_opf(
pm::AbstractUnbalancedIVRModel
)Multinetwork current-voltage optimal power flow problem
PowerModelsDistribution.build_mn_mc_opf — Methodfunction build_mn_mc_opf(
pm::AbstractUnbalancedPowerModel
)Multinetwork optimal power flow problem
PowerModelsDistribution.build_mn_mc_opf_oltc — Methodfunction build_mn_mc_opf_oltc(
pm::AbstractUnbalancedPowerModel
)Constructor for otlc Optimal Power Flow
PowerModelsDistribution.build_pf_result — Methodbuild_pf_result(
pfd::PowerFlowData,
Uv::Vector,
status::PFTerminationStatus,
its::Int,
time::Real,
stationarity::Real,
verbose::Bool
)Builds the result dict from the solution dict.
PowerModelsDistribution.build_pf_solution — Methodbuild_pf_solution(
pfd::PowerFlowData,
Uv::Vector
)Builds the solution dict.
Model Instantiation
PowerModelsDistribution.instantiate_mc_model — Functioninstantiate_mc_model(
data::Dict{String,<:Any},
model_type::Type,
build_method::Function;
ref_extensions::Vector{<:Function}=Function[],
multinetwork::Bool=false,
global_keys::Set{String}=Set{String}(),
eng2math_extensions::Vector{<:Function}=Function[],
eng2math_passthrough::Dict{String,<:Vector{<:String}}=Dict{String,Vector{String}}(),
make_pu_extensions::Vector{<:Function}=Function[],
kwargs...
)Takes data in either the ENGINEERING or MATHEMATICAL model, a model type (e.g., ACRUPowerModel), and model builder function (e.g., build_mc_opf), and returns an AbstractUnbalancedPowerModel structure.
For an explanation of multinetwork and global_keys, see make_multinetwork
For an explanation of eng2math_extensions and eng2math_passthrough, see transform_data_model
For an explanation of make_pu_extensions, see make_per_unit!
ref_extensions
Inside of the model structures, data can be quickly accessed via the ref function. By default, the only ref objects available are created by ref_add_core!, but users can add their own custom ref objects by passing functions via ref_extensions that have the signature:
ref_add!(ref::Dict{Symbol,Any}, data::Dict{String,Any})See the Beginners Guide for an example.
Solution Helpers
PowerModelsDistribution.sol_data_model! — Methodsol_data_model!(pm::AbstractUnbalancedACRModel, solution::Dict{String,<:Any})solutionprocessor, see [`solvemcmodel`](@ref solvemc_model), to convert ACR variables back into polar representation (default data model voltage form)
PowerModelsDistribution.sol_data_model! — Methodsol_data_model!(pm::AbstractUnbalancedPowerModel, solution::Dict{String,<:Any})does nothing (no sol_data_model! exists for the formulation attempting to be converted)
PowerModelsDistribution.sol_data_model! — Methodsol_data_model!(pm::AbstractUnbalancedWModels, solution::Dict{String,<:Any})solutionprocessor, see [`solvemcmodel`](@ref solvemc_model), to convert W variables back into polar representation (default data model voltage form)
PowerModelsDistribution.sol_data_model! — Methodsol_data_model!(pm::FBSUBFPowerModel, solution::Dict{String,<:Any})solution_processor, to convert FBS variables back into polar representation (default data model voltage form)
PowerModelsDistribution.sol_data_model! — Methodsol_data_model!(pm::FOTRUPowerModel, solution::Dict{String,<:Any})solution_processor, to convert FOT rectangular variables back into polar representation (default data model voltage form)