Type: | Package |
Title: | Track Numerical Optimization |
Version: | 0.1.0 |
Description: | Tracks parameter value, gradient, and Hessian at each iteration of numerical optimizers. Useful for analyzing optimization progress, diagnosing issues, and studying convergence behavior. |
License: | GPL (≥ 3) |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
Imports: | checkmate, cli, ggplot2, oeli (≥ 0.7.2), optimizeR (≥ 1.2.0), stats, tibble, utils |
Suggests: | testthat (≥ 3.0.0) |
Depends: | R (≥ 4.1.0) |
Config/testthat/edition: | 3 |
URL: | https://github.com/loelschlaeger/trackopt |
BugReports: | https://github.com/loelschlaeger/trackopt/issues |
NeedsCompilation: | no |
Packaged: | 2025-05-08 16:57:59 UTC; Lennart Oelschläger |
Author: | Lennart Oelschläger [aut, cre] |
Maintainer: | Lennart Oelschläger <oelschlaeger.lennart@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-05-12 08:20:02 UTC |
trackopt: Track Numerical Optimization
Description
Tracks parameter value, gradient, and Hessian at each iteration of numerical optimizers. Useful for analyzing optimization progress, diagnosing issues, and studying convergence behavior.
Author(s)
Maintainer: Lennart Oelschläger oelschlaeger.lennart@gmail.com
See Also
Useful links:
Report bugs at https://github.com/loelschlaeger/trackopt/issues
Track numerical optimization
Description
-
nlm_track()
: tracknlm
iterations -
optim_track()
: trackoptim
iterations -
summary()
: summary of optimization track -
autoplot()
: visualization of optimization for one or two parameters
Usage
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 class 'trackopt'
summary(object, ...)
## S3 method for class 'trackopt'
autoplot(object, iteration = NULL, xlim = NULL, xlim2 = NULL, ...)
Arguments
f |
[ The first argument of If |
p |
[ |
target |
[ This can only be Can be |
npar |
[ Must be specified if more than two target arguments are specified via
the Can be |
gradient |
[ The function call of |
hessian |
[ The function call of |
... |
Additional arguments to be passed to |
iterations_max |
[ |
tolerance |
[ |
typsize , fscale , ndigit , stepmax , steptol |
Arguments passed on to |
minimize |
[ |
verbose |
[ |
lower , upper |
[ |
method , control |
Arguments passed on to Elements |
object |
[ |
iteration |
[ If This option is useful for creating animations, see https://bookdown.org/yihui/rmarkdown-cookbook/animation.html#ref-R-animation. |
xlim , xlim2 |
[ If |
Value
A tibble
with iterations in rows.
Examples
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)