def _additionalInit(self):
        self.center = self._initEvaluable
        self.stepSize = self.initStepSize  # coordinate wise standard deviation (sigma)
        if self.storeAllCenters:
            self._allCenters = []

        # Strategy parameter setting: Selection
        # population size, offspring number
        self.mu = int(floor(self.batchSize / 2))        # number of parents/points for recombination
        self.weights = log(self.mu + 1) - log(array(range(1, self.mu + 1)))      # use array
        self.weights /= sum(self.weights)     # normalize recombination weights array
        self.muEff = sum(self.weights) ** 2 / sum(power(self.weights, 2)) # variance-effective size of mu

        # Strategy parameter setting: Adaptation
        self.cumCov = 4 / float(self.numParameters + 4)                    # time constant for cumulation for covariance matrix
        self.cumStep = (self.muEff + 2) / (self.numParameters + self.muEff + 3)# t-const for cumulation for Size control
        self.muCov = self.muEff                   # size of mu used for calculating learning rate covLearningRate
        self.covLearningRate = ((1 / self.muCov) * 2 / (self.numParameters + 1.4) ** 2 + (1 - 1 / self.muCov) * # learning rate for
                 ((2 * self.muEff - 1) / ((self.numParameters + 2) ** 2 + 2 * self.muEff)))                       # covariance matrix
        self.dampings = 1 + 2 * max(0, sqrt((self.muEff - 1) / (self.numParameters + 1)) - 1) + self.cumStep
        # damping for stepSize usually close to 1 former damp == self.dampings/self.cumStep

        # Initialize dynamic (internal) strategy parameters and constants
        self.covPath = zeros(self.numParameters)
        self.stepPath = zeros(self.numParameters)                   # evolution paths for C and stepSize
        self.B = eye(self.numParameters, self.numParameters)         # B defines the coordinate system
        self.D = eye(self.numParameters, self.numParameters)         # diagonal matrix D defines the scaling
        self.C = dot(dot(self.B, self.D), dot(self.B, self.D).T)       # covariance matrix
        self.chiN = self.numParameters ** 0.5 * (1 - 1. / (4. * self.numParameters) + 1 / (21. * self.numParameters ** 2))
        # expectation of ||numParameters(0,I)|| == norm(randn(numParameters,1))
dataset/ETHPy150Open pybrain/pybrain/pybrain/optimization/distributionbased/cmaes.py/CMAES._additionalInit/original