小编Ham*_*med的帖子

My Particle Swarm Optimization代码在C++和MATLAB中生成不同的答案

我用C++编写了粒子群优化算法的全球版本.我试着把它写成与我之前编写的MATLAB PSO代码完全相同,但是这段代码产生了不同的,所以最糟糕的答案.MATLAB代码是:

clear all;

numofdims = 30;
numofparticles = 50;
c1 = 2;
c2 = 2;
numofiterations = 1000;
V = zeros(50, 30);
initialpop = V;
Vmin = zeros(30, 1);
Vmax = Vmin;
Xmax = ones(30, 1) * 100;
Xmin = -Xmax;
pbestfits = zeros(50, 1);
worsts = zeros(50, 1);
bests = zeros(50, 1);
meanfits = zeros(50, 1);
pbests = zeros(50, 30);

initialpop = Xmin + (Xmax - Xmin) .* rand(numofparticles, numofdims);

X = initialpop;
fitnesses = testfunc1(X);
[minfit, minfitidx] …
Run Code Online (Sandbox Code Playgroud)

c++ matlab porting mathematical-optimization particle-swarm

5
推荐指数
1
解决办法
1万
查看次数