1

我在 Python 中使用 DEAP 并在那里使用遗传算法。以下是大小为 的属性(染色体)的定义100

toolbox.register("attr_bool", random.randint, 0, 1)

下面的表达式创建了一个大小为 300 的群体,其中每一列都是染色体或解决方案。

pop = toolbox.population(n=300)

我的问题是,我怎样才能强制pop拥有一个列(染色体或溶液) all 1。我想确保存在一个向量为1in 的解决方案。

4

1 回答 1

2

你可以试试这个:

def make_bool(x):
    return (x)

toolbox.register("bit_1", make_bool, 1)
toolbox.register("indiv_1", tools.initRepeat, creator.Individual, toolbox.bit_1, 100)   

all_one = toolbox.indiv_1()
pop.append(all_one)
于 2016-11-13T13:55:35.173 回答