diff --git a/CHANGELOG.md b/CHANGELOG.md index 68fb50d13..e962eea76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,11 @@ PowerModels.jl Change Log ========================= ### Staged +- nothing + +### v0.17.2 - Added support for ACR formulation with storage +- Added support for LPAC formulations of OTS and TNEP problems (#708) (thanks to @jay-dave) - Added `windv*`, `nomv*` and `cw` values to `import_all` on PSS/E data files (#629) - Strengthened checks for multi-network and multi-conductor in `run_model` - Fixed conversions for transformer tap values in PSSE parser (#629) diff --git a/Project.toml b/Project.toml index 6f37ed1ac..f4ca4f799 100644 --- a/Project.toml +++ b/Project.toml @@ -2,7 +2,7 @@ name = "PowerModels" uuid = "c36e90e8-916a-50a6-bd94-075b64ef4655" authors = ["Carleton Coffrin"] repo = "https://github.com/lanl-ansi/PowerModels.jl" -version = "0.17.1" +version = "0.17.2" [deps] InfrastructureModels = "2030c09a-7f63-5d83-885d-db604e0e9cc0" diff --git a/src/core/relaxation_scheme.jl b/src/core/relaxation_scheme.jl index bfbced8e8..a1f1bb0e8 100644 --- a/src/core/relaxation_scheme.jl +++ b/src/core/relaxation_scheme.jl @@ -142,9 +142,3 @@ function relaxation_cos_on_off(m, x, y, z, M_x) JuMP.@constraint(m, y <= z - (1-cos(max_ad))/(max_ad^2)*(x^2) + (1-z)*((1-cos(max_ad))/(max_ad^2)*(M_x^2))) end -function relaxation_variable_on_off(m, a, z) - a_lb, a_ub = _IM.variable_domain(a) - @assert (a_lb <= 0 && a_ub >= 0) - JuMP.@constraint(m, a <= z*a_ub) - JuMP.@constraint(m, a >= z*a_lb) -end diff --git a/src/form/lpac.jl b/src/form/lpac.jl index ef7883da6..0c54408fc 100644 --- a/src/form/lpac.jl +++ b/src/form/lpac.jl @@ -266,9 +266,9 @@ function constraint_model_voltage_on_off(pm::AbstractLPACCModel, n::Int) JuMP.@constraint(pm.model, t[i] - t[j] <= td[l] + td_ub*(1-z[l])) relaxation_cos_on_off(pm.model, td[l], cs[l], z[l], td_max) - relaxation_variable_on_off(pm.model, td[l], z[l]) - relaxation_variable_on_off(pm.model, phi_fr[l], z[l]) - relaxation_variable_on_off(pm.model, phi_to[l], z[l]) + _IM.constraint_bounds_on_off(pm.model, td[l], z[l]) + _IM.constraint_bounds_on_off(pm.model, phi_fr[l], z[l]) + _IM.constraint_bounds_on_off(pm.model, phi_to[l], z[l]) _IM.relaxation_equality_on_off(pm.model, phi[i], phi_fr[l], z[l]) _IM.relaxation_equality_on_off(pm.model, phi[j], phi_to[l], z[l]) end @@ -298,9 +298,9 @@ function constraint_ne_model_voltage(pm::AbstractLPACCModel, n::Int) relaxation_cos_on_off(pm.model, td_ne[l], cs_ne[l], z[l], td_max) - relaxation_variable_on_off(pm.model, phi_fr_ne[l], z[l]) - relaxation_variable_on_off(pm.model, phi_to_ne[l], z[l]) - relaxation_variable_on_off(pm.model, td_ne[l], z[l]) + _IM.constraint_bounds_on_off(pm.model, phi_fr_ne[l], z[l]) + _IM.constraint_bounds_on_off(pm.model, phi_to_ne[l], z[l]) + _IM.constraint_bounds_on_off(pm.model, td_ne[l], z[l]) _IM.relaxation_equality_on_off(pm.model, phi[i], phi_fr_ne[l], z[l]) _IM.relaxation_equality_on_off(pm.model, phi[j], phi_to_ne[l], z[l])