遗传算法并行
% ga函数
options = gaoptimset('Generations', 200,... %设置迭代次数
'PopulationSize', 50,... % 设置种群大小
'UseParallel', true,... % 是否并行
'Vectorized', 'on'); % 指定函数是否向量化
[bestchrom,~,~,~,~,~] = ga(@FitnessFcn, nVars, [],[],[],[],[],[],[], options);
% 适应度函数
function FitVal = FitnessFcn(chrom)
parfor i = 1:size(chrom,1)
FitVal(i,1) = f(chrom(i,:)); % f()是目标函数
end
end
% 放在主函数中,主要是用来开启并行池,并将相应并行会使用的文件的路径加入
poolobj = gcp;
addAttachedFiles(poolobj,{'G:\GA-main\'})
delete(poolobj) % 用完之后,关闭并行池