我正在使用 Python 中的 DEAP 包来编写一个程序,用于优化进化算法,特别是遗传算法。
我需要在 python 中使用列表类型来创建染色体。这条染色体应该有五个不同范围的浮动基因(等位基因)。
我的主要问题是创建这样的染色体。但是,如果我可以为此使用 deap 包的 tools.initRepeat 功能会更好。
对于所有基因都在同一范围内的情况,我们可以使用以下代码:
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)
IND_SIZE=10
toolbox = base.Toolbox()
toolbox.register("attr_float", random.random)
toolbox.register("individual", tools.initRepeat, creator.Individual,
toolbox.attr_float, n=IND_SIZE)
我从这里得到的。