Skip to content

Commit cba2a7a

Browse files
authored
Add support for MOI.NodeLimit (#259)
1 parent 562d794 commit cba2a7a

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/MOI_wrapper.jl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,29 @@ function MOI.get(model::Optimizer, ::MOI.TimeLimitSec)
620620
return value == Inf ? nothing : value
621621
end
622622

623+
###
624+
### MOI.NodeLimit
625+
###
626+
627+
MOI.supports(::Optimizer, ::MOI.NodeLimit) = true
628+
629+
function MOI.set(model::Optimizer, ::MOI.NodeLimit, ::Nothing)
630+
attr = MOI.RawOptimizerAttribute("mip_max_nodes")
631+
MOI.set(model, attr, typemax(Cint))
632+
return
633+
end
634+
635+
function MOI.set(model::Optimizer, ::MOI.NodeLimit, limit::Real)
636+
attr = MOI.RawOptimizerAttribute("mip_max_nodes")
637+
MOI.set(model, attr, Int(limit))
638+
return
639+
end
640+
641+
function MOI.get(model::Optimizer, ::MOI.NodeLimit)
642+
value = MOI.get(model, MOI.RawOptimizerAttribute("mip_max_nodes"))
643+
return value == typemax(Cint) ? nothing : Int(value)
644+
end
645+
623646
###
624647
### MOI.AbsoluteGapTolerance
625648
###

0 commit comments

Comments
 (0)