Я написал свою собственную функцию для генерации индивидуума
def generate_Individual(arr1,arr2):
np.random.shuffle(arr1)
np.random.shuffle(arr2)
Candidate = tuple(zip(arr1,arr2))
return Candidate
def generate_Fitness(Individual):
sum_some = 0
for i in range (0,len(Individual)):
sum_some = sum_some + cals(Individual[i][0],Individual[i][1])
return sum_some
Это я регистрируюсь на панели инструментов DEAP
import random
from deap import base
from deap import creator
from deap import tools
creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", list, fitness=creator.FitnessMax)
toolbox = base.Toolbox()
toolbox.register("Individual", generate_Individual,arr1,arr2)
toolbox.register("population", tools.initRepeat, list, toolbox.Individual)
Теперь скажите, что я звоню населению 4 с этим кодом
pop = toolbox.population(n=4)
pop[0]
pop[3]
Оказывается, все 4 человека в популяции одинаковы, хотя случайность, которую я встроил в функцию генератора
Почему это происходит?