R: Bound Optimization by Quadratic Approximation

bobyqa {nloptr} | R Documentation

## Bound Optimization by Quadratic Approximation

### Description

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:

`par` | the optimal solution found so far.
`value` | the function value corresponding to `par`.
`iter` | number of (outer) iterations, see `maxeval`.
`convergence` | integer code indicating successful completion (> 0) or a possible error number (< 0).
`message` | 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

`cobyla`, `newuoa`

### Examples

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

[Package nloptr version 1.2.2.2 Index]