【问题标题】:Number of Function Evaluations功能评估次数
【发布时间】:2013-10-02 06:02:33
【问题描述】:

我正在研究多目标遗传算法,我说了 4 个目标,没有。代数为 400,人口规模为 100。 那么会有多少功能评估呢? 我的意思是说是4*400*100还是400*100?

【问题讨论】:

    标签: search genetic-algorithm evolutionary-algorithm


    【解决方案1】:

    如果您为每条染色体评估 4 个功能,那么显然您总共有 4*400*100 次评估。

    您可能还需要考虑每个评估的运行时间,因为如果其中 3 个函数在 O(n) 中运行,第四个在 O(n^2) 中运行,则总运行时间将受 @987654323 的限制@,并且在大问题实例中只会受到其他三个函数的轻微影响。

    【讨论】:

    • 我知道沼泽哦符号,假设在我的算法中我有 3 个相同复杂度的函数,即 O(n^2) 并且在另一个算法中我有 2 个 O(n^2) 函数,在相同的编号上比较两种算法是否公平?几代人?
    • 是的,因为当n增长时,它们之间的运行时间比例会保持不变。
    【解决方案2】:

    如果您询问的是 MOO 研究人员计算的评估次数(即,您想知道在相同的评估次数下您的算法是否比我的算法更好),那么接受的答案是不正确的。在多目标优化中,我们正式认为问题不是优化k个不同的函数,而是优化一个向量值函数。

    这是每个人的一次评估,与目标空间的维度无关。

    【讨论】:

      【解决方案3】:

      据我所知,遗传算法的函数评估次数可以通过以下等式计算: 函数评估数 = 主种群数 + [新子代数(来自交叉)+ 变异子代数(来自突变)] * 迭代次数。

      【讨论】:

        猜你喜欢
        • 2015-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-29
        • 2014-04-15
        • 1970-01-01
        相关资源
        最近更新 更多