Carries out optimization (finding a maximum)
optimizer.RdA wrapper to use several optimization routines
Usage
optimizer(
optimmethod = "simplex",
optimpars = c(1e-04, 1e-04, 1e-06, 1000, 1),
num_cycles = 1,
fun,
trparsopt,
jitter = 0,
...
)Arguments
- optimmethod
The method to use for optimization. There is a choice of: 'simplex', which is a simplex algorithm that shows (when verbose > 0) the optimization trajectory. 'subplex', from the package with the same name 'optim::name_of_algorithm', the algorithm from the optim package (e.g. "Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN", or "Brent") 'DEoptim', from the package with the same name 'pso', from the package with the same name 'cmaes', from the package cmaesr. This method uses a combination of cmaes and subplex, as cmaes is supposedly good at finding the global peak and subplex at fine-tuning. The packages underlying the last three methods need to be installed separately. The user will get a message if they try to use the method without having installed the corresponding package.
- optimpars
Parameters of the optimization: 1) relative tolerance in function arguments, 2) relative tolerance in function value, 3) absolute tolerance in function arguments as well as the function value, 4) maximum number of iterations and 5) verbose level (0 = no output, >= 1 shows the optimization trajectory and the result of each cycle), default is 1
- num_cycles
Number of cycles of the optimization. When set to Inf, the optimization will be repeated until the result is, within the tolerance, equal to the starting values, with a maximum of 10 cycles.
- fun
Function to be optimized
- trparsopt
Initial guess of the parameters to be optimized
- jitter
Perturbation of an initial parameter value when precisely equal to 0.5; this is only relevant when subplex is chosen. The default value is 0, so no jitter is applied. A recommended value when using it is 1E-5.
- ...
Any other arguments of the function to be optimimized, or settings of the optimization routine
Value
- out
A list containing optimal function arguments (
par, the optimal function value (fvalues) and whether the optimization converged (conv)
.
Examples
cat("No examples")
#> No examples