class_docstr: Class for optimisation based on Genetic algorithms. 
class_docstr_tok: ["Class","for","optimisation","based","on","Genetic","algorithms","."]
docstr: Constructor.
  mutation_op: A function which takes in a list of objects and modifies them.
  crossover_op: A function which takes in two objects and performs a cross-over
                operation.
  So far we have not implemented cross-over but included here in case we want to
  include it in the future.
  For other arguments, see BlackboxOptimiser
docstr_tok: ["Constructor",".","mutation_op",":","A","function","which","takes","in","a","list","of","objects","and","modifies","them",".","crossover_op",":","A","function","which","takes","in","two","objects","and","performs","a","cross-over","operation",".","So","far","we","have","not","implemented","cross-over","but","included","here","in","case","we","want","to","include","it","in","the","future",".","For","other","arguments",",","see","BlackboxOptimiser"]
code: def __init__(
      self,
      func_caller,
      worker_manager=None,
      mutation_op=None,
      crossover_op=None,
      options=None,
      reporter=None,
      ask_tell_mode=False,
  ):
      """Constructor.
      mutation_op: A function which takes in a list of objects and modifies them.
      crossover_op: A function which takes in two objects and performs a cross-over
                    operation.
      So far we have not implemented cross-over but included here in case we want to
      include it in the future.
      For other arguments, see BlackboxOptimiser
      """
      # TODO: implement cross-over operation
      options = load_options(ga_opt_args, partial_options=options)
      super(GAOptimiser, self).__init__(
          func_caller,
          worker_manager,
          model=None,
          options=options,
          reporter=reporter,
          ask_tell_mode=ask_tell_mode,
      )
      self.mutation_op = mutation_op
      self.crossover_op = crossover_op
      self.to_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 1 to create a new GAOptimiser object from inherited base classes: BlackboxOptimiser with example: obj = GAOptimiser(func_caller, worker_manager, mutation_op, crossover_op, options, reporter, ask_tell_mode)