matlab 遗传算法 ga函数实现并行

遗传算法并行

% 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)  % 用完之后,关闭并行池

你可能感兴趣的:(机器学习)