Basic particle swarm optimization