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
