🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by sho Thu, 29 Jan 1987 00:15
Re: all purpose minimizer
#907
Author: sho
Date: Thu, 29 Jan 1987 00:15
13 lines
1145 bytes
	I've been trying to write an extremum finder in C for a
while now, with no success.  The routine accepts initial values
for an array of coefficients and a pointer to a function, and
searches for the nearest local minimum using a gradient search
on the coefficients.  Seems simple, right?  Well, no.  I've been
having all sorts of problems, and I don't know what to do.  If
any of you have written something similar, please let me know.
(Esp. if you have an extremeum finder that finds the *absolute*
minimum/maximum!)  

					-Sho
Hurm.
Re: all purpose minimizer
#908
Author: braner
Date: Wed, 11 Feb 1987 05:49
19 lines
1615 bytes
[]

GLOBAL minimization is a very hard problem.  How do you avoid missing
a very narrow trench?  Check all points on a very fine grid? In 20
dimensions?

Pessimism aside, I use the routine called 'Powell', in the book 'Numerical
Recipes' (by Press et al, Cambridge U. Press, 1986).  It does not use
derivatives, and seems reasonably robust for the  very nonlinear  functions
of many (from 3 to 20) variables I try to minimize.  (I use it for
maximum-likelihood estimation of parameters.)   (I had to modify it a bit,
though: changed the parametrization in 'Linmin' so that the best guess of
the minimum is at 1, not 0.  If it happens to be at 0, 'Brent' iterates
for a long time since it measures _relative_ error.  Also note that the
order of the parameters in the initial direction set is VERY critical for
successful use of the algorithm, and the best order depends on your
specific function!)

- Moshe Braner
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads