Skip to content

Commit

Permalink
Update optimize.jl
Browse files Browse the repository at this point in the history
  • Loading branch information
odow authored Nov 2, 2023
1 parent c1ba115 commit b5f9185
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions src/optimize.jl
Original file line number Diff line number Diff line change
Expand Up @@ -122,18 +122,6 @@ function MOI.empty!(model::Optimizer{T}) where {T}
return
end

MOI.supports(::Optimizer, ::MOI.SolutionLimit) = true
MOI.get(model::Optimizer, ::MOI.SolutionLimit) = model.options["num_solutions"]

function MOI.set(model::Optimizer, attr::MOI.SolutionLimit, value)
if !(value isa Int && value >= 1)
msg = "[MiniZinc] SolutionLimit must be an `Int` that is >= 1"
throw(MOI.SetAttributeNotAllowed(attr, msg))
end
model.options["num_solutions"] = value
return
end

function MOI.supports(model::Optimizer, attr::MOI.RawOptimizerAttribute)
return haskey(model.options, attr.name)
end
Expand All @@ -151,6 +139,17 @@ function MOI.set(model::Optimizer, attr::MOI.RawOptimizerAttribute, value)
return
end

MOI.supports(::Optimizer, ::MOI.SolutionLimit) = true

function MOI.get(model::Optimizer, ::MOI.SolutionLimit)
return MOI.get(model, MOI.RawOptimizerAttribute("num_solutions"))
end

function MOI.set(model::Optimizer, ::MOI.SolutionLimit, value)
MOI.set(model, MOI.RawOptimizerAttribute("num_solutions"), value)
return
end

MOI.supports(::Optimizer, ::MOI.TimeLimitSec) = true

MOI.get(model::Optimizer, ::MOI.TimeLimitSec) = model.time_limit_sec
Expand Down

0 comments on commit b5f9185

Please sign in to comment.