解决方案各部分的单独突变概率(遗传算法)

问题描述 投票:0回答:1

我正在使用Deap库(Python)进行进化计算。我对以下突变功能感兴趣:deap.tools.mutGaussian(个人,mu,sigma,indpb)

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

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

换句话说,因此indpb不是标量,而是解的向量。

谢谢!

genetic-algorithm deap
1个回答
0
投票

您很可能需要实现自己的突变功能。也许像下面这样:

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,
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.