1 简介
针对BP网络水质评价模型的不足,引入人工蜂群(ABC)算法,将求解BP神经网络各层权值、阀值的过程转化为蜜蜂寻找最佳蜜源的过程,提出了一种新的结合人工蜂群算法的BP网络水质评价方法(ABC-BP)。并以2000—2006年渭河监测断面的10组实测数据作为测试样本对其水质进行了评价,实验结果表明该方法得到的水质评价结果准确,并具有很强的稳定性和鲁棒性。





2 部分代码
function [bestsol,yy] = ABC(prob,lb,ub,Np,T,limit)%% Starting of ABCf = NaN(Np,1); % Vector to store the objective function value of the population membersfit = NaN(Np,1); % Vector to store the fitness function value of the population memberstrial = NaN(Np,1); % Initialization of the trial vectorD = length(lb); % Determining the number of decision variables in the problemP = repmat(lb,Np,1) + repmat((ub-lb),Np,1).*rand(Np,D); % Generation of the initial populationfor p = 1:Npf(p) = prob(P(p,:)); % Evaluating the objective function valuefit(p) = CalFit(f(p)); % Evaluating the fitness function valueend[bestobj, ind] = min(f); % Determine and memorize the best objective valuebestsol = P(ind,:); % Determine and memorize the best solutionbestobj1=1000;for t = 1:T%% Employed Bee Phasefor i = 1:Np[trial,P,fit,f] = GenNewSol(prob, lb, ub, Np, i, P, fit, trial, f, D);end%% Onlooker Bee Phase% as per the code of the inventors available at https://abc.erciyes.edu.tr/% prob=(0.9.*Fitness./max(Fitness))+0.1;% MATLAB Code of the ABC algorithm version 2 has been released (14.12.2009) (more optimized coding)probability = 0.9 * (fit/max(fit)) + 0.1;m = 0; n = 1;while(m < Np)if(rand < probability(n))[trial,P,fit,f] = GenNewSol(prob, lb, ub, Np, n, P, fit, trial, f, D);m = m + 1;endn = mod(n,Np) + 1;end[bestobj,ind] = min([f;bestobj]);CombinedSol = [P;bestsol];bestsol = CombinedSol(ind,:);if bestobj<bestobj1yy(t)=bestobj;elseyy(t)=bestobj1;end%% Scout Bee Phase[val,ind] = max(trial);if (val > limit)trial(ind) = 0; % Reset the trial value to zeroP(ind,:) = lb + (ub-lb).*rand(1,D); % Generate a random solutionf(ind) = prob(P(ind,:)); % Determine the objective function value of the newly generated solutionfit(ind) = CalFit(f(ind)); % Determine the fitness function value of the newly generated solutionendend[bestfitness,ind] = min([f;bestobj]);CombinedSol = [P;bestsol];bestsol = CombinedSol(ind,:);
3 仿真结果


4 参考文献
[1]苏彩红, 向娜, 陈广义,等. 基于人工蜂群算法与BP神经网络的水质评价模型[J]. 环境工程学报, 2012.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
本文介绍了一种结合人工蜂群(ABC)算法优化BP神经网络的新型水质评价方法(ABC-BP),利用渭河监测数据的实证结果展示了其高准确度、稳定性和鲁棒性。作者通过代码实现详细介绍了算法流程,并对比传统BP网络模型的改进之处。
2066

被折叠的 条评论
为什么被折叠?



