A novel multi-agent simulation based particle swarm optimization algorithm