【缎蓝园丁鸟优化算法】基于自适应权重的缎蓝园丁鸟优化算法求解单目标优化问题附matlab代码
1 简介
针对缎蓝园丁鸟优化算法(SBO)寻优精度低和收敛速度慢的问题,提出了基于自适应权重的缎蓝园丁鸟优化算法(WSBO).首先通过自适应权重的方法改进了缎蓝园丁鸟优化算法的局部搜索能力,提高了收敛精度.另外通过改进原算法中高斯分布函数形式对缎蓝园丁鸟的求偶亭位置进行变异,提高了算法的全局搜索能力,避免了陷入局部最优.通过8个标准测试函数对改进算法与原SBO算法,ABC算法和FA算法进行测试比较,实验结果表明,改进算法是可行有效的,相比于基本SBO算法,其收敛速度,精度和算法稳定性都有很大程度的提高.
2 部分代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Satin Bowerbird Optimizer(SBO)%%clc;clear;close all;tic%% Problem DefinitionFunction_name='F1';[lowerbound,upperbound,numbervar,costfcn]=cost_functions(Function_name);% VarSize=[1 numbervar];%% SBO Parameters[MaxIt,nPop,alpha,pMutation,sigma]=SBO_parameters(lowerbound,upperbound);%% Initialization[pop,elite,BestCost]=Initialization(nPop,lowerbound,upperbound,numbervar,MaxIt,costfcn);%% SBO Main Loopfor it=1:MaxItnewpop=pop;%Calculating the Fitness of each bowerF=zeros(nPop,1);for i=1:nPopif pop(i).Cost>=0F(i)=1/(1+pop(i).Cost);elseF(i)=1+abs(pop(i).Cost);endend%Calculating the probability of each bowerP=F/sum(F);%changes at any bowerfor i=1:nPopfor k=1:numbervar% Select target bowerj=RouletteWheelSelection(P);% Calculating Step Sizelambda=alpha/(1+P(j));newpop(i).Position(k)=pop(i).Position(k) ...+lambda*(((pop(j).Position(k)+elite(k))/2)-pop(i).Position(k));% Mutationif rand<=pMutationnewpop(i).Position(k)=newpop(i).Position(k)+(sigma*randn);endend% Evaluationnewpop(i).Cost=costfcn(newpop(i).Position);endpop=[popnewpop]; %#ok% Sort Population[~, SortOrder]=sort([pop.Cost]);pop=pop(SortOrder);pop=pop(1:nPop);% Update Best Solution Ever FoundBestSol=pop(1);elite=BestSol.Position;% Store Best Cost Ever FoundBestCost(it)=BestSol.Cost;% Show Iteration Informationdisp(['SBO:: Iteration-> ' num2str(it) '<----->Best Cost = ' num2str(BestCost(it))]);endtoc%% Resultsdisp(['BestSol=' num2str(elite)]);disp(['BestCost=' num2str(BestSol.Cost)]);figure;semilogy(BestCost,'LineWidth',2);xlabel('Iteration');ylabel('Best Cost');img =gcf; %获取当前画图的句柄print(img, '-dpng', '-r600', './img.png') %即可得到对应格式和期望dpi的图像
3 仿真结果


4 参考文献
[1]鲁晓艺, 刘升, 韩斐斐,等. 基于自适应权重的缎蓝园丁鸟优化算法[J]. 智能计算机与应用, 2018, 8(6):7.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
