Electa-Git / PowerModelsACDC.jl

A hybrid AC/DC OPF package based on PowerModels.jl
BSD 3-Clause "New" or "Revised" License
52 stars 20 forks source link

Improving reliability of power flow simulation using Ipopt #89

Open frederikgeth opened 2 months ago

frederikgeth commented 2 months ago

After discussion with Chandra today, we identified a couple of issues that cause power flow using Ipopt to be unreliable / struggle to converge.

DC voltage variable should have a sign that is known a priori. in PMACDC the sign is always positive (negative exists in the multiconductor case). Even if bounded=false, the zero lower (or upper bound) needs to be added/enforced in https://github.com/Electa-Git/PowerModelsACDC.jl/blob/a88fce28f24c4ef025f028871a56f62cfb45125f/src/core/variabledcgrid.jl#L8

Similarly, in https://github.com/Electa-Git/PowerModelsACDC.jl/blob/a88fce28f24c4ef025f028871a56f62cfb45125f/src/formconv/acp.jl#L7 it is essentially assumed that iconv_ac is positive, per, https://github.com/Electa-Git/PowerModelsACDC.jl/blob/a88fce28f24c4ef025f028871a56f62cfb45125f/src/core/variableconv.jl#L202

Dropping the zero lower/upper bound leads to symmetries and bad convergence for power flow simulation