| Title: | Variable Neighborhood Trust Region Search |
| Version: | 0.2.1 |
| Description: | Implements the variable neighborhood trust region search (VNTRS) algorithm for nonlinear global optimization, following Bierlaire et al. (2009) "A Heuristic for Nonlinear Global Optimization" <doi:10.1287/ijoc.1090.0343>. The method combines neighborhood exploration with a trust-region framework to search the solution space efficiently. It can terminate a local search early when the iterates converge toward a previously visited local optimum or when further improvement within the current region is unlikely. The algorithm can also be used to identify multiple local optima. |
| URL: | https://loelschlaeger.de/vntrs/ |
| BugReports: | https://github.com/loelschlaeger/vntrs/issues |
| License: | GPL-3 |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| Imports: | checkmate, oeli (≥ 0.7.5), Rcpp |
| LinkingTo: | Rcpp, RcppArmadillo |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | yes |
| Packaged: | 2026-05-07 15:43:18 UTC; Lennart Oelschläger |
| Author: | Lennart Oelschläger
|
| Maintainer: | Lennart Oelschläger <oelschlaeger.lennart@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-05-07 17:50:34 UTC |
vntrs: Variable Neighborhood Trust Region Search
Description
Implements the variable neighborhood trust region search (VNTRS) algorithm for nonlinear global optimization, following Bierlaire et al. (2009) "A Heuristic for Nonlinear Global Optimization" doi:10.1287/ijoc.1090.0343. The method combines neighborhood exploration with a trust-region framework to search the solution space efficiently. It can terminate a local search early when the iterates converge toward a previously visited local optimum or when further improvement within the current region is unlikely. The algorithm can also be used to identify multiple local optima.
Author(s)
Maintainer: Lennart Oelschläger oelschlaeger.lennart@gmail.com (ORCID)
See Also
Useful links:
Examples
rosenbrock <- function(x) 100 * (x[2] - x[1]^2)^2 + (1 - x[1])^2
vntrs(f = rosenbrock, npar = 2)
Variable neighborhood trust region search
Description
Run the variable neighborhood trust region search algorithm.
Usage
vntrs(
f,
npar,
minimize = TRUE,
init_runs = 5L,
init_min = -1,
init_max = 1,
init_iterlim = 20L,
neighborhoods = 5L,
neighbors = 5L,
beta = 0.05,
iterlim = 100L,
tolerance = 1e-06,
inferior_tolerance = 1e-06,
time_limit = NULL,
cores = 1L,
lower = NULL,
upper = NULL,
collect_all = FALSE,
quiet = TRUE
)
Arguments
f |
[
Missing derivatives are approximated by finite differences. |
npar |
[ |
minimize |
[ |
init_runs |
[ |
init_min, init_max |
[ |
init_iterlim |
[ |
neighborhoods |
[ |
neighbors |
[ |
beta |
[ |
iterlim |
[ |
tolerance |
[ |
inferior_tolerance |
[ |
time_limit |
[ |
cores |
[ |
lower, upper |
[ |
collect_all |
[ |
quiet |
[ |
Value
A data.frame summarizing the identified optima or NULL if none
could be determined.
References
Bierlaire et al. (2009) "A Heuristic for Nonlinear Global Optimization" doi:10.1287/ijoc.1090.0343.
Examples
rosenbrock <- function(x) 100 * (x[2] - x[1]^2)^2 + (1 - x[1])^2
vntrs(f = rosenbrock, npar = 2)