0

我正在使用 Deap 库 (Python) 进行进化计算。我对以下突变功能感兴趣:

deap.tools.mutGaussian(individual, mu, sigma, indpb)

indpb根据文档,其中是指每个解决方案元素发生变异的概率。

我的问题是,如何为解决方案的某些部分(索引)指定更高(或更低)的突变概率。

换句话说,使得indpb不是标量而是解的向量。

4

1 回答 1

1

您很可能需要实现自己的突变功能。也许类似于以下内容:

def mutGaussian(individual, mu, sigma, indpb):
    size = len(individual)
    for i, m, s, p in zip(xrange(size), mu, sigma, indpb):
        if random.random() < p:
            individual[i] += random.gauss(m, s)

    return individual,
于 2019-11-05T17:55:42.827 回答