You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Luc Maisonobe (JIRA)" <ji...@apache.org> on 2013/04/07 11:21:20 UTC

[jira] [Closed] (MATH-949) LevenbergMarquardtOptimizer reports 0 iterations

     [ https://issues.apache.org/jira/browse/MATH-949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Luc Maisonobe closed MATH-949.
------------------------------


Closing issue as version 3.2 has been released on 2013-04-06.
                
> LevenbergMarquardtOptimizer reports 0 iterations
> ------------------------------------------------
>
>                 Key: MATH-949
>                 URL: https://issues.apache.org/jira/browse/MATH-949
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.2
>            Reporter: Evan Ward
>             Fix For: 3.2
>
>
> The method LevenbergMarquardtOptimizer.getIterations() does not report the correct number of iterations; It always returns 0. A quick look at the code shows that only SimplexOptimizer calls BaseOptimizer.incrementEvaluationsCount()
> I've put a test case below. Notice how the evaluations count is correctly incremented, but the iterations count is not.
> {noformat}
>     @Test
>     public void testGetIterations() {
>         // setup
>         LevenbergMarquardtOptimizer otim = new LevenbergMarquardtOptimizer();
>         // action
>         otim.optimize(new MaxEval(100), new Target(new double[] { 1 }),
>                 new Weight(new double[] { 1 }), new InitialGuess(
>                         new double[] { 3 }), new ModelFunction(
>                         new MultivariateVectorFunction() {
>                             @Override
>                             public double[] value(double[] point)
>                                     throws IllegalArgumentException {
>                                 return new double[] { FastMath.pow(point[0], 4) };
>                             }
>                         }), new ModelFunctionJacobian(
>                         new MultivariateMatrixFunction() {
>                             @Override
>                             public double[][] value(double[] point)
>                                     throws IllegalArgumentException {
>                                 return new double[][] { { 0.25 * FastMath.pow(
>                                         point[0], 3) } };
>                             }
>                         }));
>         // verify
>         assertThat(otim.getEvaluations(), greaterThan(1));
>         assertThat(otim.getIterations(), greaterThan(1));
>     }
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira