matlab-particleswarm/遗传算法优化

matlab-particleswarm/遗传算法优化,matlab,optimization,genetic-algorithm,particle-swarm,Matlab,Optimization,Genetic Algorithm,Particle Swarm,我尝试使用粒子群/遗传算法来解决一个极大值问题。然而,函数一直给我极小值。如何改变它,使其找到最大值 我的简单代码如下: options = optimoptions('particleswarm','Swarmsize',100); [x2,fval2] = particleswarm(Rmodel.predictFcn,nvar,lb,ub,options); Rmodel是一个线性回归模型。我仅将其用于测试。来自: x=particleswarm(fun,nvars)试图找到一个向量x

我尝试使用粒子群/遗传算法来解决一个极大值问题。然而,函数一直给我极小值。如何改变它,使其找到最大值

我的简单代码如下:

options = optimoptions('particleswarm','Swarmsize',100);

[x2,fval2] = particleswarm(Rmodel.predictFcn,nvar,lb,ub,options);
Rmodel
是一个线性回归模型。我仅将其用于测试。

来自:

x=particleswarm(fun,nvars)
试图找到一个向量
x
,该向量可以实现 本地最小值
fun
nvars
是尺寸(设计编号 变量)的
fun


我无法访问全局优化工具箱来测试particleswarm函数,但如果我理解正确,您只需翻转函数,而不是查找Rmodel.predictFcn的最小值,而是查找-Rmodel.predictFcn的最小值(注意减号)。

我找到了它。在matlab中,不能简单地使用-Rmodel.predictFcn

您需要定义一个函数处理程序。
e、 g invPredict=@(x)-Rmodel.predictFcn(x)

我以前尝试过这个方法,但它为“function\u handle”类型的输入参数提供了未定义的一元运算符“-”。