NEWUOA solves quadratic subproblems in a spherical trust region via a truncated conjugate-gradient algorithm. For bound-constrained problems, BOBYQA should be used instead, as Powell developed it as an enhancement thereof for bound constraints.
newuoa(x0, fn, nl.info = FALSE, control = list(), ...)
List with components:
the optimal solution found so far.
the function value corresponding to par
.
number of (outer) iterations, see maxeval
.
integer code indicating successful completion (> 0) or a possible error number (< 0).
character string produced by NLopt and giving additional information.
This is an algorithm derived from the NEWUOA Fortran subroutine of Powell, converted to C and modified for the NLopt stopping criteria.
NEWUOA may be largely superseded by BOBYQA.
M. J. D. Powell. “The BOBYQA algorithm for bound constrained optimization without derivatives,” Department of Applied Mathematics and Theoretical Physics, Cambridge England, technical reportNA2009/06 (2009).
## Rosenbrock Banana function
rbf <- function(x) {(1 - x[1]) ^ 2 + 100 * (x[2] - x[1] ^ 2) ^ 2}
S <- newuoa(c(1, 2), rbf)
## The function as written above has a minimum of 0 at (1, 1)
S
#> $par
#> [1] 1 1
#>
#> $value
#> [1] 0
#>
#> $iter
#> [1] 33
#>
#> $convergence
#> [1] 1
#>
#> $message
#> [1] "NLOPT_SUCCESS: Generic success return value."
#>