Skip to content

Commit 380f905

Browse files
authored
Merge pull request #297 from scipopt/add-node-limit
add node limit
2 parents 0d05ea1 + 27f520d commit 380f905

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/MOI_wrapper.jl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,24 @@ function MOI.set(o::Optimizer, ::MOI.TimeLimitSec, value)
215215
return MOI.set(o, MOI.RawOptimizerAttribute("limits/time"), value)
216216
end
217217

218+
MOI.supports(o::Optimizer, ::MOI.NodeLimit) = true
219+
220+
function MOI.get(o::Optimizer, ::MOI.NodeLimit)
221+
raw_value = MOI.get(o, MOI.RawOptimizerAttribute("limits/nodes"))
222+
if raw_value == -1
223+
return nothing
224+
else
225+
return raw_value::Int
226+
end
227+
end
228+
229+
function MOI.set(o::Optimizer, ::MOI.NodeLimit, value)
230+
if value === nothing
231+
return MOI.set(o, MOI.RawOptimizerAttribute("limits/nodes"), -1)
232+
end
233+
return MOI.set(o, MOI.RawOptimizerAttribute("limits/nodes"), value)
234+
end
235+
218236
MOI.supports(::Optimizer, ::MOI.AbsoluteGapTolerance) = true
219237
function MOI.get(o::Optimizer, ::MOI.AbsoluteGapTolerance)
220238
raw_value = MOI.get(o, MOI.RawOptimizerAttribute("limits/absgap"))

0 commit comments

Comments
 (0)