Skip to content

Commit ee6dfdc

Browse files
Merge pull request #426 from SciML/moicallbackdisable
Disallow callback in MOI subpackage and empty solver if prepopulated
2 parents e0f28d0 + 63211dd commit ee6dfdc

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

lib/OptimizationMOI/src/OptimizationMOI.jl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ function SciMLBase.allowsconstraints(opt::Union{MOI.AbstractOptimizer,
1616
MOI.OptimizerWithAttributes})
1717
true
1818
end
19+
function SciMLBase.allowscallback(opt::Union{MOI.AbstractOptimizer,
20+
MOI.OptimizerWithAttributes})
21+
false
22+
end
1923

2024
struct MOIOptimizationProblem{T, F <: OptimizationFunction, uType, P,
2125
JT <: DenseOrSparse{T}, HT <: DenseOrSparse{T},
@@ -238,12 +242,12 @@ end
238242

239243
function _create_new_optimizer(model::MOI.AbstractOptimizer)
240244
if MOI.supports_incremental_interface(model)
241-
return model
245+
return MOI.instantiate(typeof(model))
242246
end
243247
return MOI.Utilities.CachingOptimizer(MOI.Utilities.UniversalFallback(MOI.Utilities.Model{
244248
Float64
245249
}()),
246-
model)
250+
MOI.instantiate(typeof(model)))
247251
end
248252

249253
function __map_optimizer_args(prob::OptimizationProblem,
@@ -280,6 +284,7 @@ function SciMLBase.__solve(prob::OptimizationProblem,
280284
abstol::Union{Number, Nothing} = nothing,
281285
reltol::Union{Number, Nothing} = nothing,
282286
kwargs...)
287+
283288
maxiters = Optimization._check_and_convert_maxiters(maxiters)
284289
maxtime = Optimization._check_and_convert_maxtime(maxtime)
285290
opt_setup = __map_optimizer_args(prob,

0 commit comments

Comments
 (0)