NelderMead | R Documentation |
Nelder-Mead optimization of parameters, allowing
optimization subject to box constraints (contrary to the default,
method = "Nelder-Mead"
, in R's optim()
), and
using reverse communications.
Nelder_Mead(fn, par, lower = rep.int(-Inf, n), upper = rep.int(Inf, n),
control = list())
fn |
a |
par |
numeric vector of starting values for the parameters. |
lower |
numeric vector of lower bounds (elements may be |
upper |
numeric vector of upper bounds (elements may be |
control |
a named list of control settings. Possible settings are
|
a list
with components
fval |
numeric scalar - the minimum function value achieved |
par |
numeric vector - the value of |
convergence |
integer valued scalar, if not
|
message |
a string specifying the kind of convergence. |
control |
the |
feval |
the number of function evaluations. |
The NelderMead
class definition and generator
function.
fr <- function(x) { ## Rosenbrock Banana function
x1 <- x[1]
x2 <- x[2]
100 * (x2 - x1 * x1)^2 + (1 - x1)^2
}
p0 <- c(-1.2, 1)
oo <- optim(p0, fr) ## also uses Nelder-Mead by default
o. <- Nelder_Mead(fr, p0)
o.1 <- Nelder_Mead(fr, p0, control=list(verbose=1))# -> some iteration output
stopifnot(identical(o.[1:4], o.1[1:4]),
all.equal(o.$par, oo$par, tolerance=1e-3))# diff: 0.0003865
o.2 <- Nelder_Mead(fr, p0, control=list(verbose=3, XtolRel=1e-15, FtolAbs= 1e-14))
all.equal(o.2[-5],o.1[-5], tolerance=1e-15)# TRUE, unexpectedly
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.