使用Matlab进行优化-粒子温暖/遗传算法

问题描述 投票:0回答:1

我正在尝试使用粒子群算法/遗传算法来解决最大值问题。但是,该功能始终使我处于最低水平。如何更改它以便找到最大值。

我的简单代码如下:

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

[x2,fval2] = particleswarm(Rmodel.predictFcn,nvar,lb,ub,options);

Rmodel是线性回归模型。我仅将其用于测试。

matlab optimization genetic-algorithm particle-swarm
1个回答
0
投票

来自https://se.mathworks.com/help/gads/particleswarm.html

“ x = particleswarm(fun,nvars)试图找到一个向量x,该向量x达到局部最小的乐趣。nvars是乐趣的维度(设计变量的数量)。”

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

© www.soinside.com 2019 - 2024. All rights reserved.