- .optimizer
A function
, a numerical optimizer. Four conditions must be met:
It must have an input named .objective
for a function
, the
objective function which is optimized over its first argument.
It must have an input named .initial
for a numerical
vector, the initial parameter vector.
It must have a ...
argument for additional parameters to
the objective function.
The output must be a named list
, including the optimal function
value and the optimal parameter vector.
- .objective
A character
, the name of the function input of optimizer
.
- .initial
A character
, the name of the starting parameter values input of
optimizer
.
- .value
A character
, the name of the optimal function value in the output list
of optimizer
.
- .parameter
A character
, the name of the optimal parameter vector in the output
list of optimizer
.
- .direction
A character
, indicates whether the optimizer minimizes ("min"
)
or maximizes ("max"
).
- ...
Additional arguments to be passed to the optimizer. Without
specifications, the default values of the optimizer are used.
- .output_ignore
A character
vector of element names in the output of .optimizer
that are not saved. The elements .value
and .parameter
are
added automatically to .output_ignore
, because they are saved
separately, see the output documentation of apply_optimizer
.
- .validate
A logical
, set to TRUE
(FALSE
) to (not) validate the
optimizer
object.
By default, .validate = FALSE
.
- .validation_settings
Ignored if .valdiate = FALSE
.
Otherwise, a list
of validation settings:
- objective_test
A function
, the test function to be optimized.
By default, it is the
Ackley function.
- objective_add
A list
of additional arguments to
objective_test
(if any).
By default, objective_add = list()
, because the default function
for objective_test
does not have additional arguments.
- initial
A numeric
vector, the initial values for the
optimization of objective_test
.
By default, initial = round(stats::rnorm(2), 2)
.
- check_seconds
An integer
, the maximum number of seconds
before the test is aborted.
The test call is considered to be successful if no error occurred
within check_seconds
seconds.
By default, check_seconds = 10
.