主要内容

选项和输出

使用默认选项运行GA

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

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

的输入参数GA.

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

  • 据nvar- 适用功能的独立变量的数量。

输出参数是

  • X- 最后一点

  • fval.- 健身功能的值X

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

您可以运行描述的示例最小化Restrigin的功能通过输入来从命令行

RNG(1,'Twister')%用于再现性[x,fval] = ga(@rastriginsfcn,2)

这是回报

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

在命令行设置选项

您可以指定可用于的任何选项GA.通过传递选项作为一个输入论点GA.使用语法

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

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

你创造了选项使用功能优化选择

选项= Optimoptions(@GA);

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

每个选项的值存储在字段中选项, 如选项.Populationsize.。您可以通过输入来显示任何这些值选项其次是一段时间和该字段的名称。例如,要显示遗传算法的群体大小,请输入

options.pupulationsize ans = '50 numberofvariables <= 5,否则200'

去创造选项具有与默认值不同的字段值 - 例如设置人群化One hundred.而不是它的默认值50.- 进入

选项= Optimoptions('Ga','opulationsize',100);

这是创造的选项除了备份之外,所有值设置为默认值人群化,它被设置为One hundred.

如果你现在进入,

ga(@ fitnessfun,nvars,[],[],[],[],[],[],[],选项)

GA.运行种群规模为的遗传算法One hundred.

如果您随后决定更改另一个字段选项,例如设置Plotfcn.@gaplotbestf.,这绘制了每一代的最佳健身功能值,呼叫优化选择与语法

选项= Optimoptions(选项,'plotfcn',@ plotbestf);

这保留了所有字段的当前值选项除了Plotfcn.,改变为@plotbestf.。请注意,如果省略输入参数选项优化选择重置人群化设置为默认值。

您也可以设置两者人群化Plotfcn.用单一命令

选项= Optimoptions('Ga','pomulationsize',100,'plotfcn',@ plotbestf);

其他输出参数

要获取有关遗传算法性能的更多信息,可以调用GA.与语法

[x,fval,出口,输出,人口​​,分数] = ga(@fitnessfcn,nvars)

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

  • ExitFlag.-算法终止原因对应的整型值

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

  • 人口- 最终人口

  • 分数- 最终分数

看看GA.有关这些参数的更多信息,参考页面。

也可以看看

相关的话题