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

Add Michalewicz benchmark #464

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Add Michalewicz benchmark #464

wants to merge 3 commits into from

Conversation

AVHopp
Copy link
Collaborator

@AVHopp AVHopp commented Jan 17, 2025

This PR adds a new benchmark, the 5-dimensional variant of the Michalewicz function.

Details on this function can be found here. The implementation as well as the choice of the number of dimensions is based on the previous benchmark that we had on this.

@AVHopp AVHopp requested a review from fabianliebig January 17, 2025 13:13
@AVHopp AVHopp self-assigned this Jan 17, 2025
@AVHopp
Copy link
Collaborator Author

AVHopp commented Jan 17, 2025

For the current number of DOE iterations and MC runs, I obtained the following result which looks like a good baseline to me:
image

)


def synthetic_michalewicz(settings: ConvergenceExperimentSettings) -> DataFrame:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add a 5d to the name to make the dimensionality clear?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea will do

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we add the global optimum as dashed line to the simulation plot you showed? Results without that can be deceiving

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That should be the case when the code is being run in the dashboard as you can see here for the current benchmark https://baybe-benchmark.apps.p.uptimize.merckgroup.com/ (@fabianliebig please confirm)
The plot I posted here was just meant as a verification that the chosen DoE and MC numbers are somewhat reasonable.

X1, X2 = np.meshgrid(X1, X2)

# Michalewicz function
Z = -1 * (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feel to me you should reuse the 5d variant shown above, just lot a 2d slice (or several)

reason: if theres a problem int he function above this plot wouldnt reveal it

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will try my best :D

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

Successfully merging this pull request may close these issues.

2 participants