class_docstr: An NDS class, inherited from Optimizer.
  
  This is the designed class to define NDS-related
  variables and methods.
  
  References:
      P. Godfrey, R. Shipley and J. Gryz.
      Algorithms and Analyses for Maximal Vector Computation.
      The VLDB Journal (2007).
docstr: Wraps Non-Dominated Sorting over all agents and variables.
  
  Args:
      space: Space containing agents and update-related information.
docstr_tok: ["Wraps","Non-Dominated","Sorting","over","all","agents","and","variables",".","Args",":","space",":","Space","containing","agents","and","update-related","information","."]
code: def update(self, space: Space) -> None:
      """Wraps Non-Dominated Sorting over all agents and variables.
  
      Args:
          space: Space containing agents and update-related information.
  
      """
  
      temp_agents = copy.deepcopy(space.agents)
      temp_status = -10
  
      for i, agent in enumerate(space.agents):
          for j, temp in enumerate(temp_agents):
              if self._compare_domination(temp, agent):
                  self.count[i] += 1
                  self.set[j][i] = 1
  
      archive = []
      for i, agent in enumerate(space.agents):
          # If the solution is non-dominant, it should be
          # added to the frontier
          if self.count[i] == 0:
              self.status[i] = temp_status
              archive.append(i)
  
              self.n_pareto_points += 1
  
      # Finds the subsequence archives (frontiers)
      aux_archive = []
      while len(archive) != 0:
          temp_status -= 1
  
          for f in archive:
              # Checks solutions that are dominated by current solution
              for s in self.set[f].nonzero()[0]:
                  self.count[s] -= 1
  
                  # Adds to the auxiliary frontier if solution is non-dominant
                  if self.count[s] == 0:
                      aux_archive.append(s)
                      self.status[s] = temp_status
  
          # When current frontier is explored, resets the auxiliary frontier
          archive = aux_archive
          aux_archive = []
  
      # Adjusts the rankings based on the found frontiers
      for i, agent in enumerate(space.agents):
          old_status = self.status[i]
  
          if old_status != -1:
              self.status[i] = old_status - temp_status - 1
  
imports: import copy
  from typing import Any, Dict, Optional
  import numpy
  import opytimizer.utils.exception
  from opytimizer.core import Optimizer
  from opytimizer.core.agent import Agent
  from opytimizer.core.space import Space
  from opytimizer.utils import logging
label_desc: Use image node_id 12 for calling the NDS obj's underlying member method code with example usage: obj.update(space) without return types