class_docstr: Experiment which uses one experiment for the optimization,
  and another for the evaluation
code: def evaluation_function(self, *recommendations: p.Parameter) -> float:
      if (
          self._pareto_size is not None
          and len(recommendations) > self._pareto_size
      ):
          # select a subset
          hypervolume = mobj.HypervolumePareto(
              upper_bounds=self.multiobjective_upper_bounds
          )
          hypervolume.extend(recommendations)
          recommendations = tuple(
              hypervolume.pareto_front(
                  size=self._pareto_size,
                  subset=self._pareto_subset,
                  subset_tentatives=self._pareto_subset_tentatives,
              )
          )
      return min(
          self._evaluation.evaluation_function(recom)
          for recom in recommendations
      )
  
file_path: nevergrad/nevergrad/functions/helpers.py
imports: import os
  import nevergrad.common.typing
  from nevergrad.parametrization import parameter
  from nevergrad.optimization import multiobjective
  from .None import base
label_desc: Use image node_id 5 for calling the SpecialEvaluationExperiment obj's underlying member method code with example usage: obj.evaluation_function() and returns: min