bbopt / nomad.jl Goto Github PK
View Code? Open in Web Editor NEWJulia interface to the NOMAD blackbox optimization software
License: Other
Julia interface to the NOMAD blackbox optimization software
License: Other
J'obtiens ce problème lors de l'installation de NOMAD.jl sur la grille de calcul.
Si tu arrives à faire marcher NOMAD sur cette machine, ton script d'installation sera bien robuste.
Y a jamais rien qui marche par défaut dessus...
Configuration complete. Type make to build.
cd /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src && make all
make[1] : on entre dans le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src »
===== Creating the SGTELIB shared objects library and executables =====
make[2] : on entre dans le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/ext/sgtelib/src »
---> ../build/TrainingSet.o OK
---> ../build/Surrogate_Parameters.o OK
---> ../build/Surrogate_KS.o OK
---> ../build/Surrogate_RBF.o OK
---> ../build/Surrogate_PRS.o OK
---> ../build/Surrogate_PRS_EDGE.o OK
---> ../build/Surrogate_LOWESS.o OK
---> ../build/Surrogate_Kriging.o OK
---> ../build/Surrogate_PRS_CAT.o OK
---> ../build/Surrogate_Ensemble.o OK
---> ../build/Surrogate_CN.o OK
---> ../build/Surrogate.o OK
---> ../build/Matrix.o OK
---> ../build/Kernel.o OK
---> ../build/Surrogate_Utils.o OK
---> ../build/Surrogate_Factory.o OK
---> ../build/Tests.o OK
---> ../build/sgtelib_help.o OK
---> ../build/Metrics.o OK
== Making ../lib/libsgtelib.so ==
---> ../lib/libsgtelib.so OK
---> ../build/sgtelib.o OK
== Making ../bin/sgtelib.exe ==
---> ../bin/sgtelib.exe OK
make[2] : on quitte le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/ext/sgtelib/src »
===== Create links to libsgtelib.so =====
---> link into NOMAD build dir OK
---> link into NOMAD lib dir OK
make[2] : on entre dans le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src »
===== Compiling Nomad objects =====
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Algo_Parameters.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Barrier.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Cache.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Cache_File_Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Cache_Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Cache_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Clock.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Direction.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Directions.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Display.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Double.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Eval_Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Evaluator.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Evaluator_Control.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Extended_Poll.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/L_Curve.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/LH_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Mads.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/OrthogonalMesh.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Model_Sorted_Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Model_Stats.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Multi_Obj_Evaluator.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/NelderMead_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/NelderMead_Simplex_Eval_Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Parameters.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Parameter_Entries.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Parameter_Entry.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Pareto_Front.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Pareto_Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Phase_One_Evaluator.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Phase_One_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Priority_Eval_Point.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Quad_Model.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Quad_Model_Evaluator.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Quad_Model_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Random_Pickup.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/RNG.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Sgtelib_Model_Evaluator.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Sgtelib_Model_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Sgtelib_Model_Manager.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Signature.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Slave.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Speculative_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Stats.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/SMesh.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/TrendMatrix_Line_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/GMesh.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/XMesh.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/utils.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/Variable_Group.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/VNS_Search.o OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/obj/ObjsNoMPI/nomad.o OK
===== Creating the NOMAD shared objects library (no MPI) =====
---> cleaning link to lib files OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/lib/libnomad.so OK
---> creating symbolic link to lib file OK
===== Creating the NOMAD executable release version (no MPI) =====
---> cleaning link to executables OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/bin/nomad OK
---> creating symbolic link to executable OK
make[2] : on quitte le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src »
make[1] : on quitte le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src »
===== Creating the SGTELIB shared objects library and executables =====
make[1] : on entre dans le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/ext/sgtelib/src »
make[1]: Rien à faire pour « all ».
make[1] : on quitte le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/ext/sgtelib/src »
===== Create links to libsgtelib.so =====
---> link into NOMAD build dir OK
---> link into NOMAD lib dir OK
make[1] : on entre dans le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src »
===== Compiling Nomad objects =====
===== Creating the NOMAD shared objects library (no MPI) =====
---> cleaning link to lib files OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/lib/libnomad.so OK
---> creating symbolic link to lib file OK
===== Creating the NOMAD executable release version (no MPI) =====
---> cleaning link to executables OK
---> /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src/../builds/release/bin/nomad OK
---> creating symbolic link to executable OK
make[1] : on quitte le répertoire « /home/almonf/.julia/dev/NOMAD/deps/nomad.3.9.1/src »
(v1.1) pkg> test NOMAD
Testing NOMAD
Resolving package versions...
Status `/tmp/tmpVBnTqC/Manifest.toml`
[b99e7846] BinaryProvider v0.5.4
[a0b5b9ef] Cxx v0.3.0
[d227bf30] NOMAD v0.1.0 [`~/.julia/dev/NOMAD`]
[2a0f44e3] Base64 [`@stdlib/Base64`]
[8ba89e20] Distributed [`@stdlib/Distributed`]
[b77e0a4c] InteractiveUtils [`@stdlib/InteractiveUtils`]
[8f399da3] Libdl [`@stdlib/Libdl`]
[56ddb016] Logging [`@stdlib/Logging`]
[d6f4376e] Markdown [`@stdlib/Markdown`]
[3fa0cd96] REPL [`@stdlib/REPL`]
[9a3f8284] Random [`@stdlib/Random`]
[ea8e919c] SHA [`@stdlib/SHA`]
[9e88b42a] Serialization [`@stdlib/Serialization`]
[6462fe0b] Sockets [`@stdlib/Sockets`]
[8dfed614] Test [`@stdlib/Test`]
[ Info: loading NOMAD libraries
ERROR: LoadError: LoadError: NOMAD.jl error : initialization failed, cannot access NOMAD libraries, first need to build them
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] nomad_libs_call(::String) at /home/almonf/.julia/dev/NOMAD/src/init.jl:36
[3] init(::String) at /home/almonf/.julia/dev/NOMAD/src/init.jl:17
[4] top-level scope at none:0
[5] include at ./boot.jl:326 [inlined]
[6] include_relative(::Module, ::String) at ./loading.jl:1038
[7] _require(::Base.PkgId) at ./loading.jl:986
[8] require(::Base.PkgId) at ./loading.jl:858
[9] require(::Module, ::Symbol) at ./loading.jl:853
[10] include at ./boot.jl:326 [inlined]
[11] include_relative(::Module, ::String) at ./loading.jl:1038
[12] include(::Module, ::String) at ./sysimg.jl:29
[13] include(::String) at ./client.jl:403
[14] top-level scope at none:0
in expression starting at /home/almonf/.julia/dev/NOMAD/src/NOMAD.jl:19
in expression starting at /home/almonf/.julia/dev/NOMAD/test/runtests.jl:1
ERROR: Package NOMAD errored during testing
I was fiddling with NomadProblem
to try to set the max_time
attribute of the NomadOption
object to a certain value. It seems there is no easy way to do so. I tried to do it this way:
using NOMAD
parameters = [1.0, 2.0]
bb_output(parameters::AbstractVector{Float64}) = 0
function obj(v::AbstractVector{Float64})
return true, true, bb_output(v)
end
nomad = NomadProblem(
length(parameters),
1,
["OBJ"],
obj;
input_types = ["R", "R"],
granularity = [0.0, 0.0],
lower_bound = [0.0, 0.0],
upper_bound = [10.0, 10.0],
)
options = NOMAD.NomadOptions(display_all_eval=true, display_infeasible=true, display_unsuccessful=true)
# This line fails because NomadProblem is an immutable struct
nomad.options = options
but NomadProblem
is immutable. Is there a way to allow the user to specify some options? For example, we could change the inner constructor of NomadProblem
to allow the user to pass the options he wants to change.
In the user guide of NOMAD they said that NOMAD will be able to handle biobjective function also. Is it possible in our NOMAD.jl also?
SOLAR and STYRENE are now precompiled with Yggdrasil.
We should add a documentation page to explain how to use them with NOMAD.jl.
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix
on this issue.
I'll open a PR within a few hours, please be patient!
The instructions in the README appear to be outdated. So does the tutorial. A simple up-to-date example with a constraint or two and installation instructions would be very useful. I looked in the NOMAD4 branch, but no success there either :-(.
J'obtiens cette erreur après installation de NOMAD.jl sur mon pc (OS Ubuntu).
(v1.1) pkg> test NOMAD
Testing NOMAD
Resolving package versions...
Status `/tmp/tmpwtRCgb/Manifest.toml`
[b99e7846] BinaryProvider v0.5.4
[a0b5b9ef] Cxx v0.3.0+ [`~/.julia/dev/Cxx`]
[d227bf30] NOMAD v0.1.0 [`~/.julia/dev/NOMAD`]
[2a0f44e3] Base64 [`@stdlib/Base64`]
[8ba89e20] Distributed [`@stdlib/Distributed`]
[b77e0a4c] InteractiveUtils [`@stdlib/InteractiveUtils`]
[8f399da3] Libdl [`@stdlib/Libdl`]
[56ddb016] Logging [`@stdlib/Logging`]
[d6f4376e] Markdown [`@stdlib/Markdown`]
[3fa0cd96] REPL [`@stdlib/REPL`]
[9a3f8284] Random [`@stdlib/Random`]
[ea8e919c] SHA [`@stdlib/SHA`]
[9e88b42a] Serialization [`@stdlib/Serialization`]
[6462fe0b] Sockets [`@stdlib/Sockets`]
[8dfed614] Test [`@stdlib/Test`]
[ Info: loading NOMAD libraries
ERROR: LoadError: LoadError: TypeError: in typeassert, expected Cxx.CxxCore.CppValue{Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::vector")},Tuple{Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::basic_string")},Tuple{UInt8,Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::char_traits")},Tuple{UInt8}},(false, false, false)},Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::allocator")},Tuple{UInt8}},(false, false, false)}}},(false, false, false)},Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::allocator")},Tuple{Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::basic_string")},Tuple{UInt8,Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::char_traits")},Tuple{UInt8}},(false, false, false)},Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::allocator")},Tuple{UInt8}},(false, false, false)}}},(false, false, false)}}},(false, false, false)}}},(false, false, false)},24}, got Cxx.CxxCore.CppValue{Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::vector")},Tuple{Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::__cxx11::basic_string")},Tuple{UInt8,Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::char_traits")},Tuple{UInt8}},(false, false, false)},Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::allocator")},Tuple{UInt8}},(false, false, false)}}},(false, false, false)},Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::allocator")},Tuple{Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::__cxx11::basic_string")},Tuple{UInt8,Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::char_traits")},Tuple{UInt8}},(false, false, false)},Cxx.CxxCore.CxxQualType{Cxx.CxxCore.CppTemplate{Cxx.CxxCore.CppBaseType{Symbol("std::allocator")},Tuple{UInt8}},(false, false, false)}}},(false, false, false)}}},(false, false, false)}}},(false, false, false)},24}
Stacktrace:
[1] runopt(::typeof(eval1), ::parameters) at /home/alexis/.julia/dev/NOMAD/src/runopt.jl:112
[2] top-level scope at none:0
[3] include at ./boot.jl:326 [inlined]
[4] include_relative(::Module, ::String) at ./loading.jl:1038
[5] include(::Module, ::String) at ./sysimg.jl:29
[6] include(::String) at ./client.jl:403
[7] top-level scope at none:0
[8] include at ./boot.jl:326 [inlined]
[9] include_relative(::Module, ::String) at ./loading.jl:1038
[10] include(::Module, ::String) at ./sysimg.jl:29
[11] include(::String) at ./client.jl:403
[12] top-level scope at none:0
in expression starting at /home/alexis/.julia/dev/NOMAD/test/optim_test.jl:59
in expression starting at /home/alexis/.julia/dev/NOMAD/test/runtests.jl:5
ERROR: Package NOMAD errored during testing
As discussed with @salomonl , it would be great to be able to specify a surrogate model.
I sometimes obtain the following error when using integer and boolean inputs. From my perspective, it seems to happen randomly, but I am not sure. I will sometimes rerun NOMAD.jl
and I won't get an error. Here is a recent stacktrace:
ERROR: LoadError: InexactError: Bool(1.00000000000003) [29/1822]Stacktrace: [1] Bool @ ./float.jl:106 [inlined] [2] convert @ ./number.jl:7 [inlined] [3] set_default!(parameter::AlgorithmicParameter{Bool, BinaryRange{Bool}}, new_value::Float64)
@ Main ~/ParameterTuningInterface/src/parameters.jl:38
[4] (::var"#14#17")(::Tuple{AlgorithmicParameter{Bool, BinaryRange{Bool}}, Float64})
@ Main ./none:0
[5] iterate
@ ./generator.jl:47 [inlined]
[6] collect_to!(dest::Vector{Real}, itr::Base.Generator{Base.Iterators.Zip{Tuple{Vector{AlgorithmicParameter}, Vector{Float64}}}, var"#14#17"}, offs::Int64, st::Tuple{Int64, Int64})
@ Base ./array.jl:724
[7] collect_to!(dest::Vector{Int64}, itr::Base.Generator{Base.Iterators.Zip{Tuple{Vector{AlgorithmicParameter}, Vector{Float64}}}, var"#14#17"}, offs::Int64, st::Tuple{Int64, Int64})
@ Base ./array.jl:732
[8] collect_to_with_first!(dest::Vector{Int64}, v1::Int64, itr::Base.Generator{Base.Iterators.Zip{Tuple{Vector{AlgorithmicParameter}, Vector{Float64}}}, var"#14#17"}, st::Tuple{Int64, Int64})
@ Base ./array.jl:702
[9] collect(itr::Base.Generator{Base.Iterators.Zip{Tuple{Vector{AlgorithmicParameter}, Vector{Float64}}}, var"#14#17"})
@ Base ./array.jl:683
[10] obj
@ ~/ParameterTuningInterface/src/parameters.jl:103 [inlined]
[11] obj
@ ~/ParameterTuningInterface/src/parameters.jl:103 [inlined]
To fix the issue, I had to do a convert(Bool, round(Int64, value))
.
Any ideas? I am curious why it seems to happen arbitrarily.
We should add documentation about how to use the NOMAD binary directly with NOMAD_jll. It could avoid some issues with libraries.
@salomonl
Do you want to update some files with the new version of NOMAD 4.2 ?
I would like to do a new release of NOMAD.jl with the new NOMAD_jll.
How to specify minimum mesh size in nomad.jl
I get sometimes this exception:
NOMAD exception (report to developper):
NOMAD::Exception thrown (/workspace/srcdir/nomad/src/Param/PbParameters.cpp, 174) Invalid Parameter. Check: LOWER_BOUND is equal to UPPER_BOUND at index 2. Value = 0
terminate called after throwing an instance of 'NOMAD_4_3::Exception'
what(): NOMAD::Exception thrown (/workspace/srcdir/nomad/src/Algos/../Cache/CacheBase.hpp, 165) Cannot get instance. A non-virtual object derived from CacheBase must be instantiated first. For example, call CacheSet::setInstance() ONCE before calling CacheBase::getInstance()
If I restart Julia and try again it works. Any idea?
Additional finding: It seams to happen always if I did create a plot with PyPlot.jl BEFORE calling NOMAD.
Usually in Julia, the time()
is a real number. Is there any specific reason why the max_time
in NomadOption
is fixed as an integer here, L.69?
Firstly, thanks for making this great optimizer available to Julia users!
I have an expensive objective function that takes about 20 seconds to evaluate with threading enabled in Julia. When I try to optimize with NOMAD on Manjaro Linux, starting Julia with -t2 -t3, etc., on my 8-core machine, I get the following error (-t1 works fine, though slowly):
julia> include("cpssopt.jl")
All variables are granular. MAX_EVAL is set to 1000000 to prevent algorithm from circling around best solution indefinetely
Caught seg fault in thread 0
terminate called after throwing an instance of 'NOMAD_4_0_0::Exception'
what(): NOMAD::Exception thrown (/workspace/srcdir/nomad/src/Algos/Step.cpp, 103) Caught seg fault
signal (6): Aborted
in expression starting at /run/timeshift/backup/simonp_win/julia/packages/PSSFSS/sandbox/sjoberg_cpss/nomad1/threadtest/cpssopt.jl:97
gsignal at /usr/lib/libc.so.6 (unknown line)
abort at /usr/lib/libc.so.6 (unknown line)
__verbose_terminate_handler at /workspace/srcdir/gcc-9.1.0/libstdc++-v3/libsupc++/vterminate.cc:95
__terminate at /workspace/srcdir/gcc-9.1.0/libstdc++-v3/libsupc++/eh_terminate.cc:47
terminate at /workspace/srcdir/gcc-9.1.0/libstdc++-v3/libsupc++/eh_terminate.cc:57
__cxa_throw at /workspace/srcdir/gcc-9.1.0/libstdc++-v3/libsupc++/eh_throw.cc:95
_ZN11NOMAD_4_0_04Step13debugSegFaultEi.cold.119 at /home/simonp/.julia/artifacts/c8c50bbe7723f08c41d066d6269a774dde10aa5e/lib/libnomadAlgos.so (unknown line)
killpg at /usr/lib/libc.so.6 (unknown line)
jl_mutex_wait at /buildworker/worker/package_linux64/build/src/locks.h:37 [inlined]
jl_mutex_lock at /buildworker/worker/package_linux64/build/src/locks.h:88 [inlined]
jl_generate_fptr at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:318
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1970
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:2236 [inlined]
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2229 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
start_task at /buildworker/worker/package_linux64/build/src/task.c:839
unknown function (ip: (nil))
Allocations: 114487065 (Pool: 114449704; Big: 37361); GC: 46
This error does not occur on my Windows machine. Here is my configuration:
julia> versioninfo(verbose=true)
Julia Version 1.6.1
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
"Manjaro Linux"
uname: Linux 5.10.30-1-MANJARO #1 SMP Wed Apr 14 08:07:27 UTC 2021 x86_64 unknown
CPU: Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz:
speed user nice sys idle irq
#1 4598 MHz 1142208 s 652 s 1037768 s 13116888 s 32771 s
#2 4552 MHz 1142082 s 328 s 1033468 s 13123801 s 31878 s
#3 4589 MHz 1265023 s 638 s 998944 s 12975603 s 66731 s
#4 4580 MHz 1134830 s 88 s 1046800 s 13110539 s 34344 s
#5 4588 MHz 1134600 s 893 s 1041140 s 13120661 s 32812 s
#6 4576 MHz 1132240 s 1030 s 1036202 s 13128789 s 32403 s
#7 4561 MHz 1133090 s 125 s 1059432 s 13062803 s 46101 s
#8 4566 MHz 1139859 s 868 s 1050228 s 13101772 s 34894 s
Memory: 62.53139114379883 GB (12211.14453125 MB free)
Uptime: 1.537912e6 sec
Load Avg: 0.35 0.66 0.7
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
Environment:
JULIA_NUM_THREADS = 8
DRAWHOME = /usr/share/opencascade/resources/DrawResources
PATH = /home/simonp/.local/bin:/usr/local/bin:/usr/bin:/var/lib/snapd/snap/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/simonp/scuff-em-installation/bin
HOME = /home/simonp
TERM = xterm-256color
WINDOWPATH = 2
I'm using NOMAD.jl v. 2.1.0.
Actually, from looking at the information my objective function writes out, it looks like the segfault is occurring in the objective function, presumably when the first Threads.@threads statement is encountered. But, as I noted previously, this error doesn't occur on my Windows machine, where I'm using 8 threads.
As discussed with @salomonl , it would be great to be able to evaluate in parallel the black-box function.
There is a new version of NOMAD available as of January 2024: v4.4.0
https://www.gerad.ca/en/software/nomad/
Are there plans to upgrade NOMAD.jl to use this latest version of NOMAD?
Thanks very much for your work on this! I'm running FreeBSD 13, and have clang 11.
I'm using the latest NOMAD package. When I try to test it, I get a long error:
[8e850ede] nghttp2_jll @stdlib/nghttp2_jll
[3f19e933] p7zip_jll @stdlib/p7zip_jll
Testing Running tests...
Test Summary: | Pass Total
creation of a Nomad problem : assertions | 28 28
signal (11): Segmentation fault
in expression starting at /usr/home/ko/.julia/packages/NOMAD/P7j5X/test/basic_problems.jl:1
ZN11NOMAD_4_0_010Parameters17setSpValueDefaultImEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET at /usr/home/ko/.julia/artifacts/d9b565aa4870bf0df27a4f90c279c945de56415a/lib/libnomadCInterface.so (unknown line)
ZN11NOMAD_4_0_010Parameters17setAttributeValueIiEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET at /usr/home/ko/.julia/artifacts/d9b565aa4870bf0df27a4f90c279c945de56415a/lib/libnomadCInterface.so (unknown line)
addNomadValParam at /usr/home/ko/.julia/artifacts/d9b565aa4870bf0df27a4f90c279c945de56415a/lib/libnomadCInterface.so (unknown line)
create_c_nomad_problem at /usr/home/ko/.julia/packages/NOMAD/P7j5X/src/c_wrappers.jl:68
unknown function (ip: 0x818067cac)
solve at /usr/home/ko/.julia/packages/NOMAD/P7j5X/src/core.jl:584
unknown function (ip: 0x818062e95)
_jl_invoke at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:0 [inlined]
jl_apply_generic at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:2419
jl_apply at /usr/home/julia/worker/package_freebsd64/build/src/./julia.h:1703 [inlined]
do_call at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:115
eval_body at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:435
eval_body at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:490
eval_body at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:490
jl_interpret_toplevel_thunk at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:670
jl_toplevel_eval_flex at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:877
jl_toplevel_eval_flex at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:825
jl_toplevel_eval at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:886 [inlined]
jl_toplevel_eval_in at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:929
eval at ./boot.jl:360 [inlined]
include_string at ./loading.jl:1094
_jl_invoke at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:0 [inlined]
jl_apply_generic at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:2419
_include at ./loading.jl:1148
include at ./client.jl:444
_jl_invoke at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:0 [inlined]
jl_apply_generic at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:2419
jl_apply at /usr/home/julia/worker/package_freebsd64/build/src/./julia.h:1703 [inlined]
do_call at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:115
eval_stmt_value at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:155 [inlined]
eval_body at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:558
jl_interpret_toplevel_thunk at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:670
jl_toplevel_eval_flex at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:877
jl_toplevel_eval_flex at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:825
jl_toplevel_eval at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:886 [inlined]
jl_toplevel_eval_in at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:929
eval at ./boot.jl:360 [inlined]
include_string at ./loading.jl:1094
_jl_invoke at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:0 [inlined]
jl_apply_generic at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:2419
_include at ./loading.jl:1148
include at ./client.jl:444
_jl_invoke at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:0 [inlined]
jl_apply_generic at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:2419
jl_apply at /usr/home/julia/worker/package_freebsd64/build/src/./julia.h:1703 [inlined]
do_call at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:115
eval_stmt_value at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:155 [inlined]
eval_body at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:558
jl_interpret_toplevel_thunk at /usr/home/julia/worker/package_freebsd64/build/src/interpreter.c:670
jl_toplevel_eval_flex at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:877
jl_toplevel_eval_flex at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:825
jl_toplevel_eval at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:886 [inlined]
jl_toplevel_eval_in at /usr/home/julia/worker/package_freebsd64/build/src/toplevel.c:929
eval at ./boot.jl:360 [inlined]
exec_options at ./client.jl:261
_start at ./client.jl:485
jfptr__start_32242.clone_1 at /opt/julia-1.6.1/lib/julia/sys.so (unknown line)
_jl_invoke at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:0 [inlined]
jl_apply_generic at /usr/home/julia/worker/package_freebsd64/build/src/gf.c:2419
jl_apply at /usr/home/julia/worker/package_freebsd64/build/src/./julia.h:1703 [inlined]
true_main at /usr/home/julia/worker/package_freebsd64/build/src/jlapi.c:560
repl_entrypoint at /usr/home/julia/worker/package_freebsd64/build/src/jlapi.c:702
main at /opt/julia-1.6.1/bin/julia (unknown line)
_start at /opt/julia-1.6.1/bin/julia (unknown line)
unknown function (ip: 0x800623007)
Allocations: 38615606 (Pool: 38601434; Big: 14172); GC: 50
ERROR: Package NOMAD errored during testing (received signal: 11)
(@v1.6) pkg>
Hi, I would really appreciate an example on this. Thanks.
It crashed Julia. What does this mean?
Warning: SubproblemManager::clear() called on non-empty SubproblemManager
Source in C++ code:
https://github.com/bbopt/nomad/blob/cb3bb3543b14d9eb8aee270e9ef3b80a67f7708c/src/Algos/SubproblemManager.cpp#L117
I would like to know if there is a relationship between the granularity and the min_mesh_size
of a NomadProblem. I am currently trying to increase the granularity of real variables, but if I do so, should I also change the mesh size min_mesh_size
?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.