commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-728) Errors in BOBYQAOptimizer when numberOfInterpolationPoints is greater than 2*dim+1
Date Wed, 08 Feb 2012 12:15:59 GMT

    [ https://issues.apache.org/jira/browse/MATH-728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13203505#comment-13203505
] 

Gilles commented on MATH-728:
-----------------------------

Hi Bruce.

Would you be interested in testing your code with a large number of "additional" interpolation
points?
I'm referring to the unit test "testConstrainedRosenWithMoreInterpolationPoints" in "BOBYQAOptimizerTest",
at lines 236-256. It would be nice to know whether the failures, for some values of the number
of points, reveal yet other bugs. (Or whether they are expected; in which case, the reason
would be a welcome addition to the documentation...)

                
> Errors in BOBYQAOptimizer when numberOfInterpolationPoints is greater than 2*dim+1
> ----------------------------------------------------------------------------------
>
>                 Key: MATH-728
>                 URL: https://issues.apache.org/jira/browse/MATH-728
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.0
>         Environment: Mac Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527)
>            Reporter: Bruce A Johnson
>
> I've been having trouble getting BOBYQA to minimize a function (actually a non-linear
least squares fit) so as one change I increased the number of interpolation points.  It seems
that anything larger than 2*dim+1 causes an error (typically at
> line 1662
>                    interpolationPoints.setEntry(nfm, ipt, interpolationPoints.getEntry(ipt,
ipt));
> I'm guessing there is an off by one error in the translation from FORTRAN.  Changing
the BOBYQAOptimizerTest as follows (increasing number of interpolation points by one) will
cause failures.
> Bruce
> Index: src/test/java/org/apache/commons/math/optimization/direct/BOBYQAOptimizerTest.java
> ===================================================================
> --- src/test/java/org/apache/commons/math/optimization/direct/BOBYQAOptimizerTest.java
(revision 1221065)
> +++ src/test/java/org/apache/commons/math/optimization/direct/BOBYQAOptimizerTest.java
(working copy)
> @@ -258,7 +258,7 @@
>  //        RealPointValuePair result = optim.optimize(100000, func, goal, startPoint);
>          final double[] lB = boundaries == null ? null : boundaries[0];
>          final double[] uB = boundaries == null ? null : boundaries[1];
> -        BOBYQAOptimizer optim = new BOBYQAOptimizer(2 * dim + 1);
> +        BOBYQAOptimizer optim = new BOBYQAOptimizer(2 * dim + 2);
>          RealPointValuePair result = optim.optimize(maxEvaluations, func, goal, startPoint,
lB, uB);
>  //        System.out.println(func.getClass().getName() + " = " 
>  //              + optim.getEvaluations() + " f(");

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message