
1 简介本文提出了一种狮群算法改进的最小二乘支持向量机数据分类模型。狮群优化算法Loin Swarm Optimization, LSO是于2018年提出的一种新型智能优化算法。基于狮群中狮王、母狮及幼狮的自然分工,模拟狮王守护、母狮捕猎、幼狮跟随3种群智能行为,提出群体智能算法——狮群算法.算法中不同种类的狮子位置更新方式不同.遵循自然界生物适者生存的竞争法则,狮王守护领土,优先享用食物,母狮合作捕猎,幼狮分为学习捕猎、饥饿进食和成年被驱逐.狮子位置更新方式的多样化保证算法快速收敛,不易陷入局部最优.最后,将算法应用于6个标准测试函数优化问题,并对比粒子群算法、骨干粒子群算法,测试结果表明,文中算法收敛速度较快,精度较高,能较好地获得全局最优解.2 部分代码%_________________________________________________________________________%%狮群算法 %%_________________________________________________________________________%function [Best_pos,Best_score,curve]LSO(pop,Max_iter,lb,ub,dim,fobj)beta 0.5;%成年狮所占比列Nc round(pop*beta);%成年狮数量Np pop-Nc;%幼师数量if(max(size(ub)) 1)ub ub.*ones(1,dim);lb lb.*ones(1,dim);end%种群初始化X0initialization(pop,dim,ub,lb);X X0;%计算初始适应度值fitness zeros(1,pop);for i 1:popfitness(i) fobj(X(i,:));end[value, index] min(fitness);%找最小值GBestF value;%全局最优适应度值GBestX X(index,:);%全局最优位置curvezeros(1,Max_iter);XhisBest X;fithisBest fitness;indexBest index;gbest GBestX;for t 1: Max_iter%母狮移动范围扰动因子计算stepf 0.1*(mean(ub) - mean(lb));alphaf stepf*exp(-30*t/Max_iter)^10;%幼狮移动范围扰动因子计算alpha (Max_iter - t)/Max_iter;%母狮位置更新for i 1:Ncindex i;while(index i)index randi(Nc);%随机挑选一只母狮endX(i,:) (X(i,:) X(index,:)).*(1 alphaf.*randn())./2;end%幼师位置更新for i Nc1:popqrand;if q1/3X(i,:) (gbest XhisBest(i,:)).*( 1 alpha.*randn())/2;elseif q1/3q2/3indexT i;while indexT iindexT randi(Nc) pop - Nc;%随机位置endX(i,:) (X(indexT,:) XhisBest(i,:)).*( 1 alpha.*randn())/2;elsegbestT ub lb - gbest;X(i,:) (gbestT XhisBest(i,:)).*( 1 alpha.*randn())/2;endend%边界控制for j 1:popfor a 1: dimif(X(j,a)ub)X(j,a) ub(a);endif(X(j,a)lb)X(j,a) lb(a);endendend%计算适应度值for j1:popfitness(j) fobj(X(j,:));endfor j 1:popif(fitness(j)fithisBest(j))XhisBest(j,:) X(j,:);fithisBest(j) fitness(j);endif(fitness(j) GBestF)GBestF fitness(j);GBestX X(j,:);indexBest j;endend%% 狮王更新Temp gbest.*(1 randn().*abs(XhisBest(indexBest,:) - gbest));Temp(Tempub)ub(Tempub);Temp(Templb) lb(Templb);fitTemp fobj(Temp);if(fitTempGBestF)GBestF fitTemp;GBestX Temp;X(indexBest,:)Temp;fitness(indexBest) fitTemp;end[value, index] min(fitness);%找最小值gbest X(index,:);%当前代种群最优值curve(t) GBestF;endBest_pos GBestX;Best_score curve(end);end3 仿真结果4 参考文献[1]杨艳, 刘生建, 周永权. 贪心二进制狮群优化算法求解多维背包问题[J]. 计算机应用, 2020, 40(5):4.博主简介擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真相关matlab代码问题可私信交流。部分理论引用网络文献若有侵权联系博主删除。