From 7b5370bb5115b5179c4fb36093677330ef909e59 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 8 Apr 2018 17:15:31 +0100 Subject: [PATCH] curveopt: try simple, but no good It seems to just shrink the simplex and then exit. I think it doesn't manage to find the narrow trench in configuration space in which possible improvements lie. Also tried gsl_multimin_fminimizer_nmsimplex but this is even slower than siman. So we will go back to siman now. Signed-off-by: Ian Jackson --- curveopt.py | 2 +- findcurve.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/curveopt.py b/curveopt.py index ab27e44..5ce8cf7 100644 --- a/curveopt.py +++ b/curveopt.py @@ -48,7 +48,7 @@ class OptimisedCurve(): oc._dbg(repr(fc_input)) - findcurve_epsilon = 0.0001 + findcurve_epsilon = 1E-10 cl = ['./findcurve', '%d' % (nt+1), '%.18g' % findcurve_epsilon] oc._dbg('STARTING FINDCURVE %s' % cl) diff --git a/findcurve.c b/findcurve.c index dff770a..ca3cd8f 100644 --- a/findcurve.c +++ b/findcurve.c @@ -137,7 +137,7 @@ int main(int argc, const char *const *argv) { gsl_vector_set_all(step_size, 0.01); gsl_multimin_fminimizer *minimiser = - gsl_multimin_fminimizer_alloc(gsl_multimin_fminimizer_nmsimplex2, NX); + gsl_multimin_fminimizer_alloc(gsl_multimin_fminimizer_nmsimplex2rand, NX); for (;;) { /* NINPUT + 1 doubles: startpoint, epsilon for residual */ -- 2.30.2