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)