This is the mail archive of the gsl-discuss@sourceware.cygnus.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: multidimensional optimization


Hi.

I've finished a preliminary, buggy, alpha (etc.) version of the
multidimensional optimization part of GSL I've proposed to code last month.
I'm not at all asking for inclusion, but for review. The question is how
should I make the code available? I've added a new directory (multmin) which
can be released as a tar file, but I've also a patch to the min directory
(basically a bracketing algorithm).

The implementation follows the general idea discussed in the list. Basically,
I've targeted descent algorithms, i.e., algorithms in which one performs a one
dimensional minimization along a direction given by the algorithm (the
gradient for steepest descent for instance). As suggested by Brian Gough, the
line search (one dimensional minimization) is not at all embedded into the
global algorithm. In fact, the algorithm produces a direction and updates a
structure that allows to view the multidimensional function as a one
dimensional one. The pseudo loop is therefore:

init
do 
	compute next direction (d)
	find an initial bracketing for line search
	init 1d minimization
	do
		loop for 1d min
	perform the step (i.e. replace x by x+ed, where e is the minimum of
g(e)=f(x+ed)
	check for convergence

I've tried to follow the structure of the multiroots package check in by
Brian. As a side effect, I've used gsl_vector everywhere.

Fabrice Rossi

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]