Supported Algorithms

While we service all algorithms to the user in our policy factory, many can be organized by what level of support we provide to them, in terms of:

  • Search space (Flat, Continuous-Only, Boolean-Only)

  • Allowing batched suggestions (+Batch)

  • Allowing multiple objectives (+MO)

Official

The following algorithms can be considered “official” and production-quality:

  1. GP-UCB-PE (GP_UCB_PE) [Flat, +Batch, +MO]

  2. GP-Bandit (GAUSSIAN_PROCESS_BANDIT) [Flat, +MO]

  3. Random Search (RANDOM_SEARCH) [Flat, +Batch, +MO]

  4. Quasi-Random Search (QUASI_RANDOM_SEARCH) [Flat, +Batch, +MO]

  5. Grid Search (GRID_SEARCH) [Flat, +Batch, +MO]

  6. Shuffled Grid Search (SHUFFLED_GRID_SEARCH) [Flat, +Batch, +MO]

  7. Eagle Strategy (EAGLE_STRATEGY) [Flat, +Batch]

External + Imported

These algorithms are imported and wrapped from external packages (requiring additional installations via pip install google-vizier[algorithms]), and thus we cannot fully control their performance:

  1. CMA-ES (CMA_ES): [Continuous-Only, +Batch]

Reproduced

These algorithms are attempted reproductions of their original papers, sometimes using the authors’ original implementations as inspiration (but not as direct imports). While we try our best to ensure their quality, we cannot guarantee exact performance:

  1. NSGA-II (NSGA2) [Flat, +Batch, +MO]

  2. Bayesian Optimization of Combinatorial Structures (BOCS) [Boolean Only]

  3. Harmonica (HARMONICA) [Boolean Only]