class_docstr: A GA Optimiser for Cartesian Product Domains. 
class_docstr_tok: ["A","GA","Optimiser","for","Cartesian","Product","Domains","."]
docstr: The crossover operation for the product domain. 
docstr_tok: ["The","crossover","operation","for","the","product","domain","."]
code: def _crossover_op(self):
      """The crossover operation for the product domain."""
      raise NotImplementedError(
          "Not implemented cross over operation yet."
      )
  
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 6 for calling the CPGAOptimiser obj's underlying member method code with example usage: obj._crossover_op() without return types