code: def cp_ga_optimiser_from_proc_args(
      func_caller,
      cp_domain,
      worker_manager,
      max_capital,
      mode="asy",
      orderings=None,
      single_mutation_ops=None,
      single_crossover_ops=None,
      options=None,
      reporter=None,
  ):
      """A GA optimiser on Cartesian product space from the function caller."""
      if not isinstance(func_caller, ExperimentCaller):
          func_caller = CPFunctionCaller(
              func_caller, cp_domain, domain_orderings=orderings
          )
      options = load_options(cpga_opt_args, partial_options=options)
      options.mode = mode
      from ..exd.worker_manager import (
          RealWorkerManager,
          SyntheticWorkerManager,
      )
  
      if isinstance(worker_manager, RealWorkerManager):
          options.capital_type = "realtime"
      elif isinstance(worker_manager, SyntheticWorkerManager):
          options.capital_type = "return_value"
      return (
          CPGAOptimiser(
              func_caller,
              worker_manager,
              single_mutation_ops=single_mutation_ops,
              single_crossover_ops=single_crossover_ops,
              options=options,
              reporter=reporter,
          )
      ).optimise(max_capital)
  
imports: from copy import copy
  import numpy
  from scipy.spatial.distance import cdist
  from ..exd.cp_domain_utils import get_processed_func_from_raw_func_for_cp_domain, load_cp_domain_from_config_file
  from ..exd.experiment_caller import ExperimentCaller, CPFunctionCaller
  from ..exd.worker_manager import SyntheticWorkerManager
  from ..exd.exd_utils import get_cp_domain_initial_qinfos
  from .ga_optimiser import GAOptimiser, ga_opt_args
  from ..utils.general_utils import project_to_bounds
  from ..utils.option_handler import load_options
label_desc: Use image node_id 11 for calling a global function with example usage: cp_ga_optimiser_from_proc_args(func_caller, cp_domain, worker_manager, max_capital, mode, orderings, single_mutation_ops, single_crossover_ops, options, reporter) and returns: CPGAOptimiser