私は粒子群最適化が初めてで、オクターブでコードを書こうとしています。
swarm_size=10; %number of the swarm particles
maxIter = 50; %maximum number of iterations
inertia = 1.0; %i dont know what it does
correction_factor = 2.0 ; % i dont know what it does too
X=csvread('batting_data.csv'); %load file into octave
x=X(:,2:columns(X));
D=reshape(x,[],2);
plotObjFcn=1; %make it 0 if you dont want to plot a grpah
for i =1: columns(x)
local_best=mean(x(:,i));
particle_init=x(randi(x(:,i),1,swarm_size),
initial_vel=0;
end
ここに到達したので、目的関数が必要です (ここまでは正しいことを願っています) ここで使用したデータは、
www.amstat.org/publications/jse/v21n3/scariano/batting_data.csvからダウンロードでき
ます。各列の値を最大化するための目的関数の書き方がわかりません。最後に、これらの 5 つの値を行列形式で表示します。
私の概念が正しくないことがわかった場合は、親切に教えてください。