box_3d: Box Three-Dimensional Function

View source: R/12_box_3d.R

box_3dR Documentation

Box Three-Dimensional Function

Description

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

Usage

box_3d(m = 20)

Arguments

m

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

Details

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

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

  • Minima: f = 0 at (1, 10, 1), (10, 1, -1) and where x1 = x2 and x3 = 0.

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

Box, M. J. (1966). A comparison of several current optimization methods, and the use of transformations in constrained problems. The Computer Journal, 9(1), 67-77. \Sexpr[results=rd]{tools:::Rd_expr_doi("doi.org/10.1093/comjnl/9.1.67")}

Examples

# Use 10 summand functions
fun <- box_3d(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), fun$fn, fun$gr, method = "L-BFGS-B")

# Use 20 summand functions
fun20 <- box_3d(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.