[ https://issues.apache.org/jira/browse/MATH-867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461867#comment-13461867 ]
Frank Hess commented on MATH-867: --------------------------------- If I'm fitting a peak width, for example, I only want to fit positive widths. So specifying a range with a bound on only one end like [0,+Infinity] would be natural. Now the CMAESOptimizer doesn't accept infinite bounds, so the best I could do would be something like [0, VeryLargeValue]. And I might reasonably use an initial peak width of 1. My expectation as a user is that specifying this bound actually helps the optimizer. Instead what happens is the entirely the opposite (well, actually it works fine when the lower bound is zero but would blow up if you were setting a finite upper bound instead of a finite lower bound). As a user the encoding of my fitted parameters to the interval 0 to 1 is entirely invisible and internal to the library. So my expectation is the optimizer would give results with a precision matching the precision of the parameter being fitted (in the form I passed it in, not in some internal normalized form I know nothing about). > 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: 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