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

ERROR: AssertionError: target[2]=-1.6719276998174588 is out of [-4.920818753952375, -2.9208187539523753]

Open ig-or opened this issue 2 years ago • 21 comments

Hello, I tried adaptive_de_rand_1_bin, adaptive_de_rand_1_bin_radiuslimited and generating_set_search so far, all with similar results.

example of the stack trace:

Starting optimization with optimizer DiffEvoOpt{FitPopulation{Float64}, SimpleSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBound{ContinuousRectSearchSpace}}
0.00 secs, 0 evals, 0 steps
ERROR: AssertionError: target[2]=-1.6719276998174588 is out of [-4.920818753952375, -2.9208187539523753]
Stacktrace:
  [1] apply!(eo::RandomBound{ContinuousRectSearchSpace}, target::Vector{Float64}, ref::SubArray{Float64, 1, Matrix{Float64}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64}, true})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\genetic_operators\embedding\random_bound.jl:34
  [2] apply!
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\genetic_operators\embedding\random_bound.jl:39 [inlined]
  [3] evolved_pair(de::DiffEvoOpt{FitPopulation{Float64}, SimpleSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBound{ContinuousRectSearchSpace}}, target::BlackBoxOptim.Candidate{Float64}, trial::BlackBoxOptim.Candidate{Float64}, op::BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, tag::Int64)
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\differential_evolution.jl:81
  [4] evolve(de::DiffEvoOpt{FitPopulation{Float64}, SimpleSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBound{ContinuousRectSearchSpace}}, crossover::BlackBoxOptim.AdaptiveDiffEvoRandBin{3})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\differential_evolution.jl:72
  [5] ask
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\differential_evolution.jl:37 [inlined]
  [6] step!(ctrl::BlackBoxOptim.OptRunController{DiffEvoOpt{FitPopulation{Float64}, SimpleSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBound{ContinuousRectSearchSpace}}, BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}})    
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\opt_controller.jl:273
  [7] run!(ctrl::BlackBoxOptim.OptRunController{DiffEvoOpt{FitPopulation{Float64}, SimpleSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBound{ContinuousRectSearchSpace}}, BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}})     
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\opt_controller.jl:321
  [8] run!(oc::BlackBoxOptim.OptController{DiffEvoOpt{FitPopulation{Float64}, SimpleSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBound{ContinuousRectSearchSpace}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\opt_controller.jl:470
  [9] #bboptimize#122
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\bboptimize.jl:75 [inlined]
 [10] bboptimize (repeats 2 times)
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\jCUUF\src\bboptimize.jl:65 [inlined]
 [11] runOneTest(optMethod::Symbol, rf::IOStream)
    @ rdftest.rdfparams c:\space\rdframer\rdm_reframer\julia\rdftest\src\rdfparams.jl:313
 [12] getGoodParams(folders::Vector{String}, optMethod::Symbol, ngpsLength::Int64, method::Int64)
    @ rdftest.rdfparams c:\space\rdframer\rdm_reframer\julia\rdftest\src\rdfparams.jl:395
 [13] top-level scope
    @ REPL[17]:1

ig-or avatar Apr 20 '22 01:04 ig-or

Sorry to hear this. Can you show some more info about your problem setup and the call to bboptimize etc so we can help you find the problem?

robertfeldt avatar Apr 20 '22 06:04 robertfeldt

This is how I'm starting the algorithm

	opt0 = bbsetup(imuNoiseTestS; Method=optMethod,
		SearchRange = range,
		NumDimensions = nn,
		MaxTime = testTime[mode], 
		TraceInterval = traceInt, 
		)

	res0 = bboptimize(opt0)
	bf0 = best_fitness(res0)
	bc0 = best_candidate(res0)
 Method=generating_set_search
SearchRange = [(-3.60206, -1.60206), (-4.92082, -2.92082)]
NumDimensions = 2,
MaxTime = about 15 minutes or a few hours
TraceInterval = 20.0*60.0, 

Please let me know if I can help somehow in this.. I tried to look at the actual code, nothing very suspicious. BTW, the separable_nes worked without errors (but I'd like to use generating_set_search, much more convenient for my task). And actually all the algorithms worked before, when range values were positive. Now range values are negative.

ig-or avatar Apr 20 '22 17:04 ig-or

I assume you mean SearchRange = [(-3.60206, -1.60206), (-4.92082, -2.92082)]?

Seems it depends on your fitness function then since this works for me:

using BlackBoxOptim
SearchRange = [(-3.60206, -1.60206), (-4.92082, -2.92082)]
NumDimensions = 2
Method = :generating_set_search
MaxTime = 5
function somefitness2d(x)
         return (1.0 - x[1])^2 + 100.0 * (1.3 + x[2] - x[1]^4)^2
end
opt0 = bbsetup(somefitness2d; Method, SearchRange, MaxTime, NumDimensions)
res0 = bboptimize(opt0)
...
bf0 = best_fitness(res0) # returns 6744.284995235647

So I need more info about your fitness function in order to try to help you. There doesn't seem to be some obvious problem in BBO with negative search ranges.

robertfeldt avatar Apr 21 '22 06:04 robertfeldt

As a temporary solution you can always try to invert the search range and then negate the values in your fitness function. Example for above:

using BlackBoxOptim
SearchRange = [(-3.60206, -1.60206), (-4.92082, -2.92082)]
InvertedSearchRange = map(t -> (-last(t), -first(t)), SearchRange)
NumDimensions = 2
Method = :generating_set_search
MaxTime = 5
function inverting_somefitness2d(x)
         x = -1.0 .* x
         return (1.0 - x[1])^2 + 100.0 * (1.3 + x[2] - x[1]^4)^2
end
opt0 = bbsetup(inverting_somefitness2d; Method, SearchRange = InvertedSearchRange, MaxTime, NumDimensions)
res0 = bboptimize(opt0)

which finds the exact same best candidate (of course you have to invert it back).

robertfeldt avatar Apr 21 '22 06:04 robertfeldt

So you are not providing some initial solutions to your search? Since if you do and they are not in the given search range bounds that might lead to problems. The ability to provide initial solutions was recently introduced and might not be as tested.

robertfeldt avatar Apr 21 '22 06:04 robertfeldt

Actually I can replicate your problem if I initialise the search with an initial solution outside of the search range:

using BlackBoxOptim
SearchRange = [(-3.60206, -1.60206), (-4.92082, -2.92082)]
NumDimensions = 2
Method = :generating_set_search
MaxTime = 5
function somefitness2d(x)
         return (1.0 - x[1])^2 + 100.0 * (1.3 + x[2] - x[1]^4)^2
end
opt0 = bbsetup(somefitness2d; Method, SearchRange, MaxTime, NumDimensions)

outlier = [-10.0, -10.0]
res0 = bboptimize(opt0, outlier)
...
Starting optimization with optimizer GeneratingSetSearcher(BlackBoxOptim.ConstantDirectionGen)
0.00 secs, 2 evals, 0 steps, fitness=510319.642458021
ERROR: AssertionError: target[1]=-4.277614948471471 is out of [-3.60206, -1.60206]
Stacktrace:
 [1] apply!(eo::RandomBound{ContinuousRectSearchSpace}, target::Vector{Float64}, ref::Vector{Float64})
   @ BlackBoxOptim ~/.julia/packages/BlackBoxOptim/jCUUF/src/genetic_operators/embedding/random_bound.jl:34
 [2] step!(gss::BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}})
   @ BlackBoxOptim ~/.julia/packages/BlackBoxOptim/jCUUF/src/generating_set_search.jl:127
 [3] step!
   @ ~/.julia/packages/BlackBoxOptim/jCUUF/src/opt_controller.jl:280 [inlined]
 [4] run!(ctrl::BlackBoxOptim.OptRunController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}})
   @ BlackBoxOptim ~/.julia/packages/BlackBoxOptim/jCUUF/src/opt_controller.jl:321
 [5] run!(oc::BlackBoxOptim.OptController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}})
   @ BlackBoxOptim ~/.julia/packages/BlackBoxOptim/jCUUF/src/opt_controller.jl:470
 [6] bboptimize(optctrl::BlackBoxOptim.OptController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, x0::Vector{Float64}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ BlackBoxOptim ~/.julia/packages/BlackBoxOptim/jCUUF/src/bboptimize.jl:75
 [7] bboptimize(optctrl::BlackBoxOptim.OptController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, FunctionBasedProblem{typeof(somefitness2d), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, x0::Vector{Float64})
   @ BlackBoxOptim ~/.julia/packages/BlackBoxOptim/jCUUF/src/bboptimize.jl:65
 [8] top-level scope
   @ REPL[9]:1

So this seems it could be the problem also in your case.

robertfeldt avatar Apr 21 '22 13:04 robertfeldt

Ok, I've now added checking of the initial starting points as well as tests for this:

https://github.com/robertfeldt/BlackBoxOptim.jl/commit/c5fb5815de43f6ad9991efdd473138c4d0a459c9

If you try your problem on latest master you should hopefully see an ArgumentError raised.

robertfeldt avatar Apr 21 '22 14:04 robertfeldt

Thanks for looking into this! I'm not providing any initial starting point actually (but will do in future). The function evaluation is not easy to reproduce (setup may take days). I will try to shift the search range into positive field, will see how it is working.. I'm doing log10 transformation for range and all the variables already (that's why the range is negative), so it should be quite straightforward..

ig-or avatar Apr 22 '22 01:04 ig-or

And I'm using master branch already.. will update.

ig-or avatar Apr 22 '22 02:04 ig-or

Ok, then it is hard for me to debug. My guess is that for your problem there are optima very close to the bounding box (Search range border) so when candidate solutions are combined they step out of the box and are not properly bounded. This should not happen since the RandomBounding operator should be applied after the other (genetic) operators have been applied but apparently it doesn't in your case.

This is in line with XNES (and its close "cousins") working since for it/them one currently cannot enforce a search range bounding box. Can you check if the optima returned by for example DXNES is outside of the Search range?

robertfeldt avatar Apr 22 '22 06:04 robertfeldt

Can you please pull latest from this branch and run on your problem:

https://github.com/robertfeldt/BlackBoxOptim.jl/tree/random_bound_assertion_error

I added some logging to try to pinpoint where this goes wrong for your problem. Only on generating_set_search though so please use that on your problem and report back, thanks.

robertfeldt avatar Apr 22 '22 06:04 robertfeldt

(rdftest) pkg> st
     Project rdftest v0.1.1
      Status `C:\space\rdframer\rdm_reframer\julia\rdftest\Project.toml`
  [a134a8b2] BlackBoxOptim v0.6.1 `https://github.com/robertfeldt/BlackBoxOptim.jl.git#random_bound_assertion_error`
Starting optimization with optimizer GeneratingSetSearcher(BlackBoxOptim.ConstantDirectionGen)
0.00 secs, 2 evals, 0 steps, fitness=25.596723730
ERROR: AssertionError: target[1]=-0.30955795254238905 is out of [-3.8239087409443187, -1.2218487496163564]
Stacktrace:
  [1] apply!(eo::RandomBound{ContinuousRectSearchSpace}, target::Vector{Float64}, ref::Vector{Float64})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\genetic_operators\embedding\random_bound.jl:34
  [2] step!(gss::BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}})   
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\generating_set_search.jl:132
  [3] step!
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\opt_controller.jl:280 [inlined]
  [4] run!(ctrl::BlackBoxOptim.OptRunController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\opt_controller.jl:321
  [5] run!(oc::BlackBoxOptim.OptController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\opt_controller.jl:470
  [6] bboptimize(optctrl::BlackBoxOptim.OptController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, x0::Vector{Float64}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\bboptimize.jl:83
  [7] bboptimize(optctrl::BlackBoxOptim.OptController{BlackBoxOptim.GeneratingSetSearcher{BlackBoxOptim.ProblemEvaluator{Float64, Float64, TopListArchive{Float64, ScalarFitnessScheme{true}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, BlackBoxOptim.ConstantDirectionGen, RandomBound{ContinuousRectSearchSpace}}, FunctionBasedProblem{typeof(rdftest.rdfparams.imuNoiseTestS), ScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}}, x0::Vector{Float64})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\bboptimize.jl:65
  [8] runOneTest(optMethod::Symbol, rf::IOStream)
    @ rdftest.rdfparams c:\space\rdframer\rdm_reframer\julia\rdftest\src\rdfparams.jl:316
  [9] getGoodParams(folders::Vector{String}, optMethod::Symbol, ngpsLength::Int64, method::Int64)
    @ rdftest.rdfparams c:\space\rdframer\rdm_reframer\julia\rdftest\src\rdfparams.jl:398
 [10] top-level scope
    @ REPL[29]:1

julia> 

ig-or avatar Apr 22 '22 16:04 ig-or

ok, it doesn't even get into the generating set searcher. Very strange. Hard for me to debug at a distance...

robertfeldt avatar Apr 22 '22 18:04 robertfeldt

Please check the inverted search range and see what happens then.

robertfeldt avatar Apr 22 '22 18:04 robertfeldt

Finally I implemented a shift for all the range values to the positive aria. Now everything looks like working as expected.
:adaptive_de_rand_1_bin_radiuslimited is working. generating_set_search looks like working, at least it does not output an "error". will check it more.

ig-or avatar Apr 28 '22 02:04 ig-or

Glad to hear it. I still don't understand why it doesn't work in the negative range for your case but if you get more info in the future don't hesitate to re-open this issue. I'm closing it for now.

robertfeldt avatar Apr 28 '22 07:04 robertfeldt

Again, after some time I got this; this time it was 1D case, positive range..

Starting optimization with optimizer DiffEvoOpt{FitPopulation{Float64}, RadiusLimitedSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{ndomBound{ContinuousRectSearchSpace}}
0.00 secs, 0 evals, 0 steps

ERROR: AssertionError: target[1]=-0.0011057009951616686 is out of [0.0, 0.05]
Stacktrace:
  [1] apply!(eo::RandomBound{ContinuousRectSearchSpace}, target::Vector{Float64}, ref::SubArray{Float64, 1, Matrix{Float64}, Tuple{Bice{Base.OneTo{Int64}}, Int64}, true})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\genetic_operators\embedding\random_bound.jl:34
  [2] apply!
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\genetic_operators\embedding\random_bound.jl:39 [inlined]
  [3] evolved_pair(de::DiffEvoOpt{FitPopulation{Float64}, RadiusLimitedSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBouninuousRectSearchSpace}}, target::BlackBoxOptim.Candidate{Float64}, trial::BlackBoxOptim.Candidate{Float64}, op::BlackBoxOptim.AdaptiEvoRandBin{3}, tag::Int64)
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\differential_evolution.jl:81
  [4] evolve(de::DiffEvoOpt{FitPopulation{Float64}, RadiusLimitedSelector, BlackBoxOptim.AdaptiveDiffEvoRandBin{3}, RandomBound{ContRectSearchSpace}}, crossover::BlackBoxOptim.AdaptiveDiffEvoRandBin{3})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\differential_evolution.jl:72
  [5] ask
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\differential_evolution.jl:37 [inlined]
  [6] step!(ctrl::BlackBoxOptim.OptRunController{DiffEvoOpt{FitPopulation{Float64}, RadiusLimitedSelector, BlackBoxOptim.AdaptiveDifScalarFitnessScheme{true}, ContinuousRectSearchSpace, Nothing}})
    @ BlackBoxOptim C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\opt_controller.jl:470
  [9] #bboptimize#122
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\bboptimize.jl:83 [inlined]
 [10] bboptimize (repeats 2 times)
    @ C:\Users\isandler\.julia\packages\BlackBoxOptim\FrasJ\src\bboptimize.jl:65 [inlined]
 [11] runOneTest(optMethod::Symbol, rf::IOStream)
    @ rdftest.rdfparams c:\space\rdframer\rdm_reframer\julia\rdftest\src\rdfparams.jl:335
 [12] getGoodParams(folders::Vector{String}, optMethod::Symbol, ngpsLength::Int64, method::Int64)
    @ rdftest.rdfparams c:\space\rdframer\rdm_reframer\julia\rdftest\src\rdfparams.jl:420
 [13] top-level scope
    @ REPL[25]:1

julia> 

ig-or avatar May 02 '22 16:05 ig-or

this was with adaptive_de_rand_1_bin_radiuslimited solver @robertfeldt robertfeldt, would you please look into this?

ig-or avatar May 02 '22 16:05 ig-or

Yeah, it is the same assertion error but since I haven't seen this for any other fitness function it is very hard to debug further. Is there some way you could share the fitness function you are using here or is this very hard / impossible? Since I'm not yet sure where to look it is hard to introduce logging in all the "right" places so debugging this at a distance is very hard, sorry.

robertfeldt avatar May 03 '22 07:05 robertfeldt

Will try to make a fitness function which would be possible to share. And which creates same issues.

ig-or avatar May 06 '22 23:05 ig-or

I just had the same issue running version 0.6.1 with the default optimizer. But if the default search range is (-1., 1.) I actually started with an initial solution outside of that range. The problem did not reappear after I chose an initial solution within the specified search space.

opiateblush avatar Sep 16 '22 15:09 opiateblush