Affects Version/s: 3.0
Fix Version/s: 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.