Implement filtered autocomplete for algorithm selection #534
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.
Short description
After this PR, algorithms can for example be selected as follows:
After typing
om.algos.Bounded
, the autocomplete in any modern editor will only suggest algorithms that support bound constraints.Categories that can be used to filter algorithms are:
Categories can be selected in any order. We make sure that mutually exclusive categories (e.g. Local and Global) cannot be selected at the same time.
Detailed description
The changes are described in EP-02: Static Typing
Deviations from the EP
Unbounded
andUnconstrained
categories were removed because people rarely want to specifically choose an optimizer that does not support constraints or bounds.om.algorithms
was renamed toom.algos
because it is still unambiguous and makes the code shorter, which hopefully improves adoption of using this instead of strings for algorithm selection.