AcqOptimizerLbfgsb: L-BFGS-B Acquisition Function Optimizer

AcqOptimizerLbfgsbR Documentation

L-BFGS-B Acquisition Function Optimizer

Description

L-BFGS-B acquisition function optimizer. Calls nloptr() from nloptr. In its default setting, the algorithm restarts 5 * D times and runs at most for 100 * D^2 function evaluations, where D is the dimension of the search space. Each run stops when the relative tolerance of the parameters is less than 10^-4. The first iteration starts with the best point in the archive and the next iterations start from a random point.

Parameters

restart_strategy

character(1)
Restart strategy. Can be "none" or "random". Default is "none".

max_restarts

integer(1)
Maximum number of restarts. Default is 5 * D (Default).

Termination Parameters

The following termination parameters can be used.

stopval

numeric(1)
Stop value. Deactivate with -Inf (Default).

maxeval

integer(1)
Maximum number of evaluations. Default is 100 * D^2, where D is the dimension of the search space. Deactivate with -1L.

xtol_rel

numeric(1)
Relative tolerance of the parameters. Default is 10^-4. Deactivate with -1.

xtol_abs

numeric(1)
Absolute tolerance of the parameters. Deactivate with -1 (Default).

ftol_rel

numeric(1)
Relative tolerance of the objective function. Deactivate with -1. (Default).

ftol_abs

numeric(1)
Absolute tolerance of the objective function. Deactivate with -1 (Default).

Super class

mlr3mbo::AcqOptimizer -> AcqOptimizerLbfgsb

Public fields

state

(list())
List of nloptr::nloptr() results.

Active bindings

print_id

(character)
Id used when printing.

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage
AcqOptimizerLbfgsb$new(acq_function = NULL)
Arguments
acq_function

(NULL | AcqFunction).


Method optimize()

Optimize the acquisition function.

Usage
AcqOptimizerLbfgsb$optimize()
Returns

data.table::data.table() with 1 row per candidate.


Method clone()

The objects of this class are cloneable with this method.

Usage
AcqOptimizerLbfgsb$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Note

If the restart strategy is "none", the optimizer starts with the best point in the archive. The optimization stops when one of the stopping criteria is met.

If restart_strategy is "random", the optimizer runs at least for maxeval iterations. The first iteration starts with the best point in the archive and stops when one of the stopping criteria is met. The next iterations start from a random point.

Examples

if (requireNamespace("nloptr")) {
  acqo("lbfgsb")
}

mlr3mbo documentation built on April 24, 2026, 5:07 p.m.