选择和输出
使用默认选项运行ga
要使用默认选项运行遗传算法,请调用遗传算法
与语法
[x,fval] = ga(@fitnessfun, nvars)
的输入参数遗传算法
是
@fitnessfun
-计算适应度函数的文件的函数句柄。计算目标函数解释如何写入此文件。据nvar
-适应度函数的自变量个数。
输出参数为
x
——最后一点fval
-适应度函数的值x
有关附加输入和输出参数的描述,请参见的参考页遗传算法
.
可以运行中描述的示例最小化Rastrigin的功能从命令行输入
rng (1,“旋风”)%的再现性定义Rastrigin的函数Rastriginsfcn = @(pop)10.0 * size(pop,2) + sum(pop .^2 - 10.0*cos(2*pi.*pop),2);[x, fval] = ga (rastriginsfcn, 2)
这将返回
优化终止:适应度值的平均变化小于options.FunctionTolerance。X = -1.0421 -1.0018 fval = 2.4485
在命令行设置选项
您可以指定可用的任何选项遗传算法
通过选项
作为的输入参数遗传算法
使用语法
[x, fval] = ga (@fitnessfun,据nvar ,[],[],[],[],[],[],[], 选项)
此语法不指定任何线性等式、线性不等式或非线性约束。
您创建选项
使用函数optimoptions
.
选择= optimoptions (@ga);
这将返回选项
使用其字段的默认值。遗传算法
如果不将选项作为输入参数传入,则使用这些默认值。
每个选项的值存储在的字段中选项
,如选项。PopulationSize
.您可以通过输入显示这些值中的任何一个选项
后跟一个句号和字段名。例如,要显示遗传算法的种群大小,输入
选项。PopulationSize
当numberOfVariables <= 5时ans = '50, else = 200'
创建选项
与默认值不同的字段值,例如设置PopulationSize
来One hundred.
而不是它的默认值50
——输入
选择= optimoptions (“遗传算法”,“PopulationSize”, 100);
这就产生了选项
所有值都设置为默认值,除了PopulationSize
,设置为One hundred.
.
如果你现在进入,
ga (@fitnessfun,据nvar ,[],[],[],[],[],[],[], 选项)
遗传算法
运行遗传算法,种群大小为One hundred.
.
如果您随后决定更改另一个字段选项
,如设置PlotFcn
来@gaplotbestf
,绘制每代最佳适应度函数值,调用optimoptions
与语法
选择= optimoptions(选项,“PlotFcn”, @plotbestf);
的所有字段的当前值选项
除了PlotFcn
,修改为@plotbestf
.请注意,如果省略输入参数选项
,optimoptions
重置PopulationSize
设置为默认值。
您也可以设置两者PopulationSize
而且PlotFcn
只需一个命令
选择= optimoptions (“遗传算法”,“PopulationSize”, 100,“PlotFcn”, @plotbestf);
额外的输出参数
要获得关于遗传算法性能的更多信息,您可以调用遗传算法
与语法
[x,fval,exitflag,output,population,scores] = ga(@fitnessfcn, nvars)
除了x
而且fval
,这个函数返回以下附加的输出参数:
exitflag
-算法终止原因对应的整型值输出
-包含每一代算法性能信息的结构人口
——最后的人口分数
——最后的分数
看到遗传算法
有关这些参数的更多信息参考页。