diff --git a/geneticAlgo/crossover.py b/geneticAlgo/crossover.py index 89a67b3..b250232 100644 --- a/geneticAlgo/crossover.py +++ b/geneticAlgo/crossover.py @@ -10,9 +10,7 @@ def breed(chromosome1, chromosome2): k = random.random() # print (k) if(k>=0.5): - temp = chromosome1[i] - chromosome1[i] = chromosome2[i] - chromosome2[i] = temp + chromosome1[i], chromosome2[i] = chromosome2[i], chromosome1[i] def crossover( matingPool, origChromosomes, noOfElite): diff --git a/geneticAlgo/genetic_algo_initial_popu.py b/geneticAlgo/genetic_algo_initial_popu.py index c38ddbc..f23a4f0 100644 --- a/geneticAlgo/genetic_algo_initial_popu.py +++ b/geneticAlgo/genetic_algo_initial_popu.py @@ -9,7 +9,5 @@ def createInitialPopu(maxDishes, initialPopuSize): initialPopuSize -> Size of initial population pool """ - population = [] - for i in range(1, initialPopuSize+1): - population.append(createChromosome(maxDishes)) + population = [createChromosome(maxDishes) for i in range(initialPopuSize)] return population diff --git a/geneticAlgo/mutate.py b/geneticAlgo/mutate.py index e2d06a4..35ac9fc 100644 --- a/geneticAlgo/mutate.py +++ b/geneticAlgo/mutate.py @@ -44,11 +44,9 @@ def mutatePopulation ( population, noOfElite, mutationRate): """ popuLen = len(population) newPopu = [] - for i in range(0,noOfElite): - newPopu.append(deepcopy(population[i])) - for i in range(noOfElite,popuLen): - mutantIndi = mutate(population[i],mutationRate) - newPopu.append(mutantIndi) + newPopu.extend([deepcopy(individual) for individual in population[:noOfElite]]) + newPopu.extend([mutate(individual, mutationRate) for individual in population[noOfElite:popuLen]]) + return newPopu # mutate function test