8000 fix edge case where data points are not dominated by the reference point by roussel-ryan · Pull Request #300 · xopt-org/Xopt · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fix edge case where data points are not dominated by the reference point #300

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

Merged
merged 2 commits into from
Apr 1, 2025

Conversation

roussel-ryan
Copy link
Collaborator
  • if the reference point is in the non-dominated set then the entire set is not on the PF

- if the reference point is in the non-dominated set then the entire set is not on the PF
Copy link
@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR addresses an edge case in the calculation of the Pareto front for MOBOGenerator, ensuring that when the reference point is non-dominated the function returns None.

  • Added a new test case in the test suite to verify behavior when all data points are dominated by the reference point.
  • Modified the get_pareto_front method to detect the presence of the reference point in the non-dominated set and return None accordingly.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
xopt/tests/generators/bayesian/test_mobo.py Added tests to validate the behavior of the Pareto front when the reference point is present.
xopt/generators/bayesian/bayesian_generator.py Updated logic in get_pareto_front to correctly handle cases with the reference point in the non-dominated set.

obj_data = torch.vstack(
(self.torch_reference_point.unsqueeze(0), objective_data)
)
non_dominated = is_non_dominated(obj_data)

# get varaible data corresponding to objective data
Copy link
Preview
Copilot AI Mar 31, 2025

Choose a reason for hiding this comment

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

Typo: 'varaible' should be corrected to 'variable'.

Suggested change
# get varaible data corresponding to objective data
# get variable data corresponding to objective data

Copilot uses AI. Check for mistakes.

@roussel-ryan roussel-ryan merged commit 664b14b into main Apr 1, 2025
14 checks passed
roussel-ryan added a commit that referenced this pull request Apr 22, 2025
fix edge case where data points are not dominated by the reference point
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
0