brown_den: Brown and Dennis Function

View source: R/16_brown_den.R

brown_denR Documentation

Brown and Dennis Function

Description

Test function 16 from the More', Garbow and Hillstrom paper.

Usage

brown_den(m = 20)

Arguments

m

Number of summand functions in the objective function. Should be equal to or greater than 4.

Details

The objective function is the sum of m functions, each of n parameters.

  • Dimensions: Number of parameters n = 4, number of summand functions m >= n.

  • Minima: f = 85822.2 if m = 20.

Value

A list containing:

  • fn Objective function which calculates the value given input parameter vector.

  • gr Gradient function which calculates the gradient vector given input parameter vector.

  • he If available, the hessian matrix (second derivatives) of the function w.r.t. the parameters at the given values.

  • fg A function which, given the parameter vector, calculates both the objective value and gradient, returning a list with members fn and gr, respectively.

  • x0 Standard starting point.

  • fmin reported minimum

  • xmin parameters at reported minimum

References

More', J. J., Garbow, B. S., & Hillstrom, K. E. (1981). Testing unconstrained optimization software. ACM Transactions on Mathematical Software (TOMS), 7(1), 17-41. \Sexpr[results=rd]{tools:::Rd_expr_doi("doi.org/10.1145/355934.355936")}

Brown, K. M., & Dennis, J. E. (1971). New computational algorithms for minimizing a sum of squares of nonlinear functions (Report No. 71-6). New Haven, CT: Department of Computer Science, Yale University.

Examples

# Use 10 summand functions
fun <- brown_den(m = 10)
# Optimize using the standard starting point
x0 <- fun$x0
res_x0 <- stats::optim(par = x0, fn = fun$fn, gr = fun$gr, method =
"L-BFGS-B")
# Use your own starting point
res <- stats::optim(c(0.1, 0.2, 0.3, 0.4), fun$fn, fun$gr, method =
"L-BFGS-B")

# Use 20 summand functions
fun20 <- brown_den(m = 20)
res <- stats::optim(fun20$x0, fun20$fn, fun20$gr, method = "L-BFGS-B")

jlmelville/funconstrain documentation built on April 17, 2024, 7:47 p.m.