Learn R Programming

CEGO (version 2.1.0)

optimInterface: Optimization Interface (continuous, bounded)

Description

This function is an interface fashioned like the optim function. Unlike optim, it collects a set of bound-constrained optimization algorithms with local as well as global approaches. It is, e.g., used in the CEGO package to solve the optimization problem that occurs during parameter estimation in the Kriging model (based on Maximum Likelihood Estimation). Note that this function is NOT applicable to combinatorial optimization problems.

Usage

optimInterface(x, fun, lower = -Inf, upper = Inf, control = list(), ...)

Arguments

x

is a point (vector) in the decision space of fun

fun

is the target function of type y = f(x, ...)

lower

is a vector that defines the lower boundary of search space

upper

is a vector that defines the upper boundary of search space

control

is a list of additional settings. See details.

...

additional parameters to be passed on to fun

Value

This function returns a list with: xbest parameters of the found solution ybest target function value of the found solution count number of evaluations of fun

Details

The control list contains: funEvals stopping criterion, number of evaluations allowed for fun (defaults to 100) reltol stopping criterion, relative tolerance (default: 1e-6) factr stopping criterion, specifying relative tolerance parameter factr for the L-BFGS-B method in the optim function (default: 1e10) popsize population size or number of particles (default: 10*dimension, where dimension is derived from the length of the vector lower). restarts whether to perform restarts (Default: FALSE). Restarts will only be performed if some of the evaluation budget is left once the algorithm stopped due to some stopping criterion (e.g., reltol). Violations of the provided budget may decrease the number of restarts. method will be used to choose the optimization method from the following list: "L-BFGS-B" - BFGS quasi-Newton: stats Package optim function "nlminb" - box-constrained optimization using PORT routines: stats Package nlminb function "DEoptim" - Differential Evolution implementation: DEoptim Package Additionally to the above methods, several methods from the package nloptr can be chosen. The complete list of suitable nlopt methods (non-gradient, bound constraints) is: "NLOPT_GN_DIRECT","NLOPT_GN_DIRECT_L","NLOPT_GN_DIRECT_L_RAND", "NLOPT_GN_DIRECT_NOSCAL","NLOPT_GN_DIRECT_L_NOSCAL","NLOPT_GN_DIRECT_L_RAND_NOSCAL", "NLOPT_GN_ORIG_DIRECT","NLOPT_GN_ORIG_DIRECT_L","NLOPT_LN_PRAXIS", "NLOPT_GN_CRS2_LM","NLOPT_LN_COBYLA", "NLOPT_LN_NELDERMEAD","NLOPT_LN_SBPLX","NLOPT_LN_BOBYQA","NLOPT_GN_ISRES" All of the above methods use bound constraints. For references and details on the specific methods, please check the documentation of the packages that provide them. Furthermore, the user can choose to use a function instead of a string for the method. The used function should have the same parameters and arguments as documented for this very function, i.e. optimInterface. The method parameters for the call to the supplied function will be extracted from control$method.