Learn R Programming

mlr3mbo (version 1.0.0)

AcqOptimizerDirect: Direct Acquisition Function Optimizer

Description

Direct 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.

Arguments

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 -> AcqOptimizerDirect

Public fields

state

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

Active bindings

print_id

(character)
Id used when printing.

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage

AcqOptimizerDirect$new(acq_function = NULL)

Arguments

acq_function

(NULL | AcqFunction).


Method optimize()

Optimize the acquisition function.

Usage

AcqOptimizerDirect$optimize()

Returns

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


Method clone()

The objects of this class are cloneable with this method.

Usage

AcqOptimizerDirect$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

Run this code
if (requireNamespace("nloptr")) {
  acqo("direct")
}

Run the code above in your browser using DataLab