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_from_mutation_op(
      self, num_mutations=None, num_candidates_to_mutate_from=None
  ):
      """Generates the mutations."""
      num_mutations = (
          self.num_mutations_per_epoch
          if num_mutations is None
          else num_mutations
      )
      num_candidates_to_mutate_from = (
          self.num_candidates_to_mutate_from
          if num_candidates_to_mutate_from is None
          else num_candidates_to_mutate_from
      )
      (
          candidates_to_mutate_from,
          num_mutations_arg_to_mutation_op,
      ) = self._get_candidates_to_mutate_from(
          num_mutations, num_candidates_to_mutate_from
      )
      new_eval_points = self.mutation_op(
          candidates_to_mutate_from, num_mutations_arg_to_mutation_op
      )
      return new_eval_points
  
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 8 for calling the GAOptimiser obj's underlying member method code with example usage: obj.generate_new_eval_points_from_mutation_op(num_mutations, num_candidates_to_mutate_from) and returns: new_eval_points