主要内容

选择和输出

使用默认选项运行ga

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

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

的输入参数遗传算法

  • @fitnessfun—计算适应度函数的文件的函数句柄。计算目标函数解释如何写入此文件。

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

输出参数是

  • x-最后一点

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

有关其他输入和输出参数的说明,请参阅参考页遗传算法

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

Rng (1,'twister') % for再现性[x,fval] = ga(@rastriginsfcn,2)

这将返回

优化终止:适应度值的平均变化小于选项。X = -1.0421 -1.0018 fval = 2.4385

在命令行设置选项

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

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

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

您创建选项使用函数optimoptions

选择= optimoptions (@ga);

这将返回选项使用其字段的默认值。遗传算法如果不将选项作为输入参数传入,则使用这些默认值。

每个选项的值存储在的字段中选项,如选项。PopulationSize.您可以通过输入显示这些值中的任何一个选项后跟一个句点和字段名。例如,要显示遗传算法的种群大小,输入

选项。PopulationSize ans = '50 when numberOfVariables <= 5, else 200'

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

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

这就产生了选项所有的值都设置为默认值,除了PopulationSize,设置为One hundred.

如果你现在输入,

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

遗传算法运行遗传算法,种群大小为One hundred.

如果您随后决定更改中的另一个字段选项,如设置PlotFcn@gaplotbestf,绘制每代的最佳适应度函数值,调用optimoptions与语法

选择= optimoptions(选项、‘PlotFcn @plotbestf);

的所有字段的当前值选项除了PlotFcn,改为@plotbestf.注意,如果省略输入参数选项optimoptions重置PopulationSize设置为默认值。

您也可以设置两者PopulationSizePlotFcn使用单个命令

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

额外的输出参数

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

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

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

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

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

  • 人口——最后的人口

  • 分数——最后的分数

看到遗传算法有关这些参数的更多信息的参考页。

另请参阅

相关的话题