[R] Nelder-Mead with output of simplex vertices

(Ted Harding) Ted.Harding at manchester.ac.uk
Mon Oct 12 15:45:03 CEST 2009

On 12-Oct-09 13:33:17, Ted Harding wrote:
> On 12-Oct-09 13:24:01, Terry Therneau wrote:
>> ---------- begin included --------
>> Greetings!
>> I want to follow the evolution of a Nelder-Mead function
>> minimisation (a function of 2 variables). Hence each simplex
>> will have 3 vertices.
>> Therefore I would like to have a function which can output
>> the coordinates of the 3 vertices after each new simplex
>> is generated. However, there seems to be no way (which I can
>> detect) of extracting this information from optim() (the 'trace'
>> argument to 'control' does not seem to have provision for this,
>> according to '?optim', and I have tried it out without success).
>> --- end include -----
>>  Why not put a cat() statement into "fn", the function that you supply
>> which optim is calling?  That will give the vertices that it tries one
>> by one.
>> Terry T.
> That's neat and simple! It hadn't occurred to me. Thanks!
> Ted.

And, 10 seconds after posting, I realised why it hadn't -- there
would be no visible association between the vertex and the simplex
(in this instance the triangle) that it belongs to.

In other words, which two other points in the preceding sequence,
along with the current one, make up the triangle being tested?

Given the complexity of the Nelder-Mead process, it would be very
tricky indeed to try to track this through the sequence of vertices
which cat() would output.

As it happens, Ben Bolker kindly sent me code which he wrote (see
his earlier mail) which does do this nicely, since it has an output
option within the Nelder-Mead routine itself -- at which point,
the routine itself knows what the simplex is.


E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 12-Oct-09                                       Time: 14:45:00
------------------------------ XFMail ------------------------------

More information about the R-help mailing list