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

Implementing of a dominated space partition strategy #365

Open
wants to merge 13 commits into
base: develop
Choose a base branch
from

Conversation

TsingQAQ
Copy link
Collaborator

@TsingQAQ TsingQAQ commented Oct 4, 2021

This PR implements a dominated space partition strategy from lacour2017box.
The motivation of having dominated partition strategy is:

  • As a fix of Current divided and conquer method working slow  #293 (a non-dominated partition method built on this PR will come in following PR, a preview can be found at here). It can be used for a non-dominated partition strategy, which behaves much faster than the current DividedAndConquerNonDominated, this can made MOO in Trieste much faster for obj>2.
  • It can be used for dominate space partition based acquisition functions as well. (e.g., PFES)

@TsingQAQ TsingQAQ marked this pull request as ready for review October 4, 2021 14:19
@henrymoss henrymoss requested a review from vpicheny October 7, 2021 14:57
@henrymoss henrymoss requested a review from uri-granta June 6, 2022 07:46
Copy link
Collaborator

@uri-granta uri-granta left a comment

Choose a reason for hiding this comment

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

I can't follow all of the math, but the code is all nicely structured and well commented!

@@ -23,6 +23,7 @@
from trieste.acquisition.multi_objective.partition import (
DividedAndConquerNonDominated,
ExactPartition2dNonDominated,
HypervolumeBoxDecompositionIncrementalDominated,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Stupid question: how will this actually be used in a real optimization problem? Our multi-objective code currently all calls prepare_default_non_dominated_partition_bounds.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

sorry should explain more clearly, it is the first step towards modifying prepare_default_non_dominated_partition_bounds,

In an upcoming PR (which implement an additional functionality (i.e., FlipTrickPartitionNonDominated) on top of HypervolumeBoxDecompositionIncrementalDominated), we will replace the current used DividedAndConquerNonDominated by FlipTrickPartitionNonDominated, which is expected to provide a faster non-dominated space partition for num of objectives >=3 (hence faster running of code).

These two PRs are separate in the hope to minimize a chunk of code that needs to be reviewed at once, if it is easier to review as a whole to clear the usage of the new code, we may also directly start from the upcoming PR.

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.

2 participants