提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Schwefel’s函数是一个典型的欺骗问题,有1个全局极小值点,距离另一个局部最优点很远,因此如果陷入局部最优就很难跳出,测试的是函数的全局搜索能力,和跳出局部最优的能力,对算法的要求较高,简单的算法不太可能求解最优解,一般需要启发式智能算法,比如粒子群算法,遗传算法,模拟退火算法,萤火虫算法,布谷鸟算法,灰狼算法,鲸鱼算法,鱼群算法,天牛须算法,烟花算法,蚁群算法,樽海鞘算法,鲸鱼算法,狮群算法等等各种来求解,后续会陆续推出这些算法的针对测试函数的求解代码,有疑问或者需要说明的,欢迎大家评论区留言,
Schwefel图像如下:
Schwefel测试函数图像以变量1为X轴,以变量2为Y轴,以测试函数值h1为Z轴作,图,变量1范围X轴为-500–500,变量2Y轴范围为-500–500,Z轴范围为-1000–1000,
matlab代码如下:
clc
clear
close all
x1 = -500:10:500;
x2 = -500:10:500;
[x,y] = meshgrid(x1,x2);
z = -(x.*sin(sqrt(abs(x)))+y.*sin(sqrt(abs(y))));
xx=1000*rand(30,1)-500;
yy=1000*rand(30,1)-500;
zz = -(xx.*sin(sqrt(abs(xx)))+yy.*sin(sqrt(abs(yy))));
[nx,ny] = min(z);
[mx,my] = min(nx);
figure
subplot(1,2,1)
surf(x,y,z)
hold on
plot3(xx,yy,zz,'k*')%,'MarkerFaceColor','r'
shading interp
xlabel('x')
ylabel('y')
zlabel('f')
colormap(jet)
view([-152 43])
set(gca,'fontsize',12)
subplot(1,2,2)
surf(x,y,z)
hold on
plot3(x(ny(1),my),y(ny(1),my),mx,'ro','MarkerFaceColor','r','MarkerSize',10)%,'MarkerFaceColor','r'
shading interp
xlabel('x')
ylabel('y')
zlabel('f')
view([-152 43])
colormap(jet)
set(gca,'fontsize',12)
m文件下载链接(5条消息) 常用测试函数schwefel函数代码函数图像-机器学习文档类资源-CSDN文库 https://download.csdn.net/download/abc991835105/87085610
Zakharov函数没有局部最小值,只有全局最小值,函数谷底明显,可以很好测试各种算法的全局收敛能力,是测试智能启发式算法性能的,初学者者联系调试算法参数的一个入门级函数,有很好的实用性
函数图像如下:
Zakharovl测试函数图像以变量1为X轴,以变量2为Y轴,以测试函数值h1为Z轴作,图,变量1范围X轴为-5–10,变量2范围Y轴为-5–10,Z轴范围为 0–1500,
MATALB代码如下:
clc
clear
close all
[x,y]= meshgrid(-5:0.1:10);
z = x.^2+y.^2+(0.5.*i.*x).^2+(0.5.*i*y).^2+(0.5.*i.*x).^4+(0.5.*i.*y).^4;
xx=15*rand(30,1)-5;
yy=15*rand(30,1)-5;
zz = xx.^2+yy.^2+(0.5.*i.*xx).^2+(0.5.*i*yy).^2+(0.5.*i.*xx).^4+(0.5.*i.*yy).^4;
[nx,ny] = min(z);
[mx,my] = min(nx);
figure
subplot(1,2,1)
surf(x,y,z)
hold on
plot3(xx,yy,zz,'k*')%,'MarkerFaceColor','r'
shading interp
xlabel('x')
ylabel('y')
zlabel('f')
colormap(jet)
view([-107 49])
set(gca,'fontsize',12)
subplot(1,2,2)
surf(x,y,z)
hold on
plot3(x(ny(1),my),y(ny(1),my),mx,'ro','MarkerFaceColor','r','MarkerSize',10)%,'MarkerFaceColor','r'
shading interp
xlabel('x')
ylabel('y')
zlabel('f')
view([-107 49])
colormap(jet)
set(gca,'fontsize',12)
m文件下载链接:
(5条消息) 常见测试函数Zakharov函数,函数图像,函数代码-机器学习文档类资源-CSDN文库 https://download.csdn.net/download/abc991835105/87085636
Ackley函数被广泛用于测试优化算法。在其二维形式中,其特征是外部区域小波动相对平坦,中心有一个大洞。该函数给优化算法,特别是爬山算法,带来了陷入其众多局部最小值之一的风险,用启发式智能算法,不容易陷入局部最优,用来体现改进算法的效果的时候,对比性比一般的测试函数更明显,更好,
函数图像如下:
Ackley测试函数图像以变量1为X轴,以变量2为Y轴,以测试函数值h1为Z轴作,图,变量1范围X轴为-5–5,变量2范围Y轴为-5–5,Z轴范围为 0–10,
MATALB代码实现如下:
clc
clear
close all
[x,y]= meshgrid(-5:0.1:10);
z = x.2+y.2+(0.5.*i.*x).2+(0.5.*i*y).2+(0.5.*i.*x).4+(0.5.*i.*y).4;
xx=15rand(30,1)-5;
yy=15rand(30,1)-5;
zz = xx.2+yy.2+(0.5.*i.*xx).2+(0.5.*i*yy).2+(0.5.*i.*xx).4+(0.5.*i.*yy).4;
[nx,ny] = min(z);
[mx,my] = min(nx);
figure
subplot(1,2,1)
surf(x,y,z)
hold on
plot3(xx,yy,zz,‘k*’)%,‘MarkerFaceColor’,‘r’
shading interp
xlabel(‘x’)
ylabel(‘y’)
zlabel(‘f’)
colormap(jet)
view([-107 49])
set(gca,‘fontsize’,12)
subplot(1,2,2)
surf(x,y,z)
hold on
plot3(x(ny(1),my),y(ny(1),my),mx,‘ro’,‘MarkerFaceColor’,‘r’,‘MarkerSize’,10)%,‘MarkerFaceColor’,‘r’
shading interp
xlabel(‘x’)
ylabel(‘y’)
zlabel(‘f’)
view([-107 49])
colormap(jet)
set(gca,‘fontsize’,12)
Rastrigin函数有几个局部极小值。它是高度多模态的,但最小值的位置是规则分布的,函数谷底不明显,次峰依次接近主谷底角度,可以很好测试各种算法的全局收敛能力,是测试智能启发式算法性能的,很多初级算法容易陷入局部最优,往往需要对算法进行改进才能很好的寻找到最优解,是测试算法改进性能的很好的一个测试函数,特别二次改进,或者深度改进算法的时候,依然可以做出来对比效果,有很好的实用性,
以二维变量展示图像图像如下:
Ackley测试函数图像以变量1为X轴,以变量2为Y轴,以测试函数值h1为Z轴作,图,变量1范围X轴为-5–5,变量2范围Y轴为-5–5,Z轴范围为 0–100,
MATALB代码实现如下:
clc
clear
close all
[x,y]= meshgrid(-5:0.1:10);
z = x.^2+y.^2+(0.5.*i.*x).^2+(0.5.*i*y).^2+(0.5.*i.*x).^4+(0.5.*i.*y).^4;
xx=15*rand(30,1)-5;
yy=15*rand(30,1)-5;
zz = xx.^2+yy.^2+(0.5.*i.*xx).^2+(0.5.*i*yy).^2+(0.5.*i.*xx).^4+(0.5.*i.*yy).^4;
[nx,ny] = min(z);
[mx,my] = min(nx);
figure
subplot(1,2,1)
surf(x,y,z)
hold on
plot3(xx,yy,zz,'k*')%,'MarkerFaceColor','r'
shading interp
xlabel('x')
ylabel('y')
zlabel('f')
colormap(jet)
view([-107 49])
set(gca,'fontsize',12)
subplot(1,2,2)
surf(x,y,z)
hold on
plot3(x(ny(1),my),y(ny(1),my),mx,'ro','MarkerFaceColor','r','MarkerSize',10)%,'MarkerFaceColor','r'
shading interp
xlabel('x')
ylabel('y')
zlabel('f')
view([-107 49])
colormap(jet)
set(gca,'fontsize',12)
M文件下载链接如下
(5条消息) 常用测试函数Rastrigin函数,函数图像,函数代码-机器学习文档类资源-CSDN文库 https://download.csdn.net/download/abc991835105/87085670