class_docstr: Class for optimisation based on Genetic algorithms. 
class_docstr_tok: ["Class","for","optimisation","based","on","Genetic","algorithms","."]
docstr: Generates the mutations. 
docstr_tok: ["Generates","the","mutations","."]
code: def generate_new_eval_points(
      self, num_mutations=None, num_candidates_to_mutate_from=None
  ):
      """Generates the mutations."""
      new_candidates = []
      num_tries = 0
      num_mutations_to_try = (
          self.num_mutations_per_epoch
          if num_mutations is None
          else num_mutations
      )
      while len(new_candidates) == 0:
          num_tries += 1
          generated_from_mutation_op = (
              self.generate_new_eval_points_from_mutation_op(
                  num_mutations_to_try, num_candidates_to_mutate_from
              )
          )
          points_in_domain = [
              elem
              for elem in generated_from_mutation_op
              if self.domain.is_a_member(elem)
          ]
          new_candidates.extend(points_in_domain)
          if len(points_in_domain) == 0:
              if num_tries % 10 == 0:
                  error_msg = (
                      "Could not generate any points in domain from given mutation "
                      + "operator despite %d tries with up to %d candidates."
                  ) % (num_tries, num_mutations_to_try)
                  self.reporter.writeln(error_msg)
              if num_tries >= 51:
                  error_msg = (
                      "Could not generate any points in domain from given mutation "
                      + "operator despite %d tries with up to %d candidates. Quitting now."
                  ) % (num_tries, num_mutations_to_try)
                  raise ValueError(error_msg)
              # Try a larger number of mutations the next time
              num_mutations_to_try = int(num_mutations_to_try * 1.2 + 1)
      new_candidates = new_candidates[:num_mutations]
      self.to_eval_points.extend(new_candidates)
  
imports: from argparse import Namespace
  from numpy.random import choice
  from .blackbox_optimiser import BlackboxOptimiser, blackbox_opt_args
  from ..utils.general_utils import sample_according_to_exp_probs
  from ..utils.option_handler import get_option_specs, load_options
label_desc: Use image node_id 7 for calling the GAOptimiser obj's underlying member method code with example usage: obj.generate_new_eval_points(num_mutations, num_candidates_to_mutate_from) without return types