matlab GA优化奇怪的行为

时间:2017-06-22 15:05:54

标签: matlab optimization genetic-algorithm

我是优化工具箱的新用户,我从一个简单的示例开始。 我做了一个功能:

function [ output ] = testGA( input )
output = 2*input^2 + 4*input + 3;
end

这是我运行优化的脚本:

OptFun = @testGA;
numvars = 1;
[x fval] = ga(OptFun, numvars);

完全没有找到最低限度:

x = -1.002
fval = 1

我错过了什么吗? 另外,我如何获得有关它执行的所有迭代的信息?

谢谢你, 吉

1 个答案:

答案 0 :(得分:0)

您定义的函数的最小值为-1,相应的函数值为1,因此我不会说“完全找不到最小值”。要了解迭代次数,最小化类型等,您可以使用ga的输出:

 [x,Fval,exitFlag,Output] = ga(OptFun, numvars)

我建议您查看函数ga https://fr.mathworks.com/help/gads/examples/genetic-algorithm-options.html的文档,其中说明了算法的工作原理以及如何更改最小化参数。希望它有所帮助!