code: def next_population(self, population, fitnesses):
          
          return [self._next_solution() for _ in range(self._population_size)]
docs: Make a new population after each optimization iteration.
  
          Args:
              population: The population current population of solutions.
              fitnesses: The fitness associated with each solution in the population
          Returns:
              list; a list of solutions.