Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在基于DEAP的Python遗传算法中添加消除机制_Python_Algorithm_Genetic Algorithm_Deap - Fatal编程技术网

如何在基于DEAP的Python遗传算法中添加消除机制

如何在基于DEAP的Python遗传算法中添加消除机制,python,algorithm,genetic-algorithm,deap,Python,Algorithm,Genetic Algorithm,Deap,这是我的问题。 我正在使用DEAP处理一个优化问题 现在,我使用toolbox.register(“select”,tools.selNSGA2)来选择一些最适合生存的个体 但我想通过用户定义的函数添加一些阈值 该算法能否实现两步选择 通过锦标赛或selNSGA2方法选择几个个人 通过预定义的阈值消除几个个体 这应该行得通 def myselect(pop, k, check): return [ind for in in tools.selNSGA2(pop, k) if chec

这是我的问题。
我正在使用DEAP处理一个优化问题

现在,我使用
toolbox.register(“select”,tools.selNSGA2)
来选择一些最适合生存的个体

但我想通过用户定义的函数添加一些阈值

该算法能否实现两步选择

  • 通过锦标赛或selNSGA2方法选择几个个人

  • 通过预定义的阈值消除几个个体

  • 这应该行得通

    def myselect(pop, k, check):
        return [ind for in in tools.selNSGA2(pop, k) if check(ind)]
    
    def mycheck(ind):
        return True
    
    toolbox.register("select", myselect, check=mycheck)
    

    但是,您将最终选择,或者您可以对所有个体运行
    mycheck
    ,然后从这些个体中选择
    k
    后代(如果选择)