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.startup
Startup the algorithm. Compute the initial simplex, depending on the content of the
simplex0method
element of the neldermead object ('given', 'axes', 'spendley', 'pfeffer' or 'randbounds').neldermead.log
Print a message to the log file using
optimbase.log
.neldermead.scaletox0
Scale the simplex into the nonlinear inequality constraints, if any. Scale toward x0, which is feasible.
neldermead.scaletocenter
Scale 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.termstartup
Initialize Kelley's stagnation detection system when normalization is required, by computing kelleyalpha. If the simplex gradient is zero, then use alpha0 as alpha.
neldermead.outputcmd
Call the array of user-defined output functions
neldermead.autorestart
Perform 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.istorestart
Determine if the optimization is to restart using
neldermead.isroneill
orneldermead.isrkelley
depending on the content of therestartdetection
element.neldermead.isroneill
Determine 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.isrkelley
Determine if the optimization is to restart. Use
kelleystagnation
as a criteria for restart.neldermead.updatesimp
Update the initial simplex simplex0 for a restart.
scaleinconstraints
Given 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.costf
Call 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.startup
Return an updated neldermead object
this
.neldermead.log
Return the neldermead object
this
.neldermead.scaletox0
Return an updated simplex.
neldermead.scaletocenter
Return an updated simplex.
neldermead.termstartup
Return an updated neldermead object
this
.neldermead.outputcmd
Do not return any data, but execute the output function(s).
neldermead.autorestart
Return an updated neldermead object
this
.neldermead.istorestart
Return 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.isroneill
Return 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.isrkelley
Return 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.updatesimp
Return an updated neldermead object
this
.scaleinconstraints
Return 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.costf
Return 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)