From 051a5fc454a3af8bf98e7d00dee0c16518aa93ce Mon Sep 17 00:00:00 2001 From: odow Date: Thu, 11 May 2023 11:27:32 +1200 Subject: [PATCH 1/2] Fix dualizing JuMP model with kwargs --- src/dualize.jl | 4 ++-- test/Tests/test_JuMP_dualize.jl | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/dualize.jl b/src/dualize.jl index 014abdb..2e6868b 100644 --- a/src/dualize.jl +++ b/src/dualize.jl @@ -197,7 +197,7 @@ end function dualize( model::JuMP.Model, optimizer_constructor = nothing; - dual_names::DualNames = EMPTY_DUAL_NAMES, + kwargs... ) mode = JuMP.mode(model) if mode != JuMP.AUTOMATIC @@ -207,7 +207,7 @@ function dualize( dualize( JuMP.backend(model), DualProblem(JuMP.backend(dual_model)); - dual_names = dual_names, + kwargs..., ) _fill_obj_dict_with_variables!(dual_model) _fill_obj_dict_with_constraints!(dual_model) diff --git a/test/Tests/test_JuMP_dualize.jl b/test/Tests/test_JuMP_dualize.jl index 6b14eb5..6d92b63 100644 --- a/test/Tests/test_JuMP_dualize.jl +++ b/test/Tests/test_JuMP_dualize.jl @@ -67,4 +67,18 @@ end @test typeof(dual_model[:dualeqcon_1]) == VariableRef @test !haskey(dual_model, Symbol("")) end + @testset "JuMP_dualize_kwargs" begin + model = Model() + @variable(model, x >= 0) + @constraint(model, x <= 2) + @objective(model, Max, 2 * x + 1) + dual_model = Dualization.dualize( + model; + dual_names = DualNames("dual_", "dual_"), + ignore_objective = true, + consider_constrained_variables = false, + ) + @test dual_model isa Model + @test num_variables(dual_model) == 2 + end end From b0b487bd7d6e31e031e56dd2f19950639c192ca6 Mon Sep 17 00:00:00 2001 From: odow Date: Thu, 11 May 2023 11:31:04 +1200 Subject: [PATCH 2/2] Fix formatting --- src/dualize.jl | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/dualize.jl b/src/dualize.jl index 2e6868b..ae2adf4 100644 --- a/src/dualize.jl +++ b/src/dualize.jl @@ -194,11 +194,7 @@ function dualize( return dual_problem end -function dualize( - model::JuMP.Model, - optimizer_constructor = nothing; - kwargs... -) +function dualize(model::JuMP.Model, optimizer_constructor = nothing; kwargs...) mode = JuMP.mode(model) if mode != JuMP.AUTOMATIC error("Dualization does not support solvers in $(mode) mode")