code: def hypervolume(front, ref=None):
      """Return the hypervolume of a *front*. If the *ref* point is not
      given, the worst value for each objective +1 is used.
  
      :param front: The population (usually a list of undominated individuals)
                    on which to compute the hypervolume.
      :param ref: A point of the same dimensionality as the individuals in *front*.
      """
      # Must use wvalues * -1 since hypervolume use implicit minimization
      wobj = numpy.array([ind.fitness.wvalues for ind in front]) * -1
      if ref is None:
          ref = numpy.max(wobj, axis=0) + 1
      return hv.hypervolume(wobj, ref)
  
imports: from math import hypot, sqrt
  from functools import wraps
  from itertools import repeat
label_desc: Use image node_id 3 for calling a global function with example usage: hypervolume(front, ref) and returns: hv