I can’t seem to get the first motivating example in Dualization.jl to work (at https://jump.dev/Dualization.jl/dev/examples/)
using JuMP, Dualization
model = Model()
@variable(model, x)
@variable(model, y)
@variable(model, z)
@constraint(model, soccon, [x; y; z] in SecondOrderCone())
@constraint(model, eqcon, x == 1)
@objective(model, Min, y + z)
dual_model = dualize(model)
yields
julia> print(model)
Min y + z
Subject to
eqcon : x = 1
soccon : [x, y, z] ∈ MathOptInterface.SecondOrderCone(3)
julia> print(dual_model)
Max _[1]
Subject to
[-_[1], 1, 1] ∈ MathOptInterface.SecondOrderCone(3)
and in particular dual_model doesn’t recover all the constraints.