【问题标题】:How to add elimination mechanism in Python genetic algorithm based on DEAP如何在基于DEAP的Python遗传算法中添加淘汰机制
【发布时间】:2017-05-30 10:05:57
【问题描述】:

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

目前,我使用toolbox.register("select", tools.selNSGA2) 来选择一些最适合生存的个体。

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

算法能否实现两步选择?

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

  2. 通过预定义的阈值消除几个人。

【问题讨论】:

    标签: python algorithm genetic-algorithm deap


    【解决方案1】:

    这应该可行。

    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后代,如果选择
    猜你喜欢
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 2018-01-18
    • 1970-01-01
    • 2016-10-18
    • 2017-01-06
    • 1970-01-01
    相关资源
    最近更新 更多