主要内容

选择和输出

运行遗传算法使用默认选项

运行遗传算法使用默认选项,电话遗传算法与语法

[x, fval] = ga (@fitnessfun,据nvar)

输入参数遗传算法

  • @fitnessfun——一个函数处理文件,计算适应度函数。计算目标函数解释如何写这个文件。

  • 据nvar——为适应度函数自变量的数目。

输出参数

  • x——最后一点

  • fval——适应度函数的值x

额外的输入和输出参数的描述,参考页面遗传算法

你可以运行示例中描述最小化Rastrigin的功能从命令行输入

rng (1,“旋风”)%的再现性%定义Rastrigin的函数rastriginsfcn = @(流行)10.0 *大小(流行,2)+总和(流行。^ 2 - 10.0 * cos(2 *π。*流行),2);[x, fval] = ga (rastriginsfcn, 2)

这将返回

优化终止:平均不到options.FunctionTolerance健身价值的变化。x = -1.0421 - -1.0018 fval = 2.4385

在命令行设置选项

您可以指定任何可用的选项遗传算法通过选项作为输入参数遗传算法使用语法

[x, fval] = ga(据nvar @fitnessfun,[],[],[],[],[],[],[],选项)

这个语法没有指定任何线性平等、线性不等式或非线性约束。

您创建选项使用函数optimoptions

选择= optimoptions (@ga);

这将返回选项它的字段的默认值。遗传算法使用这些缺省值如果你不通过选项作为输入参数。

每个选项的值存储在一个领域选项,如options.PopulationSize。你可以通过输入显示这些值选项紧随其后的是一段和字段的名称。例如,显示大小的人口遗传算法的输入

options.PopulationSize
ans = 50当numberOfVariables < = 5,否则200年

创建选项的字段值不同于默认——例如设置PopulationSizeOne hundred.而不是其默认值50——输入

选择= optimoptions (“遗传算法”,“PopulationSize”,100);

这就产生了选项所有的值设置为他们的违约除外PopulationSize设置为One hundred.

如果你现在输入,

据nvar ga (@fitnessfun,[],[],[],[],[],[],[],选项)

遗传算法遗传算法运行的人口规模One hundred.

如果你随后决定改变的另一个领域选项,比如设置PlotFcn@gaplotbestf,情节的最佳适应度函数值在每一代,电话optimoptions与语法

选择= optimoptions(选项,“PlotFcn”,@plotbestf);

这保存所有字段的当前值选项除了PlotFcn,改变了@plotbestf。请注意,如果您省略的输入参数选项,optimoptions重置PopulationSize其默认值。

你也可以设置PopulationSizePlotFcn与简单的命令

选择= optimoptions (“遗传算法”,“PopulationSize”,100,“PlotFcn”,@plotbestf);

额外的输出参数

得到更多的信息关于遗传算法的性能,您可以调用遗传算法与语法

[x, fval exitflag、输出人口,分数)= ga (@fitnessfcn,据nvar)

除了xfval,这个函数返回以下额外的输出参数:

  • exitflag——整数值对应算法终止的原因

  • 输出——结构包含的信息在每一代算法的性能

  • 人口——最后的人口

  • 分数——最后的分数

看到遗传算法参考页面获取更多信息关于这些参数。

另请参阅

相关的话题