粒子群改进灰狼算法优化测试函数Branin
Branin函数是一个著名的全局优化函数,拥有三个全局最小值,比较特殊,是测试各种算法的一个较好的函数,测试效果好就能说明算法性能优异,参数设置合理,同时能检验一个程序员是否真正掌握算法的精髓。灰狼算法对初值的要求不高,算法的寻优速度较快,有较强的全局寻优能力,但是灰狼算法种群多样性差,这是由 GWO 的初始种群生成方式导致的。 随机初始化生成初始种群的方式无法保证较好的种群多样性;后期收 敛速度慢,这是由 GWO 算法的搜索机制造成的,粒子种群具体更好的多样性,后期收敛速度也快,本文用粒子群改进灰狼算法对branin进行优化求解,其中,测试函数branin图像如下:
branin函数MATLAB编程代码如下:
clc
clear
close all
a = 1;
b = 5.1/(4*pi.^2);
c = 5/pi;
r = 6;
s = 10 ;
t = 1/(8*pi);
[x,y]= meshgrid(-5:0.2:10,0:0.2:15);
[mx,my] = size(x);
z = zeros(size(x));
for ii = 1:mx
for jj = 1:my
xx = [x(ii,jj) y(ii,jj)];
z(ii,jj) = braninfun(xx, a, b, c, r, s, t);
end
end
figure
surfc(x,y,z)
shading