docs: def valid_loc(self,F=None):
          """returns the indices of individuals with valid fitness."""
          if F is not None:
              return [i for i,f in enumerate(F) if np.all(f < self.max_fit) and np.all(f >= 0)]
          else:
              return [i for i,f in enumerate(self.F) if np.all(f < self.max_fit) and np.all(f >= 0)]