Particle swarm optimization with neighborhood-based budget allocation