From c60fd5ea71fd9c145dc201ade7a6bfd7e753fc94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Legat?= Date: Sat, 9 Sep 2023 22:46:12 +0200 Subject: [PATCH] Update to the new MOI scaled set (#283) --- Project.toml | 2 +- src/MOI_wrapper/scaled_psd_cone_bridge.jl | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Project.toml b/Project.toml index 8164f76..1310a9c 100644 --- a/Project.toml +++ b/Project.toml @@ -12,7 +12,7 @@ SCS_jll = "f4f2fc5b-1d94-523c-97ea-2ab488bedf4b" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] -MathOptInterface = "1.17" +MathOptInterface = "1.20" Requires = "1" SCS_GPU_jll = "=3.2.3" SCS_MKL_jll = "=3.2.2, =3.2.3" diff --git a/src/MOI_wrapper/scaled_psd_cone_bridge.jl b/src/MOI_wrapper/scaled_psd_cone_bridge.jl index c92ab08..a2ec986 100644 --- a/src/MOI_wrapper/scaled_psd_cone_bridge.jl +++ b/src/MOI_wrapper/scaled_psd_cone_bridge.jl @@ -8,8 +8,9 @@ side_dimension::Int end -Similar to `MOI.ScaledPositiveSemidefiniteConeTriangle` but it the vectorization -is the lower triangular part column-wise (or the upper triangular part row-wise). +Similar to `MOI.Scaled{MOI.PositiveSemidefiniteConeTriangle}` but it the +vectorization is the lower triangular part column-wise (or the upper triangular +part row-wise). """ struct ScaledPSDCone <: MOI.AbstractVectorSet side_dimension::Int @@ -30,7 +31,7 @@ end struct ScaledPSDConeBridge{T,F} <: MOI.Bridges.Constraint.SetMapBridge{ T, ScaledPSDCone, - MOI.ScaledPositiveSemidefiniteConeTriangle, + MOI.Scaled{MOI.PositiveSemidefiniteConeTriangle}, F, F, } @@ -40,23 +41,23 @@ end function MOI.Bridges.Constraint.concrete_bridge_type( ::Type{ScaledPSDConeBridge{T}}, ::Type{F}, - ::Type{MOI.ScaledPositiveSemidefiniteConeTriangle}, + ::Type{MOI.Scaled{MOI.PositiveSemidefiniteConeTriangle}}, ) where {T,F<:MOI.AbstractVectorFunction} return ScaledPSDConeBridge{T,F} end function MOI.Bridges.map_set( ::Type{<:ScaledPSDConeBridge}, - set::MOI.ScaledPositiveSemidefiniteConeTriangle, + set::MOI.Scaled{MOI.PositiveSemidefiniteConeTriangle}, ) - return ScaledPSDCone(set.side_dimension) + return ScaledPSDCone(MOI.side_dimension(set)) end function MOI.Bridges.inverse_map_set( ::Type{<:ScaledPSDConeBridge}, set::ScaledPSDCone, ) - return MOI.ScaledPositiveSemidefiniteConeTriangle(set.side_dimension) + return MOI.Scaled(MOI.PositiveSemidefiniteConeTriangle(set.side_dimension)) end function _upper_to_lower_triangular_permutation(dim::Int)