matlab遗传算法停止准则最大数量的函数评估

时间:2014-09-21 08:38:08

标签: matlab machine-learning genetic-algorithm

我正在使用遗传算法函数

ga(fitnessfcn,nvars,.....,options)  

我们可以使用gaoptimset(...)为算法设置各种参数。 但是,我无法理解如何将目标函数评估的最大数量设置为此函数的停止标准。

我找到了用于停止标准的参数Generations,但它只设置了最大代数,每一代都有多个函数评估。

那么,有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如果您正在谈论标准遗传算法,那么请假设您有一群N染色体。在每一代中,通过调用评估函数来计算每种抗体的适合度。因此,对于G代,G * N中的函数评估总数。因此,不是设置功能评估的数量,而是将代数设置为

G =(期望的功能评估数)/(人口规模)

功能评估的数量通常用于比较而不是代数,因为:

  • 不同的算法每代执行不同数量的功能评估。例如,免疫系统为每种抗体创建C克隆并评估克隆,因此功能评估的数量为G * N * C
  • 评估函数通常是算法中计算成本最高的部分。