Closed frederikgeth closed 6 years ago
Sounds like some great progress. I suggest that we setup a call to discuss any details early next week.
Some initial questions
SOCWRPowerModel
, is your goal to have another SOC relaxation based on the BFM formulation? Can you use the current SOC as a refrence for your current-based version?[2] Kim, Kojima and Yamashita, Second Order Cone Programming Relaxation of a Positive Semidefinite Constraint, Optimization Methods and Software, 2003
Yeah, and a call next week is a great idea!
Some helper functions to consider for the line impedance matrices here.
The license of the test data is to be discussed before making it a part of this package, see:
I will close this now, major issues are addressed or taken up in more targeted open issues.
Warning: long post
I have some observations, after playing with the current implementation in a fork. You can run this script if you do a fix for https://github.com/lanl-ansi/ThreePhasePowerModels.jl/issues/45 in the latest master of PowerModels.jl, e.g.
I largely followed [1], to develop the SDP BFM and the 'simplified' LP BFM. I also added a SOC formulation based on the SOC relaxation of the PSD constraints. I don't trust the SDP and SOC (both as NLP and as conic, for debugging) formulations at the moment. Nevertheless, the NLP solved in the script is consistent (losses, flows, voltages) with OpenDSS to <1e-5 and the LP correlates strongly, so I sort of trust those. The equations are developed using JuMP's vectorised syntax, therefore I also added a new problem type
tp_opf_bf_mat
.Before I attempt at converting this to a PR, it would be nice to exchange ideas on the following:
ccm_re + j ccm_im
and voltagew_re + j w_im
re-use the variablesPMs.variable_voltage_magnitude_sqr
,PMs.variable_current_magnitude_sqr
on the diagonal.ccmr
,wr
andccmi
,wi
are defined to represent the off-diagonal real and imaginary elements ofccm_re + j ccm_im
andw_re + j w_im
respectively.variable_branch_flow
re-usesPMs.variable_active_branch_flow
for the diagonal and new variables for upper and lower triangle elements (with suffix_ut
,_lt
).multiphase.jl
allow for constructing matrices from these vectors, and extracting the lower/upper triangles from such matrices.post_process_voltage_current
in the script) to derive the natural variablesTodos:
tp_opf_bf
constraint_tp_valid_inquality_branch
andconstraint_tp_valid_inquality_bus
Comments welcome!
-- [1] Gan, L., & Low, S. H. (2014). Convex relaxations and linear approximation for optimal power flow in multiphase radial networks. PSSC
Reference results OpenDSS for case3_unbalanced: