使用默认选项运行遗传算法,调用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)
除了X
和fval.
,这个函数返回以下额外的输出参数:
ExitFlag.
-算法终止原因对应的整型值
输出
- 包含关于每代算法性能的信息的结构
人口
- 最终人口
分数
- 最终分数
看看GA.
有关这些参数的更多信息,参考页面。