要使用默认选项运行遗传算法,调用遗传算法
与语法
[x,fval] = ga(@fitnessfun, nvars)
的输入参数遗传算法
是
@fitnessfun
—计算适应度函数的文件的函数句柄。计算目标函数解释如何写入此文件。
据nvar
—适应度函数自变量的个数。
输出参数是
x
-最后一点
fval
—适应度函数的值为x
有关其他输入和输出参数的说明,请参阅参考页遗传算法
.
可以运行中描述的示例最小化Rastrigin的功能从命令行输入
Rng (1,'twister') % for再现性[x,fval] = ga(@rastriginsfcn,2)
这将返回
优化终止:适应度值的平均变化小于选项。X = -1.0421 -1.0018 fval = 2.4385
您可以指定可用的任何选项遗传算法
通过选项
的输入参数遗传算法
使用语法
[x, fval] = ga (@fitnessfun,据nvar ,[],[],[],[],[],[],[], 选项)
此语法不指定任何线性等式、线性不等式或非线性约束。
您创建选项
使用函数optimoptions
.
选择= optimoptions (@ga);
这将返回选项
使用其字段的默认值。遗传算法
如果不将选项作为输入参数传入,则使用这些默认值。
每个选项的值存储在的字段中选项
,如选项。PopulationSize
.您可以通过输入显示这些值中的任何一个选项
后跟一个句点和字段名。例如,要显示遗传算法的种群大小,输入
选项。PopulationSize ans = '50 when numberOfVariables <= 5, 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
—算法终止原因对应的整数值
输出
—包含每一代算法性能信息的结构
人口
——最后的人口
分数
——最后的分数
看到遗传算法
有关这些参数的更多信息的参考页。