Update Acquisition.optimize to use mixed optimizer if discrete parameters have high cardinality #3253
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
optimize_acqf_discrete_local_search
is not suitable for parameters with high cardinality, since it generates the neighbors by changing the value of one parameter at a time and trying out all possible values for that parameter. This can quickly get very expensive with high cardinality parameters.This diff updates the dispatch logic to utilize the mixed alternating optimizer in cases with high cardinality discrete parameters. The optimizer will internally use continuous relaxation for high cardinality parameters while using nearest neighbor search for the low cardinality discrete parameters.
Reviewed By: bernardbeckerman
Differential Revision: D68357373