[eigen] Levenberg Marquardt parameters

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hello Thomas

I am really enjoying Non Linear Optimization module. It lets me solve very
complex things in a smart way :-) .

However I have had a hard time this weekend about a 17 unknowns set of
equations minimized with Levenberg Marquardt.

With initial values very close to results it worked well, but putting
realistic initial values the system did not converge. It returned a
TooManyFunctionEvaluation (5),

Checking the code, it seems that in the constructor, the max number of
function evaluations (fev) is:

    maxfev (400)

But old lmder1() function, before calling minimize(), inits some parameters:

    n = x.size();
....
    parameters.maxfev = 100*(n+1);

So in my case, maxfev == 400 instead of maxfev == 100*(17+1) == 1800.

Doing this change, the system converged with good results after nfev ==
1619..., What a relief !

In
http://eigen.tuxfamily.org/dox-devel/unsupported/group__NonLinearOptimization__Module.htmlyou
state that all minpack methods like lmder1() are deprecated.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/