code: def delaunay_complex_minimisers(self):
      # Construct complex minimizers on the current sampling set.
      # if self.fn >= (self.dim + 1):
      if self.fn >= (self.dim + 2):
          # TODO: Check on strange Qhull error where the number of vertices
          # required for an initial simplex is higher than n + 1?
          if self.dim < 2:  # Scalar objective functions
              if self.disp:
                  print("Constructing 1-D minimizer pool")
  
              self.ax_subspace()
              self.surface_topo_ref()
              self.minimizers_1D()
  
          else:  # Multivariate functions.
              if self.disp:
                  print("Constructing Gabrial graph and minimizer pool")
  
              if self.iters == 1:
                  self.delaunay_triangulation(grow=False)
              else:
                  self.delaunay_triangulation(
                      grow=True, n_prc=self.n_prc
                  )
                  self.n_prc = self.C.shape[0]
  
              if self.disp:
                  print(
                      "Triangulation completed, building minimizer pool"
                  )
  
              self.delaunay_minimizers()
  
          if self.disp:
              logging.info(
                  "Minimizer pool = SHGO.X_min = {}".format(self.X_min)
              )
      else:
          if self.disp:
              print(
                  "Not enough sampling points found in the feasible domain."
              )
          self.minimizer_pool = [None]
          try:
              self.X_min
          except AttributeError:
              self.X_min = []
  
imports: import numpy
  import time
  import logging
  import warnings
  from scipy import spatial
  from scipy.optimize import OptimizeResult, minimize
  from scipy.optimize._shgo_lib.triangulation import Complex
label_desc: Use image node_id 27 for calling the SHGO obj's underlying member method code with example usage: obj.delaunay_complex_minimisers() without return types