Added rank selection, npoint crossover, and tournament selection