This is the mail archive of the gsl-discuss@sourceware.org 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]
Other format: [Raw text]

Re: check for 1.11.90 / timings for simplex2


At Fri, 12 Dec 2008 13:18:49 +0100,
Ivo Alxneit-Kamber wrote:
> what i find:
> - - simplex2 find the same minimum as simplex
> - - simplex2 reports slightly different values for the size of the
>   simplex. and because of this
> - - simplex2 tends to take a few more iterations than simplex and is thus
>   slightly slower
> - - in the case where both algorithms use the same number of iterations
>   (case 2) there is no significant speed difference.
> 
> does this make sense? brian, did you run some tests for fits with
> 'a lot' of parameters? thats where simplex2 should shine as far as
> i understand.

This makes sense.  The changes are intended for large numbers of
parameters only, e.g. N=100.  

For small N it should give roughly the same results, as you found.  

For large N the original algorithm was O(N^2)--it spent a lot of time
computing the size on each iteration (that was the original bug
report).  The simplex2 algorithm is O(N) as the size is updated rather
than recalculated.  On the Rosenbrock problem with N=100 it is about
30-40 times faster.

> brian could you please reconsider the inclusion of the alternate
> procedure to set the initial simplex (SimplexImproved) for 1.12.
> I never had any success with the original version in my applications.
> including it would also maintain binary compatibility with existing code
> as the new initializer gets only triggered if you specify a stepsize of
> zero for all but the first parameter, a situation very unlikely to occur
> otherwise.

At this stage it is too late for 1.12.  I'll have to look at it again
after, along with all the other things that I've been holding over.

-- 
Brian Gough


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