1 内容介绍
白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于提出,该算法模拟了白鲸游泳,觅食和“鲸鱼坠落”行为。
在本文中,提出了一种新的基于群体的元启发式算法,其灵感来自白鲸的行为,称为白鲸优化 (BWO),以解决优化问题。BWO中建立了探索、开发和鲸落三个阶段,分别对应成对游泳、猎物和落鲸的行为。BWO中的平衡因子和鲸落概率具有自适应性,对控制探索和开发能力起着重要作用。此外,还引入了 Levy 飞行以增强开发阶段的全局收敛性。使用 30 个基准函数测试了所提出的 BWO 的有效性,并进行了定性、定量和可扩展性分析,并将统计结果与其他 15 种元启发式算法进行了比较。根据结果和讨论,BWO是解决单峰和多峰优化问题的竞争算法,通过弗里德曼排名测试,BWO在比较的元启发式算法中基准函数的可扩展性分析中的整体排名第一。最后,四个工程问题展示了 BWO 在解决复杂的现实世界优化问题中的优点和潜力。
2 仿真代码
function func_plot(func_name)
[lb,ub,dim,fobj]=Get_Functions_details(func_name);
case 'F1' x=-100:2:100; y=x; %[-100,100] case 'F2' x=-10:1:10; y=x; %[-10,10] case 'F3' x=-100:2:100; y=x; %[-100,100] case 'F4' x=-100:2:100; y=x; %[-100,100] case 'F5' x=-30:1:30; y=x; %[-30,30] case 'F6' x=-100:2:100; y=x; %[-100,100] case 'F7' x=-1:0.03:1; y=x; %[-1.28,1.28] case 'F8' x=-10:0.1:10;y=x; %[-10,10] case 'F9' x=-10:0.1:10; y=x; %[-10,10] case 'F10' x=-1:0.01:1; y=x;%[-1,1] case 'F11' x=-100:2:100; y=x;%[-100,100] case 'F12' x=-5:0.1:10; y=x;%[-5,10] case 'F13' x=-500:5:500; y=x;%[-500,500] case 'F14' x=-5.12:0.5:5.12; y=x;%[-5.12,5.12] case 'F15' x=-32:0.4:32; y=x;%[-32,32] case 'F16' x=-600:6:600; y=x;%[-600,600] case 'F17' x=-50:1:50; y=x;%[-50,50] case 'F18' x=-50:1:50; y=x;%[-50,50] case 'F19' x=-500:5:500; y=x;%[-500,500] case 'F20' x=-5:0.1:5; y=x;%[-5,5] case 'F21' x=-5:0.1:5; y=x;%[-5.12,5.12] case 'F22' x=-10:0.2:10; y=x;%[-10,10] case 'F23' x=-20:1:20; y=x;%[-100,100] case 'F24' x=-100:2:100; y=x;%[-100,100] case 'F25' x=-5:0.1:5; y=x;%[-5,5] case 'F26' x=-1:0.01:1; y=x;%[-5,5] case 'F27' x=-5:0.1:5; y=x;%[-5,5] case 'F28' x=-5:0.06:5; y=x;%[-5,5] case 'F29' x=-5:0.1:5; y=x;%[-5,5] case 'F30' x=-5:0.1:5; y=x;%[-5,5] case 'F31' x=-5:0.1:5; y=x;%[-5,5] case 'F32' x=-5:0.1:5; y=x;%[-5,5] case 'F33' x=-5:0.1:5; y=x;%[-5,5] endswitch func_name
close all; clc;clear all;
Npop = 50; % Number of search agents Max_it = 100; % Maximum number of iterations [lb,ub,nD,fobj]=Get_Functions_details(Function_name); [xposbest,fvalbest,Curve]=BWO(Npop,Max_it,lb,ub,nD,fobj); figure('Position',[500 500 660 290])Function_name = 'F2'; % function name
func_plot(Function_name); title('Objective space') xlabel('x_1'); ylabel('x_2'); zlabel([Function_name,'( x_1 , x_2 )'])subplot(1,2,1);
semilogy(Curve,'Color','r'); hold on title('Objective space') xlabel('Iterations'); ylabel('Best score');subplot(1,2,2);
f=[];L=length(x);
for j=1:L if strcmp(func_name,'F20') == 0 && strcmp(func_name,'F25')==0 && strcmp(func_name,'F29')==0 && strcmp(func_name,'F30')==0 && strcmp(func_name,'F31')==0 && strcmp(func_name,'F32')==0 && strcmp(func_name,'F33')==0 f(i,j)=fobj([x(i),y(j)]); end if strcmp(func_name,'F25')==1 || strcmp(func_name,'F20')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F29')==1 f(i,j)=fobj([x(i),y(j),0]); end if strcmp(func_name,'F30')==1 f(i,j)=fobj([x(i),y(j),0,0,0,0]); end if strcmp(func_name,'F31')==1 || strcmp(func_name,'F32')==1 || strcmp(func_name,'F33')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F21')==1 || strcmp(func_name,'F22')==1 || strcmp(func_name,'F23')==1 f(i,j)=fobj([x(i),y(j),0,0]); end end endfor i=1:L
surfc(x,y,f,'LineStyle','none');
end
function [lb,ub,dim,fobj] = Get_Functions_details(F)
case 'F1' fobj = @F1; lb=-100; ub=100; dim=30; case 'F2' fobj = @F2; lb=-10; ub=10; dim=30; case 'F3' fobj = @F3; lb = -1; ub = 1; dim = 30; case 'F4' fobj = @F4; lb=-100; ub=100; dim=30; case 'F5' fobj = @F5; lb=-100; ub=100; dim=30; case 'F6' fobj = @F6; lb=-30; ub=30; dim=30; case 'F7' fobj = @F7; lb=-100; ub=100; dim=30; case 'F8' fobj = @F8; lb=-1.28; ub=1.28; dim=30; case 'F9' fobj = @F9; lb=-5; ub=10; dim=30; case 'F10' fobj = @F10; lb=-500; ub=500; dim=30; case 'F11' fobj = @F11; lb=-10; ub=10; dim=30; case 'F12' fobj = @F12; lb=-5; ub=5; dim=30; case 'F13' fobj = @F13; lb=-5.12; ub=5.12; dim=30; case 'F14' fobj = @F14; lb=-32; ub=32; dim=30; case 'F15' fobj = @F15; lb=-600; ub=600; dim=30; case 'F16' fobj = @F16; lb=-10; ub=10; dim=30; case 'F17' fobj = @F17; lb=-50; ub=50; dim=30; case 'F18' fobj = @F18; lb=-50; ub=50; dim=30;switch F
fobj = @F19; lb=-65; ub=65; dim=2; case 'F20' fobj = @F20; lb=-5; ub=5; dim=4; case 'F21' fobj = @F21; lb=-5; ub=5; dim=2; case 'F22' fobj = @F22; lb=0; ub=10; dim=4; case 'F23' fobj = @F23; lb=0; ub=10; dim=4; case 'F24' fobj = @F24; lb=0; ub=10; dim=4;case 'F19'
end
end
% F1
o=sum(x.^2); endfunction o = F1(x)
% F2
o=sum(abs(x))+prod(abs(x)); endfunction o = F2(x)
% F3
dim = size(x,2); o=0; for i=1:dim o=o+abs(x(i))^(i+1); end endfunction o = F3(x)
% F4
dim=size(x,2); o=0; for i=1:dim o=o+sum(x(1:i))^2; end endfunction o = F4(x)
% F5
o=max(abs(x)); endfunction o = F5(x)
% F6
dim=size(x,2); o=sum(100*(x(2:dim)-(x(1:dim-1).^2)).^2+(x(1:dim-1)-1).^2); endfunction o = F6(x)
% F7
o=sum(abs((x+.5)).^2); endfunction o = F7(x)
% F8
1 内容介绍
白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于提出,该算法模拟了白鲸游泳,觅食和“鲸鱼坠落”行为。
在本文中,提出了一种新的基于群体的元启发式算法,其灵感来自白鲸的行为,称为白鲸优化 (BWO),以解决优化问题。BWO中建立了探索、开发和鲸落三个阶段,分别对应成对游泳、猎物和落鲸的行为。BWO中的平衡因子和鲸落概率具有自适应性,对控制探索和开发能力起着重要作用。此外,还引入了 Levy 飞行以增强开发阶段的全局收敛性。使用 30 个基准函数测试了所提出的 BWO 的有效性,并进行了定性、定量和可扩展性分析,并将统计结果与其他 15 种元启发式算法进行了比较。根据结果和讨论,BWO是解决单峰和多峰优化问题的竞争算法,通过弗里德曼排名测试,BWO在比较的元启发式算法中基准函数的可扩展性分析中的整体排名第一。最后,四个工程问题展示了 BWO 在解决复杂的现实世界优化问题中的优点和潜力。
2 仿真代码
function func_plot(func_name)
[lb,ub,dim,fobj]=Get_Functions_details(func_name);
case 'F1' x=-100:2:100; y=x; %[-100,100] case 'F2' x=-10:1:10; y=x; %[-10,10] case 'F3' x=-100:2:100; y=x; %[-100,100] case 'F4' x=-100:2:100; y=x; %[-100,100] case 'F5' x=-30:1:30; y=x; %[-30,30] case 'F6' x=-100:2:100; y=x; %[-100,100] case 'F7' x=-1:0.03:1; y=x; %[-1.28,1.28] case 'F8' x=-10:0.1:10;y=x; %[-10,10] case 'F9' x=-10:0.1:10; y=x; %[-10,10] case 'F10' x=-1:0.01:1; y=x;%[-1,1] case 'F11' x=-100:2:100; y=x;%[-100,100] case 'F12' x=-5:0.1:10; y=x;%[-5,10] case 'F13' x=-500:5:500; y=x;%[-500,500] case 'F14' x=-5.12:0.5:5.12; y=x;%[-5.12,5.12] case 'F15' x=-32:0.4:32; y=x;%[-32,32] case 'F16' x=-600:6:600; y=x;%[-600,600] case 'F17' x=-50:1:50; y=x;%[-50,50] case 'F18' x=-50:1:50; y=x;%[-50,50] case 'F19' x=-500:5:500; y=x;%[-500,500] case 'F20' x=-5:0.1:5; y=x;%[-5,5] case 'F21' x=-5:0.1:5; y=x;%[-5.12,5.12] case 'F22' x=-10:0.2:10; y=x;%[-10,10] case 'F23' x=-20:1:20; y=x;%[-100,100] case 'F24' x=-100:2:100; y=x;%[-100,100] case 'F25' x=-5:0.1:5; y=x;%[-5,5] case 'F26' x=-1:0.01:1; y=x;%[-5,5] case 'F27' x=-5:0.1:5; y=x;%[-5,5] case 'F28' x=-5:0.06:5; y=x;%[-5,5] case 'F29' x=-5:0.1:5; y=x;%[-5,5] case 'F30' x=-5:0.1:5; y=x;%[-5,5] case 'F31' x=-5:0.1:5; y=x;%[-5,5] case 'F32' x=-5:0.1:5; y=x;%[-5,5] case 'F33' x=-5:0.1:5; y=x;%[-5,5] endswitch func_name
close all; clc;clear all;
Npop = 50; % Number of search agents Max_it = 100; % Maximum number of iterations [lb,ub,nD,fobj]=Get_Functions_details(Function_name); [xposbest,fvalbest,Curve]=BWO(Npop,Max_it,lb,ub,nD,fobj); figure('Position',[500 500 660 290])Function_name = 'F2'; % function name
func_plot(Function_name); title('Objective space') xlabel('x_1'); ylabel('x_2'); zlabel([Function_name,'( x_1 , x_2 )'])subplot(1,2,1);
semilogy(Curve,'Color','r'); hold on title('Objective space') xlabel('Iterations'); ylabel('Best score');subplot(1,2,2);
f=[];L=length(x);
for j=1:L if strcmp(func_name,'F20') == 0 && strcmp(func_name,'F25')==0 && strcmp(func_name,'F29')==0 && strcmp(func_name,'F30')==0 && strcmp(func_name,'F31')==0 && strcmp(func_name,'F32')==0 && strcmp(func_name,'F33')==0 f(i,j)=fobj([x(i),y(j)]); end if strcmp(func_name,'F25')==1 || strcmp(func_name,'F20')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F29')==1 f(i,j)=fobj([x(i),y(j),0]); end if strcmp(func_name,'F30')==1 f(i,j)=fobj([x(i),y(j),0,0,0,0]); end if strcmp(func_name,'F31')==1 || strcmp(func_name,'F32')==1 || strcmp(func_name,'F33')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F21')==1 || strcmp(func_name,'F22')==1 || strcmp(func_name,'F23')==1 f(i,j)=fobj([x(i),y(j),0,0]); end end endfor i=1:L
surfc(x,y,f,'LineStyle','none');
end
1 内容介绍
白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于提出,该算法模拟了白鲸游泳,觅食和“鲸鱼坠落”行为。
在本文中,提出了一种新的基于群体的元启发式算法,其灵感来自白鲸的行为,称为白鲸优化 (BWO),以解决优化问题。BWO中建立了探索、开发和鲸落三个阶段,分别对应成对游泳、猎物和落鲸的行为。BWO中的平衡因子和鲸落概率具有自适应性,对控制探索和开发能力起着重要作用。此外,还引入了 Levy 飞行以增强开发阶段的全局收敛性。使用 30 个基准函数测试了所提出的 BWO 的有效性,并进行了定性、定量和可扩展性分析,并将统计结果与其他 15 种元启发式算法进行了比较。根据结果和讨论,BWO是解决单峰和多峰优化问题的竞争算法,通过弗里德曼排名测试,BWO在比较的元启发式算法中基准函数的可扩展性分析中的整体排名第一。最后,四个工程问题展示了 BWO 在解决复杂的现实世界优化问题中的优点和潜力。
2 仿真代码
function func_plot(func_name)
[lb,ub,dim,fobj]=Get_Functions_details(func_name);
case 'F1' x=-100:2:100; y=x; %[-100,100] case 'F2' x=-10:1:10; y=x; %[-10,10] case 'F3' x=-100:2:100; y=x; %[-100,100] case 'F4' x=-100:2:100; y=x; %[-100,100] case 'F5' x=-30:1:30; y=x; %[-30,30] case 'F6' x=-100:2:100; y=x; %[-100,100] case 'F7' x=-1:0.03:1; y=x; %[-1.28,1.28] case 'F8' x=-10:0.1:10;y=x; %[-10,10] case 'F9' x=-10:0.1:10; y=x; %[-10,10] case 'F10' x=-1:0.01:1; y=x;%[-1,1] case 'F11' x=-100:2:100; y=x;%[-100,100] case 'F12' x=-5:0.1:10; y=x;%[-5,10] case 'F13' x=-500:5:500; y=x;%[-500,500] case 'F14' x=-5.12:0.5:5.12; y=x;%[-5.12,5.12] case 'F15' x=-32:0.4:32; y=x;%[-32,32] case 'F16' x=-600:6:600; y=x;%[-600,600] case 'F17' x=-50:1:50; y=x;%[-50,50] case 'F18' x=-50:1:50; y=x;%[-50,50] case 'F19' x=-500:5:500; y=x;%[-500,500] case 'F20' x=-5:0.1:5; y=x;%[-5,5] case 'F21' x=-5:0.1:5; y=x;%[-5.12,5.12] case 'F22' x=-10:0.2:10; y=x;%[-10,10] case 'F23' x=-20:1:20; y=x;%[-100,100] case 'F24' x=-100:2:100; y=x;%[-100,100] case 'F25' x=-5:0.1:5; y=x;%[-5,5] case 'F26' x=-1:0.01:1; y=x;%[-5,5] case 'F27' x=-5:0.1:5; y=x;%[-5,5] case 'F28' x=-5:0.06:5; y=x;%[-5,5] case 'F29' x=-5:0.1:5; y=x;%[-5,5] case 'F30' x=-5:0.1:5; y=x;%[-5,5] case 'F31' x=-5:0.1:5; y=x;%[-5,5] case 'F32' x=-5:0.1:5; y=x;%[-5,5] case 'F33' x=-5:0.1:5; y=x;%[-5,5] endswitch func_name
close all; clc;clear all;
Npop = 50; % Number of search agents Max_it = 100; % Maximum number of iterations [lb,ub,nD,fobj]=Get_Functions_details(Function_name); [xposbest,fvalbest,Curve]=BWO(Npop,Max_it,lb,ub,nD,fobj); figure('Position',[500 500 660 290])Function_name = 'F2'; % function name
func_plot(Function_name); title('Objective space') xlabel('x_1'); ylabel('x_2'); zlabel([Function_name,'( x_1 , x_2 )'])subplot(1,2,1);
semilogy(Curve,'Color','r'); hold on title('Objective space') xlabel('Iterations'); ylabel('Best score');subplot(1,2,2);
f=[];L=length(x);
for j=1:L if strcmp(func_name,'F20') == 0 && strcmp(func_name,'F25')==0 && strcmp(func_name,'F29')==0 && strcmp(func_name,'F30')==0 && strcmp(func_name,'F31')==0 && strcmp(func_name,'F32')==0 && strcmp(func_name,'F33')==0 f(i,j)=fobj([x(i),y(j)]); end if strcmp(func_name,'F25')==1 || strcmp(func_name,'F20')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F29')==1 f(i,j)=fobj([x(i),y(j),0]); end if strcmp(func_name,'F30')==1 f(i,j)=fobj([x(i),y(j),0,0,0,0]); end if strcmp(func_name,'F31')==1 || strcmp(func_name,'F32')==1 || strcmp(func_name,'F33')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F21')==1 || strcmp(func_name,'F22')==1 || strcmp(func_name,'F23')==1 f(i,j)=fobj([x(i),y(j),0,0]); end end endfor i=1:L
surfc(x,y,f,'LineStyle','none');
end
function [lb,ub,dim,fobj] = Get_Functions_details(F)
case 'F1' fobj = @F1; lb=-100; ub=100; dim=30; case 'F2' fobj = @F2; lb=-10; ub=10; dim=30; case 'F3' fobj = @F3; lb = -1; ub = 1; dim = 30; case 'F4' fobj = @F4; lb=-100; ub=100; dim=30; case 'F5' fobj = @F5; lb=-100; ub=100; dim=30; case 'F6' fobj = @F6; lb=-30; ub=30; dim=30; case 'F7' fobj = @F7; lb=-100; ub=100; dim=30; case 'F8' fobj = @F8; lb=-1.28; ub=1.28; dim=30; case 'F9' fobj = @F9; lb=-5; ub=10; dim=30; case 'F10' fobj = @F10; lb=-500; ub=500; dim=30; case 'F11' fobj = @F11; lb=-10; ub=10; dim=30; case 'F12' fobj = @F12; lb=-5; ub=5; dim=30; case 'F13' fobj = @F13; lb=-5.12; ub=5.12; dim=30; case 'F14' fobj = @F14; lb=-32; ub=32; dim=30; case 'F15' fobj = @F15; lb=-600; ub=600; dim=30; case 'F16' fobj = @F16; lb=-10; ub=10; dim=30; case 'F17' fobj = @F17; lb=-50; ub=50; dim=30; case 'F18' fobj = @F18; lb=-50; ub=50; dim=30;switch F
fobj = @F19; lb=-65; ub=65; dim=2; case 'F20' fobj = @F20; lb=-5; ub=5; dim=4; case 'F21' fobj = @F21; lb=-5; ub=5; dim=2; case 'F22' fobj = @F22; lb=0; ub=10; dim=4; case 'F23' fobj = @F23; lb=0; ub=10; dim=4; case 'F24' fobj = @F24; lb=0; ub=10; dim=4;case 'F19'
end
end
% F1
o=sum(x.^2); endfunction o = F1(x)
% F2
o=sum(abs(x))+prod(abs(x)); endfunction o = F2(x)
% F3
dim = size(x,2); o=0; for i=1:dim o=o+abs(x(i))^(i+1); end endfunction o = F3(x)
% F4
dim=size(x,2); o=0; for i=1:dim o=o+sum(x(1:i))^2; end endfunction o = F4(x)
% F5
o=max(abs(x)); endfunction o = F5(x)
% F6
dim=size(x,2); o=sum(100*(x(2:dim)-(x(1:dim-1).^2)).^2+(x(1:dim-1)-1).^2); endfunction o = F6(x)
% F7
o=sum(abs((x+.5)).^2); endfunction o = F7(x)
% F8
1 内容介绍
白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于提出,该算法模拟了白鲸游泳,觅食和“鲸鱼坠落”行为。
在本文中,提出了一种新的基于群体的元启发式算法,其灵感来自白鲸的行为,称为白鲸优化 (BWO),以解决优化问题。BWO中建立了探索、开发和鲸落三个阶段,分别对应成对游泳、猎物和落鲸的行为。BWO中的平衡因子和鲸落概率具有自适应性,对控制探索和开发能力起着重要作用。此外,还引入了 Levy 飞行以增强开发阶段的全局收敛性。使用 30 个基准函数测试了所提出的 BWO 的有效性,并进行了定性、定量和可扩展性分析,并将统计结果与其他 15 种元启发式算法进行了比较。根据结果和讨论,BWO是解决单峰和多峰优化问题的竞争算法,通过弗里德曼排名测试,BWO在比较的元启发式算法中基准函数的可扩展性分析中的整体排名第一。最后,四个工程问题展示了 BWO 在解决复杂的现实世界优化问题中的优点和潜力。
2 仿真代码
function func_plot(func_name)
[lb,ub,dim,fobj]=Get_Functions_details(func_name);
case 'F1' x=-100:2:100; y=x; %[-100,100] case 'F2' x=-10:1:10; y=x; %[-10,10] case 'F3' x=-100:2:100; y=x; %[-100,100] case 'F4' x=-100:2:100; y=x; %[-100,100] case 'F5' x=-30:1:30; y=x; %[-30,30] case 'F6' x=-100:2:100; y=x; %[-100,100] case 'F7' x=-1:0.03:1; y=x; %[-1.28,1.28] case 'F8' x=-10:0.1:10;y=x; %[-10,10] case 'F9' x=-10:0.1:10; y=x; %[-10,10] case 'F10' x=-1:0.01:1; y=x;%[-1,1] case 'F11' x=-100:2:100; y=x;%[-100,100] case 'F12' x=-5:0.1:10; y=x;%[-5,10] case 'F13' x=-500:5:500; y=x;%[-500,500] case 'F14' x=-5.12:0.5:5.12; y=x;%[-5.12,5.12] case 'F15' x=-32:0.4:32; y=x;%[-32,32] case 'F16' x=-600:6:600; y=x;%[-600,600] case 'F17' x=-50:1:50; y=x;%[-50,50] case 'F18' x=-50:1:50; y=x;%[-50,50] case 'F19' x=-500:5:500; y=x;%[-500,500] case 'F20' x=-5:0.1:5; y=x;%[-5,5] case 'F21' x=-5:0.1:5; y=x;%[-5.12,5.12] case 'F22' x=-10:0.2:10; y=x;%[-10,10] case 'F23' x=-20:1:20; y=x;%[-100,100] case 'F24' x=-100:2:100; y=x;%[-100,100] case 'F25' x=-5:0.1:5; y=x;%[-5,5] case 'F26' x=-1:0.01:1; y=x;%[-5,5] case 'F27' x=-5:0.1:5; y=x;%[-5,5] case 'F28' x=-5:0.06:5; y=x;%[-5,5] case 'F29' x=-5:0.1:5; y=x;%[-5,5] case 'F30' x=-5:0.1:5; y=x;%[-5,5] case 'F31' x=-5:0.1:5; y=x;%[-5,5] case 'F32' x=-5:0.1:5; y=x;%[-5,5] case 'F33' x=-5:0.1:5; y=x;%[-5,5] endswitch func_name
close all; clc;clear all;
Npop = 50; % Number of search agents Max_it = 100; % Maximum number of iterations [lb,ub,nD,fobj]=Get_Functions_details(Function_name); [xposbest,fvalbest,Curve]=BWO(Npop,Max_it,lb,ub,nD,fobj); figure('Position',[500 500 660 290])Function_name = 'F2'; % function name
func_plot(Function_name); title('Objective space') xlabel('x_1'); ylabel('x_2'); zlabel([Function_name,'( x_1 , x_2 )'])subplot(1,2,1);
semilogy(Curve,'Color','r'); hold on title('Objective space') xlabel('Iterations'); ylabel('Best score');subplot(1,2,2);
f=[];L=length(x);
for j=1:L if strcmp(func_name,'F20') == 0 && strcmp(func_name,'F25')==0 && strcmp(func_name,'F29')==0 && strcmp(func_name,'F30')==0 && strcmp(func_name,'F31')==0 && strcmp(func_name,'F32')==0 && strcmp(func_name,'F33')==0 f(i,j)=fobj([x(i),y(j)]); end if strcmp(func_name,'F25')==1 || strcmp(func_name,'F20')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F29')==1 f(i,j)=fobj([x(i),y(j),0]); end if strcmp(func_name,'F30')==1 f(i,j)=fobj([x(i),y(j),0,0,0,0]); end if strcmp(func_name,'F31')==1 || strcmp(func_name,'F32')==1 || strcmp(func_name,'F33')==1 f(i,j)=fobj([x(i),y(j),0,0]); end if strcmp(func_name,'F21')==1 || strcmp(func_name,'F22')==1 || strcmp(func_name,'F23')==1 f(i,j)=fobj([x(i),y(j),0,0]); end end endfor i=1:L
surfc(x,y,f,'LineStyle','none');
end
function [lb,ub,dim,fobj] = Get_Functions_details(F)
case 'F1' fobj = @F1; lb=-100; ub=100; dim=30; case 'F2' fobj = @F2; lb=-10; ub=10; dim=30; case 'F3' fobj = @F3; lb = -1; ub = 1; dim = 30; case 'F4' fobj = @F4; lb=-100; ub=100; dim=30; case 'F5' fobj = @F5; lb=-100; ub=100; dim=30; case 'F6' fobj = @F6; lb=-30; ub=30; dim=30; case 'F7' fobj = @F7; lb=-100; ub=100; dim=30; case 'F8' fobj = @F8; lb=-1.28; ub=1.28; dim=30; case 'F9' fobj = @F9; lb=-5; ub=10; dim=30; case 'F10' fobj = @F10; lb=-500; ub=500; dim=30; case 'F11' fobj = @F11; lb=-10; ub=10; dim=30; case 'F12' fobj = @F12; lb=-5; ub=5; dim=30; case 'F13' fobj = @F13; lb=-5.12; ub=5.12; dim=30; case 'F14' fobj = @F14; lb=-32; ub=32; dim=30; case 'F15' fobj = @F15; lb=-600; ub=600; dim=30; case 'F16' fobj = @F16; lb=-10; ub=10; dim=30; case 'F17' fobj = @F17; lb=-50; ub=50; dim=30; case 'F18' fobj = @F18; lb=-50; ub=50; dim=30;switch F
fobj = @F19; lb=-65; ub=65; dim=2; case 'F20' fobj = @F20; lb=-5; ub=5; dim=4; case 'F21' fobj = @F21; lb=-5; ub=5; dim=2; case 'F22' fobj = @F22; lb=0; ub=10; dim=4; case 'F23' fobj = @F23; lb=0; ub=10; dim=4; case 'F24' fobj = @F24; lb=0; ub=10; dim=4;case 'F19'
end
end
% F1
o=sum(x.^2); endfunction o = F1(x)
% F2
o=sum(abs(x))+prod(abs(x)); endfunction o = F2(x)
% F3
dim = size(x,2); o=0; for i=1:dim o=o+abs(x(i))^(i+1); end endfunction o = F3(x)
% F4
dim=size(x,2); o=0; for i=1:dim o=o+sum(x(1:i))^2; end endfunction o = F4(x)
% F5
o=max(abs(x)); endfunction o = F5(x)
% F6
dim=size(x,2); o=sum(100*(x(2:dim)-(x(1:dim-1).^2)).^2+(x(1:dim-1)-1).^2); endfunction o = F6(x)
% F7
o=sum(abs((x+.5)).^2); endfunction o = F7(x)
% F8
dim=size(x,2); o=sum([1:dim].*(x.^4))+rand; endfunction o = F8(x)
% F9
dim = size(x,2); o = sum(x.^2)+(sum(0.5*[1:dim].*x))^2+(sum(0.5*[1:dim].*x))^4; endfunction o = F9(x)
% F10
o=sum(-x.*sin(sqrt(abs(x)))); endfunction o = F10(x)
% F11
dim = size(x,2); o = 1+sum(sin(x(1:dim)).^2)-exp(-sum(x.^2)); endfunction o = F11(x)
% F12
dim = size(x,2); o = 0.5*sum(x(1:dim).^4-16*x(1:dim).^2+5*x(1:dim)); endfunction o = F12(x)
% F13
dim=size(x,2); o=sum(x.^2-10*cos(2*pi.*x))+10*dim; endfunction o = F13(x)
% F14
dim=size(x,2); o=-20*exp(-.2*sqrt(sum(x.^2)/dim))-exp(sum(cos(2*pi.*x))/dim)+20+exp(1); endfunction o = F14(x)
% F15
dim=size(x,2); o=sum(x.^2)/4000-prod(cos(x./sqrt([1:dim])))+1; endfunction o = F15(x)
% F16
dim = size(x,2); o = (sum(sin(x(1:dim)).^2) - exp(-sum(x.^2)))*exp(-sum(sin(sqrt(abs(x(1:dim)))).^2)); endfunction o = F16(x)
% F17
dim=size(x,2); o=(pi/dim)*(10*((sin(pi*(1+(x(1)+1)/4)))^2)+sum((((x(1:dim-1)+1)./4).^2).*... (1+10.*((sin(pi.*(1+(x(2:dim)+1)./4)))).^2))+((x(dim)+1)/4)^2)+sum(Ufun(x,10,100,4)); endfunction o = F17(x)
% F18
dim=size(x,2); o=.1*((sin(3*pi*x(1)))^2+sum((x(1:dim-1)-1).^2.*(1+(sin(3.*pi.*x(2:dim))).^2))+... ((x(dim)-1)^2)*(1+(sin(2*pi*x(dim)))^2))+sum(Ufun(x,5,100,4)); endfunction o = F18(x)
% F19
aS=[-32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32;,... -32 -32 -32 -32 -32 -16 -16 -16 -16 -16 0 0 0 0 0 16 16 16 16 16 32 32 32 32 32];function o = F19(x)
bS(j)=sum((x'-aS(:,j)).^6); end o=(1/500+sum(1./([1:25]+bS))).^(-1); endfor j=1:25
% F20
aK=[.1957 .1947 .1735 .16 .0844 .0627 .0456 .0342 .0323 .0235 .0246]; bK=[.25 .5 1 2 4 6 8 10 12 14 16];bK=1./bK; o=sum((aK-((x(1).*(bK.^2+x(2).*bK))./(bK.^2+x(3).*bK+x(4)))).^2); endfunction o = F20(x)
% F21
o=4*(x(1)^2)-2.1*(x(1)^4)+(x(1)^6)/3+x(1)*x(2)-4*(x(2)^2)+4*(x(2)^4); endfunction o = F21(x)
% F22
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F22(x)
for i=1:5 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F23
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F23(x)
for i=1:7 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F24
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F24(x)
for i=1:10 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
3 运行结果
4 参考文献
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
dim=size(x,2); o=sum([1:dim].*(x.^4))+rand; endfunction o = F8(x)
% F9
dim = size(x,2); o = sum(x.^2)+(sum(0.5*[1:dim].*x))^2+(sum(0.5*[1:dim].*x))^4; endfunction o = F9(x)
% F10
o=sum(-x.*sin(sqrt(abs(x)))); endfunction o = F10(x)
% F11
dim = size(x,2); o = 1+sum(sin(x(1:dim)).^2)-exp(-sum(x.^2)); endfunction o = F11(x)
% F12
dim = size(x,2); o = 0.5*sum(x(1:dim).^4-16*x(1:dim).^2+5*x(1:dim)); endfunction o = F12(x)
% F13
dim=size(x,2); o=sum(x.^2-10*cos(2*pi.*x))+10*dim; endfunction o = F13(x)
% F14
dim=size(x,2); o=-20*exp(-.2*sqrt(sum(x.^2)/dim))-exp(sum(cos(2*pi.*x))/dim)+20+exp(1); endfunction o = F14(x)
% F15
dim=size(x,2); o=sum(x.^2)/4000-prod(cos(x./sqrt([1:dim])))+1; endfunction o = F15(x)
% F16
dim = size(x,2); o = (sum(sin(x(1:dim)).^2) - exp(-sum(x.^2)))*exp(-sum(sin(sqrt(abs(x(1:dim)))).^2)); endfunction o = F16(x)
% F17
dim=size(x,2); o=(pi/dim)*(10*((sin(pi*(1+(x(1)+1)/4)))^2)+sum((((x(1:dim-1)+1)./4).^2).*... (1+10.*((sin(pi.*(1+(x(2:dim)+1)./4)))).^2))+((x(dim)+1)/4)^2)+sum(Ufun(x,10,100,4)); endfunction o = F17(x)
% F18
dim=size(x,2); o=.1*((sin(3*pi*x(1)))^2+sum((x(1:dim-1)-1).^2.*(1+(sin(3.*pi.*x(2:dim))).^2))+... ((x(dim)-1)^2)*(1+(sin(2*pi*x(dim)))^2))+sum(Ufun(x,5,100,4)); endfunction o = F18(x)
% F19
aS=[-32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32;,... -32 -32 -32 -32 -32 -16 -16 -16 -16 -16 0 0 0 0 0 16 16 16 16 16 32 32 32 32 32];function o = F19(x)
bS(j)=sum((x'-aS(:,j)).^6); end o=(1/500+sum(1./([1:25]+bS))).^(-1); endfor j=1:25
% F20
aK=[.1957 .1947 .1735 .16 .0844 .0627 .0456 .0342 .0323 .0235 .0246]; bK=[.25 .5 1 2 4 6 8 10 12 14 16];bK=1./bK; o=sum((aK-((x(1).*(bK.^2+x(2).*bK))./(bK.^2+x(3).*bK+x(4)))).^2); endfunction o = F20(x)
% F21
o=4*(x(1)^2)-2.1*(x(1)^4)+(x(1)^6)/3+x(1)*x(2)-4*(x(2)^2)+4*(x(2)^4); endfunction o = F21(x)
% F22
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F22(x)
for i=1:5 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F23
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F23(x)
for i=1:7 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F24
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F24(x)
for i=1:10 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
3 运行结果
4 参考文献
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
function [lb,ub,dim,fobj] = Get_Functions_details(F)
case 'F1' fobj = @F1; lb=-100; ub=100; dim=30; case 'F2' fobj = @F2; lb=-10; ub=10; dim=30; case 'F3' fobj = @F3; lb = -1; ub = 1; dim = 30; case 'F4' fobj = @F4; lb=-100; ub=100; dim=30; case 'F5' fobj = @F5; lb=-100; ub=100; dim=30; case 'F6' fobj = @F6; lb=-30; ub=30; dim=30; case 'F7' fobj = @F7; lb=-100; ub=100; dim=30; case 'F8' fobj = @F8; lb=-1.28; ub=1.28; dim=30; case 'F9' fobj = @F9; lb=-5; ub=10; dim=30; case 'F10' fobj = @F10; lb=-500; ub=500; dim=30; case 'F11' fobj = @F11; lb=-10; ub=10; dim=30; case 'F12' fobj = @F12; lb=-5; ub=5; dim=30; case 'F13' fobj = @F13; lb=-5.12; ub=5.12; dim=30; case 'F14' fobj = @F14; lb=-32; ub=32; dim=30; case 'F15' fobj = @F15; lb=-600; ub=600; dim=30; case 'F16' fobj = @F16; lb=-10; ub=10; dim=30; case 'F17' fobj = @F17; lb=-50; ub=50; dim=30; case 'F18' fobj = @F18; lb=-50; ub=50; dim=30;switch F
fobj = @F19; lb=-65; ub=65; dim=2; case 'F20' fobj = @F20; lb=-5; ub=5; dim=4; case 'F21' fobj = @F21; lb=-5; ub=5; dim=2; case 'F22' fobj = @F22; lb=0; ub=10; dim=4; case 'F23' fobj = @F23; lb=0; ub=10; dim=4; case 'F24' fobj = @F24; lb=0; ub=10; dim=4;case 'F19'
end
end
% F1
o=sum(x.^2); endfunction o = F1(x)
% F2
o=sum(abs(x))+prod(abs(x)); endfunction o = F2(x)
% F3
dim = size(x,2); o=0; for i=1:dim o=o+abs(x(i))^(i+1); end endfunction o = F3(x)
% F4
dim=size(x,2); o=0; for i=1:dim o=o+sum(x(1:i))^2; end endfunction o = F4(x)
% F5
o=max(abs(x)); endfunction o = F5(x)
% F6
dim=size(x,2); o=sum(100*(x(2:dim)-(x(1:dim-1).^2)).^2+(x(1:dim-1)-1).^2); endfunction o = F6(x)
% F7
o=sum(abs((x+.5)).^2); endfunction o = F7(x)
% F8
dim=size(x,2); o=sum([1:dim].*(x.^4))+rand; endfunction o = F8(x)
% F9
dim = size(x,2); o = sum(x.^2)+(sum(0.5*[1:dim].*x))^2+(sum(0.5*[1:dim].*x))^4; endfunction o = F9(x)
% F10
o=sum(-x.*sin(sqrt(abs(x)))); endfunction o = F10(x)
% F11
dim = size(x,2); o = 1+sum(sin(x(1:dim)).^2)-exp(-sum(x.^2)); endfunction o = F11(x)
% F12
dim = size(x,2); o = 0.5*sum(x(1:dim).^4-16*x(1:dim).^2+5*x(1:dim)); endfunction o = F12(x)
% F13
dim=size(x,2); o=sum(x.^2-10*cos(2*pi.*x))+10*dim; endfunction o = F13(x)
% F14
dim=size(x,2); o=-20*exp(-.2*sqrt(sum(x.^2)/dim))-exp(sum(cos(2*pi.*x))/dim)+20+exp(1); endfunction o = F14(x)
% F15
dim=size(x,2); o=sum(x.^2)/4000-prod(cos(x./sqrt([1:dim])))+1; endfunction o = F15(x)
% F16
dim = size(x,2); o = (sum(sin(x(1:dim)).^2) - exp(-sum(x.^2)))*exp(-sum(sin(sqrt(abs(x(1:dim)))).^2)); endfunction o = F16(x)
% F17
dim=size(x,2); o=(pi/dim)*(10*((sin(pi*(1+(x(1)+1)/4)))^2)+sum((((x(1:dim-1)+1)./4).^2).*... (1+10.*((sin(pi.*(1+(x(2:dim)+1)./4)))).^2))+((x(dim)+1)/4)^2)+sum(Ufun(x,10,100,4)); endfunction o = F17(x)
% F18
dim=size(x,2); o=.1*((sin(3*pi*x(1)))^2+sum((x(1:dim-1)-1).^2.*(1+(sin(3.*pi.*x(2:dim))).^2))+... ((x(dim)-1)^2)*(1+(sin(2*pi*x(dim)))^2))+sum(Ufun(x,5,100,4)); endfunction o = F18(x)
% F19
aS=[-32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32;,... -32 -32 -32 -32 -32 -16 -16 -16 -16 -16 0 0 0 0 0 16 16 16 16 16 32 32 32 32 32];function o = F19(x)
bS(j)=sum((x'-aS(:,j)).^6); end o=(1/500+sum(1./([1:25]+bS))).^(-1); endfor j=1:25
% F20
aK=[.1957 .1947 .1735 .16 .0844 .0627 .0456 .0342 .0323 .0235 .0246]; bK=[.25 .5 1 2 4 6 8 10 12 14 16];bK=1./bK; o=sum((aK-((x(1).*(bK.^2+x(2).*bK))./(bK.^2+x(3).*bK+x(4)))).^2); endfunction o = F20(x)
% F21
o=4*(x(1)^2)-2.1*(x(1)^4)+(x(1)^6)/3+x(1)*x(2)-4*(x(2)^2)+4*(x(2)^4); endfunction o = F21(x)
% F22
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F22(x)
for i=1:5 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F23
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F23(x)
for i=1:7 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F24
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F24(x)
for i=1:10 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
3 运行结果
4 参考文献
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
dim=size(x,2); o=sum([1:dim].*(x.^4))+rand; endfunction o = F8(x)
% F9
dim = size(x,2); o = sum(x.^2)+(sum(0.5*[1:dim].*x))^2+(sum(0.5*[1:dim].*x))^4; endfunction o = F9(x)
% F10
o=sum(-x.*sin(sqrt(abs(x)))); endfunction o = F10(x)
% F11
dim = size(x,2); o = 1+sum(sin(x(1:dim)).^2)-exp(-sum(x.^2)); endfunction o = F11(x)
% F12
dim = size(x,2); o = 0.5*sum(x(1:dim).^4-16*x(1:dim).^2+5*x(1:dim)); endfunction o = F12(x)
% F13
dim=size(x,2); o=sum(x.^2-10*cos(2*pi.*x))+10*dim; endfunction o = F13(x)
% F14
dim=size(x,2); o=-20*exp(-.2*sqrt(sum(x.^2)/dim))-exp(sum(cos(2*pi.*x))/dim)+20+exp(1); endfunction o = F14(x)
% F15
dim=size(x,2); o=sum(x.^2)/4000-prod(cos(x./sqrt([1:dim])))+1; endfunction o = F15(x)
% F16
dim = size(x,2); o = (sum(sin(x(1:dim)).^2) - exp(-sum(x.^2)))*exp(-sum(sin(sqrt(abs(x(1:dim)))).^2)); endfunction o = F16(x)
% F17
dim=size(x,2); o=(pi/dim)*(10*((sin(pi*(1+(x(1)+1)/4)))^2)+sum((((x(1:dim-1)+1)./4).^2).*... (1+10.*((sin(pi.*(1+(x(2:dim)+1)./4)))).^2))+((x(dim)+1)/4)^2)+sum(Ufun(x,10,100,4)); endfunction o = F17(x)
% F18
dim=size(x,2); o=.1*((sin(3*pi*x(1)))^2+sum((x(1:dim-1)-1).^2.*(1+(sin(3.*pi.*x(2:dim))).^2))+... ((x(dim)-1)^2)*(1+(sin(2*pi*x(dim)))^2))+sum(Ufun(x,5,100,4)); endfunction o = F18(x)
% F19
aS=[-32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32;,... -32 -32 -32 -32 -32 -16 -16 -16 -16 -16 0 0 0 0 0 16 16 16 16 16 32 32 32 32 32];function o = F19(x)
bS(j)=sum((x'-aS(:,j)).^6); end o=(1/500+sum(1./([1:25]+bS))).^(-1); endfor j=1:25
% F20
aK=[.1957 .1947 .1735 .16 .0844 .0627 .0456 .0342 .0323 .0235 .0246]; bK=[.25 .5 1 2 4 6 8 10 12 14 16];bK=1./bK; o=sum((aK-((x(1).*(bK.^2+x(2).*bK))./(bK.^2+x(3).*bK+x(4)))).^2); endfunction o = F20(x)
% F21
o=4*(x(1)^2)-2.1*(x(1)^4)+(x(1)^6)/3+x(1)*x(2)-4*(x(2)^2)+4*(x(2)^4); endfunction o = F21(x)
% F22
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F22(x)
for i=1:5 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F23
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F23(x)
for i=1:7 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
% F24
aSH=[4 4 4 4;1 1 1 1;8 8 8 8;6 6 6 6;3 7 3 7;2 9 2 9;5 5 3 3;8 1 8 1;6 2 6 2;7 3.6 7 3.6]; cSH=[.1 .2 .2 .4 .4 .6 .3 .7 .5 .5];function o = F24(x)
for i=1:10 o=o-((x-aSH(i,:))*(x-aSH(i,:))'+cSH(i))^(-1); end endo=0;
3 运行结果
4 参考文献
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。