I see, sorry for my ignorance. Even though I would prefer a different solution it does make sense, if the boundaries are meaningful in all variables. I am not so sure what you do if some variables don't have "natural" boundaries.

On Tue, 08 Nov 2011 22:57:51 +0100, Luc Maisonobe (Commented) (JIRA) <[email protected]> wrote:


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

Luc Maisonobe commented on MATH-702:
------------------------------------

Does "coordinate-wise" means that each coordinate has its dedicated sigma ? If so, this is what I have set up. The sigma vector was already an array with the same dimension as both the state vector and the lower/upper bounds, so I have simply used upper[i] - lower[i] as a multiplication factor for sigma[i].
Does what I did make sense ?

CMA-ES optimizer input sigma should not be normalized by user
-------------------------------------------------------------

                Key: MATH-702
                URL: https://issues.apache.org/jira/browse/MATH-702
            Project: Commons Math
         Issue Type: Bug
   Affects Versions: 3.0
           Reporter: Luc Maisonobe
           Priority: Minor
            Fix For: 3.0


I am trying to use CMA-ES optimizer with simple boundaries.
It seems the inputSigma parameter should be normalized as it is checked against the [0 - 1] range in the checkParameters private method and as its value defaults to 0.3 if not not set in the initializeCMA private method. I would have expected this value to be in the same units as the user parameters and to be normalized as part of an internal processing step instead of relying to the user doing this. I think the method need normalized values internally, as per the encode/decode methods in the inner class FitnessFunction suggest. The optimizer should accept values in the same units as the other parameters and use "encode" (or a similar function) to do the normalization. This way, normalization is considered an internal implementation detail.

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




--
Science is a way of trying not to fool yourself.

The first principle is that you must not fool yourself, and you
are the easiest person to fool. So you have to be very careful
about that. After you've not fooled yourself, it's easy not to
fool other[ scientist]s. You just have to be honest in a
conventional way after that.
                                    -- Richard P. Feynman

Nikolaus Hansen
INRIA, Research Centre Saclay – Ile-de-France
Machine Learning and Optimization group (TAO)
University Paris-Sud (Orsay)
LRI (UMR 8623), building 490
91405 ORSAY Cedex, France
Phone: +33-1-691-56495, Fax: +33-1-691-54240
URL: http://www.lri.fr/~hansen

Reply via email to