liveBook · Manning

Optimize_acqf_cyclic

As explained in Bayesian Optimization in Action

optimize_acqf_cyclic is a BoTorch function that optimizes an acquisition function through cyclic updates of batch candidates subject to constraints such as bounds.

optimize_acqf_cyclic is a BoTorch helper for selecting a batch when jointly optimizing an acquisition function is computationally difficult. It improves individual candidates in the current batch one at a time, cycling through them until the acquisition score converges. section 7.6

Use it in a batch Bayesian optimization workflow by:

  • Initializing the acquisition policy and any candidate set required by the policy, such as Sobol samples for batch MES. section 7.4.2
  • Passing the policy, search bounds, and desired batch size through the shared BoTorch optimization interface. section 7.4.2
  • Setting q to the number of parallel queries and providing restart and raw-sample settings for acquisition optimization. section 7.4.2 section 7.6

Batch MES call

A batch maximum-value entropy search policy can replace optimize_acqf() with optimize_acqf_cyclic() while retaining arguments such as bounds and q: next_x, acq_val = botorch.optim.optimize_acqf_cyclic(policy, bounds=bounds, q=batch_size, num_restarts=40, raw_samples=100). section 7.4.2

next_x, acq_val = botorch.optim.optimize_acqf_cyclic(
    policy,
    bounds=bounds,
    q=batch_size,
    num_restarts=40,
    raw_samples=100,
)

Inspect the reusable BoTorch invocation for cyclic batch acquisition optimization. section 7.4.2

How Bayesian Optimization in Action covers it

How deep it goes
Explains cyclic candidate refinement, convergence, and interface parameters but does not detail the optimizer internals.
Examples
Demonstrates batch MES for hyperparameter tuning with Sobol initialization, bounds, q, restarts, and raw samples.
What it assumes
Assumes an initialized acquisition policy, search bounds, and a desired batch size; introduces cyclic optimization as an alternative to L-BFGS.
What you can do after
Apply it via BoTorch to optimize a batch acquisition policy for parallel queries.
How it connects
Connects batch optimization with acquisition functions, maximum-value entropy search, L-BFGS, and Bayesian optimization.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Bayesian Optimization in Action. The section links point to the parts of the book it draws on.