code: def run(self, max_iter=None):
      self.max_iter = max_iter or self.max_iter
      for epoch in range(self.max_iter):
          for idx_individual in range(self.size_pop):
              self.swarm(idx_individual)
              self.follow(idx_individual)
          self.visual *= self.q
      self.best_X, self.best_Y = (
          self.best_x,
          self.best_y,
      )  # will be deprecated, use lowercase
      return self.best_x, self.best_y
  
file_path: scikit-opt/sko/AFSA.py
imports: import numpy
  from scipy import spatial
label_desc: Use image node_id 8 for calling the AFSA obj's underlying member method code with example usage: obj.run(max_iter) and returns: self,  self