Shuffle needs to shuffle both the fitness vector *and* the population vector in synch so that the ith element of the fitness vector is the fitness of the ith element of the population vector. You're just shuffling the fitnesses, but losing any connection to the individuals.