nextChildPopulation = Population() childPopulace = [] for j in range(1, len(rankedFronts) + 1): singularFront = [] singularFront = rankedFronts[j] usableSpace = config.populationSize - len(childPopulace) if singularFront != [] and usableSpace > 0: if usableSpace >= len(singularFront): for chromosome in singularFront: childPopulace.append(chromosome) else: latestFront = [] latestFront = service.crowd_comparison_sort( service.crowding_distance_assignment(singularFront)) for k in range(0, usableSpace): childPopulace.append(latestFront[k].chromosome) else: break nextChildPopulation.populace = childPopulace if i < config.generations: parent = child child = synthesis.create_child_population(nextChildPopulation) end_time = time() m = (end_time - start_time) // 60 s = (end_time - start_time) % 60 print('took {} minutes {} seconds'.format(m, s))