1 简介
缎蓝园丁鸟优化算法是一种新型的元启发式优化算法,针对其收敛速度慢,寻优精度低的不足,提出了一种基于自适应t分布变异的缎蓝园丁鸟优化(tSBO)算法.在tSBO算法中引入了自适应t分布变异算子,使用算法的迭代次数作为t分布的自由度参数来增强种群的多样性,避免算法陷入局部最优.通过6个标准测试函数对改进算法与FPA,BA和基本SBO算法进行测试比较,仿真结果表明,改进算法是可行有效的,相比于基本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]韩斐斐, 刘升. 基于自适应t分布变异的缎蓝园丁鸟优化算法[J]. 微电子学与计算机, 2018, 35(8):5.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。










