Skip to content

Commit 0e5ab63

Browse files
authored
Fix passing kwargs to dual_optimizer and DualOptimizer (#220)
1 parent 68d8372 commit 0e5ab63

2 files changed

Lines changed: 22 additions & 3 deletions

File tree

src/MOI_wrapper.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function dual_optimizer(
3333
kwargs...,
3434
) where {T<:Number}
3535
return () ->
36-
DualOptimizer{T}(MOI.instantiate(optimizer_constructor), kwargs...)
36+
DualOptimizer{T}(MOI.instantiate(optimizer_constructor); kwargs...)
3737
end
3838

3939
struct DualOptimizer{T,OT<:MOI.ModelLike} <: MOI.AbstractOptimizer
@@ -77,7 +77,7 @@ Solver name: Dual model with HiGHS attached
7777
```
7878
"""
7979
function DualOptimizer(dual_optimizer::OT; kwargs...) where {OT<:MOI.ModelLike}
80-
return DualOptimizer{Float64}(dual_optimizer, kwargs...)
80+
return DualOptimizer{Float64}(dual_optimizer; kwargs...)
8181
end
8282

8383
function DualOptimizer{T}(
@@ -96,7 +96,7 @@ function DualOptimizer{T}(
9696
# discover the type of
9797
# MOI.Utilities.CachingOptimizer(MOI.Utilities.Model{T}(), dual_optimizer)
9898
OptimizerType = typeof(dual_problem.dual_model)
99-
return DualOptimizer{T,OptimizerType}(dual_problem, kwargs...)
99+
return DualOptimizer{T,OptimizerType}(dual_problem; kwargs...)
100100
end
101101

102102
DualOptimizer() = error("DualOptimizer must have a solver attached")

test/Tests/test_MOI_wrapper.jl

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,4 +125,23 @@
125125
DualOptimizer{Float32,Caching_OptimizerType}
126126
end
127127
end
128+
129+
@testset "dual_optimizer_kwargs" begin
130+
constructor = Dualization.dual_optimizer(
131+
HiGHS.Optimizer;
132+
assume_min_if_feasibility = true,
133+
)
134+
model = MOI.instantiate(constructor)
135+
@test model.assume_min_if_feasibility
136+
model = Dualization.DualOptimizer(
137+
HiGHS.Optimizer();
138+
assume_min_if_feasibility = true,
139+
)
140+
@test model.assume_min_if_feasibility
141+
model = Dualization.DualOptimizer{Float64}(
142+
HiGHS.Optimizer();
143+
assume_min_if_feasibility = true,
144+
)
145+
@test model.assume_min_if_feasibility
146+
end
128147
end

0 commit comments

Comments
 (0)