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 support for continuous relaxation within optimize_acqf_mixed_alternating #2635

Closed
wants to merge 1 commit into from

Conversation

saitcakmak
Copy link
Contributor

Summary:
optimize_acqf_mixed_alternating utilizes local search to optimize discrete dimensions. This works well when there are a small number of values for the discrete dimensions but it does not scale well as the number of values increases. To address this, we have been transforming the high-cardinality dimensions in Ax and only passing in the low-cardinality dimensions as part of discrete_dims.
This diff adds support for using continuous relaxation for discrete dimensions that have more than max_discrete_values (configurable via options).

Differential Revision: D66239005

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Nov 20, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D66239005

saitcakmak added a commit to saitcakmak/botorch that referenced this pull request Nov 20, 2024
…rnating (pytorch#2635)

Summary:

`optimize_acqf_mixed_alternating` utilizes local search to optimize discrete dimensions. This works well when there are a small number of values for the discrete dimensions but it does not scale well as the number of values increases. To address this, we have been transforming the high-cardinality dimensions in Ax and only passing in the low-cardinality dimensions as part of `discrete_dims`.
This diff adds support for using continuous relaxation for discrete dimensions that have more than `max_discrete_values` (configurable via `options`).

Also updates the optimizer to fall back to `optimize_acqf` if there are no discrete dimensions left. This is more user friendly than erroring out (particularly when used through Ax).

Differential Revision: D66239005
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D66239005

Copy link

codecov bot commented Nov 20, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.98%. Comparing base (de46059) to head (fe57fee).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2635   +/-   ##
=======================================
  Coverage   99.98%   99.98%           
=======================================
  Files         196      196           
  Lines       17347    17362   +15     
=======================================
+ Hits        17345    17360   +15     
  Misses          2        2           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

saitcakmak added a commit to saitcakmak/botorch that referenced this pull request Nov 20, 2024
…rnating (pytorch#2635)

Summary:

`optimize_acqf_mixed_alternating` utilizes local search to optimize discrete dimensions. This works well when there are a small number of values for the discrete dimensions but it does not scale well as the number of values increases. To address this, we have been transforming the high-cardinality dimensions in Ax and only passing in the low-cardinality dimensions as part of `discrete_dims`.
This diff adds support for using continuous relaxation for discrete dimensions that have more than `max_discrete_values` (configurable via `options`).

Also updates the optimizer to fall back to `optimize_acqf` if there are no discrete dimensions left. This is more user friendly than erroring out (particularly when used through Ax).

Differential Revision: D66239005
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D66239005

…rnating (pytorch#2635)

Summary:

`optimize_acqf_mixed_alternating` utilizes local search to optimize discrete dimensions. This works well when there are a small number of values for the discrete dimensions but it does not scale well as the number of values increases. To address this, we have been transforming the high-cardinality dimensions in Ax and only passing in the low-cardinality dimensions as part of `discrete_dims`.
This diff adds support for using continuous relaxation for discrete dimensions that have more than `max_discrete_values` (configurable via `options`).

Also updates the optimizer to fall back to `optimize_acqf` if there are no discrete dimensions left. This is more user friendly than erroring out (particularly when used through Ax).

Differential Revision: D66239005
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D66239005

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 5d37606.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants