tpapp / MultistartOptimization.jl

Multistart optimization methods in Julia.
Other
64 stars 10 forks source link

NaNs among the Sobol Points #35

Closed jrhalket closed 1 year ago

jrhalket commented 2 years ago

Does the code cycle to new Sobol Points if the original set contains some where the function returns NaN? I believe the fortran version of the TikTak code from @serdarozkan now does this but here I see an assert which throws an error if the set contains an NaN. Am I reading the code properly?

tpapp commented 2 years ago

Yes, you are reading it correctly. The motivation is that the user should be informed about NaNs, which usually signal an anomaly, and should sanitize them in the code (eg replace with Inf).

The code as is does not add new Sobol points in case Inf are encountered, they are treated like any other objective value. That said, since they are sorted after, if you have enough finite values they will not be visited for local optimization.

If you do get a lot of infeasible pointts (which happens for some problems) and use Inf to mark those, I would advise increasing the number of Sobol points.

I am open to suggestions for the algorithm though. Visiting new points for each Inf point could make sense. Feel free to link code, but only if it is with a compatible license.

jrhalket commented 2 years ago

ok thanks. I've gone the route of replacing NaNs with Inf as they are due to computational precision issues.

On Thu, Sep 15, 2022 at 3:33 AM Tamas K. Papp @.***> wrote:

Yes, you are reading it correctly. The motivation is that the user should be informed about NaNs, which usually signal an anomaly, and should sanitize them in the code (eg replace with Inf).

The code as is does not add new Sobol points in case Inf are encountered, they are treated like any other objective value. That said, since they are sorted after, if you have enough finite values they will not be visited for local optimization.

If you do get a lot of infeasible pointts (which happens for some problems) and use Inf to mark those, I would advise increasing the number of Sobol points.

I am open to suggestions for the algorithm though. Visiting new points for each Inf point could make sense. Feel free to link code, but only if it is with a compatible license.

— Reply to this email directly, view it on GitHub https://github.com/tpapp/MultistartOptimization.jl/issues/35#issuecomment-1247697306, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGWDGMZ4BKHBGEVSVVPILV6LGN3ANCNFSM6AAAAAAQMZGEF4 . You are receiving this because you authored the thread.Message ID: @.***>

-- Jonathan Halket Department of Finance Texas A&M University www.halket.com