Secondary functions for neldermead.search

Share:

Description

Utility functions for neldermead.serch and dependent functions.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

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 or neldermead.isrkelley depending on the content of the restartdetection 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)