help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] nmsimplex2 gets stuck when nmsimplex doesn't


From: awsteiner
Subject: Re: [Help-gsl] nmsimplex2 gets stuck when nmsimplex doesn't
Date: Tue, 28 Jul 2009 13:00:47 +0000

FYI Neil and all, see also this thread at bug-gsl:

http://lists.gnu.org/archive/html/bug-gsl/2009-07/msg00028.html

On Jul 28, 2009 7:59am, Neil Stewart <address@hidden> wrote:
I'm having trouble with the new Nelder Mead simplex algorithm and I think I

may have found a bug. The algorithm initially crawls down hill successfully

for several hundred iterations, but them seems to collapse and get stuck.



Below are the vertices for one iteration of the stuck simplex. The problem

has 14 parameters (the first 14 columns; the final column is the function

value being minimised). The 16 rows are the 16 times the to-be-minimised

function was called during a single gsl_multimin_fminimizer_iterate().

Notice how, after the first two rows, all of the remaining rows are

identical. The simplex has collapsed to a single point.



The algorithm will run indefinitely, repeating these vertices over and over.

Different random starting points nearly all end up here, or in another

similar pattern. Restarting the algorithm from here with a bigger simplex

size kicks it on, but it collapses again at a different point.



0.03242 0.30522 0.63573 0.90886 0.00071 0.00181 0.00612 0.03337 0.12715 0.00038 0.04802 0.16050 0.41929 0.62331 5.34309

0.03269 0.29779 0.62830 0.90143 0.00077 0.00194 0.00626 0.03461 0.12125 0.00039 0.04927 0.15408 0.41190 0.61599 5.31868

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702

0.03278 0.29531 0.62582 0.89895 0.00079 0.00198 0.00631 0.03503 0.11929 0.00040 0.04969 0.15194 0.40944 0.61355 5.31702



(I've omitted some decimal places, but the last 14 rows are identical to at

least 18 decimal places.)



I'm using the new gsl_multimin_fminimizer_nmsimplex2 algorithm. Switching

back to the original gsl_multimin_fminimizer_nmsimplex algorithm (notice the

missing 2 at the end) fixes the problem. The original algorithm always

converges on the same minimum, even when started from many different

starting points, which is nice.



The collapse of the simplex into a single point seems like a bug in

gsl_multimin_fminimizer_nmsimplex2. Any comments most welcome.







_______________________________________________

Help-gsl mailing list

address@hidden

http://lists.gnu.org/mailman/listinfo/help-gsl



reply via email to

[Prev in Thread] Current Thread [Next in Thread]