Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enable BlackBoxOptim test #111

Closed
ChrisRackauckas opened this issue Feb 6, 2021 · 8 comments · Fixed by #129
Closed

Re-enable BlackBoxOptim test #111

ChrisRackauckas opened this issue Feb 6, 2021 · 8 comments · Fixed by #129

Comments

@ChrisRackauckas
Copy link
Member

Right now it needed to be disabled since that package is completely unmaintained. Hopefully it comes back, in which case it can be re-enabled. It might be a good idea to fork it.

@triceert
Copy link

Since upgrading to Julia 1.6 and updating packages too, I get this warning:

┌ Warning: Error requiring `BlackBoxOptim` from `GalacticOptim`
│   exception =
│    UndefVarError: EnsembleOptimizationProblem not defined
│    Stacktrace:
│      [1] top-level scope
│        @ ~/.julia/packages/GalacticOptim/JnLwV/src/solve.jl:380
│      [2] eval
│        @ ./boot.jl:360 [inlined]
│      [3] eval
│        @ ~/.julia/packages/GalacticOptim/JnLwV/src/GalacticOptim.jl:4 [inlined]
│      [4] (::GalacticOptim.var"#66#84")()
│        @ GalacticOptim ~/.julia/packages/Requires/7Ncym/src/require.jl:99
│      [5] err(f::Any, listener::Module, modname::String)
│        @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:47
│      [6] (::GalacticOptim.var"#65#83")()
│        @ GalacticOptim ~/.julia/packages/Requires/7Ncym/src/require.jl:98
│      [7] withpath(f::Any, path::String)
│        @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:37
│      [8] (::GalacticOptim.var"#64#82")()
│        @ GalacticOptim ~/.julia/packages/Requires/7Ncym/src/require.jl:97
│      [9] listenpkg(f::Any, pkg::Base.PkgId)
│        @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:20
│     [10] macro expansion
│        @ ~/.julia/packages/Requires/7Ncym/src/require.jl:95 [inlined]
│     [11] __init__()
│        @ GalacticOptim ~/.julia/packages/GalacticOptim/JnLwV/src/solve.jl:328
│     [12] _include_from_serialized(path::String, depmods::Vector{Any})
│        @ Base ./loading.jl:674
│     [13] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
│        @ Base ./loading.jl:760
│     [14] _tryrequire_from_serialized(modkey::Base.PkgId, build_id::UInt64, modpath::String)
│        @ Base ./loading.jl:689
│     [15] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
│        @ Base ./loading.jl:749
│     [16] _require(pkg::Base.PkgId)
│        @ Base ./loading.jl:998
│     [17] require(uuidkey::Base.PkgId)
│        @ Base ./loading.jl:914
│     [18] require(into::Module, mod::Symbol)
│        @ Base ./loading.jl:901
│     [19] eval
│        @ ./boot.jl:360 [inlined]
│     [20] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│        @ Base ./loading.jl:1094
│     [21] include_string
│        @ ./loading.jl:1104 [inlined]
│     [22] (::Atom.var"#216#221"{String, Module, String})()
│        @ Atom ~/.julia/packages/Atom/QtIdI/src/eval.jl:176
│     [23] withpath(f::Atom.var"#216#221"{String, Module, String}, path::String)
│        @ CodeTools ~/.julia/packages/CodeTools/VsjEq/src/utils.jl:30
│     [24] withpath(f::Function, path::String)
│        @ Atom ~/.julia/packages/Atom/QtIdI/src/eval.jl:9
│     [25] (::Atom.var"#215#220"{String, Module, String})()
│        @ Atom ~/.julia/packages/Atom/QtIdI/src/eval.jl:173
│     [26] with_logstate(f::Function, logstate::Any)
│        @ Base.CoreLogging ./logging.jl:491
│     [27] with_logger
│        @ ./logging.jl:603 [inlined]
│     [28] #214
│        @ ~/.julia/packages/Atom/QtIdI/src/eval.jl:172 [inlined]
│     [29] hideprompt(f::Atom.var"#214#219"{String, Module, String})
│        @ Atom ~/.julia/packages/Atom/QtIdI/src/repl.jl:127
│     [30] macro expansion
│        @ ~/.julia/packages/Media/ItEPc/src/dynamic.jl:24 [inlined]
│     [31] evalall(code::String, mod::Nothing, path::String)
│        @ Atom ~/.julia/packages/Atom/QtIdI/src/eval.jl:162
│     [32] invokelatest(::Any, ::Any, ::Vararg{Any, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│        @ Base ./essentials.jl:708
│     [33] invokelatest(::Any, ::Any, ::Vararg{Any, N} where N)
│        @ Base ./essentials.jl:706
│     [34] macro expansion
│        @ ~/.julia/packages/Atom/QtIdI/src/eval.jl:41 [inlined]
│     [35] (::Atom.var"#184#185")()
│        @ Atom ./task.jl:406
└ @ Requires ~/.julia/packages/Requires/7Ncym/src/require.jl:49

I guess this is related to this issue? GalacticOptim is on 1.1.0 and BBO on 0.5.0.

@ChrisRackauckas
Copy link
Member Author

Yeah we need to get in touch with @robertfeldt to fix this. There hasn't been a tag on it since 2019 so the released version doesn't quite work. I would be happy to help out and keep it maintained because I love the library, but as is it just won't run.

@robertfeldt
Copy link

Yes, I'm getting back to this lib more now. Will fix shortly. Master should be fine so will release that and delay other planned changes for now.

@jonasmac16
Copy link
Contributor

The warning about EnsembleOptimizationProblem stems from a previous PR which naively implemented an interface to the multiobjective optimizer BorgMOEA in BBO. I will make PR which removes/comments the old code until we have an EnsembleOptimizationProblem in SciMLBase rather than here.

@robertfeldt
Copy link

I'm back to working on BBO, and recently released 0.6.0, so if there is something you need in relation to this please share. @ChrisRackauckas @jonasmac16

There are some known issues (like multi-threading support) being worked on but I'd like BBO to play nice with GalacticOptim. 0.6.0 supports giving an initial candidate solution but very limited testing as of yet so feedback welcome.

@ChrisRackauckas
Copy link
Member Author

I think a batch interface for caller-side parallelism would be the main thing.

@robertfeldt
Copy link

Thanks @ChrisRackauckas. I plan to do the API similar to Cubature.jl as you proposed previously. If you have other/better ideas please share.

@ChrisRackauckas
Copy link
Member Author

That would be perfect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants