我试着用DEAP来最大化一个功能。
我理解如何使用基本示例:

toolbox.register("attr_bool", random.randint, 0, 1)
toolbox.register("individual", tools.initRepeat, creator.Individual,
    toolbox.attr_bool, 100)

创建100个随机值或0或1。然后你继续创造一个种群并变异。。。
例如,当有两个参数时,如何构建填充:
parameter 1 integer with range [0,1]
parameter 2 float with range [0,2]

然后创建一个组合两个随机采样参数的个体?或参数2的任意阶跃值样本,例如0.25。

最佳答案

您只需执行以下操作即可创建多种类型的染色体:

toolbox.register("attr_int", random.randint, 0, 1)
toolbox.register("attr_flt", random.uniform, 0, 2)
toolbox.register("individual", tools.initCycle, creator.Individual,
             (toolbox.attr_int, toolbox.attr_flt),
             n=1)

然后创建一个100大小的种群:
toolbox.register("population", tools.initRepeat, list, toolbox.individual)
population = toolbox.population(n=100)

关于python - Deap python包:创建具有不同范围以及整数和浮点数混合的个体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46811850/

10-12 23:30