def update_pop(self):
        """Updates the population according to crossover and fitness criteria.
        """
        candidates = []
        for ind in self.population:
            candidates.append(self.crossover(ind))
        self._params['model_count'] += len(candidates)
        self.assign_fitnesses(candidates)
        for i in range(len(self.population)):
            if candidates[i].fitness > self.population[i].fitness:
                self.population[i] = candidates[i]