# bobyqa

##### Bound Optimization by Quadratic Approximation

BOBYQA performs derivative-free bound-constrained optimization using an iteratively constructed quadratic approximation for the objective function.

##### Usage

```
bobyqa(x0, fn, lower = NULL, upper = NULL, nl.info = FALSE,
control = list(), ...)
```

##### Arguments

- x0
starting point for searching the optimum.

- fn
objective function that is to be minimized.

- lower, upper
lower and upper bound constraints.

- nl.info
logical; shall the original NLopt info been shown.

- control
list of options, see

`nl.opts`

for help.- ...
additional arguments passed to the function.

##### Details

This is an algorithm derived from the BOBYQA Fortran subroutine of Powell, converted to C and modified for the NLOPT stopping criteria.

##### Value

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.

##### Note

Because BOBYQA constructs a quadratic approximation of the objective, it may perform poorly for objective functions that are not twice-differentiable.

##### References

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).

##### See Also

##### Examples

```
# NOT RUN {
fr <- function(x) { ## Rosenbrock Banana function
100 * (x[2] - x[1]^2)^2 + (1 - x[1])^2
}
(S <- bobyqa(c(0, 0, 0), fr, lower = c(0, 0, 0), upper = c(0.5, 0.5, 0.5)))
# }
```

*Documentation reproduced from package nloptr, version 1.2.1, License: LGPL-3*