选择和产出

使用默认选项运行ga

要使用默认选项运行遗传算法,请调用ga用语法

[x,fval]=ga(@fitnessfun,nvars)

的输入参数ga

  • @健身乐趣-用于计算适应度函数的文件的函数句柄。计算目标函数说明如何写入此文件。

  • nvars-适应度函数的自变量数。

输出参数是

  • x-最后一点

  • 未来值-适应度函数在x

有关其他输入和输出参数的说明,请参阅的参考页ga.

您可以运行中描述的示例最小化Rastrigin函数通过在命令行中输入

rng(1,'twister')%表示再现性[x,fval]=ga(@rastriginsfcn,2)

这是回报

优化终止:适应值的平均变化小于options.FunctionTolerance。x=-1.0421-1.0018 fval=2.4385

在命令行中设置选项

您可以指定可用于的任何选项ga顺便选择权作为输入参数ga使用语法

[x,fval]=ga(@fitnessfun,NVAR,[]、[]、[]、[]、[]、[]、[]、[]、[]选项)

此语法不指定任何线性等式、线性不等式或非线性约束。

你创造选择权使用函数最佳选择.

options=options(@ga);

这是回报选择权使用其字段的默认值。ga如果不将选项作为输入参数传入,则使用这些默认值。

每个选项的值存储在选择权例如options.PopulationSize. 您可以通过输入选择权后跟句点和字段名称。例如,要显示遗传算法的总体大小,请输入

options.PopulationSize ans='50当numberOfVariables<=5时,否则为200'

创造选择权使用与默认值不同的字段值-例如设置人口规模100而不是它的默认值50-进入

选项=最佳选项('ga','PopulationSize',100);

这创造了选择权将所有值设置为默认值,但人口规模,设置为100.

如果你现在进入,

ga(@fitnessfun,NVAR,[]、[]、[]、[]、[]、[]、[]、[]、[]选项)

ga运行人口规模为的遗传算法100.

如果您随后决定更改中的另一个字段选择权,例如设置绘图仪@gaplotbestf,它在每一代绘制最佳适应度函数值,调用最佳选择用语法

选项=最佳选项(选项,'PlotFcn',@plotbestf);

这将保留所有字段的当前值选择权除了绘图仪,改为@普洛贝斯特. 请注意,如果省略输入参数选择权,最佳选择重置人口规模设置为其默认值。

也可以同时设置这两个参数人口规模绘图仪用一个命令

选项=最佳选项('ga','PopulationSize',100,'PlotFcn',@plotbestf);

附加输出参数

要获得有关遗传算法性能的更多信息,可以调用ga用语法

[x,fval,exitflag,output,population,scores]=ga(@fitnessfcn,nvars)

此外x未来值,此函数返回以下附加输出参数:

  • 出口滞后-与算法终止原因对应的整数值

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

  • 人口-最终人口

  • 分数-期末成绩

ga有关这些参数的详细信息,请参见参考页。

另见

相关话题