LevenbergMarquardtOptimizer: able to customize convergence condition
--------------------------------------------------------------------

                 Key: MATH-427
                 URL: https://issues.apache.org/jira/browse/MATH-427
             Project: Commons Math
          Issue Type: Improvement
            Reporter: Christiaan


Currently it is not possible to customize the condition for exiting the 
iterations in the doOptimize() of LevenbergMarquardtOptimizer. I ran into the 
scenario where the following condition was already met after 2 iterations, 
however in this scenario a better result could be achieved after 118 iterations:

Current condition:
                // tests for convergence.
                if (((Math.abs(actRed) <= costRelativeTolerance) &&
                        (preRed <= costRelativeTolerance) &&
                        (ratio <= 2.0)) ||
                        (delta <= parRelativeTolerance * xNorm)) {
                    return new VectorialPointValuePair(point, objective);
                }

Preferred condition:
delta <= 2.2204e-16 * xNorm

Eg. if code is put in a protected method convergenceCondition() then 
LevenbergMarquardtOptimizer could be subclassed to customize this behaviour. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to