code: def random_multiobjective_optimisation_from_multi_func_caller(
      multi_func_caller,
      worker_manager,
      max_capital,
      mode,
      options=None,
      reporter="default",
  ):
      """Creates an appropriate MultiObjectiveOptimiser object and optimises the functions
      in multi_func_caller.
      """
      reporter = get_reporter(reporter)
      if isinstance(multi_func_caller.domain, domains.EuclideanDomain):
          moo_constructor = EuclideanRandomMultiObjectiveOptimiser
          dflt_list_of_options = (
              euclidean_random_multiobjective_optimiser_args
          )
      elif isinstance(
          multi_func_caller.domain, domains.CartesianProductDomain
      ):
          moo_constructor = CPRandomMultiObjectiveOptimiser
          dflt_list_of_options = cp_random_multiobjective_optimiser_args
      else:
          raise ValueError(
              "Random optimiser not implemented for domain of type %s."
              % (type(multi_func_caller.domain))
          )
      # Load options
      if options is None:
          options = load_options(dflt_list_of_options)
      options.mode = mode
      # Create Optimiser
      moo_optimiser = moo_constructor(
          multi_func_caller, worker_manager, options, reporter
      )
      # optimise and return
      return moo_optimiser.optimise(max_capital)
  
imports: from argparse import Namespace
  import numpy
  from .random_optimiser import random_sample_from_cp_domain_wrapper
  from ..exd.cp_domain_utils import get_processed_func_from_raw_func_for_cp_domain, load_cp_domain_from_config_file
  from ..exd import domains
  from ..exd.exd_utils import get_euclidean_initial_qinfos, get_cp_domain_initial_qinfos
  from ..exd.experiment_caller import CPMultiFunctionCaller
  from .multiobjective_optimiser import MultiObjectiveOptimiser, multiobjective_opt_args
  from ..utils.option_handler import load_options
  from ..utils.reporters import get_reporter
  from ..utils.general_utils import map_to_bounds
label_desc: Use image node_id 1 for calling a global function with example usage: random_multiobjective_optimisation_from_multi_func_caller(multi_func_caller, worker_manager, max_capital, mode, options, reporter) and returns: moo_optimiser