选择和输出
运行遗传算法使用默认选项
运行遗传算法使用默认选项,电话遗传算法
与语法
[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年
创建选项
的字段值不同于默认——例如设置PopulationSize
来One hundred.
而不是其默认值50
——输入
选择= optimoptions (“遗传算法”,“PopulationSize”,100);
这就产生了选项
所有的值设置为他们的违约除外PopulationSize
设置为One hundred.
。
如果你现在输入,
据nvar ga (@fitnessfun,[],[],[],[],[],[],[],选项)
遗传算法
遗传算法运行的人口规模One hundred.
。
如果你随后决定改变的另一个领域选项
,比如设置PlotFcn
来@gaplotbestf
,情节的最佳适应度函数值在每一代,电话optimoptions
与语法
选择= optimoptions(选项,“PlotFcn”,@plotbestf);
这保存所有字段的当前值选项
除了PlotFcn
,改变了@plotbestf
。请注意,如果您省略的输入参数选项
,optimoptions
重置PopulationSize
其默认值。
你也可以设置PopulationSize
和PlotFcn
与简单的命令
选择= optimoptions (“遗传算法”,“PopulationSize”,100,“PlotFcn”,@plotbestf);
额外的输出参数
得到更多的信息关于遗传算法的性能,您可以调用遗传算法
与语法
[x, fval exitflag、输出人口,分数)= ga (@fitnessfcn,据nvar)
除了x
和fval
,这个函数返回以下额外的输出参数:
exitflag
——整数值对应算法终止的原因输出
——结构包含的信息在每一代算法的性能人口
——最后的人口分数
——最后的分数
看到遗传算法
参考页面获取更多信息关于这些参数。