一:粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。同时,PSO算法的缺点也是显而易见的:经典的粒子群算法随着粒子种群的进化,其多样性不断减小,导致了过早的快速收敛到局部最优。以下主要通过两个方面增强粒子群的迭代寻优能力。
二:经典的粒子群算法的寻优性能在很大程度上依赖于其惯性权重、学习因子参数的设置选择。由此,初始粒子的每一次迭代都进行了空间位置、速度的更新,忽略了不同代粒子间的差异性,应用了统一的固定参数 。
针对于这一问题在参数设置上:采用了线性递减的参数设置,以较大的惯性权重和学习因子为开局,有利于增加初始粒子群的全局迭代寻优能力;以较小的惯性权重和学习因子为结束,有利于加强最终粒子群跳出局部最好解。
(1)通常对粒子群算法的参数设置(惯性权重和学习因子进行改进):
1:线性递减的惯性权重和学习因子
下列公式为动态线性递减的惯性权重和学习因子,一般来讲,;,,由此可以得到线性递减的惯性权重和学习因子,其递减情况如下图所示。
2:非线性递减的惯性权重和学习因子
同理可以得到非线性递减的惯性权重和学习因子:
(2)融合其他算法,形成混合算法(以遗传算法为例):
针对于经典的粒子群优化算法易陷入局部最好解,在迭代后期粒子种群多样性减少的
问题,将遗传算法中的遗传操作与动态参数的粒子群算法结合起来 ,提出改进的粒子群
优化算法(简写为GW-PSO算法),通过交叉因子更新当前粒子群的空间位置,这个过程产生新的粒子群更加符合目标优化函数,得到了更好的适应度,进而提高了经典的粒子群算法的局部搜索能力;利用变异因子对影响新的粒子种群的产生,提高粒子的多样性和全局搜索能力。在进行交叉因子操作时,将每一代的粒子的交叉概率设置为,每次交叉与上一代的全局最优粒子进行交叉,得到的后一代即为新产生的更符合目标优化函数的粒子种群。(以下为数学公式依据)
参考以上公式对粒子群进行交叉操作,以下公式对粒子群进行变异操作,增强粒子群在迭代后期的突变能力,有利于其突破局部最优解。
#############交叉变异因子部分代码
for z=1:N
GApop1(z,:)=GApop(e(z),:);
end
[n1 m1]=size(GApop1);
thebest=gbest'*ones(1,n1);
GApops=0.5*GApop1+0.5*thebest';
%进行变异操作
%max1=max(max(gbest));
% min1=min(min(gbest));
% % max2=round(max1);
% % min2=round(min1);
c3=randperm(sizepop);
b1=c3(1:M);
e1=b1';
for z1=1:M
GApop2(z1,:)=GApop(e1(z1),:);
end
GApops1=GApop2+randi([popmin,popmax],M,Dim);
GApops2=[GApops;GApops1];
pop=GApops2;
三:调用经典函数进行测试,检验优化效果。
主函数调用命令,以及待测试函数声明:
maxgen=100;popmax=200;popmin=-200;index=1;esp=10^-10;
[fitnessgbest,gen]= pso1( maxgen,popmax,popmin,index,esp);
zuicha=max(fitnessgbest)
zuihao=min(fitnessgbest)
pingjun=mean(fitnessgbest)
fangcha=std(fitnessgbest)
[bestfitness bestindex] = min(fitnessgbest)
gen(bestindex)
mean(gen)
case 1 %Sphere函数
y=sum(x.^2);
case 2 %Rosenbrock函数
y=0;
for i=2:length(x)
y=y+100*(x(i)-x(i-1)^2)^2+(x(i-1)-1)^2;
end
case 3 %Rastrigin函数
s = 0;
for j = 1:length(x)
s = s+(x(j)^2-10*cos(2*pi*x(j)));
end
y = 10*length(x)+s;
case 4 %Griewank函数
fr = 4000;
s = 0;
p = 1;
for j = 1:length(x); s = s+x(j)^2; end
for j = 1:length(x); p = p*cos(x(j)/sqrt(j)); end
y = s/fr-p+1;
end
选取一个为例作图分析,横坐标为迭代次数,纵坐标为适应度:
ddhttps://download.csdn.net/download/qq_42430957/85460865?spm=1001.2014.3001.5503
欢迎交流,微信:gzry3360