Skip to content

Add inverted and shifted hartmann benchmark#674

Open
Hrovatin wants to merge 26 commits intomainfrom
benchmark/shifted
Open

Add inverted and shifted hartmann benchmark#674
Hrovatin wants to merge 26 commits intomainfrom
benchmark/shifted

Conversation

@Hrovatin
Copy link
Copy Markdown
Collaborator

@Hrovatin Hrovatin commented Oct 22, 2025

Add two new TL benchmarks:

  • Inverted hartmann
  • Hartmann shifted in one dimension

@kalama-ai

Copy link
Copy Markdown
Collaborator

@kalama-ai kalama-ai left a comment

Choose a reason for hiding this comment

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

Thanks, @Hrovatin for implementing the new benchmarks. Except some clean up, I am fine with the implementation.

@Hrovatin Hrovatin requested a review from kalama-ai October 22, 2025 14:58
@AVHopp AVHopp requested a review from Copilot October 23, 2025 14:33

This comment was marked as resolved.

Copy link
Copy Markdown
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Like the way this is going! Have some more ideas for further simplification

@Hrovatin Hrovatin requested a review from AVHopp November 6, 2025 13:57
Copy link
Copy Markdown
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Some comments related to parts of the design that I still do not fully agree with resp. understand

@Hrovatin Hrovatin requested review from AVHopp and Scienfitz January 21, 2026 11:08
@Scienfitz
Copy link
Copy Markdown
Collaborator

@Hrovatin any movement in this PR or should we close it?

@Hrovatin
Copy link
Copy Markdown
Collaborator Author

@Scienfitz still on my todo list to add your last two comments

@Hrovatin Hrovatin requested a review from Scienfitz March 31, 2026 13:21
Hrovatin and others added 7 commits March 31, 2026 19:42
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Updated the docstring to clarify that the callable now shifts both dimensions and bounds for the Hartmann function.
@Hrovatin Hrovatin force-pushed the benchmark/shifted branch from 9efb03a to 2547819 Compare March 31, 2026 17:49
Copy link
Copy Markdown
Collaborator

@Scienfitz Scienfitz left a comment

Choose a reason for hiding this comment

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

lgtm, last comments but otherwise ready for merge

# They are anyway only set for 3D and 6D hartman in the parent class
if self._optimizers is not None:
self._optimizers = None
self.optimizers = None
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

.optimizers might be a property that you cant just overwrite, please check

Copy link
Copy Markdown
Collaborator Author

@Hrovatin Hrovatin Apr 11, 2026

Choose a reason for hiding this comment

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

This works from the code perspective - what do you mean by checking it @Scienfitz ?

h=ShiftedHartmann([0,0.1,1],dim=3)
print(h.optimizers,h._optimizers)
None None

They are only used in some botorch testing utils

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think optimizers is a @property, so you shouldnt just overwrite it because properties are read-only

this is not (just) my opinion, mypy says the same, currently blocking your PR in CI

Imo there is a high chance that .optimizers just returns the value of ._optimizers + performs some checks

I did not check this myself, so you should

  • "check" in the botorch code whether optimizers is really a property and is related to _optimizers the way I suspect
  • you could comment out your .optimizers assignment line, instantiate your custm class and call the objects .optimizers and check that it coincides with your assigned ._optimizers

I suspect that removing the .optimizers line already does the job (not sure whether there is more mypy complains about, please check as well and always run or instruct your agent to run tox -e mypy-py310)

Copy link
Copy Markdown
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

LGTM, only one general question and need a bit more time before I can approve

Copy link
Copy Markdown
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Some minor comments on the docstrings and type hints. Other than that, everything is either flagged by the CI (type error in mypy) or opened as a comment.

Hrovatin and others added 4 commits April 11, 2026 11:09
Co-authored-by: Alexander V. Hopp <alexander.hopp@merckgroup.com>
Co-authored-by: Alexander V. Hopp <alexander.hopp@merckgroup.com>
Co-authored-by: Alexander V. Hopp <alexander.hopp@merckgroup.com>
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 this pull request may close these issues.

6 participants