gulf: Gulf Research and Development Function

View source: R/11_gulf.R

gulfR Documentation

Gulf Research and Development Function

Description

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

Usage

gulf(m = 99)

Arguments

m

Number of summand functions in the objective function. Should be between 3 and 100, according to the MGH paper. Default value is 99, which Jamil and Xang (2013) list as the only valid value.

Details

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

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

  • Minima: f = 0 at (50, 25, 1.5).

Note that the equation as published by More', Garbow and Hillstrom (1981) contains an error, where the symbol 'mi' should be interpreted as a minus sign. The corrected version can be found in Jamil and Xang (2013), and no doubt several other publications. The Jamil and Xang equation unfortunately contains its own minor errors, but you can piece together the correct equation from these two sources without too much trouble.

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

Jamil, M., & Yang, X. S. (2013). A literature survey of benchmark functions for global optimisation problems. International Journal of Mathematical Modelling and Numerical Optimisation, 4(2), 150-194. \Sexpr[results=rd]{tools:::Rd_expr_doi("doi.org/10.1504/IJMMNO.2013.055204")} \Sexpr[results=rd]{tools:::Rd_expr_doi("arxiv.org/abs/1308.4008")}

Examples

# Use 10 summand functions
fun <- gulf(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 <- gulf(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.