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

Surrogate model is only updated when point is optimal #461

Closed
weslleyspereira opened this issue Jan 5, 2024 · 2 comments · Fixed by #463
Closed

Surrogate model is only updated when point is optimal #461

weslleyspereira opened this issue Jan 5, 2024 · 2 comments · Fixed by #463

Comments

@weslleyspereira
Copy link

Hi! I noticed a possible bug in your code for the DYCORS optimization method. Accordingly to the original paper,

Rommel G Regis and Christine A Shoemaker.
Combining radial basis function surrogates and dynamic coordinate search in high-dimensional expensive black-box optimization.
Engineering Optimization, 45(5): 529–555, 2013.

the surrogate model should be updated regardless if it finds or not a new best point. So, the code:

if f_new < y_best
x_best = x_new
y_best = f_new
add_point!(surr1, x_best, y_best)
end

should be updated to:

if f_new < y_best
    x_best = x_new
    y_best = f_new
end
add_point!(surr1, x_new, f_new)

A similar fix applies to the multidimensional DYCORS optimization method.

@ChrisRackauckas
Copy link
Member

Thanks, maybe we can make that an option and we can set the default to match what's original/standard here? Are you opening a PR?

@weslleyspereira
Copy link
Author

Hi! I can make a PR.

I am not sure if the current behavior is useful in practice. If you find it is, could you please guide me on how I should add this new option to the routine?

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.

2 participants