# File lib/pso.rb, line 141
  def each
    rebirth
    best_this_time = VERY_LARGE_NUMBER
    @particles.each do |p|
      v = p.vector
      error = yield v
      if error < @global_best_error
        @global_best_vector = v.dup
        @global_best_error = error
      end
      if error < best_this_time
        best_this_time = error
      end
      p.optimize error
      p.roam
    end
    #puts best_this_time
  end