commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolaus Hansen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-867) CMAESOptimizer with bounds fits finely near lower bound and coarsely near upper bound.
Date Sat, 29 Sep 2012 21:44:07 GMT

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

Nikolaus Hansen commented on MATH-867:
--------------------------------------

{quote}
I may be missing something (and I can just make wild guesses since I have no clue about the
CMAES algorithm) but I would be expecting that the code behaves the same way without boundaries
as with boundaries that become arbitrarily large (i.e. when the [loBound, hiBound] interval
becomes [-inf, +inf]).
The line that uses "inputSigma" does not behave that way since the "range" becomes arbitrarily
large as the bounds grow although when there is no boundaries it is set 1.0.
{quote}
as both, x and sigma are transformed in the same way it does not matter mathematically. If
you choose boundaries as large as (close to) maxdouble, it will matter numerically. 

{quote}
This is also shown by some unit tests which I've just set up, by copying existing ones which
minimized a function without constraint and specifying a very large allowed interval (e.g.
[-1e20, 1e20]): those tests fail.
{quote}
did you correct the mistake in the repair method I proposed above? 

{quote}
Intuitively, when the solution is far from the bounds (and the initial point also), whether
there are bounds or not should not matter. But with the current implementation that's clearly
not the case.
{quote}
I agree. I am confident we will be able to sort this out. 

                
> CMAESOptimizer with bounds fits finely near lower bound and coarsely near upper bound.

> ---------------------------------------------------------------------------------------
>
>                 Key: MATH-867
>                 URL: https://issues.apache.org/jira/browse/MATH-867
>             Project: Commons Math
>          Issue Type: Bug
>            Reporter: Frank Hess
>         Attachments: MATH867_patch, Math867Test.java
>
>
> When fitting with bounds, the CMAESOptimizer fits finely near the lower bound and coarsely
near the upper bound.  This is because it internally maps the fitted parameter range into
the interval [0,1].  The unit of least precision (ulp) between floating point numbers is much
smaller near zero than near one.  Thus, fits have much better resolution near the lower bound
(which is mapped to zero) than the upper bound (which is mapped to one).  I will attach a
example program to demonstrate.

--
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

Mime
View raw message