class_docstr: Blackbox Optimiser Class. 
class_docstr_tok: ["Blackbox","Optimiser","Class","."]
docstr: Constructor. 
docstr_tok: ["Constructor","."]
code: def __init__(
      self,
      multi_func_caller,
      worker_manager,
      model=None,
      options=None,
      reporter=None,
  ):
      """Constructor."""
      assert isinstance(
          multi_func_caller, MultiFunctionCaller
      ) and not isinstance(multi_func_caller, FunctionCaller)
      self.multi_func_caller = multi_func_caller
      # If it is not a list, computing the non-dominated set is equivalent
      # to computing the maximum.
      self.domain = self.multi_func_caller.domain
      super(MultiObjectiveOptimiser, self).__init__(
          multi_func_caller, worker_manager, model, options, reporter
      )
  
imports: from __future__ import division
  from argparse import Namespace
  import numpy
  from ..exd.exd_core import ExperimentDesigner, exd_core_args
  from ..exd.experiment_caller import MultiFunctionCaller, FunctionCaller
  from ..exd.exd_utils import EVAL_ERROR_CODE
  from ..utils.general_utils import update_pareto_set
label_desc: Use image node_id 1 to create a new MultiObjectiveOptimiser object from inherited base classes: ExperimentDesigner with example: obj = MultiObjectiveOptimiser(multi_func_caller, worker_manager, model, options, reporter)