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

NOMADOpt: libnomadInterface not defined in doc example

Open DanielVandH opened this issue 1 year ago • 3 comments

The NOMADOpt() example in http://optimization.sciml.ai/dev/optimization_packages/nomad/ doesn't seem to work:

using Optimization 
using OptimizationNOMAD
rosenbrock(x, p) =  (p[1] - x[1])^2 + p[2] * (x[2] - x[1]^2)^2
x0 = zeros(2)
p  = [1.0, 100.0]
f = OptimizationFunction(rosenbrock)
prob = OptimizationProblem(f, x0, p)
sol = Optimization.solve(prob,NOMADOpt())
ERROR: UndefVarError: libnomadInterface not defined
Stacktrace:
 [1] create_c_nomad_problem(eval_bb::Function, nb_inputs::Int64, nb_outputs::Int64, lower_bound::Vector{Float64}, upper_bound::Vector{Float64}, type_inputs::String, type_outputs::String, max_bb_eval::Int64)
   @ NOMAD C:\Users\licer\.julia\packages\NOMAD\1ecB1\src\c_wrappers.jl:70
 [2] solve(p::NOMAD.NomadProblem, x0::Vector{Float64})
   @ NOMAD C:\Users\licer\.julia\packages\NOMAD\1ecB1\src\core.jl:325
 [3] __solve(prob::OptimizationProblem{true, OptimizationFunction{true, SciMLBase.NoAD, typeof(rosenbrock), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, 
Vector{Float64}, Nothing, Nothing, Nothing, Nothing, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, opt::NOMADOpt; maxiters::Nothing, maxtime::Nothing, abstol::Nothing, reltol::Nothing, progress::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ OptimizationNOMAD C:\Users\licer\.julia\packages\OptimizationNOMAD\oluuH\src\OptimizationNOMAD.jl:84
 [4] __solve
   @ C:\Users\licer\.julia\packages\OptimizationNOMAD\oluuH\src\OptimizationNOMAD.jl:40 [inlined]
 [5] #solve#516
   @ C:\Users\licer\.julia\packages\SciMLBase\TqBga\src\solve.jl:71 [inlined]
 [6] solve(::OptimizationProblem{true, OptimizationFunction{true, SciMLBase.NoAD, typeof(rosenbrock), Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Vector{Float64}, Nothing, Nothing, Nothing, Nothing, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, ::NOMADOpt)
   @ SciMLBase C:\Users\licer\.julia\packages\SciMLBase\TqBga\src\solve.jl:70
 [7] top-level scope
   @ Untitled-1:8

DanielVandH avatar Jul 12 '22 01:07 DanielVandH

I think you mean: http://optimization.sciml.ai/dev/optimization_packages/nomad/.

It would be good to start converting all of those docs pages to @examples one by one and see which ones are update to date and which ones fail.

ChrisRackauckas avatar Jul 12 '22 01:07 ChrisRackauckas

Would that be as simple as replacing instances of ```julia with ```@example in the doc pages?

DanielVandH avatar Jul 12 '22 02:07 DanielVandH

And any dependencies used would have to be added to https://github.com/SciML/Optimization.jl/blob/master/docs/Project.toml

We should also add https://github.com/SciML/DiffEqFlux.jl/blob/master/docs/make.jl#L15-L22 so that docs throw a failure if any examples fail.

ChrisRackauckas avatar Jul 12 '22 02:07 ChrisRackauckas