The CMAESOptimizer repairs points that are out of bounds by moving them into bounds, and adding a penalty based on how far they were moved.
The penalty added is scaled by the range of values in the current population.
The calculation of the valueRange, however, includes the penalty so at each iteration the amount of penalty can grow multiplicatively. One solution, is to keep the value and penalties separate before calculating the scale factor for the penalties. A patch that does this will be attached.