Optimization.jl icon indicating copy to clipboard operation
Optimization.jl copied to clipboard

"The algorithm NOMADOpt does not support callbacks"

Open TorkelE opened this issue 2 years ago • 1 comments

I try to run an optimization (using a callback to save the evaluations) with the NOMAD package. However, it does not seem to support callbacks:

solve(optprob, NOMADOpt(); maxtime=10, callback=cb)

produces error:

ERROR: The algorithm NOMADOpt does not support callbacks, remove the `callback` keyword argument from the `solve` call.
Stacktrace:
 [1] #_check_opt_alg#553
   @ ~/.julia/packages/SciMLBase/zXEYU/src/solve.jl:98 [inlined]
 [2] solve(::SciMLBase.OptimizationProblem{true, OptimizationFunction{true,Optimization.AutoForwardDiff{nothing},…}, Vector{Float64}, SciMLBase.NullParameters, Vector{Float64}, Vector{Float64}, Nothing, Nothing, Nothing, Nothing, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::NOMADOpt; kwargs::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:maxtime, :callback), Tuple{Int64, typeof(cb)}}})
   @ SciMLBase ~/.julia/packages/SciMLBase/zXEYU/src/solve.jl:84
 [3] top-level scope
   @ ~/Activate-CRN-Learning/playground.jl:89

Not sure if this is something that could be implemented? Alternatively, maybe the "Overview of the Optimizers" table could note which optimizers supports callbacks and which do not?

TorkelE avatar Mar 20 '23 16:03 TorkelE

Also true for CMAEvolutionStrategyOpt.

TorkelE avatar Mar 20 '23 16:03 TorkelE