box_3d | R Documentation |
Test function 12 from the More', Garbow and Hillstrom paper.
box_3d(m = 20)
m |
Number of summand functions in the objective function. Should be equal to or greater than 3. |
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
.
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
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")}
# 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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.