这是我的问题。
我正在使用DEAP处理一个优化问题。
现在,我使用toolbox.register("select", tools.selNSGA2)
来选择一些最适合生存的个体。
但我想通过用户定义的函数添加一些阈值。
算法可以实现两步选择吗?
通过锦标赛或selNSGA2方法选择几个人
- 醇>
按预先定义的阈值消灭多个人。
答案 0 :(得分:0)
这应该有用。
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)
但是,您最终会选择< = k offspring。