要使用默认选项运行遗传算法,请调用ga
用语法
[x,fval]=ga(@fitnessfun,nvars)
的输入参数ga
是
@健身乐趣
-用于计算适应度函数的文件的函数句柄。计算目标函数说明如何写入此文件。
nvars
-适应度函数的自变量数。
输出参数是
x
-最后一点
未来值
-适应度函数在x
有关其他输入和输出参数的说明,请参阅的参考页ga
.
您可以运行中描述的示例最小化Rastrigin函数通过在命令行中输入
rng(1,'twister')%表示再现性[x,fval]=ga(@rastriginsfcn,2)
这是回报
优化终止:适应值的平均变化小于options.FunctionTolerance。x=-1.0421-1.0018 fval=2.4385
您可以指定可用于的任何选项ga
顺便选择权
作为输入参数ga
使用语法
[x,fval]=ga(@fitnessfun,NVAR,[]、[]、[]、[]、[]、[]、[]、[]、[]选项)
此语法不指定任何线性等式、线性不等式或非线性约束。
你创造选择权
使用函数最佳选择
.
options=options(@ga);
这是回报选择权
使用其字段的默认值。ga
如果不将选项作为输入参数传入,则使用这些默认值。
每个选项的值存储在选择权
例如options.PopulationSize
. 您可以通过输入选择权
后跟句点和字段名称。例如,要显示遗传算法的总体大小,请输入
options.PopulationSize ans='50当numberOfVariables<=5时,否则为200'
创造选择权
使用与默认值不同的字段值-例如设置人口规模
到100
而不是它的默认值50
-进入
选项=最佳选项('ga','PopulationSize',100);
这创造了选择权
将所有值设置为默认值,但人口规模
,设置为100
.
如果你现在进入,
ga(@fitnessfun,NVAR,[]、[]、[]、[]、[]、[]、[]、[]、[]选项)
ga
运行人口规模为的遗传算法100
.
如果您随后决定更改中的另一个字段选择权
,例如设置绘图仪
到@gaplotbestf
,它在每一代绘制最佳适应度函数值,调用最佳选择
用语法
选项=最佳选项(选项,'PlotFcn',@plotbestf);
这将保留所有字段的当前值选择权
除了绘图仪
,改为@普洛贝斯特
. 请注意,如果省略输入参数选择权
,最佳选择
重置人口规模
设置为其默认值。
也可以同时设置这两个参数人口规模
和绘图仪
用一个命令
选项=最佳选项('ga','PopulationSize',100,'PlotFcn',@plotbestf);
要获得有关遗传算法性能的更多信息,可以调用ga
用语法
[x,fval,exitflag,output,population,scores]=ga(@fitnessfcn,nvars)
此外x
和未来值
,此函数返回以下附加输出参数:
出口滞后
-与算法终止原因对应的整数值
输出
-包含每一代算法性能信息的结构
人口
-最终人口
分数
-期末成绩
见ga
有关这些参数的详细信息,请参见参考页。