code: def multiobjective_minimise_functions(funcs, *args, **kwargs):
      """
      Minimises the functions funcs over domain domain. See
      multiobjective_maximise_functions for a description of the arguments. All arguments
      are the same except for funcs, which should now be minimised.
      """
  
      # The following function returns the negative of a single function
      def _get_func_to_max(_func):
          """Returns a function to be maximised."""
          return lambda x: -_func(x)
  
      # The following function returns the negative of multiple functions
      def _get_funcs_to_max(_funcs):
          """Returns funcs to max."""
          if isinstance(_funcs, tuple) and len(_funcs) == 2:
              neg_funcs = lambda *args, **kwargs: [
                  -val for val in _funcs[0](*args, **kwargs)
              ]
              funcs_to_max = (neg_funcs, _funcs[1])
          elif isinstance(_funcs, list):
              funcs_to_max = [_get_func_to_max(f) for f in funcs]
          else:
              raise ValueError(_FUNC_FORMAT_ERR_MSG)
          return funcs_to_max
  
      # Transform the functions and call the maximiser
      funcs_to_max = _get_funcs_to_max(funcs)
      (
          pareto_max_values,
          pareto_points,
          history,
      ) = multiobjective_maximise_functions(
          funcs_to_max, *args, **kwargs
      )
  
      # Post process history
      def _negate_array(arr):
          """Negates an array."""
          return [-elem for elem in arr]
  
      pareto_min_values = _negate_array(pareto_max_values)
      history.query_vals = [
          _negate_array(qv) for qv in history.query_vals
      ]
      history.curr_pareto_vals = [
          _negate_array(cpv) for cpv in history.curr_pareto_vals
      ]
      history.curr_true_pareto_vals = [
          _negate_array(ctpv) for ctpv in history.curr_true_pareto_vals
      ]
      return pareto_min_values, pareto_points, history
  
imports: from .api_utils import get_worker_manager_from_type, load_options_for_method, preprocess_arguments, preprocess_options_for_gp_bandits
  from ..exd.experiment_caller import EuclideanMultiFunctionCaller, CPMultiFunctionCaller
  from ..exd.cp_domain_utils import get_raw_from_processed_via_config
  from ..opt.multiobjective_gp_bandit import multiobjective_gpb_from_multi_func_caller
  from ..opt.random_multiobjective_optimiser import random_multiobjective_optimisation_from_multi_func_caller
label_desc: Use image node_id 2 for calling a global function with example usage: multiobjective_minimise_functions(funcs) and returns: pareto_min_values,  pareto_points,  history, function, funcs_to_max, unknown