| Secondary search functions {neldermead} | R Documentation |
Secondary functions for neldermead.search
Description
Utility functions for neldermead.serch and dependent functions.
Usage
neldermead.startup(this = NULL)
neldermead.log(this = NULL, msg = NULL)
neldermead.scaletox0(this = NULL, simplex0 = NULL)
neldermead.scaletocenter(this = NULL, simplex0 = NULL, x0 = NULL)
neldermead.termstartup(this = NULL)
neldermead.outputcmd(this = NULL, state = NULL, simplex = NULL, step = NULL)
neldermead.autorestart(this = NULL)
neldermead.istorestart(this = NULL)
neldermead.isroneill(this = NULL)
neldermead.isrkelley(this = this)
neldermead.updatesimp(this = NULL)
scaleinconstraints(this = NULL, x = NULL, xref = NULL)
neldermead.costf(x = NULL, this = NULL)
Arguments
this |
A neldermead object. |
msg |
A character string. |
simplex0 |
The initial simplex object. |
x0 |
A column matrix of initial parameters. |
state |
The state of the algorithm, either 'init', 'done' or 'iter'. |
simplex |
The current simplex object. |
step |
The type of step performed during the iteration: 'init', 'done', 'reflection', 'expansion', 'insidecontraction', 'outsidecontraction', 'reflectionnext' or 'shrink'. |
x |
The point estimate to scale. |
xref |
The reference point estimate. |
Details
neldermead.startupStartup the algorithm. Compute the initial simplex, depending on the content of the
simplex0methodelement of the neldermead object ('given', 'axes', 'spendley', 'pfeffer' or 'randbounds').neldermead.logPrint a message to the log file using
optimbase.log.neldermead.scaletox0Scale the simplex into the nonlinear inequality constraints, if any. Scale toward x0, which is feasible.
neldermead.scaletocenterScale the simplex into the nonlinear inequality constraints, if any. Scale to the centroid of the points which satisfy the constraints. This is Box's method for scaling. It is unsure, since the centroid of the points which satisfy the constraints may not be feasible.
neldermead.termstartupInitialize Kelley's stagnation detection system when normalization is required, by computing kelleyalpha. If the simplex gradient is zero, then use alpha0 as alpha.
neldermead.outputcmdCall the array of user-defined output functions
neldermead.autorestartPerform an optimization with automatic restart. The loop processes for i = 1 to
restartmax+ 1. This is because a RE-start is performed after one simulation has been performed, hence the 'RE'.neldermead.istorestartDetermine if the optimization is to restart using
neldermead.isroneillorneldermead.isrkelleydepending on the content of therestartdetectionelement.neldermead.isroneillDetermine if the optimization is to restart. Use O'Neill method as a criteria for restart. It is an axis-by-axis search for optimality.
neldermead.isrkelleyDetermine if the optimization is to restart. Use
kelleystagnationas a criteria for restart.neldermead.updatesimpUpdate the initial simplex simplex0 for a restart.
scaleinconstraintsGiven a point reference to scale and a reference point which satisfies the constraints, scale the point towards the reference point estimate until it satisfies all the constraints.
neldermead.costfCall the cost function and return the value. This function is given to the simplex function class as a callback. Input/Output arguments are swapped w.r.t.
optimbase.function, so that it matches the requirements of simplex methods.
Value
neldermead.startupReturn an updated neldermead object
this.neldermead.logReturn the neldermead object
this.neldermead.scaletox0Return an updated simplex.
neldermead.scaletocenterReturn an updated simplex.
neldermead.termstartupReturn an updated neldermead object
this.neldermead.outputcmdDo not return any data, but execute the output function(s).
neldermead.autorestartReturn an updated neldermead object
this.neldermead.istorestartReturn a list with the following elements:
- this
The input neldermead object.
- istorestart
Set to TRUE if the optimization is to restart, to FALSE otherwise.
neldermead.isroneillReturn a list with the following elements:
- this
The input neldermead object.
- istorestart
Set to TRUE if the optimization is to restart, to FALSE otherwise.
neldermead.isrkelleyReturn a list with the following elements:
- this
The input neldermead object.
- istorestart
Set to TRUE if the optimization is to restart, to FALSE otherwise.
neldermead.updatesimpReturn an updated neldermead object
this.scaleinconstraintsReturn a list with the following elements:
- this
The updated neldermead object.
- isscaled
TRUE if the procedure has succeeded before
boxnbnlloops, FALSE if it has failed.- p
The scaled parameters.
neldermead.costfReturn a list with the following elements:
- f
The value of the cost function.
- this
The updated neldermead object.
Author(s)
Author of Scilab neldermead module: Michael Baudin (INRIA - Digiteo)
Author of R adaptation: Sebastien Bihorel (sb.pmlab@gmail.com)