nlm_track(
f,
p,
target = NULL,
npar = NULL,
gradient = NULL,
hessian = NULL,
...,
iterations_max = 100,
tolerance = 1e-06,
typsize = rep(1, length(p)),
fscale = 1,
ndigit = 12,
stepmax = max(1000 * sqrt(sum((p/typsize)^2)), 1000),
steptol = 1e-06,
minimize = TRUE,
verbose = FALSE
)optim_track(
f,
p,
target = NULL,
npar = NULL,
gradient = NULL,
...,
iterations_max = 100,
tolerance = 1e-06,
lower = NULL,
upper = NULL,
method = c("Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN", "Brent"),
control = list(),
minimize = TRUE,
verbose = FALSE
)
# S3 method for trackopt
summary(object, ...)
# S3 method for trackopt
autoplot(object, iteration = NULL, xlim = NULL, xlim2 = NULL, ...)
A tibble with iterations in rows.
[function]
A function to be optimized, returning a single numeric value.
The first argument of f should be a numeric of the same length
as p, optionally followed by any other arguments specified by
the ... argument.
If f is to be optimized over an argument other than the first, or more
than one argument, this has to be specified via the target argument.
[numeric()]
The starting parameter values for the target argument(s).
[character() | NULL]
The name(s) of the argument(s) over which f gets optimized.
This can only be numeric arguments.
Can be NULL (default), then it is the first argument of f.
[integer()]
The length(s) of the target argument(s).
Must be specified if more than two target arguments are specified via
the target argument.
Can be NULL if there is only one target argument, in which case npar is
set to be length(p).
[function | NULL]
Optionally a function that returns the gradient of f.
The function call of gradient must be identical to f.
[function | NULL]
Optionally a function that returns the Hessian of f.
The function call of hessian must be identical to f.
Additional arguments to be passed to f (and gradient,
hessian if specified).
[integer(1)]
The maximum number of iterations before termination.
[numeric(1)]
The minimum allowed absolute change in function value between two iterations
before termination.
Arguments passed on to nlm.
[logical(1)]
Minimize?
[logical(1)]
Print progress?
[numeric() | NULL]
Optionally lower and upper parameter bounds.
Arguments passed on to optim.
Elements trace and maxit are ignored in control.
[trackopt]
A trackopt object.
[integer(1)]
The iteration to plot.
If NULL, the last iteration is plotted.
This option is useful for creating animations, see https://bookdown.org/yihui/rmarkdown-cookbook/animation.html#ref-R-animation.
[numeric(2)]
Ranges for the first and second parameter to plot.
If NULL, they are derived from the parameter ranges in object.
himmelblau <- function(x) (x[1]^2 + x[2] - 11)^2 + (x[1] + x[2]^2 - 7)^2
track <- nlm_track(f = himmelblau, p = c(0, 0))
summary(track)
ggplot2::autoplot(track)
Run the code above in your browser using DataLab