class_docstr: Multiobjective CMA-ES strategy based on the paper [Voss2010]_. It
  is used similarly as the standard CMA-ES strategy with a generate-update
  scheme.
  
  :param population: An initial population of individual.
  :param sigma: The initial step size of the complete system.
  :param mu: The number of parents to use in the evolution. When not
             provided it defaults to the length of *population*. (optional)
  :param lambda_: The number of offspring to produce at each generation.
                  (optional, defaults to 1)
  :param indicator: The indicator function to use. (optional, default to
                    :func:`~deap.tools.hypervolume`)
  
  Other parameters can be provided as described in the next table
  
  +----------------+---------------------------+----------------------------+
  | Parameter      | Default                   | Details                    |
  +================+===========================+============================+
  | ``d``          | ``1.0 + N / 2.0``         | Damping for step-size.     |
  +----------------+---------------------------+----------------------------+
  | ``ptarg``      | ``1.0 / (5 + 1.0 / 2.0)`` | Target success rate.       |
  +----------------+---------------------------+----------------------------+
  | ``cp``         | ``ptarg / (2.0 + ptarg)`` | Step size learning rate.   |
  +----------------+---------------------------+----------------------------+
  | ``cc``         | ``2.0 / (N + 2.0)``       | Cumulation time horizon.   |
  +----------------+---------------------------+----------------------------+
  | ``ccov``       | ``2.0 / (N**2 + 6.0)``    | Covariance matrix learning |
  |                |                           | rate.                      |
  +----------------+---------------------------+----------------------------+
  | ``pthresh``    | ``0.44``                  | Threshold success rate.    |
  +----------------+---------------------------+----------------------------+
  
  .. [Voss2010] Voss, Hansen, Igel, "Improved Step Size Adaptation
     for the MO-CMA-ES", 2010.
class_docstr_tok: ["Multiobjective","CMA-ES","strategy","based","on","the","paper","[","Voss2010","]","_",".","It","is","used","similarly","as","the","standard","CMA-ES","strategy","with","a","generate-update","scheme",".",":","param","population",":","An","initial","population","of","individual",".",":","param","sigma",":","The","initial","step","size","of","the","complete","system",".",":","param","mu",":","The","number","of","parents","to","use","in","the","evolution",".","When","not","provided","it","defaults","to","the","length","of","*","population","*",".","(","optional",")",":","param","lambda_",":","The","number","of","offspring","to","produce","at","each","generation",".","(","optional",",","defaults","to","1",")",":","param","indicator",":","The","indicator","function","to","use",".","(","optional",",","default","to",":","func",":","`","~deap.tools.hypervolume","`",")","Other","parameters","can","be","provided","as","described","in","the","next","table","+","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Parameter","|","Default","|","Details","|","+================+===========================+============================+","|","``","d","``","|","``","1.0","+","N","\/","2.0","``","|","Damping","for","step-size",".","|","+","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","``","ptarg","``","|","``","1.0","\/","(","5","+","1.0","\/","2.0",")","``","|","Target","success","rate",".","|","+","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","``","cp","``","|","``","ptarg","\/","(","2.0","+","ptarg",")","``","|","Step","size","learning","rate",".","|","+","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","``","cc","``","|","``","2.0","\/","(","N","+","2.0",")","``","|","Cumulation","time","horizon",".","|","+","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","``","ccov","``","|","``","2.0","\/","(","N","*","*","2","+","6.0",")","``","|","Covariance","matrix","learning","|","|","|","|","rate",".","|","+","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","``","pthresh","``","|","``","0.44","``","|","Threshold","success","rate",".","|","+","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","-+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","..","[","Voss2010","]","Voss",",","Hansen",",","Igel",",","``","Improved","Step","Size","Adaptation","for","the","MO-CMA-ES","''",",","2010","."]
docstr: Generate a population of :math:`\lambda` individuals of type
  *ind_init* from the current strategy.
  
  :param ind_init: A function object that is able to initialize an
                   individual from a list.
  :returns: A list of individuals with a private attribute :attr:`_ps`.
            This last attribute is essential to the update function, it
            indicates that the individual is an offspring and the index
            of its parent.
docstr_tok: ["Generate","a","population","of",":","math",":","`","\\lambda","`","individuals","of","type","*","ind_init","*","from","the","current","strategy",".",":","param","ind_init",":","A","function","object","that","is","able","to","initialize","an","individual","from","a","list",".",":","returns",":","A","list","of","individuals","with","a","private","attribute",":","attr",":","`","_ps","`",".","This","last","attribute","is","essential","to","the","update","function",",","it","indicates","that","the","individual","is","an","offspring","and","the","index","of","its","parent","."]
code: def generate(self, ind_init):
      r"""Generate a population of :math:`\lambda` individuals of type
      *ind_init* from the current strategy.
  
      :param ind_init: A function object that is able to initialize an
                       individual from a list.
      :returns: A list of individuals with a private attribute :attr:`_ps`.
                This last attribute is essential to the update function, it
                indicates that the individual is an offspring and the index
                of its parent.
      """
      arz = numpy.random.randn(self.lambda_, self.dim)
      individuals = list()
  
      # Make sure every parent has a parent tag and index
      for i, p in enumerate(self.parents):
          p._ps = "p", i
  
      # Each parent produce an offspring
      if self.lambda_ == self.mu:
          for i in range(self.lambda_):
              # print "Z", list(arz[i])
              individuals.append(
                  ind_init(
                      self.parents[i]
                      + self.sigmas[i] * numpy.dot(self.A[i], arz[i])
                  )
              )
              individuals[-1]._ps = "o", i
  
      # Parents producing an offspring are chosen at random from the first front
      else:
          ndom = tools.sortLogNondominated(
              self.parents, len(self.parents), first_front_only=True
          )
          for i in range(self.lambda_):
              j = numpy.random.randint(0, len(ndom))
              _, p_idx = ndom[j]._ps
              individuals.append(
                  ind_init(
                      self.parents[p_idx]
                      + self.sigmas[p_idx]
                      * numpy.dot(self.A[p_idx], arz[i])
                  )
              )
              individuals[-1]._ps = "o", p_idx
  
      return individuals
  
imports: import copy
  from math import sqrt, log, exp
  from itertools import cycle
  import warnings
  import numpy
  from .None import tools
label_desc: Use image node_id 2 for calling the StrategyMultiObjective obj's underlying member method code with example usage: obj.generate(ind_init) and returns: individuals