0

我想在 GP 中使用不止一种变异方法,例如 mutUniform 和 mutEmphemeral。但是所有的算法都只能接收一个参数。有没有办法可以解决这个问题?

4

1 回答 1

0

假设您已经定义mutUniformmutEmphemeral,您可以定义一个新的突变函数来运行这两个突变,并将该新函数注册到您的工具箱中。

这看起来有点像

def mutMyWay(individual, mutpb, uniform_parameters, emphemeral_parameters):
    if random.random()<mutpb:
        individual = mutUniform(individual, *uniform_parameters)
        individual = mutEmphemeral(individual, *emphemeral_parameters)

toolbox.register('mutate', mutMyWay)
于 2019-11-08T09:22:54.113 回答