Sphere_indiv.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:PyGenAlg 作者: RaphDeau 项目源码 文件源码
def mutation(cls, indiv):
        newInd = indiv.duplicate()
        nbMute = int(random.random()*(len(newInd.__x)-1))+1
        toMute = []
        for i, x in enumerate(indiv.__x):
            if len(toMute) < nbMute:
                toMute.append(i)
            else:
                iMin = 0
                for im, i2 in enumerate(toMute):
                    if abs(indiv.__x[i2]) < abs(indiv.__x[toMute[iMin]]):
                        iMin = im
                if abs(x) > abs(indiv.__x[toMute[iMin]]):
                    toMute[iMin] = i
        for i in toMute:
            newInd.__x[i] = random.uniform(cls.__BOUNDS[0], cls.__BOUNDS[1])
        return newInd
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号