选项和输出
使用默认选项运行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.4385
在命令行中设置选项
您可以指定任何可用的选项遗传算法
通过选项
的输入参数遗传算法
使用语法
[x, fval] = ga (@fitnessfun,据nvar ,[],[],[],[],[],[],[], 选项)
此语法不指定任何线性等式、线性不等式或非线性约束。
您创建选项
使用函数optimoptions
.
选项= optimoptions(@ga);
这将返回选项
使用其字段的默认值。遗传算法
如果不将选项作为输入参数传入,则使用这些默认值。
每个选项的值存储在的字段中选项
,例如选项。PopulationSize
.您可以通过输入显示这些值中的任何一个选项
后面跟着句点和字段的名称。例如,要显示遗传算法的总体大小,请输入
选项。PopulationSize
ans = '当numberOfVariables <= 5时为50,否则为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
-算法终止原因对应的整数值输出
-结构,包含每代算法的性能信息人口
-最终人口分数
-最终比分
看到遗传算法
有关这些参数的更多信息请参考页。