Nothing
#' Local trust region search
#'
#' @description
#' Function that links to \code{\link[trust]{trust}}.
#'
#' @inheritParams vntrs
#' @param parinit
#' Passed on to \code{\link[trust]{trust}}.
#' @inheritParams unique_optimum
#'
#' @return
#' A list of
#' \itemize{
#' \item \code{success}: A boolean, determining wether the local search
#' successfully converged.
#' \item \code{value}: The value at the point where the local search
#' terminated.
#' \item \code{argument}: The point where the local search terminated.
#' }
#'
#' @keywords
#' internal
local <- function(f, parinit, minimize, controls, L) {
### do not check premature interruption if 'L' is empty or
### 'controls$only_global' = FALSE
if (length(L) == 0) {
batches <- 1
} else {
batches <- controls$iterlim
}
### perform local search
for (b in seq_len(batches)) {
out <- trust::trust(
objfun = f,
parinit = parinit,
rinit = 1,
rmax = 10,
iterlim = controls$iterlim / batches,
minimize = minimize,
blather = FALSE
)
if (b < batches) {
### check if already converged
if (out$converged) break
### check if local search can be interrupted prematurely
if (interruption(f = f, point = out$argument, L = L, minimize = minimize)) {
return(list("success" = FALSE, "value" = NA, "argument" = NA))
}
}
parinit <- out$argument
}
return(list(
"success" = out$converged, "value" = out$value,
"argument" = out$argument
))
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.