new methode to initialize nm_simplex

Ivo Alxneit-Kamber ivo.alxneit@psi.ch
Fri Feb 24 08:38:00 GMT 2006


hi all,

currently the nm_simplex minimizer is initialized by giving it a
starting point (vector) and a vector of initial stepsizes. from this
nm_simplex_set constructs the initial simplex.
i had sometimes difficulties with this initializer because it results in
a "very regular" initial simplex. the first trial steps often only
change one parameter. (just as an example. i tried to optimize the
contour of a mirror defined by a spline interpolation of several points.
the current minimizer would start by trying to shift only individual
points. this, of course were not successful steps. it then contracted
for a long time until it finally took off correctly sometimes).

so my proposal (see patch) is to change the call to
gsl_multimin_fminimizer_set() to use a starting vector and a single
value for the initial step size. nm_simplex_set() then contructs a
regular n-pod of size initial_step_size with the starting point at its
center. you can fine-tune the orientation of this initial simplex by
using different values for the environment variable GSL_NM_SIMPLEX_SEED.

notes:
-make test in multimin fails to build because it needs to link
with ../rng/libgslrng.la (you have to edit the makefile to make it work.
i just did not find where to configure this thing)
-because this is a change in the api it may make sense to change it even
more drastic i.e. to only use one generic gsl_multimin_minimizer_set()
(the one currently used for the fdf minimizer) and ignore the parameters
that do not apply for the given minimizer. this would be similar to how
some ode solvers make use of the jacobian and some do not.

cheers
-- 
Dr. Ivo Alxneit
Laboratory for Solar Technology   phone: +41 56 310 4092
Paul Scherrer Institute             fax: +41 56 310 2688
CH-5232 Villigen                   http://solar.web.psi.ch
Switzerland                   gnupg key: 0x515E30C7

-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch
Type: text/x-patch
Size: 9650 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gsl-discuss/attachments/20060224/3f458770/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://sourceware.org/pipermail/gsl-discuss/attachments/20060224/3f458770/attachment.sig>


More information about the Gsl-discuss mailing list