code: def find_extreme_points(fitnesses, best_point, extreme_points=None):
      "Finds the individuals with extreme values for each objective function."
      # Keep track of last generation extreme points
      if extreme_points is not None:
          fitnesses = numpy.concatenate(
              (fitnesses, extreme_points), axis=0
          )
  
      # Translate objectives
      ft = fitnesses - best_point
  
      # Find achievement scalarizing function (asf)
      asf = numpy.eye(best_point.shape[0])
      asf[asf == 0] = 1e6
      asf = numpy.max(ft * asf[:, numpy.newaxis, :], axis=2)
  
      # Extreme point are the fitnesses with minimal asf
      min_asf_idx = numpy.argmin(asf, axis=1)
      return fitnesses[min_asf_idx, :]
  
imports: import bisect
  from collections import defaultdict, namedtuple
  from itertools import chain
  import math
  from operator import attrgetter, itemgetter
  import random
  import numpy
label_desc: Use image node_id 16 for calling a global function with example usage: find_extreme_points(fitnesses, best_point, extreme_points) and returns: fitnesses